<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4943829020442768894</id><updated>2012-01-09T05:29:21.211-08:00</updated><category term='Unity'/><category term='Scripting'/><title type='text'>Game Hobby</title><subtitle type='html'>Discussions about technical issues of game development</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Selcuk OZTURK</name><uri>https://profiles.google.com/111397397067605985378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-8vcRiHaZy3M/AAAAAAAAAAI/AAAAAAAACUI/gcg-NhJpCyY/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-1084241755891523164</id><published>2010-08-23T16:00:00.000-07:00</published><updated>2010-08-23T16:09:49.988-07:00</updated><title type='text'>It' s a hard job...</title><content type='html'>Working in game industry is very crucial:)Can you agree with this, can't you?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You must find good teammates, the motivation must be kept high, problems between the team members must be solved immediately, etc. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you wanna do some good projects, you must have or find money. How can you do that? First decide the project, then design it, then prepare a budget, then develop a publisher demo. If there is nothing to show, you won't have the chance to get the money.Believe me so never imagine that the project will be a big success at the beginning of development. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One good way if you want to be a game developer, search for some good game engines. Because there are two sides of the game industry. First is the technology side and it's engine development. You must follow technologic innovations and always improve your programming skills. The other side of game development is content. These are -technolgy and content- the inseperable twins. There can't be one of them alone. It will be pointless to have technolgy without content and content can't be produced without technology. So choose your place carefully. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-1084241755891523164?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/1084241755891523164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2010/08/it-s-hard-job.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1084241755891523164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1084241755891523164'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2010/08/it-s-hard-job.html' title='It&apos; s a hard job...'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-2079123293270294237</id><published>2009-11-03T07:02:00.000-08:00</published><updated>2009-11-03T07:07:49.108-08:00</updated><title type='text'>Crushing of Unity with multithread</title><content type='html'>Unity crushed while i was implementing multithreades. According to a forum thread, Unity crushs when we use threads while using Unity classes. Because it doesn't support such a thing. It can a big problem for projects which needs performance and suitable for multithreading. I think the team should resolve this problem immediately.&lt;br /&gt;&lt;br /&gt;A report about pc's show that, %80 of computers which are used to play games have more than one core. Maybe in the future after Unity supports game consoles, it can work with multiple threads but it is a must by now too. So be careful while using System.Thread namespace in Unity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-2079123293270294237?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/2079123293270294237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/11/crushing-of-unity-with-multithread.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/2079123293270294237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/2079123293270294237'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/11/crushing-of-unity-with-multithread.html' title='Crushing of Unity with multithread'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-5447623467454942322</id><published>2009-10-30T12:41:00.001-07:00</published><updated>2009-10-30T12:45:36.622-07:00</updated><title type='text'>About Unity3D indie version</title><content type='html'>Unity3D indie version has been free. I think it was a very good decision to make unity more common. It will be really a big boost for the position of Unity3D in the game development industry. But the team should take into account adding Android support to Unity3D. The most powerfull side of Unity is making possible to develop iPhone games so with Android support it will support nearly all mobile platforms. It can be very good for the future for both Unity3d and developers like us who are using it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-5447623467454942322?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/5447623467454942322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/about-unity3d-indie-version.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/5447623467454942322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/5447623467454942322'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/about-unity3d-indie-version.html' title='About Unity3D indie version'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-3637434330431425548</id><published>2009-10-30T12:28:00.000-07:00</published><updated>2009-10-30T12:40:48.649-07:00</updated><title type='text'>An asset package for general usage in Unity3D</title><content type='html'>We have been finished a puzzle game project recently. In the very near future we will be putting it to our web page. Because of being the first project made in Unity3D, Extend Space had some difficulties. First problem was having a c++ background:). At the beginning i always thought to build a good structure but then obviously i realized it was a little unnecessary with Unity3D. But at the end, i also realized we need some asset packages to get faster in game developing with the engine.&lt;br /&gt;&lt;br /&gt;Firstly there should be some scripts which are alive without a GameObject. Actually i mean, there should be some class instances in all scenes. The attached scripts to a GameObject will die with level loading if it is not configured. But this configuration can be forgotton so we wrote a class which is static and holds other game instances which should live in the entire game. For instance GameState class. This class should live in the all scenes. So it' s very suitable to hold this class in a static ClassHolder class.&lt;br /&gt;&lt;br /&gt;I haven't work in any big projects which are made with Unity3D but i guess it can be a nightmare if some features don't be managed from one point. Let's examine gui. There is OnGui() callback in scripts. But managing gui instances from a singleton class which is attached to a GameObject which is not deleted with level loading can be very managable in the big projects. Maybe binding gui loadings to the GameState mechanism can be better solution.&lt;br /&gt;&lt;br /&gt;At the end, before starting our new project, we can write some scripts and compile them as an asset package to use in other projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-3637434330431425548?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/3637434330431425548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/asset-package-for-general-usage-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/3637434330431425548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/3637434330431425548'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/asset-package-for-general-usage-in.html' title='An asset package for general usage in Unity3D'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-1038187295459551929</id><published>2009-10-22T15:04:00.000-07:00</published><updated>2009-10-22T15:09:42.796-07:00</updated><title type='text'>The way of Game Programming</title><content type='html'>I think they all will be seperated. What are they? Of course programming areas like gpu side graphics programming, cpu side graphics programming, etc.&lt;br /&gt;&lt;br /&gt;There will be physic processors too and maybe api for them. The main theme is programmers must study on more specific areas. Because the industry is growing more then ever. Demands of consumers, in this case players, are always getting bigger and bigger. They want more visual quality with more performance. So the solution will be being more specialized on more specific areas of game programming.&lt;br /&gt;&lt;br /&gt;I have recently seen that NVidia will release Nexus which is a tool for Visual Studio 2008 for debugging, profiling and analyzing GPU code.&lt;br /&gt;&lt;br /&gt;At the end the time has come to choose the write side. What will be your profession?:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-1038187295459551929?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/1038187295459551929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/way-of-game-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1038187295459551929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1038187295459551929'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/way-of-game-programming.html' title='The way of Game Programming'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-3878217117889563078</id><published>2009-10-22T14:58:00.000-07:00</published><updated>2009-10-22T15:00:22.912-07:00</updated><title type='text'>Parallel processing is the king</title><content type='html'>Day by day we are walking to a more parallel computation world. I have recently see that NVidia has been developed an engine which is based on ray tracing rendering. You can have a look from this &lt;a href="http://developer.nvidia.com/object/optix-home.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Programmers must prepare themselves for the future quickly because technology is running:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-3878217117889563078?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/3878217117889563078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/parallel-processing-is-king.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/3878217117889563078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/3878217117889563078'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/parallel-processing-is-king.html' title='Parallel processing is the king'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-5311312357394241170</id><published>2009-10-08T11:53:00.001-07:00</published><updated>2009-10-08T11:53:24.697-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Unity'/><title type='text'>Messing with Unity 3D</title><content type='html'>&lt;div style="margin: 1em; width: 160px; display: block; float: right" class="zemanta-img" jquery1255025085307="309"&gt;&lt;a href="http://en.wikipedia.org/wiki/Image:Unity-game-engine-logo.jpg"&gt;&lt;img style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" alt="Unity" src="http://upload.wikimedia.org/wikipedia/en/4/4c/Unity-game-engine-logo.jpg" width="150" height="83" /&gt;&lt;/a&gt;     &lt;p style="font-size: 0.8em" class="zemanta-img-attribution"&gt;Image via &lt;a href="http://en.wikipedia.org/wiki/Image:Unity-game-engine-logo.jpg"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Recently Unity 3D is becoming popular among indie game developers. It has a great editor. But the most I like in Unity is the scripting part. It uses mono based scriting system which is based on .NET platform. This saves me lots of time since I do not need to learn a new language, just using well known ones such as C#, JavaScript and Boo (Python based).&lt;/p&gt;  &lt;p&gt;But, although Unity has a structural stability in its design, sometimes this design kills me. It is flexible but sometmes too flexible… The gameplay programmer has a lot of work to do especially if he/she is obsessed with syntax and coding structure, like me :)&lt;/p&gt;  &lt;p&gt;First of all, you can write anyting almost everywhere and attach them (scripts) to any objects. In some projects, especially working with a team, this may lead to trouble like which script is attached to which object. Moreover, there is no unique starting point. You can initialize everything almost everywhere.&lt;/p&gt;  &lt;p&gt;Second, everything which is not added manually to the scene, has to be put in a “Resoures” folder in order to load at run time. In other words, if you want to create an instance of an asset or prefab duing the game, you have to copy them in a “resources” folder in Assets folder. (There can be more than one resources folder)&lt;/p&gt;  &lt;p&gt;My suggestion is to design a good gameplay template structure for your games, otherwise you may find yourself in a struggle with your codes.&lt;/p&gt;  &lt;div style="margin-top: 10px; height: 15px" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/c46d8cfe-c361-4372-9f43-d349f25bc763/"&gt;&lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; float: right; border-left-style: none" class="zemanta-pixie-img" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=c46d8cfe-c361-4372-9f43-d349f25bc763" /&gt;&lt;/a&gt;&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-5311312357394241170?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/5311312357394241170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/messing-with-unity-3d.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/5311312357394241170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/5311312357394241170'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/messing-with-unity-3d.html' title='Messing with Unity 3D'/><author><name>Selcuk OZTURK</name><uri>https://profiles.google.com/111397397067605985378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-8vcRiHaZy3M/AAAAAAAAAAI/AAAAAAAACUI/gcg-NhJpCyY/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-6171165977404779226</id><published>2009-10-08T04:44:00.000-07:00</published><updated>2009-10-08T05:01:01.587-07:00</updated><title type='text'>Some thoughts about .Net Libraries</title><content type='html'>I have been studying .Net for the last few weeks. Because of developing games with unity and using c# with it, we had to learn about it. After reading some technical documents about .Net Threading libraries, i think i have finally a little deep understanding about core mechnanics of the framework. I had talked about some pretty features of .Net in my last posts, now i will examine some pointless features of .Net for game programming by the side of me:))Please comment if you disagree.&lt;br /&gt;&lt;br /&gt;Reflection namespace can be used for Windows programs but it is mostly pointless for game programming i think. To build a modular game engine, we have to use some System.Reflection classes, but besides these classes there is no need to use it. Actually XNA Framework is being developed for game programming on .Net infrastructure so we won't need more features of .Net.&lt;br /&gt;Dynamic assembles are also one unnecessary feature of game programming&lt;br /&gt;&lt;br /&gt;It is also very easy to program Multithreaded in .Net. You can use System.Thread.ThreadPool class if you don't want advance control on threads so .Net can manage threads automatically by its managed thread pool. And it has a Timer class within Thread namespace. Even if you use Thread class, managing threads manually is very easy. A programmer can assign a friendly-name to any thread and when debugging in Visual Studio, you can see the thread in your assigned name.&lt;br /&gt;&lt;br /&gt;I am thinking about writing some wrapper classes to .Net for some advanced namespaces. But sometimes it seems me pointless to spend time on it, becuase everything is very easy compared with c++. Then i say myself "Look forward to make games, don't think in the way of c++":).&lt;br /&gt;&lt;br /&gt;That all for now i think. Maybe i can add some other things with comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-6171165977404779226?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/6171165977404779226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/some-thoughts-about-net-libraries.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/6171165977404779226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/6171165977404779226'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/some-thoughts-about-net-libraries.html' title='Some thoughts about .Net Libraries'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-1468722998044500153</id><published>2009-10-08T04:35:00.000-07:00</published><updated>2009-10-08T04:44:11.138-07:00</updated><title type='text'>Parallel game programming</title><content type='html'>Day by day computers which are used for playing games having more cpu cores. So game engines must have ability to work in parallel environments. Consoles have been used multicore cpus since very early times. But the work of paralleling engines not enough. We must use SIMD more often. I think the key to get more fps is using more matrice calculations. By such tecniques we can use GPUs and can do calculations about AI and gameplay in CPU more efficient. So besides programmers who study parallelism, game designers should take into account designing suitable for parallelism. So programmers can more easily design the technical infrastructure of games for multicore systems. Maybe programmers should more get into design period to give feedback on game and give technical assist to designers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-1468722998044500153?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/1468722998044500153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/parallel-game-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1468722998044500153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1468722998044500153'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/parallel-game-programming.html' title='Parallel game programming'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-1178931906508813144</id><published>2009-10-01T05:21:00.000-07:00</published><updated>2009-10-01T05:37:43.907-07:00</updated><title type='text'>Some pretty features of .Net</title><content type='html'>I think an engineer must follow the technology and use its benefitions. 5 years ago from now, no one would claim that .Net was more powerfull than c++. But in those days things are changing. Besides garbage collection and some other language features(because some of these things can be also used in c++, etc. smart pointers) there are really some cool benefitions in using .Net.&lt;br /&gt;&lt;br /&gt;I think one of these things is partial classes. This feature allows programmers to work on a same class with defining a single class on two or more files. Everyone who works in a team knows version control and syncronizing code is one of the most important thing. So this feature in .Net allows subversion programs to work more effectively.&lt;br /&gt;&lt;br /&gt;Another good feature is extension methods. Classes can be extended without any inheritance or coding on the file that contains class. By this feature libraries can be well organized and modified very easily.&lt;br /&gt;&lt;br /&gt;I think c++ is very powerfull but it is becoming more and more old-fashioned. After all the performance loss of .Net is getting more and more lower. It is about 3% today compaired with native code.&lt;br /&gt;&lt;br /&gt;At all i think XNA and game engines with c# support will be more powerfull in future than today. So young programmers should take c# in account to learn:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-1178931906508813144?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/1178931906508813144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/10/some-pretty-features-of-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1178931906508813144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1178931906508813144'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/10/some-pretty-features-of-net.html' title='Some pretty features of .Net'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-6815940957605029145</id><published>2009-08-17T01:56:00.000-07:00</published><updated>2009-10-01T05:20:56.187-07:00</updated><title type='text'>About .Net</title><content type='html'>Hi, i' ve been looking through .Net framework for a while. I know there are too many arguements about using a high level programming language against c/c++. I think the best advantage of C/C++ is to be using a platform indipendent language. Actually .Net Framework is platform indipendent too. But here is the point, it has developed by Microsoft:). Don't get me wrong, i don't have any hatred but you know if things goes in this way, Microsoft will be the only technology provider for game developers. But in the other way .Net has reflection, Linq, garbage collection etc. So what should we choose to continue our job?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-6815940957605029145?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/6815940957605029145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/08/about-net.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/6815940957605029145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/6815940957605029145'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/08/about-net.html' title='About .Net'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-2606862778020570495</id><published>2009-08-14T12:43:00.000-07:00</published><updated>2009-08-14T12:44:49.983-07:00</updated><title type='text'>Default value</title><content type='html'>Do not forget to assign null to pointers as default value. It can be a headache for you when you compile the code in release mode:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-2606862778020570495?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/2606862778020570495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/08/default-value.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/2606862778020570495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/2606862778020570495'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/08/default-value.html' title='Default value'/><author><name>emre2345</name><uri>http://www.blogger.com/profile/13221360730413062337</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4943829020442768894.post-1777612467483497028</id><published>2009-04-02T17:02:00.001-07:00</published><updated>2009-04-02T17:26:53.100-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scripting'/><title type='text'>C++ and Python with Boost.Python - 1</title><content type='html'>&lt;p&gt;I was trying to integrate Python with C++ by using Boost Python library. In this attempt I used Boost 1.38.0, Boost Jam 3.1.17 and Python 2.6.1. During my trials I was encountered several problems, may be because of not being experienced in Boost neither Python. So let's get started!&lt;/p&gt;&lt;p&gt;Prerequests:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.boost.org/" target="_blank" title="Boost"&gt;Boost&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.boost.org/" target="_blank" title="Boost Jam"&gt;Boost Jam&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.python.org/" target="_blank" title="Python"&gt;Python&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;Install and Build&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;First of all, we need to to install Python and build Boost Jam. Since BJam supports only up to Python 2.5 we need to make modifications on build.jam. Go to the row starting with&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;if $(with-python)&lt;br /&gt;{&lt;br /&gt;if $(NT)&lt;br /&gt;{&lt;br /&gt;--python-include = [ .path $(python-location) include ] ;&lt;br /&gt;--python-lib = ;&lt;br /&gt;for local v in 25 24 23 22&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;and add 26 to for loop. That is, &lt;em&gt;for local v in 26 25 24 23 22&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Now we are ready to build BJam with Python. In order to do that, use &lt;em&gt;build --with-python=&amp;lt;path&amp;gt;&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;After building BJam, we have to build Boost. Go to the boost main directory and just simply use &lt;em&gt;bjam toolset=msvc&lt;/em&gt; (if you use MS Visual Studio). You can change toolset according to what compiler would you use. For more information use &lt;a href="http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html#or-build-binaries-from-source" target="_blank" title="Build Binaries From Source"&gt;Boost documentation&lt;/a&gt; page.&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size:180%;"&gt;Hello World!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We will just build the hello world example in the &amp;lt;Boost main folder&amp;gt;\libs\python\example\tutorial folder. Go to the folder and use bjam to build the code. Most probably you would get an error because of the missing expression in the Jamroot file. Make the definition of the python-extension rule available. To do that add &lt;em&gt;import python ;&lt;/em&gt; line after the project definition. Retry to build. The output should be&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre class="programlisting"&gt;Creating library &lt;span class="emphasis"&gt;&lt;em&gt;path-to-boost_python.dll&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;Creating library &lt;span class="emphasis"&gt;&lt;em&gt;path-to-'''hello_ext'''.exp&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;**passed** ... hello.test&lt;br /&gt;...updated 35 targets...&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;something like this. Congratulations! :) Your program has just passed the test.&lt;/p&gt;&lt;p&gt;But here comes another problem. Where is the hello_ext module for Python? If you try to run hello.py manually from Python console you will see that it will not be working. It is because there must be hello_ext.pyd which is produced from hello.cpp, but there is no such a file. Pyd files are python modules. By the way, that .pyd extension is nothing but the changed name of .dll which means hello_ext.pyd is actually hello_ext.dll. By default Boost Build deletes the binaries used in testing when the test passes. When we got the test target defined by&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;# Declare test targets&lt;br /&gt;run-test hello : hello_ext hello.py ;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;in Jamroot, hello_ext.pyd is deleted.&lt;/p&gt;&lt;p&gt;We can either remove the test target and rebuild, or rerun BJam with the option --preserve-test-targets. You can find hello_ext.pyd file in&lt;/p&gt;&lt;p&gt;&amp;lt;Boost main folder&amp;gt;\libs\python\example\tutorial\bin\msvc-9.0\debug\threading-multi\hello_ext.pyd or&lt;/p&gt;&lt;p&gt;&amp;lt;Boost main folder&amp;gt;\libs\python\example\tutorial\bin\msvc-9.0\release\threading-multi\hello_ext.pyd&lt;/p&gt;&lt;p&gt;You can copy the hello_ext.pyd to &lt;python&gt;\DLLs or somewhere that a Python path is defined. Or you can define the folder of hello_ext.pyd as a Python path by&lt;/python&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import sys&lt;br /&gt;sys.path.append("&amp;lt;the path you want to append&amp;gt;");&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The last important thing is to copy boost_python-vc90-mt-1_38.dll file to the same folder with hello_ext.pyd or to the system folder.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Good luck!&lt;br /&gt;&lt;/p&gt;      &lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/2a6a11b5-75e9-48bf-b308-8e18fcb42efe/" title="Zemified by Zemanta"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=2a6a11b5-75e9-48bf-b308-8e18fcb42efe" alt="Reblog this post [with Zemanta]" /&gt;&lt;/a&gt;&lt;span class="zem-script more-related"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4943829020442768894-1777612467483497028?l=gamehobby.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gamehobby.blogspot.com/feeds/1777612467483497028/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gamehobby.blogspot.com/2009/04/c-and-python-with-boostpython-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1777612467483497028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4943829020442768894/posts/default/1777612467483497028'/><link rel='alternate' type='text/html' href='http://gamehobby.blogspot.com/2009/04/c-and-python-with-boostpython-1.html' title='C++ and Python with Boost.Python - 1'/><author><name>Selcuk OZTURK</name><uri>https://profiles.google.com/111397397067605985378</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-8vcRiHaZy3M/AAAAAAAAAAI/AAAAAAAACUI/gcg-NhJpCyY/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
