Big Snake Postmortem


Hi! This is Angitia! And this is a Big Snake postmortem!

Inventory Management

I played The Oregon Trail for a college class. My final presentation was on how the American Frontier influenced video games. I don't think it's a good idea to lean on such an ideology to make games. I hope to one day make games about adventure and exploration that are not inherently about colonizing a space. However, tiny idea out of this work stayed with me for longer than I expected and ultimately became Big Snake.

At the very beginning of The Oregon Trail you're tasked with filling your cart with what you need for your adventure. This is what stayed with me. I couldn't help imagining this virtual family rummaging through all the useless stuff I put in the cart to find their pans and plates every meal . It sounded funny. What if instead of having a limited inventory space, you had as much room as you wanted but the bigger the inventory, the less likely it would be to find the item you need.

The concept quickly took the form of a deck of cards representing all the items. Every turn, you have the opportunity to swap two cards in the deck, modifying the order in which they will be drawn. The simple physical prototype quickly showed the limits of such an idea. With only one deck, swapping two cards is the same as choosing a card to play in a hand. It all changes with several decks. With each deck being a different character, choosing what cards to swap becomes way more strategic. Your swap needs to deal with the immediate problems but also to plan ahead for future rounds.

I quickly wondered if I could use the decks for more than just inventory management. What if a character getting hurt meant adding a "wound" card to their deck. If the card reaches the top of the deck, the character dies. While it is in the deck, it acts as a constant threat, the wound has direct effect on how the character can act. You can then imagine more kinds of cards: healing cards that remove wounds, embarrassment or hunger cards that multiply every time they're played until you're totally overwhelmed, passive cards that have effects as long as they are never played.... I felt like it was a fun way to deal with status ailments. I like this deck based abstraction because it doesn't rely on a lot of numbers to describe complex situations.

Unhinged Group Dynamics

The idea never really left my mind. I wanted to make a game with this deck system. I just needed to find a good setting to showcase its potential. I initially thought of a murder mystery set in a high school. The characters would have to load their bags and heads with the tools to learn in class during the day and investigate a murder at night. Do you cram all the possible dates into your brain for the exam and run the risk of only being about to talk about the second Republic when confronting the murderer? Or do you keep only the essentials, leaving in your room the gift you bought for your crush that you may or may not meet today? I believed I had a good concept.

The only real limitation was the code part of it all. I am not fond of building user interfaces, and the idea of making a deck builder menu was giving me the chills. I decided my first try would focus on playing with already made decks, there would be no choosing what the characters had in their inventory. I also wanted to start with simpler cards. No combat mechanics, or passive effects cards.

The lithobreakers jam theme came at the perfect time. I love Lithobreakers so much but I wasn't sure I would be able to fit in with my silly games. (But then I did! Take that, imposter syndrome!) I don't really know how to write or draw. But I can code and with such a concept I could play to my strengths. The game systems could be enough to create the unhinged group dynamic naturally. I just had to try. It gave me the motivation to participate and I have no regrets. Watching the first jam from the sidelines was not nearly as fun.

I also had the advantage of being barely known in the community. Nobody really knows what kind of games I make so I could use my usual style without too big of a risk of being found out. It is an anonymous jam after all. Maybe I'll have to be more careful next time. I still had to go out of my comfort zone by writing a lot of dialogue! I definitely felt the struggle of fleshing out my characters and giving them distinct personalities. It gave me an even stronger appreciation of writers. It is a fun job but it requires a lot of skills!

Big Snake

The first step was working on the card mechanics. Big Snake is driven by the narration. The outcome of drawing cards is always a new dialogue scenes. Every scene is stored in a different file. A scene looks like this:

{rand 3
N : The world serpent slowly opens its mouth.
{rand
N : The big snake's mouth is opening a bit more.
{rand
N : The big snake reveals its giant fangs.
{endRand
{EndText
{Goal
    Convince the big snake to not eat you
    {Condition open}
    {Success
        + AddFlag openMouth 1
        + NewPreScene snake/open 9
        {If flag:openMouth >= 3
            + NewScene snake/unhinge 10
        }
    }
}

From this scene file, the code displays the dialogue until it reaches {EndText. It then shows the cards again to the player to make a new choice. Some cards can trigger scenes when played. There are two special scenes, one to play if no scene was triggered and one if two equally important scenes compete (some story relevant scenes have priority, some other cards like scream can also have priority over others as the character is yelling over the rest). I was very proud of this little language. It can do some cool things. I ended up sending it to a researcher asking what my interest in languages and games was, they ghosted me after that. I guess it's not quite state of the art.

The story evolved from experimenting with the system. It involved aliens at first. There was a whole scene about keeping quiet while the aliens were roaming around with the risk of being abducted into a different ending if any dialogue was triggered. Characters argued with each other on the next action and struggled to find bread, butter and a knife for a picnic (this became the human sacrifice in the final version). I pivoted towards the big snake idea after thinking of using the fourth deck as a countdown. The snake can either watch Earth or get closer to it. As a player you can manage the characters thoughts to unlock dialogue or find more pressing to push back the "move" cards of the snake, giving you a couple turns of respite. I really liked this idea.

Going Further

I really want to explore this mechanic some more. I think it has potential and it has been living rent free in my head for years now. I wrote the code with this in mind. A lot of options I did not use are ready for other projects I might have. On top of that, to playtest the game, I used an auto player that played the game perfectly randomly thousands of times. It gave me an idea of which endings were easier to reach. It allowed me to catch some bugs too. I also made an algorithm that would always try to get the true ending (internally called "bad ending" since the snake doesn't get to devour) to see how accessible it was from a random deck. It turns out it gets there about 70% of the time but humans might do a little better. It seemed like a good balance. The computer player also discovered a strange order of events that allows players to break out of the demon endings into the regular ending.  It was not planned but I left it in, it seems to fit with the general chaos of the game

I plan on adding unlockable cards that can be added to the story. Allowing some amount of deck building. You could should to replace some of the cards by others that might trigger new events and endings. It's an easy way to extend the story and capitalize on the card aspect of the game. Maybe even add some story booster packs? Some DLC? A battle pass? Microtransactions? The possibilities are endless.

I also want to experiment with deck mixing. I was originally thinking of making multiple little stories and then allowing the player to play with multiple story decks mixed together. There is not a chance it will make for a coherent plot but it will certainly be interesting. I could even bake secret routes that require decks and characters from different stories. We'll see.

I am curious to see what other stories would lend well to this concept, I have several ideas that I want to try, murder mysteries, political speeches, rpg-style battles, awkward sex scenes, survival on a deserted island...

Conclusion

Ultimately, all of these big ideas are but mere dreams. It's important to keep them in mind, they lead to the existence of the game, after all. But very few of these will come to fruition. I will be distracted by something else and move on as always. I am more than glad I had to opportunity to sit down and make a game for Lithobreakers. It was fun, and I think Big Snake is a cool game. I am excited to keep making games for as long as I can and to enjoy the games others have made! I am also super proud of Big Snake's award. Thank you KentuckyFriedDreams for making it, it's lovely!

And if you somehow find yourself reading this and you still haven't checked the other lithobreakers games: what are you waiting for?

Look at how cool this looks! Amazing!

Get Big Snake

Leave a comment

Log in with itch.io to leave a comment.