Hey, so this is a text-only update. While I have plenty of new screenshots and videos, I’d rather keep those private for now because at this point I want the rest of the game to be a surprise for new players!
Let’s recap: Animal Crackers is a sidescrolling exploration game where you, one of the two independent members of the Animal Congress, must pick up items and guests for the President’s birthday bash. On your quest you will meet many different ideas, and you have to piece together information in order to figure out the President’s likes and dislikes.
We’re not quite at beta phase yet, but we are beyond alpha for sure. I don’t know what the technical term to describe our current phase of development, but it’s been going really well these past few days.
Here is a more technical look at what we have achieved:
- Inventory system! This is huge since the entire point of the game is to pick up items for the President. I spent a long time trying to get this to work properly since you can swap items out if you find a different item you want, and I had to make sure that everything worked together as intended. I’ve tested it thoroughly and I think it’s fully working, so that’s really good!
- Dialogue system! In the alpha animals were only able to say one line to you, which isn’t very useful for a game. I got multiline dialogue to work really well, which required me to recode a decent chunk of the base code. Luckily this has led to a lot of other things being possible that previously were not possible, including…
- Event handler! This one is enormous. Certain dialogue triggers certain events to occur. For example, one animal’s lines might change after you initially talk to them, or another animal might change locations after a certain in-game condition is met, or an animal might drop an item upon dialogue completion. The event handler I coded is what I am most proud of with this game.
I had to make sure that the handler was located as top-level as possible so that it could communicate with basically every variable in the game. This posed a challenge since speech bubbles are very low-level on the hierarchy. I didn’t want to pass an instance variable all the way down the hierarchy to achieve this. What I ended up doing was creating a Globals class that wrapped around the only global variable the engine allows (seriously, only one) and from that created some set/get methods. The code looks like something you’d expect from a database more than a game, but it works very nicely and allows me to do a lot of things really easily and efficiently.
I’ve stated previously that I want this game finished by the end of this September, and with this recent progress I’m starting to believe that I may actually reach that deadline. If nothing else, we will at least have a very near-complete beta by that time.
Hope you look forward to the game!