I have been doing some research the last couple of days, especially on the AI of my game. Since I haven’t ever done any real AI before, I need to gain at least the basic understanding of it. While the AI system structure that I’m going to follow is the one found in AI Game Engine Programming by Brian Schwab, I have also been reading the detailed presentation of AI algorithms in Artificial Intelligence for games by Ian Millington. Both are great books that guide me through the hardest part of this demo project.
One of the main points I found out is that the game as I’ve designed it, it doesn’t need support for objects with dynamic steering - objects with varying acceleration that is. While this is what I’ve been following for the past few of my projects, I now fully understood why this was complicating things far more than it was required. Introducing acceleration makes things appear more realistic as it takes in variables as the mass of the objects; then forces are applied on the objects.
There are other two ways to do this. One is directly altering the position of the object. This method is totally out of question as it’s too unprofessional and can usually be found only on some uncompetitive assignments or such. The other is directly manipulating the velocity of the object. This is the way that most Japanese action RPG games are programmed even to this date. Nihon Falcom has been producing some excellent games such as YS Origin and Zwei2 using exactly this kind of physics. Since when I’ve designed this demo game, I’ve envisioned something similar to these two games and since they are doing it this way, I don’t see why I have to do it any different.
Does this mean I have to remove acceleration and alter all my code though? I’ll have to experiment a bit about this and think about how this would alter the other game components. Most likely acceleration would still remain in but it will be manipulated directly.
Another point is the camera I’m going to use in the game. Of course the camera will be rotation-fixed (remember this is done with AABB collision - and rotating camera would cause all kind of problems) and the character will rotate only in 8 directions but the camera is going to be facing π/4 (45degrees) counter clockwise to give the 3D feeling, otherwise the game will lose its depth. This is how most games of this kind are made as well.