Portfolio Project
A downloadable game
Controls: WASD/Arrow keys to move, Spacebar/Enter to attack.
This is a game project that I made in order to better learn how to make 3D games. I created the game in Godot Engine, with 3D models that were designed by me and my brother.
It is a simple game where the player character moves through procedurally generated levels to reach the end. There are enemies that follow the player slowly and try to attack them, and the player must avoid or defeat the enemies to progress. The player character has 3 hearts, and the game ends when the player runs out.
FEATURES:
Procedural map generation - I created a system which will randomly generate a new level every level switch, with completely new obstacle and enemy positions. The positions of objects are mostly random, but the system will always generate at least one valid path through the obstacles, and it will space out the positions of enemies so they do not crowd together.
Enemy AI - I created basic AI for the enemies, so that they know how to move towards the player, when to attack, and how to navigate around obstacles between them and the player. The AI right now is quite simple, so it is not too difficult for the enemies to get temporarily stuck or take a wrong turn, but it helps create enemies that feel like a threat.
Level transitions - When the player character reaches the end of a level, they are lifted into the air and a new level is generated which they will drop down onto. This means that the player can play forever until they die.
Animation - I created some basic animations so that the player gets a little more feedback when they or the enemies move or attack.
2-player mode - By downloading the 2-player version, the game can be played by two players in a new mode where each player takes turns in deciding what the player character should do. This makes the game much more challenging as cooperation between players is needed in order to succeed. This mode is actually what the game was originally intended to be. This mode is currently unfinished, however, as there is no feedback system so that players know who is currently able to control the player character.