As much as I love coding, I love art too (as you can probably see by the featured pixel art). My biggest motivator in creation is the feeling that is invoked, whether it be for me or an outside viewer. That intrinsic motivation pushes me to take works that make me feel something, and create a piece that is even better. Something that I happened across during my brainstorming phase was this quote by David M. Romano:
If tomorrow starts without me, and I'm not here to see, If the sun should rise you find your eyes all filled with tears for me; I wish so much you wouldn't cry the way you did today, While thinking of the many things we didn't get to say.
This, along with me remembering the beauty that is the game Death and Taxes, made me want to create something that dealt with death. Thus, OBLIVISCOR was born. Here is the summary I have in my README on github as well:
Obliviscor is Latin for "I lose remembrance of"—I forgot. This game is the beginning of the journey of a soul who forgot who they once were, and tries to understand where they are supposed to go. It's very much a demo, but it has the foundations to scale it up. This is the first time I've ever used pygame, and I enjoyed doing pixel art for the first time as well.
I also took heavy inspiration from Greek/Roman/Egyptian mythos, with the ferryman being the only way to rebirth but with a monetary cost.
What it does
This hackathon I valued my own learning over the capabilities of the hack itself, so the impact is lower this semester. OBLIVISCOR runs from the first awareness of the main character, to the inevitable end. It has two different choices, and two different endings depending on the decisions you make. It is an application, so there are visuals as well.
How we built it
I coded everything in VSCode, utilizing the pygame library. I also made my own assets (pixel art) in Pixelable on my iPad. I wasn’t very knowledgeable in python so I just kept all the functions in the same file, but I tried to break the code up as much as possible to be more readable. I also commented on the uses for everything in the
main.py file as well. The game is rather linear, with a quit mechanic and text render being continuously called upon to advance the game. The space bar is used to advance the game when there is no decision, and the left/right arrow keys are used when there is a decision. ESC can be used to exit the game at any time. I also changed the font depending on who was talking.
Challenges we ran into
I am not familiar with pygame at all, so a lot of my trouble came from not knowing what was available to me in that library. I also didn’t know what I was going to do nor did I have a team, so there was a lot of brainstorming just in my head. If I improve on this game, I will take input from other people. A small challenge but one that lasted hours—I couldn’t figure out why
bool decision wouldn’t return from a function, even though taking it one line at a time it seemed to work. Lo and behold, I forgot that I had nested functions, and that
decision only made it through the one loop. Luckily I figured it out after testing a few things, but it was a problem I was pondering for hours while finishing the rest of the code.
Accomplishments that we're proud of
I am very proud of myself for doing multiple completely new things. I have never done pixel art, and I have not ever used pygame (I’ve only used python in the engineering class ENED, as well, so it’s not my best). This is also only my second hackathon and my first by myself, so I think I did a good job going out of my comfort zone while still making something that works.
What we learned
I learned pygame, more python, pixel art, some of the 2-D Unity engine (in the brainstorm phase, I spent maybe 2 hours thinking about making a game in Unity), how to make my (first!) solo application, and more.
What's next for OBLIVISCOR
I definitely want to expand the game: add more characters, more streamlined dialogue code, maybe an inventory, the like. I really think this game has potential. While writing this up, I realized that this could be like a text-based Hades as well, if I wanted to go that direction in the future. Also, this kind of mirrors The Sixth Sense if it was in the underworld, so that’s cool.