Inspiration

We wanted to build something that uses mostly C++ standard libraries in order to really see what we can do with minimal APIs. Also, I'm a fan of ASCII games such as Dwarf Fortress, and Chris and I wanted to know what it's like to program a game from scratch using just ASCII characters. It was really hard, as it turns out.

What it does

For now, the player character can only move within the levels, and can't interact with any other characters, enemies, or items. However, the infrastructure is there, as we already have a level editor (of sorts) that can easily be modified to include other information, such as items in the level. We also have skeleton classes for things like enemies, items, an inventory system, etc.

How we built it

Using the conio.h library to take user input (yes, not standard C++, but it was the only library that could do the job), the character can move on the screen. Using input from the user, we can also implement hotkeys to have it do things like open an inventory, once that's implemented.

Challenges we ran into

The hardest part was figuring out a way to get the character to move. Once we figured out how to do that, the rest would fall into place. Unfortunately, that took up a large part of our time.

Accomplishments that we're proud of

We're really proud that we can easily make new levels using the format that is provided in the readme. It's rather simple, but it works, and can easily be expanded to have information about enemy types, items, and containers in the level. Also, the smooth transition between different levels. While the levels in the game don't all have working doors, it's very simple to create those doors by specifying them in the text file.

What we learned

How hard it is to not use external APIs.

What's next for ASCIIGame

Making all the stuff that, you know, makes it a game. Fortunately, we already have the plans and implementation ideas, we just have to put it to code. Of course, things don't always go smoothly...

Built With

Share this project:

Updates