Game Name: Cleanup On Isle 6.67
Year: 2020
Programming Language: C
Roles: AI Programmer, Character Designer, UI Designer
Duration: ~14 weeks
Year: 2020
Programming Language: C
Roles: AI Programmer, Character Designer, UI Designer
Duration: ~14 weeks
|
During my Freshman year of college, I was part of a five-person programming team. We had fourteen weeks to make a game using DigiPen's Alpha Engine. As a team, we wanted to make a puzzle game that took place in space. So for a few days, I came up with concept art for the main character and enemies.
For the character, at first I attempted to draw a spaceman. However, each of my attempts looked more like a robot. So I decided to lean into the robot idea. I wanted the robot to be visually distinct from the enemies, so I stuck with grays. In order to break up the monotony, I used blue as an accent. As for the enemies, I wanted to make sure that the player could tell each one apart at a glance. So I gave each enemy a bright color. I stuck with greens, blues, and reds for each one so their colors were visually distinct from one another. I also made sure that each of the enemies had a unique body type. So if a colorblind person played our game, they would be able to tell the difference between the three based on their shapes. |
|
Now that we knew what our enemies would look like, I was put in charge of the enemy behavior. Each of the enemies used the rand() function when determining where they should move. That way, I could avoid the enemies from clumping together and forming a mob. Each enemy had their own speed variable, which determined how fast they would move. That way, their movements would be more distinct from one another.
Each enemy had their own enum which had states for if they were valid and which direction they moved. If the player sucked an enemy up, the enemy would be seen as a projectile that the player can then shoot at the other enemies. For the main menu, I leaned into the cartoony space aesthetic of the game by using bright colors and exaggerated proportions. Each of the assets is also on its own layer. That way, I could attach a behavior to a specific art asset without affecting the other assets.The ship's movement is being updated using sine and cosine, which allows it to move in a circular pattern. The stars are set on a timer where their alpha decreases and increases depending on the timer's value. As for the buttons, if the mouse was colliding with them, then the buttons would change color. As for the level selection screen, each star represents a level that the player can go to. I tried to form a constellation using the stars as a fun detail. To get the stars to move, their movement is updated using sine and cosine. For the popups, the stars determine whether or not the mouse collided with it.If it did, then the star's mission log would appear. To keep in line with the cartoony space aesthetic, I tried to give each of the missions their own voice since each one is being issued by a different person. |