Monday, January 31, 2022

Prisoners of Time Fabric: Global Game Jam 2022 Devlog

My brother and I finished our Global Game Jam project yesterday, but we spent a bit of time playtesting and debugging to make sure it was presentable yesterday night and a little bit of today. It's called Prisoners of Time Fabric and it's a survival game where you must solve puzzles to piece two timelines back together.

The game is playable in the browser, but we recommend downloading it for the best experience. Here's a link where you can do that:

Now I'm going to walk you through the process we went through to make this game!


Thursday/Friday

The theme (duality) was announced really early this year, so we had a lot of time to let the ideas circle through our heads. We didn't start working on it officially until Friday of the GGJ weekend though, it was mostly just jotting down ideas and brainstorming. It's funny that our game from last year, Slumbered Apart, actually fit this theme perfectly, so it was a goal to make sure it wasn't too similar to that project.

On Thursday night we met to bounce ideas around and come up with a basic concept. Our concept was based upon an Eventure that we wrote a few years ago about different timelines and alternate dimensions called Time Fabric Island. I knew I wanted Clove to be the main character since she's a time traveler, so I sketched a few sprite concepts of what kind of style to go with. I also made a template project file for us to work in.


We decided that we wanted one world to be more of a retro-styled Game Boy palette while the other would be darker like Persona 2, Link to the Past, or Parasite Eve. On Friday after dinner, I took my concepts from Thursday night and recolored them with a limited GB palette to see which one we'd wanna go with. We decided the bottom-right one worked best in both styles.

Then I proceeded to animate these sprites and create a full charset for Clove. This took up a lot of my time on Friday and I finished them around 1:30am. 


During that time, my brother was mostly setting up the project and getting some basic mechanics set up for our crafting system. We wanted the gameplay to be unique, so we came up with the idea that this game could be a survival game where you collect resources and craft them together to progress forward. 


My brother created an Inventory menu where you can collect resources and see how many you've collected there. Then he proceeded to create a Crafting menu where you can click to craft things together.


Once I started working back in the project, I imported an enemy sprite that I animated and started working on the dialogue system. We ended up using Galv's Message Styles plugin so that text bubbles could pop up above their heads. I also implemented a feature to change between two different styles.

Saturday/Sunday


We ended up staying up until about 5am on Friday, so we slept later on Saturday. I started when I woke up and we both were working on it by 3:30pm. We made sure to take our team photo earlier on so we could have better lighting and look more awake.


I started by concepting a basic HUD to lay out where all of the features would be. Based on feedback from last year's GGJ project, I really wanted to provide more directions like objectives and an options menu to learn about the controls.


Then I started to program the hunger meter mechanic. I started by setting up a timer so that every 5 seconds your health would deplete. I based the coloring system on my health bars from Compass Nays, but instead of a variable bar, this one is individual picture files. Eli's Enhanced Pictures plugin was super useful here. After it was all working, I gradually tested out time and ended up with the final number of 25 seconds per bar, which is a little long, but we didn't want to make the game too hard, so kept it.


Then I programmed the enemy chasing mechanic. I took a lot of inspiration from my Compass Nays game because I already had that working, but I made it a bit more simplified since we didn't need as advanced of a system as I made there. I made a basic enemy type that randomly spawns into a region and chases the player. I also programmed the objective system which updates based on a variable.


Then my brother started to lay out the maps and figure out where everything was located. He sketched out the rough map you see above (which we ended up using for the final since we didn't have time to update it). We ended up making all of these maps aside from the office in the final version of the game, though some maps slightly moved around a little. He then proceeded to work on drawing the backgrounds for a large portion of the night. I took a break for dinner at this point.


When I came back from dinner, I made the final art for the HUD in the dark timeline and then color swapped to create the retro styled timeline. I added my brother's rough forest drawing into the background to make a mock-up image for how it would all look together as well. Then I proceeded to actually implement these into the game itself.


Then I spent some time making more sprites. I drew a few different versions of our main antagonist Gregorn and then my brother put those together into an opening sequence to set up our game.

I proceeded to create sprites for all of our NPC background characters, and that process was pretty quick since I just made very slight animations for them and only had them all facing one direction.

All of the rough backgrounds were done and my brother was starting on the final background art, so I finally went in and started to add some game progression. 

I struggled a lot with the phone text for whenever Megumi talks. For some reason, the plugin we were using wasn't working well with what I wanted to do. Every time I would show the dialogue, it would pop up into the corner or a weird spot, and not the coordinate that I specified. After a few hours of testing, I got it working for when the player dies in the game, but it was still not working every time. I realized we didn't have much time left, so I ended up having to just use a dialogue box that pops up over her phone instead of directly implementing it on the screen as I originally designed. It wasn't a great solution, but with the time we had left, it was all I could do.

After that, I started to just connect all of our events together and make more game progression. I added a bunch of events that required you to do crafting and various puzzles to progress the game. Considering I did this in a few hours, I'm surprised it mostly worked without a ton of playtesting. Most of it was basic switches and dialogue, but I did manage to get quite a bit of progression in there. I also put together quick menu buttons for the map and options.

Once my brother finished drawing all of the backgrounds, I handed the game back to him so he could finish up the Jourdub Factory puzzle, which he had concepted and thought up, and the ending of the game. While he did that, I converted his background drawings to GB color palette styles by mostly just replacing the colors that were there very quicky. Then I found the music for our game and wrapped up some final assets like the title screen, end credits, etc.

We did some final playtesting since it was the end of the project time, and added some custom sound effects to replace some default sounds. Then we basically just continued to test and debug for a bit to make sure that there were no final bugs in there. I made the itch.io page and uploaded the project, and then today I further customized the page and made sure everything was working!


This project was a lot of fun to work on. And even though we ran into a lot of bugs that slowed us down and took away some hours, we made a game with a clear progression and beginning, middle, and end. And we made our very first survival game with cool new mechanics that we hadn't done before! So overall we learned a lot and honestly I really like how it came out. There were times when I was worried if we were even going to have a game because we started on the progression aspect so late, but we pulled it off!


I'm not planning to create a CUPdate post for this week since most of my project creation went to this, but I'll see you in the next post! Thanks for reading and playing our game.

No comments:

Post a Comment