Coden revamping

September 8, 2008 at 6:14 pm (Coden Engine) (, )

Me and some friends decided to start again and redesign Coden. I’ve reached a point where I was pretty sure that things needed to change a lot, so as they say make one cause you’re gonna throw one anyway.

I think in general it is not a bad idea to start doing something and then do it all over again from scratch. In my opinion, the next version is going to be a lot better because hopefully you’ve learned from your mistakes. Think of the simplest thing you had to do and look at your solution. Now solve that problem again. If the solution is not the same it probably means you did better this time.

In terms of Coden, we decided to make things a lot faster. So we got a lot of books, some of which I recommend at the end of this post, and started getting ideas. It turns out that a lof of the things we tried to do on our own are already there in a much more efficient form. Which brings me to my next point: Research something before you start working on it. I’ve made this mistake a thousand times because I got overexcited about an idea I had. Yes your idea might be awsome, but there is a very strong possibility that someone else has done it better. So first google the problem or idea you’re having and after getting enough releated information about it, start working on it. It will save you time and trouble.

Here’s a list of books that I found very useful:

  • All books from the Game Programming Gems series
  • Real-time Collision Detection
  • Programming Game AI by Example
  • Game Physics Engine Development
  • Game Coding Complete
  • Game Programming Golden Rules
  • Effective C++
  • Effective STL

If you don’t have the above, get them. They are amazing books. So until next time, keep coding…

Permalink Leave a Comment

Coden – Game Engine

August 12, 2008 at 3:02 pm (Coden Engine) (, )

After graduating from Penn and getting back home I decided to create my own game engine. The reason for this is that I regularly get new ideas for games that I want to make, and I am excited to start coding the gameplay part of the game, because this is the most fun part to me. But when I start thinking about all the things that I have to implement first, like input, graphics, managers etc I get so bored that I simply drop the idea… One could argue that I could use an existing engine like Ogre 3D or Gamebryo, but the thing is that I need an engine that will contain other systems too except graphics and input… For example AI, Event Managers, Sound, Networking, Scripting etc. And I want to use a SINGLE math library for a change, not 3 or 4 different ones just because the game will consist of 4 different API’s.

Also I want to learn about various things like Scene Graphs. And I believe that the only way to really learn is to start making something on your own. The name that I came up with for the engine is Coden. It comes from CODe studios ENgine.

So far I have implemented a math library that supports quaternions, matrices, vectors, transforms and the like. Also I embedded Lua for my script engine. In addition, I created some AI systems like steering behaviors, some physics integrators like euler or RK4, and a few loaders like a 3ds loader. I am currently working on the scene graph, which is harder than I thought… But it’s getting there.

If you want to look at the code you can visit my Google Code project called coden at http://code.google.com/p/coden/ .

Cheers!

Permalink Leave a Comment