Making of Enemies in Colossus Core

Hello readers!,

my name is Peter aka. Baein which is my online alias. I’m one of three programmers in group 12 and I’m currently working on a game which spawned of the concept document which group 15 had made which was called Colossus Core.

Earth is dying and to save earth you need to gather life element from the core of alien planets, which is done by defeating the core colossus thus harvesting the life element and (hopefully) save planet Earth. You’re represented by a ship of the name of Aquilla and it’s what you’ll use to fight your way to and defeat the colossus.

The 2D-sidescrolling space shooter is slowly taking form, but the process of making enemies is progressing slowly. I’ve had a major uphill stride as I quickly noticed it wasn’t just the enemies in need of making but all the surrounding parts code wise aswell as general game design, our group have had some issues with structure in our code due to that we had focuses all our energy on the prototype and not the majority of the code that’s gonna be in the final version due to the fact that we had no common place to upload our code and all focus beeing to make the prototype reach a acceptable level.

So what I ended up doing to getting started on the enemies (lacking all the sorrounding code) was to make an Entity class and a Sprite class, they were existing in our finished work list, but due to lack of a shared bitbucket respository I couldn’t test if the enemy code was working as I didn’t have access to them. So for a experimental version of an enemy class I had to spend alot of painstaking effort into making a temporary Sprite-, Entity-, Player- and Collision class, just so I could easier visuallize how the behavioural AI would interact with the enviroment and what issues in need of beeing adressed.

After alot of struggling with making ways of basic levels of the enemies I started to focus on the basic patterns of the AI and sorted them into Four core groups as follows:

Enemy mockup
1. Player ship, Aquilla (not included into the core groups).
2. Ground based (Melee) -Jumps towards Aquilla when within range, scared by light.
     – theese basic enemies follow the walls of the level and jump towards Aquilla when in             the right x-coordinate.
3. Ground based (Ranged) – Spits towards Aquilla when within range, aggrevated by light.
      – So when theese enemies are within range of Aquilla measured by X-coords of course            then they’ll fire at the player
4. Flying (Melee) – Flies rapidly towards Aquilla if aggrevated, aggrevated by light.
      – Theese will ignore range and the player if left alone but if you accidently shine your                headlights at them, they’ll makes sweeps in attempt to find player and destroy it                    flying to the last known location first.
5. Flying (Melee) – Spawns in packs, got nightvision and suicides into Aquilla, scared by light.
– 
Theese enemies will come in packs and have little green eyes indicating their night               vision and they’ll fly towards the player and are very dangerous because when they               make contact with the ship they’ll explode, however they can be dealt with swiftly
because they’ll easily scared of by with the light, but they’ll come back if you turn it               off.

So we got two types of flying and and two types of ground units and only one with the capability to utilize ranged at the current moment, the game has a key feature where light can be both a pro and con depending the enemies you’re facing, some are aggrevated and will attack if the player shines the ships headlights towards the enemies, making for more diverse gameplay more than shooty bang bang.

All of this leading to that the AI needs seperate behaviours and patterns and that they’ll need to interact with other enemies and enviroment requiring there to be 2 main categories of enemies flying and ground aswell as a seperate category for behaviour giving them each seperate behaviours, what scares them and what aggrevates them depending on the type of enemy, enviroment and setting.

There’s alot of future work to fully implement enemies into the game however I’ve got a decent momentum going and hopefully I’ll be able to keep up the speed I’ve built up.

 

About Peter Ericson

2015 Programming