ASCII Game
As a part of my course, I am required to create a top-down, dungeon crawling ASCII game using C++. This means that the game will be displayed to the player through characters displayed in the console. The entire game will be made up of letters and symbols.
The game will update every frame, which means that the game will run extremely quickly. If I was to make the game world or any AI update over time, things would move extremely quickly, and the player would likely have trouble keeping up. This is not an effect which I want, so if I am going to do this, I will make it turn based. Things will only change and move as soon as the player moves. An alternative is to make things update after periods of time, however the player would either outpace everything, or be forced to wait as well. Turn-based is most desirable.
We have been given some code to get us started.
The required game is very basic, so I will try to meet as many of my desirables as possible to make a more interesting game.
Requirements
The player must have something to play as, which can be moved around the screen with the WASD keys.
Each level must have walls, which the player should not be able to move through.
There must be an exit to each level. It must inform the player that the level is complete. There must be at least 3 levels.
Desirables
Each level will be procedurally generated, so that the gameplay experience will be different each time.
A key must be obtained before the player may proceed to the next level.
There will be enemies which move as the player moves. They will damage and kill the player, who has 3 health per level.
The player can rotate with the arrow keys, which will cost a turn of movement.
The player can shoot in the direction they are facing to damage enemies, who die upon being hit 3 times.
A score will be displayed which tallies the enemies killed and the levels completed.
The player might not be able to see through walls.
There are a lot of desirables, so it is unlikely that I will meet them all, however I will work towards these goals if I have the time.