Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
<!>I will still be working on "Epic Adventure", although progress has been a lot slower recently.<!>

Latest Gif:


Awhile ago I created a TI-BASIC game in which you had to select which cells will be alive in the next Game Of Life iteration. If you got it right, you advanced to the next level. Otherwise, you would lose and have to restart. It was fun to play, but incredibly slow in-between levels. I decided I would try to remake this game in C to run faster and play better. The TI-BASIC version did not have a high-score system which I will try to implement in this remake. Dynamically sized levels are possible with the way I designed them, but chances are I did it wrong because it worked the first time.

This may be the first game I upload the source for, this game could probably benefit greatly from being open source. For example, the way I allocated memory for levels in the level generation function could be entirely wrong.
Edit: Github source uploaded. https://github.com/slimeenergyreal/gogol

At the time of posting this, I am close to getting the game to a playable state. Note the coloring is not finished.


Todo:
Fix bugs (if any).
Currently Done:
Fancy background screen (Planning on having tiles fading in and out on a grid)
Better GUI
Level, time, and high score systems
Custom color palette
Increasing level size as level number increases
Key debouncing
Make the selected tile in the play scene stand out more

Edit: Thank you MateoC for pointing out all of the things I was doing wrong!
An image posted by lirtosiast described me flawlessly yesterday. A few words of this text have links, but this text is quite small so you may have to inspect element.
I was consistently getting ram clears when I reached the win/lose scene. I thought the issue was a buffer overflow involving the level iteration function, so I proceeded to spend a few hours trying different methods to fix this. It turns out, there was a memory leak thanks to the "You reached level %d!" texts. I somehow, eventually found that was the problem. It took less than a minute to fix it once I found it.

A couple hundred lines of code later, the game worked! The changes haven't been uploaded to github quite yet, I'm going to read over the code first and make sure it's neat enough.

Changes:
►Key states now stored as static booleans in functions rather than globals.
►The globals are stored in a game structure.
►"uint16_t"s have been replaced with twenty-four bit integers.
►There is now a timer. (Although, nothing happens when you reach zero, yet.)
►I believe all memory leaks have been destroyed.
►Level generation has been sped up greatly
►The Game Of Life now exists in the "iterate_level" function.
►Probably some other things I forgot about

Here's some game-play footage.


Edit: The source has been updated on github.

Edit 2:
Fancy backgrounds have been added!
This basically turned out how I had imagined it. Each fancy tile object has three properties. The first two being the grid positions (X/Y), and the last one being the gradient progress. I can configure the speed of each tile and how many tiles there are using macros. The tiles get a random position every time they turn white.


Edit 3:
Highscores and the how to play page have been added! The how to play page may change in the future, because I don't believe it explains the game well enough.

Highscores:


How To Play:


Edit 4:
A Game Of Game Of Life is now archives pending!
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement