Honey Hunter

A space shooter game that utilises bee hive simulations and predator/prey models

About Honey Hunter

 Honey Hunter was a project developed for the IGB383 - AI in Games Unit at QUT. In this project, we were tasked with developing a hivemind AI system consisting of a mothership and drone ships. In the first phase, the drones were to harvest resources from nearby asteroids and report back information about the surroundings to the mothership, which was driven by Bee's Algorithm. In the second phase, the player would warp in and the drones and mothership would begin attacking the player. We were to develop the drones to make use of utility functions and predator/prey models in order for them to evaluate whether they should attack or flee from the player.

 

What I Learned From This Project

 I learned a lot from this project, especially when it comes to simulating a system made up individual agents working towards one common goal, which in this case was to optimise the collection of resources. I found it challenging to implement the bee’s algorithm, not because I didn’t understand the algorithm as for the most part it was quite straightforward, but because I was unsure at times how to apply the algorithm so that it made sense within the context of the project. Due to this I made slight tweaks in how certain parts of the base project operated or did my own interpretation of what I thought would best fit the description of the algorithm. With that in mind, I feel I did quite a good job of making a hive simulation that is modelled after the bee’s algorithm.


The combat phase was fun to develop to. I especially liked developing all the combat capabilities for the drones, mothership, and the player. The base player dreadnaught script came with the capability to control the turrets with AI, so I gave players the option to toggle between different turret attack modes. All in all, the developments made to the combat phase really bring that phase of the game to life.

Surprisingly, however, my favourite part of this project was developing the heuristic and utility functions. Coming up with these functions ended up being quite an involved process, where I had to really think about the design of the heuristic functions to ensure they would sensibly select drones given the context of the project, as well as create a system where the drones in the combat phase demonstrate a real sense of artificial intelligence that is driven by the utility function I designed. In summary, the application of these functions to the other aspects of these projects was most fascinating part for me.


 

Get in touch at markryanauman@gmail.com