Monday, August 23, 2010

It' s a hard job...

Working in game industry is very crucial:)Can you agree with this, can't you?

You must find good teammates, the motivation must be kept high, problems between the team members must be solved immediately, etc.

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.

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.

Tuesday, November 3, 2009

Crushing of Unity with multithread

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.

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.

Friday, October 30, 2009

About Unity3D indie version

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.

An asset package for general usage in Unity3D

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.

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.

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.

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.

Thursday, October 22, 2009

The way of Game Programming

I think they all will be seperated. What are they? Of course programming areas like gpu side graphics programming, cpu side graphics programming, etc.

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.

I have recently seen that NVidia will release Nexus which is a tool for Visual Studio 2008 for debugging, profiling and analyzing GPU code.

At the end the time has come to choose the write side. What will be your profession?:)

Parallel processing is the king

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 here.

Programmers must prepare themselves for the future quickly because technology is running:)

Thursday, October 8, 2009

Messing with Unity 3D

Unity

Image via Wikipedia

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).

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 :)

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.

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)

My suggestion is to design a good gameplay template structure for your games, otherwise you may find yourself in a struggle with your codes.

Reblog this post [with Zemanta]