It’s been a while since my last post, you can blame it on work ! It became a lot harder for me to find time and will to publish anything.
Whatever, last time I have talked about video game development, I have made a little technical study and I want to share with you my thought. I will not talk about game design/ideas, as this will be done on further posts.
To start making games, you need a game engine, the middleware and libraries needed to develop a game:
- Develop a solution from scratch: For this you need good knowledge in DirectX/OpenGL for 3D, physics laws, audio treatment, AI etc, a good team and a lot of time to have a functional game engine, so unless you want to make a game engine and not the game itself, it’s better to forget this solution.
- Integrate existing libraries: There is a lot of open source frameworks and libraries, like SDL for 2D, Ogre3D or Irrlicht for 3D, ODE for physics etc. Using these tools, you have almost complete control over the game mechanics, but these tools are useful for coders, and even for a coder, he must spend a lot of time to make the necessary tools, like map editor, to make game creation easier.
- Use proprietary middleware: Ready to use middleware used to cost a lot of money, and an indie developer can’t afford this mostly if he is new in the field, but things have changed, today a lot of not-so-expensive middlewares exist, you don’t have as much freedom as with the other two solutions, but it is well suited for someone who is creative, not very comfortable with coding and who prefers a shorter time to market.
Even if I’m a FOSS supporter, I have chosen the third solution, as it makes you focus more on the game development rather then spending time and effort on making tools.
In next posts, I will talk about some middlewares, UDK, Shiva3D and Unity, and also on advices for coders who are not very comfortable with 3D assets creation tools, and how they can use game design to overcome this.
Until then, I’m waiting for your comments.