GAME UPDATED 7/27/2022! STORY ELEMENTS ADDED! SEE RECENT POST BELOW!
GAME COMPLETE! Play it here: https://yousayrandy.itch.io/in-corporealIn Corporeal
An Atmosphere Puzzle Platformer
Post-Development Reflection
This is the DevLog for the 5th (for the month of May) in a series of game jam submissions for a challenge I gave myself to complete a game jam every month of 2022. You can find the previous DevLogs (with the exception of January) here:February:
Stress CUPacityMarch:
Rescue MattersApril:
Plugging In SimulatorIntroduction:Post Development Reflection?: For the month of May, instead of doing a DevLog simultaneously with the development of my game jam submission, I decided to focus all of my efforts on creating my game. This will be a recap of my experiences while making it, probably with more generalities and ramblings than hard development details. Now, for the basic stuff that I copy and paste for every DevLog:
Who am I?: My name is Randy, a hobbyist game developer. You can find my introductory post at:
https://forums.tigsource.com/index.php?topic=45.11660 I am not the most experienced of game developers, but I've dabbled enough to be able to (hopefully) complete this simple game I'm trying to make.
Why are you doing this?: Because I hate myself. Kidding! I love gaming, I've loved making them, and I want to keep doing it and get better at it. I am also fulfilling a promise to myself to complete a game jam every month for the year of 2022, and this game is February's contribution. I am documenting this process to help myself and others with the whole learning game development thing.
A Game Development Reset:If you read my DevLog for April (which you can find at the link above), you will know things got a little bit dark. I lost my job which spiraled me down an emotional drain and put a stop to any motivation I had to develop that month's game. I was beating myself up, telling myself very black-and-white, doom-and-gloom statements that did nothing but harm my confidence and mental wellbeing. If you read my February DevLog (and play the game that it's about), you will probably get the sense that I am
not into that philosophy at all. It was fortunate that I created Stress CUPacity this year, as it forced me to practice what I preached. I visited self despair, but I didn't move in. I decided the best thing to do for me was to upload what I had created for April and move on.
My wife and I had the discussion about whether or not it would be wise to continue the game jam challenge. At the risk of oversharing, life was kind of at a surprisingly low point for us. Our youngest child is entering his Terrible Twos early (at barely over a year old -- that little jerk), I had lost my job and thus medical coverage for the whole family, my wife is currently dealing with medical issues, and we are experiencing a shocking lack of available childcare options. In the grand scheme of things, forcing myself to complete an arbitrary challenge seemed like it should be a low priority. What happened, though, is that during the discussion, I learned that it was less about checking the box that I completed the challenge I set for myself, and more that I just really like developing games, and I would still like it to be my career someday. What better kick in the pants to work toward that goal than realizing your previous career is no longer an option?
As a result, I decided to stick with the challenge, but I needed to take a new approach to it and basically perform a hard reset on it. I needed to change the priorities and the way I was developing the games. I needed to alter my expectations, as the hardest part of the whole thing was falling short of them. I still wanted to do it to learn, but I
needed to do it for fun. To top it all off, I wanted to prove to myself that I still
could do it in a healthy way.
Coming Up with the Plan:The only way I would allow myself to continue is if I found a way to do it in a fun way, with failure
absolutely being an option, with my priorities in the proper order. The health and wellbeing of my family comes first, and if at any point it is compromised with this process, the process stops. I needed to accept that before I began. When I finally did (which took longer than you might expect), I could instantly feel a huge figurative load off my shoulders. In terms of what the details would look like, I wasn't sure, but I knew I could iron those out once I knew what game I was making.
I chose the
GameDev.tv Game Jam 2022 for May, mostly because I've used their tutorials a lot in my time and I think they're the best in the business. I would not be the developer I am today without their courses, so I highly recommend them if you can afford them (they often go on sale for dirt cheap). Granted, perhaps my skill level might make the previous statement insulting to them... Anyway, the theme was revealed to be "Death is Only the Beginning," and immediately I was disappointed. So far, I've liked 0% of the jam themes. I was starting to think I just don't like game jam themes in general, but in the few instances where voting on a theme was an option, a few of the selections I found to be very appealing, so I think I'm just having an unlucky streak. Nevertheless, I sat around for a full 24 hours trying to come up with an idea for the theme before I even entertained development.
I thought through a bunch of ideas. I really wanted to make a game where death is literally the start of your day to make a fun spin on it. I would accomplish that in one of two ways: 1) there would be an afterlife that is essentially a "birth," and your corporeal "life" would just be the reproductive process for the afterlife, 2) you would play as someone whose job is to deal with death, such as a mortician or something. The first idea would be way too hard to make in the time of the jam, and I couldn't find a way to make the second idea any fun. I will say, though, I like the potential of both, especially the first.
I wanted to avoid "your death allows you to do something," as that idea has been done to death, pun very much intended. I've seen so many games where you die and have to jump on your corpse, or you die and you have to use your ghost form to do something, or you play as a ghost and possess things. I wanted to avoid those. I also wanted to make sure this game was just immediately fun to play. Every game I've created for this whole challenge has been WAY out of my comfort zone -- my specialty is action/adventure/puzzle games, at least from a design perspective -- and so I needed to make a game I knew I would be able to knock out of the park. My first game jam I was ever a part of resulted in the game
Moon Jump (play it here), which was a 2D puzzle platformer where I acted as designer and artist. Platformers just click with me. I understand them, I get why they work, and they are among my favorite genres, so it was a huge success, especially for our first game. Since I desperately needed a win of that caliber, I decided on a platformer.
With the caveat that I didn't want too cliche of a mechanic, I was really struggling with coming up with an idea. My wife and I talked for hours about it. I kept going back to Moon Jump as an example of what I wanted to do. I watched people play that game, and once they saw the hook, they all got that, "Oh, aha! OH!" feeling. It's the feeling every designer wants to give their players, and I wanted that again. That was the first priority. I kept coming up with this idea of dying, leaving your body behind, and then doing something as a ghost in order for your body to get through, and then going back to your body to actually go. The ghost and the body would have different abilities, and I would design stages around getting your body there. This idea had two major problems: 1) I would not be able to pull that off in the time, 2) ghosts are inherently boring. If you think about ghosts, their defining characteristics are "they float off the ground" and "they can't touch anything." Well, that doesn't make for an interesting mechanic, and the more I kept saying to myself, "Okay, the ghost can do this," it kept getting further and further away from a ghost. Plus, with the exception of hovering/floating/flying and going through objects, ghosts wouldn't be able to do anything that a human could do, so there really wasn't much of a fun incentive to turn into the ghost.
I was also hung up on the theme, especially with coming up with a narrative or logical reason why this mechanic would exist in the first place. I was able to eliminate this by saying, "The heck with it," and just coming up with a mechanic I like and adding a tacked-on narrative at the end if I deem it necessary (spoiler: I didn't). Moon Jump had a fun movement mechanic/ability, so I needed to look for something like that. Something that could force limitations on the player that aren't frustrating, and can be built upon as the game gets more challenging. That's my favorite thing games do, and that's what I began looking for.
For all of you aspiring game developers out there, have you ever been given the advice that you need to play, read, watch, etc. literally everything you can? I'll give you a great example of how that helped me here. What do the Peter Jackson movie The Frighteners, the indie game Limbo, and the SNES game Demon's Crest have in common? They were the three main inspirations for the game I came up with. For whatever reason, the movie The Fighteners has stuck with me despite seeing it literally once on cable back in the day. Specifically, there is a scene where
(spoilers for The Frighteners, I guess?) Michael J. Fox's character has to kill himself to become a ghost, so he enters a meat freezer to temporarily stop his heart. He has a lady with him to revive him before he is dead for too long. I liked that concept, so I came up with the idea that you would turn into a ghost and then turn back before you body expires. For design purposes, I cut the idea of a time limit, and just let you stay a ghost as long as you wanted.
The Limbo inspirations need little comment. I used it because it works and requires very little asset generation. I was able to take some sprites from the Unity asset store and turn them black, and everything else was just built-in Unity stuff. Where my ability to be inspired by the most random of things, however, is most apparent with Demon's Crest. That SNES game has, in my opinion, a really cool "flight" mechanic. You can jump as normal, but if you jump again in midair, you are suspended in midair and can move left and right, but you cannot move up and down as you would expect. This led to some cool jumping puzzles where you had to time your second jump correctly in order to move horizontally. It works quite a bit different in my game, but that's where I got the idea.
With the ideas in place, I was off.
Prioritization and Aesthetics/Polish:There was the obvious priority of staying happy and healthy, but there was also the list of priorities that the game needed to feature. The movement/ghost mechanic was obviously number one, but I actually changed the way I approached it. Once the basic mechanic was in place, I instantly started to work on aesthetics. For longtime readers of my DevLogs, you know this is not normally my approach. However, I really wanted the little things to add to the feeling of the game. The Limbo inspiration only works if it looks fluid and deliberate, and sound would be key to adding to the atmosphere. In addition, I had come up with the idea of using light sources as the main way to turn yourself back into human form, so I figured I could add 2D lighting to make it look even cooler. I spent
a lot of time on these details, and the game is much better for it. Unfortunately, this led to me rushing to make levels. While I'm very proud of the levels I was able to make, I really wanted to make more.
As I mentioned, I took some sprites from the asset store and turned them black. Two separate assets were used for the human and ghost forms. They look nothing alike in full color, but they actually have similar shapes (with slight adjustments), so using just their silhouette worked very well. For the sounds, I took a whole bunch from the asset store and free sounds from the web. Ones that didn't immediately fit -- like both transformation sounds, the death sound, and the music -- I was able to adjust in Audacity to make it gel with the mood better. One thing I'm particularly proud of is the footstep and jump sounds. They're Unity assets, but I was able to randomize them very easily, and I used an animation event on the run animation to play a footstep sound whenever the character's foot was on the ground. I think this added a really strong visceral feel to the controls.
I also just straight ripped some particle effects from the asset store as well and used them for transformation and death. The only adjustments I made were to turn them all white, but they got the job done, and once again, they add a lot for being such a small touch. Finally, I added a spotlight that appears when the ghost is floating through walls in order for the player to see him (which, quite frankly, breaks half the time). This is a level of polish I'm not used to, and I definitely didn't expect to enjoy adding it as much as I did. I can't deny the effect it had on the overall quality.