Weekly Progress

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.

Assembly Programming

Yesterday I successfully managed to teach myself assembly programming, using Masm/Winasm. It’s something I delved into last year, but found quite confusing. However, yesterday I really felt I had “levelled up” in my programming ability, and everything just clicked in terms of using the CPU registers properly.

I’m currently writing a little Hangman game for practice, and everything is going well so far. It uses console output for now, and later on I’m going to progress to using 2d graphics.

The whole experience is teaching me a lot about memory and computer architecture, so I think it will be beneficial to all aspects of my coding.

Game Progress

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: