Devlog - whats, whys and hows.


Hullo!

Intro

I want to start doing devlogs for my games to document at least some of the process, and just trying to consistently document what I am doing while doing it. So here I am.

Part of this motivation is also in a professional level (blergh!, I know but I do need to find a job lol), because that's the best way I can make sure to remember and describe what I've done when I put stuff on my cv or my git hub in a portfolio way.

But is also fun to think about what I did and why, and some people do get interested on it. I particularly don't care that much because I am a process type of person, I enjoy the road more than the destination. Being in a place is not as important as getting there. In a wee meta way this game is also about that. But I think every game is a little about that, no? To paraphrase that Max Levine Ensemble song: Aren't All Games Political? Aren't All Games Vaguely Self Referential?

It is good to remember to stop and breathe and just be.

This was my first playdate jam game, and I really enjoyed it!

I feel now I am at a point that I can join game jams, either with playdate games or with python. So that's why I have been searching for jams. I saw this was going to happen so put in on my calendar and made sure I had the weekend to do it.

Should I be doing this game? Well I have a bunch of other unfinished projects and works in progress so: hell yeah!


Where to start? And why?

Sooooo first I checked the theme once I woke up (I live in glasgow so the theme was released midnight here, and I like to sleep). Ascension. My plan was "have your morning with your coffee and brainstorm the theme and have a doable plan for the game".

Ascension threw my mind straight away to Mage, The Ascension. Which is a TTRPG that I really liked playing with my friends a while ago, I had some of my best rpgs experiences with this game. It’s a game about ascension, breaking paradigms, and exploring metaphysical ideas. That was a good starting point in my brain and from that I decided to not make a game that goes up.

I've also been thinking a lot about making games that are a bit more of art projects and a flow of ideas. I've played quite a bit of ones it these themes and they influenced me, which are more personal journeys and diaries and a bit weird. And I honeslty live for this shit. That's what got me into film study in Uni, things like the video-art movement. So as I'm still finding my voice in game making, I think I can explore those ideas of art projects in video games and (non)narratives that I think a lot about in films and have a huge space and canvas in video games. Not to only do games like this ever, but also to try and do them when they come to me.

Anyway, another thing that tied in was also that I've been thinking a lot about making games that winning is not the point, or it doesn't matter to score, or to get to an end... And to start testing these ideas, because is quite easy to get lost in theory and thinking, but how does that actually look and materialize in gameplay?

So my brain was going, great! I've also had just watched that film Pi, which I never did. And honestly it tied up so much with the theme and what I was thinking. The maths and computer side of it, trying to uncover something, dealing with your own self, and the conclusion of the film about letting go. I liked that film a lot. Not gonna dive in on it, but I reccommend if you never watched.

The last thing that picked my brain on the conceptualisation was No Exit. Is a play by Sartre that I got really into a long time ago, and is referenced in a couple of  other things I like too. It have that famous quote "Hell is other people". It made me think of how the game could be set in this waiting room in hell type of thing. And what else is that place if not my head? So that gave me an extra nudge on the Existentialism themes that brings it all together. And this struggle of escape/ascend or being trapped forever.

And while on that path I solidifyied that idea thinking about what I've overcome so far. And my personal theme of overcoming addictions and knowing myself in this point of my life.

Ok, that was a mouthfull. I can easily stay in this place in my head for days, but I felt I had something to actually plan a game and what to do with all this information in a practical way.


The Plan

So by then I knew I wanted to do something abstract, something about quitting to win, being trapped in a loop and trying to represent my brain in game form. Basically I wanted something to look a wee bit weird.

My initial plan was some thing very much like this:

Title -> 
    Stage 1 - Stage 2 - Stage 3 - Stage4 -> Loop or Quit? 
        Loop -> Stage 1, etc... 
        Quit -> Win the game -> Go back to playdate home

That felt doable. Why 4 stages? 4 seasons? Felt right to have 4. But no particular reason. To be fair I thought if I have time make more, or if I don't have time make at least 2, but 1 is already good enough to have a game.

On my plan I knew to give myself time to dissociate and that I would be more productive on mornings/day time and maybe would have a burst of energy to go through on of the nights. But I know I need time to stop, process, let my mind wander. Go outside and walk in the middle of nature. Things like that are part of my process. Is how I manage life.

So plans for the days ahead looked like:

  • Day 1: concept and build basic project structure in vscode, start stages if I have the energy
  • Day 2: make things work, test, make decisions to cut things that are not working. If possible have the main structure
  • Day 3: Art and Sound, final touches, submit.

That felt doable and pretty good to go forward.


The Coding and Desing

Alright so now I started the game, open VSCode and started a new folder. To start the project I copied some stuff from my last playdate project Wee Tarot as a template. To get the .vscode folder and json files in there, a basic main.lua and the scene manager I used on it.

The Scene Manager is basically something that I vibes a lot from following SquidGod's Tutorials on youtube and when I did some localization of their projects, and I think some extra bits I've seen when doing LOVE2d tutorials. I made that by copying and pasting and testing and seeing how and what worked. I arrived in a version that I used on the other game, So I just copied it from there.

I also copied my utils.lua that have the typewritter method I used then, because that could be helpfull, and a sidemenu.lua with stuff that I wasn't sure if I was going to do anything with, but is a easy way to remind myself how to use the side menu.

Oh in there that was also the AnimatedSprite Library That I used on wee tarot, so would be easy to reuse if I need it as it was still kinda fresh in my mind.

Ok, with the template structure done I created the title screen, 4 stages and win scene. at the moment just with a text place holder in there.

Back to the drawing board I decided on the 4 stages being:

Stage 1 – The Monolith Grid
Stage 2 – The Flowing Veil
Stage 3 – The Impossible Stair
Stage 4 – The Empty Field 

Monolith Grid

The monolith like 2001 space odissey, that begining. But also as in the standing stones I go to see a lot here in scotland. And that lead me to glyphs and symbols. If that's what's been going in my mind, I am going to use it.

A bit of a side track to search for fonts to have, because it felt easier than trying to get images or drawing (drawing is not my strenght so creating art assets is something I need a lot more time with). In that I also decided to use some celtic influenced fonts, because that's where I live. And relating to the standing stones motiff.

That also made me decided to try to draw everything with playdate methods, functions and math and try to not use .pngs or spritesheets, I felt that was going to be a faster route for me to not worry about. (I was kinda right and kinda wrong about that in the end hahaha).

Monolith an easy black rectangle in the middle of the, done. Than I wanted to play with perspectives and doing static grids to change and have a visual effect. I wanted them to be random depending on crank turning and at some point to generate random glyphs. A total of 5 max to fit the rectangle. but could be less sometimes.

And there I went, trying to code that. For this I used a lot of notes and went back to documents of my studies to learn lua and python to expand on that. I do need to revise a lot of my math because I am going back to uni starting in october so that was a great excuse.

I also justified to myself with That's what Max Cohen was doing. Which is something to maybe be worried about?

So there was a lot of copy-paste, tweak, test, rinse and repeat. Which is a constant theme in my coding anyway. But I guess that's what people do right?

I had to decide on a winning condition to move on to next stage. So it felt like locking some glyphs that would be the conector between stages, spending some time, and turning the crank a little bit. Why? Because that is also playing with that illusion of player agency, doing things, so you have to use the crank and play buttons.

That would bring up a text box, which would also be common for all the stages. It would be a prompt if the player wants to move on, yes or no. if no give some answers as options.

Those answers are then based on my own thoughts when I feel stuck, or when I was drinking for example and what I would tell myself. If decided on no, the next answer doesn't really matter (If I had time later I would add extra flavour messages depending on choice here, but that didn't happened) and you are back on the same stage.

If you move on, you move on, and the locked glyphs would then be saved. So then I created the GlyphManager class to handle all that and later used to control the main glyphs drawing consistently.


The Flowing Veil

The idea here was to break with the monolith and grids to became a flowly thing. and create that contrast with the previous stage, also what my head goes from structure to breaking those structures into a flow, but still with some recognisable elements leftover.

This one I struggled.

I wanted to have loads of distinct random waves in the back and inside an oval monolith. To be all cranked controlled and randomized: amplitude, frequency, phase, speed.

So for that I had 2 problems.

  1. Geometry, trigonometry, sin/cos, phisics, are another of my not strong points. So I went looking around and copying and pasting even more, trying to change/add here and there. Very William Burroughs-ish type coding/maths.

  2. Memory. By trying to add a bunch of stuff at once and randomizing constantly, fade ins and outs. I was putting too much stuff on the wee playdate. And it was suffering of course :( .

So for the solutions I decided to scale it down as much as I could. Take out the constant math.rand from the update method, limit the number of waves. And in the center, for the monolith, I ended up arriving at those dots pattern. I was trying to do something like a DNA strip and I got to that.

I was happy enough with where I got and tho it still goes down on the fps is a lot better and playable. I decided that would be a thing in that stage. That's what I learned in film school: if you can't fix it, justify it.

To finalize, same thing as the previous stage, text box after a bit of time passes/crank gets cranked, the glyphs would appear to signify you can move on. That's it, move on.


The Impossible Stair

Ok, spoilers straight away this was a failure and I redid this whole idea.

At first I want it to be some sort of Escher like stage that would have the stairs going all directions with the crank. That would play more with that idea of what is up or down, where am I going, etc...

But I couldn't make it to work how I wanted and started to strugle with out of bounds and reversing. Also one of my first iterations I managed to do a simple staircase that was mirrored at the bottom and top of screen, and when cranking they would move different directions. But didn't look very nice, felt clutttered and going nowhere.

So I decided to give up. (See? I am doing the thing lol)


The Sun and Moon Dial

So I needed a new stage 3 idea. I have on my "ideas for a game one day" file, this idea to make something for playdate that the crank controls the sun spinning so it controls the time of day, and depending on which day it is or time of day there would be different things going on. A bit Majora's Mask if you allow me.

But that is a whole concept in itself that need it's own time. I like that mechanic, and because I was stuck on stage 3 not knowing what to do or where to go, that was in my head. I was going to use it.

Plus then I started to think about the standing stones and how they are used in rituals for solstices so that would make a lot of sense too.

I refactored the whole stage, monolith centered, both the rectangle and the oval shape (That didn't end up being used on stage 2, but I needed a static object easy to make).

Made the crank control this 2 opposing circles: one white, one smaller black (sun and moon). The turning works.Wwhen crank reaches 0 or 180 background is black or white, and then used the dithered patterns to make a fade effect. Inspired by my fades that I used in the wee tarot.

I thought it would be cool to have different glyphs if it was day or night and the sun and moon to illuminate them as they go. Each cycle the glyphs would randomly change. and at some point the motiff glyphs would appear in the central monolith to sinalize you can move on.

The days become nights that become days. Time can move forward or backwards and I'm still stuck in this loop. I can get out but I don't. I just keep circling, searching, waiting, doing the same things...

Implemented the same thing for winning conditions: time and crank, motiff glyphs appear -> press A. This time I decided to change the texts in the text box and make it a bit more obvious about ascending because I didn't wanna loose track of the theme. So I did some different texts and moved on.


The Empty Field

The empty field always felt like a good last stage, is a place for reflection and always where I end up.

I wanted it all black and with the glyphs to come up straight away, you can press A to go on at any time.

Then to add some crank mechanic and extra visual flair to the metaphors, I added those 4 cursor that can never fully join or separate no matter how much you spin. Which is also something that for me feel like hell, one of those infinite punishments.

That's it, that last text box was always gonna be like that, I knew it. And if you press to keep going you are there stuck in the loop. You are not out of the dungeon. Maybe you can try again, maybe some different glyphs this time?


Quitting

Alright so to win you have to quit. I decided to "hide" the option in the side menu, because it felt fun.

That leads you to the win scene. To congratulate you, have a fake score thing, and keep pointing to a full quit.

So there you can choose to stay in the loop or fully quit the game. My first intention was trying to figure out what the home button do and use that. But lack of time and tiredness and possibly that is more bite than I can chew coding wise I decided on another thing.

That's when I wanted to do the planned bug. It still makes it that winning only happens if you leave the game and have a little extra if you check the error. I checked if that was not harmful for the playdate. But as far as I am aware and read about it, it doesn't feel like. Please correct me if I'm wrong.

I put the note there in the game page, which is kind of a spoiler, but I felt it was better to have the warning.

I wasn't going to, but then instead of a random score I decided to translate the glyphs from the run into normal text and give you as a code. Which first was going to lead you to type in with the pd keyboard, but to be quicker I just added the menu option box that you can check. And that leads you to the stones.

The stones are just a dithered picture of standing stones that I had on my computer. I did a quick spritesheet with them getting darker. Is not the most exact effect. But for my skills and since I learned to do that in a way. Was simple enough to do it in time.

The Stones are just there, Is a place to go. It ties with the monolith symbolism and the glyphs also. The fading also ties in with the sun and moon idea. But getting there is not the same as fully quiting is it?


The Writting

I went through the stages, but something felt off. It was night time but I had the energy in me. I wanted to add some more writting that didn't really fit the stages. To have a bit more context in game and also, again, bringing in the theme in it. Not just have the ideas in my brain.

So that's what I did, I just went full on writting sentences without thinking much. things that would come to my mind. About the process, about the stages. Anything that could describe the experience.

Then I just edited and picked out the sentences that fit in better together and created a little narrative of what was going on and some sort of intro for the stages too. That felt right.

I organised them in a table and broke the senteces for diagramation puposes, and used my typewritter function to look cooler and have that effect.

That was kinda quick because I was in the vibe of it and knew what I needed to do. Also since I did the conceptualising in the beggining I had a lot of ideas for that already.


The Sound

Now I was on the last push to do the sound, I already knew I wouldn't have anymore time to do art, but I was ok with that. I thought about using some synths cause I want to learn and get more used to using LMMS that I've recently downloaded.

I even have a vst for bagpipes. So I spent a good couple of hours just messing around with the synths. That was fun but got me nowhere to be fair. So I thought with myself, if this game represents being inside of my head I should record the sounds either my voice or my guitar and than add some effects accordingly.

So I set up my mic and got Audacity to work.

But then my nightmare... Out of nowhere there was some heavy drilling from the upstairs neighboor. No heads up, nothing. Just full on drilling in my head.

That messed with my head and my flow. I ran to pollok park to be in the middle of nothing. Had a wee stroll there, said hi to the coos. Calmed myself. The drilling upstairs wasn't happening anymore when I got back thankfully. But that meant I had a lot less time. Because I also had a meeting in the afternoon.

Thankfully sound and recording audio is something I'm comfortable with. I had my workflow in my head of how I was going to do it and make it efficient, but also fun.

I recorded some guitar riffs and loops I always have roaming in my head. Listened back and cut off a few snips of it. Then tried on some effects, but mostly reverb to give the spacey vibe.

I ended up with a cut of a few sounds to test it in game. Created Sound.lua just to have everything there globally and easy access.

Then I did a run with them and decided to cut most of it away and keep it simple. I didn't have time to do a better mix and fit everything perfectly with better transitions. I wanted to finish it.

But I was happy having mostly that main little loop through out the game, the sound for the writting that is a bit nervy. The different riff for the field just to give it a different flair. And then for the quit scene the alarm and the NES type synth noise I used from LMMS. In the standing stone screen I just went for a different take of the main loop, just to a be a bit different but to also keep the idea of you are still in game.


The End

And that was it, I actually while uploading to itch was deciding on a name. I thought about naming it "Irish Exit" as a play on no exit, the meaning of an irish exit and one of the fonts I am using is called Erin go Bragh. But decided for something more scottish because I live here and was using a standing stone picture of scottish stanes.

And that's why Slip Oot, or Slip Out. Which is what the game is about. Felt good.

Did the itch page, uploaded and submitted to the jam with 3 hours to spare. Phew!

Now that I finally compiled this devlog I am excited to play the other submissions and see what the other people did! is time to have some fuuunnnn!!


I hope this made some sense to you, let me know what are your thoughts or if you have any questions or anything really. You can reach me on marcelo.terreiro@gmail.com or _mama666 on discord. But email is more reliable.

lots of love mama

x

Get Slip Oot

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.