Last week I finished off the first section of my literature review for my dissertation. This first section describes the various approaches to dynamic difficulty balancing in games. I also made a start on the second section which focuses on AI behaviours.
I also managed to create a basic 3D model for a creature I’m making for my 3D modelling class, using 3DS Max. 3D modelling is an area I’m not very experienced in, but after I got used to using the toolkit I found it quite enjoyable. Next I need to add more detail to the model and texture it.
Last week I managed to implement my own algorithm that generates a navigate graph dynamically. This made creating a navigation graph much quicker, though the added complexity of the graph layout revealed that the search algorithms used by the AI were insufficient for smooth, natural movement. In the basic, hand-made graph, this wasn’t evident, as the simplicity of the graph served to better control the AI’s route. Therefore, until I can write my own, improved search algorithm, I’m going to use a simple hand-made navigation graph, so my time can be reallocated to more important areas.
Here’s a short video demonstrating the navigation graph and search algorithms in action. This demo was written from scratch in C++ using the DirectX9 libraries:
Today I met with Dean regarding my literature review progress. He gave me some good feedback regarding composition, about balancing the critical evaluations at the end of each section, so as to include both benefits and criticisms of the techniques for Dynamic Difficulty Balancing.
Last week I managed to complete almost a third of my literature review. It is divided into three main sections: DDB, AI and PX. I managed to complete most of the initial draft for DDB.
Over the summer I coded most of the foundations for my game, such as classes for state machines, AI behaviours, collision systems, item collection and projectiles. I found particularly challenging the implementation of a navigation graph and search algorithms, so the AI could navigate around collision.