Last week i talked about how i was trying to write yet another simple graphic adventure game for the narrative-driven jam #12, despite already attempted such endeavor three times already before, without much success, in the sense that there is not much game to play. This time was no different with a game that, at least, wins for longest and most absurd title: The Hirsute Adventure of the Archivist Oddly Proud of Being Bald.
The premise is as silly as the title implies: The main protagonist, James, is an archivist at the “Bureau of Mustaches and Hairdos”, however he is as bald as an eagle, and damn proud of that fact, even thought at the BoMaH this is considered unbecoming—probably because it is their livelihood.
In any case, he finds something in his archive that should not be there: a strain of hair. And he is sure it belong to his arch-rival archivist: René Oiseau. Oiseau not only has his head full of hair, but, worst of all, he is… French! The people that James despises above any other because…. Well, he must have his reasons.
The idea behind this pretty absurd premise was to have a distinct “asymmetry” between James ideas and the rest of BoMaH. Four or five days into the jam, i realized that this is not at all “asymmetry”, but opposites, and one does not necessarily (or even rarely) implies the other. In fact, the yin-yang, the quintessential symbol for opposition, has rotational and inverted symmetry. But then it was already too late for me to change everything, and did this anyway, making sure to include some asymmetry in the assets, so as fit within the jam’s required theme.
As already commented last week, i went for an art style similar to that of Once Upon a Time, not by choice but by necessity: i simply did not have enough time to color anything. I had barely time to finish the main (an only) puzzle in the game, submitting the entry less than five minutes away from the deadline!
Even though i am still not good at drawing, and slow as molasses, i think i can see a tiny bit of improvement from when i Once Upon a Time. So, at least i have that.
Another, less visible, aspect that has seen improvement is the code for scripted events, such as when the player clicks on a prop and the main character reacts with walking towards it, and saying his lines. These actions take time, and i have to run them piecemeal during the main game’s loop, or all the player would see is the character teleporting from one point to another.
This seems a great use case for coroutines, but as far as i know Haxe does not (yet?) implement coroutines, and all libraries i tried, all based on macros, do not work with Haxe 4.3, which is required in order to hot reload the program with Hashlink 1.13.
Although i tried different variations each jam, i always had a queue of “actions”, implemented as closures that accept the elapsed time for each loop, do a bit of work, and return a flag to signal whether they need to do more job or are done. These were harder than necessary to create when there were dependencies between them, and were cumbersome to create, at least compared to regular function calls.
This jam i took a bit of time to get my hands dirty with Haxe’s macros and made a very limited coroutine system that made my life much easier when dealing with such scripted events. In fact, i think this time i have a lot more of them, due to how comparatively easy was to add them.
Finally, this time i tried to keep a daily development log in the jam’s community tab. It was a bit to spur other participants to do the same and have a little more “community” during the jam, that sometimes can become too lonely. Last edition tried to join their Discord channel, despite not using much that program, and it was so disappointing that i ended up deleting my account afterwards.
In this log i wrote about that day’s progress with the game, and to actually show new characters and their animations i made little scenes using the same “engine” as the game. I found these scenes to be surprisingly fun to make. Here is one of my favorites.
I think a game that is just some type of maker of such little scenes could be very enjoyable, too.