Isolated people find themselves trapped indoors and unable to interact with nature, or friends. It is easy for them to get caught in an endless cycle of work through a computer screen, and ways in which they can interact with friends is limited -- I wanted to make something that provided a more relaxing recreational activity and a new way to socialise with friends. Particularly, a method that doesn't require 'live' participation as with calls and video-conferencing. In this way, I sought to imbue the project with a sense of social 'presence' without direct interaction. Furthermore, the software is a useful education tool which exemplifies elements of natural selection as well as programming that is useful for early learners and portrayed in an engaging way in which they can interact with friends.
What it does
Basics: Antsolation is a game in which the player oversees a colony of ants as they harvest resources from their surroundings and create new nests. They are in the proximity of an enemy nest which will cause conflict and death. The player's ants must outcompete enemy ants to establish dominance over the landscape and gather enough resources to birth new queens which create new nests.
Mechanics: The player can manipulate the genes of their ants through a menu system. Here, they are able to spend points to modify a range of stats that only affect future black ants. In this way, they are able to experiment and create the strongest breed of ants they are able.
Multiplayer: Once a player is happy with their species of ant, they can export their genetics 'to the cloud'. By passing their unique ID on to a friend, the friend is then able to import the player's ants into their own game as the red species. In this way, players are able to compete with each other asynchronously.
How I built it
The game is build with GDScript in Godot with some Perl managing the multiplayer database. Link to the repository.
Challenges I ran into
Key challenges included:
- Designing the AI for each ant in a way that appeared intuitive
- Working out how to send and receive multiplayer data within Godot under the time constraints of the event.
- As always, UI and graphical design needs a more talented hand than mine.
Accomplishments that I'm proud of
Sleeping and taking time out from the hackathon over the weekend.
What I learned
It was interesting to learn about how an 'automated game' such as this could work. The agency of the player is in menus and the game is focused more around idly watching the results of one's work. Therefore the simulation must be interesting enough to be idly watched.
What's next for Antsolation
- More control over speciation -- proportionally spawning more than one type of ant allows for specialisations such as warrior ants.
- Ability to attack enemy nests.
- 'World map' where each of these maps represents a single cell..
- A tutorial has not yet been implemented!