Inspiration
I was playing around with Conway's Game of Life this week, and it occurred to me that a grid-based terminal game centered around it would be pretty fun.
What it does
It simulates Conway's Game of Life, but you have to dodge any alive grid element. After enough time it will switch to a rhythm game mode with a four-count beat where set patterns of grid elements will blink in warning at you, and on the downbeat it will become a "death" space. If you are on one of those spaces at that time, you will lose.
How we built it
I found a way to take keyboard input from the terminal without the user having to press return in C. I implemented a clock feature, and in the rhythm game part I made it into a metronome. I allowed the clock to miss the user's turn if it goes too many iterations without user input, allowing for the game to not be turn-based and instead be time-based. It simulates Conway's Game of Life on top of that, and allows the player character to move freely on the same grid.
Challenges we ran into
C is not at all suited for taking keyboard input without having to press enter. I had to use the ncurses library, which does not play nice with the normal terminal.
Accomplishments that we're proud of
I managed to make the keyboard take inputs from the user without pressing enter, and also make a grid simulation that doesn't devolve into a turn-based game, and can skip user input. It also prints the grid to the terminal and then clears the terminal so rapidly that it appears to be a dynamic GUI instead of just a bunch of printed grids. You cannot scroll up and see previous grids because of this, mimicking a real GUI.
What we learned
I learned to code this in some other language than C if I ever do something like this again.
What's next for Conway's Game of Death
I'm planning on adding more gamemodes, a leaderboard feature, and more visual improvements. I also want to figure out how to solve some of the stuttering issues it sometimes runs into.
Log in or sign up for Devpost to join the conversation.