Progress report: July 2021

AI & graphics

Written on July 30, 2021

This month has been all about AI & graphics, let’s get started.

AI Steering

The entities are now able to seek certain positions and pursuit entities (for example the player). These actions are performed using a logic called ‘Steering Behaviors’. These behaviors can be used to calculate movement from simple A → B navigation, to complex movement in a group. Currently, only the aforementioned simple behaviors are implemented.

 
Screen-capture of a frog seeking a point in the world
A frog seeking a point in the world

A note on pathfinding

I spent a lot of time getting navmeshes and pathfinding to work. Its current state is API-complete and integrated in the game engine, but still contains a lot of bugs and crashes. Therefore, the implementation will probably need a rewrite that won’t make it into the next build.

Luckily, steering and pathfinding work mostly independent of each other and steering produces good results for simple worlds like the current one.

AI Behavior-Trees & Frog AI

Aside from navigation, the second key element to game AI is defining how entities behave and interact in certain situations. For this task the game engine now uses behavior trees. These trees are used to model complex AI behavior in games and robotics. Below are behavior trees for the frog AI from different stages of development.

   
Screenshot of a simple behavior tree Screenshot of a more complex behavior tree
An early sample of the frog behavior tree A more recent example

Graphics & copyrighted assets

There has been progress on improving graphics and removing copyrighted assets. As mentioned in “What’s to come until August”, some assets need to be removed or redone before publishing a public build due to potential copyright issues. There has been some progress on that.

 
A screenshot of the current graphics
Updated Graphics

The shallow water, deep water and sand textures have been remade and added to the game. A lot of steps can still be taken to further improve graphics. Some smaller changes will be implemented in the course of August.

That’s it for this progress report

There has been a variety of smaller changes, fixes and balancing that would not fit in this list. From now on development will focus on preparing the game for the prealpha-0.3 release on August 28. Stay tuned people.