Tetrash Postmortem

Full itch.io page here

Duration

48hrs for the Ludum Dare Discord Jam #4 game jam 2020

The Game

Tetrash is a tower defense game where players place towers to heal (not destroy) the pieces as they move along a path. There are enemy towers already placed that are trying to destroy the pieces. The whole premise is that your Tetris game is corrupted and you are trying to salvage the pieces of Tetris
blocks before malware destroys them. Before the pieces start moving to their desired location, players must choose which powerups to give themselves to help boost their chances of winning. They have to beware, however, because while they’re helping themselves out, they are also determining which powerups the enemy malware has as well.

What I Did

Working solo again, so I did all the art, music, design, and programming. I took a stab at making actual 3D models by using the MagicaVoxel maker. The only thing I didn’t create myself, besides the fonts, was the space background/skybox.

What I Learned

Having felt displeased with the lack of knowledge gained from the previous solo game jam, I used this one to learn new skills and incorporate it into making a new game. I decided to follow a tutorial series on how to make a tower defense game, where I learned about pathfinding through Breadth First Search
algorithms, instantiating objects, and having towers focus on the moving objects. It was nice to see how the algorithms I learned in my Data Sets and Algorithms course could be implemented into an actual
game, and it also made me curious about all the different ways Unity offered pathfinding. I also learned productivity tools where things would update within the editor, like the different location of the blocks and the blocks snapping on a grid. I also learned more about art and 3D modeling by making my own models for the game.

One of the things I wish I focused on more was the design of the game. I was so focused on getting all the pieces working together, including the powerups, towers, and path of the pieces, that I didn’t have a clear plan on what the most effective level layout was, and I wasn’t even sure if the game could be
beaten by the end (which it can). I think for future game jams I want to start creating design documents for each one. Even if it’s just a one page document, I think having a solid plan can keep me on track for what I want for the jam.

Tinker Postmortem

Full itch.io page here

(Note: WebGL games are formatted strange and may run slow in WordPress. If you have technical difficulties, check out the standalone version on itch.io)

Duration

48Hrs for Game Maker’s Toolkit Game Jam 2020

The Game

In Tinker, players have to place blocks onto pegs to help a ball reach the destination. The style resembles that of old marble mazes or Rube Goldbergs. The goal of the game isn’t really meant to complete every level, but to figure out the different ways you can complete it, and to experiment. I wanted a game that
wasn’t as intense and more of a relaxing experience.

What I Did

Well… everything. The only thing I didn’t do as much of was the art. I used just simple shapes and changed their color so it was a nice color scheme. I did all the parts of the game myself, including the design of the puzzles, programming, and audio.

What I Learned

Surprisingly, I didn’t push myself to learn new things as much as I would if I was on a team. What’s nice about working with a team is that there’s always something new to learn from other people, and there’s something that you can teach others as well. Working by myself I didn’t learn all too much, but this may
be because I was nervous of going it alone and only stuck with things I mostly knew. It was kind of interesting in the end, however, when I realized that I ultimately made a level editor, where players could place and move objects how they wanted.

Problems I had with not having a team continued into the design. When I released the game, I got a lot of mixed feedback on the difficulty of the levels; some said they were too easy, while others said they were frustrated and had to quit. The game was also missing a lot of player feedback: The holes on the
blocks didn’t show any indication that they were touching a possible peg, which could have easily been implemented by changing its color or adding an audio cue. The pegs also had problems where there was some “looseness” to them, where the block could be shifted more in another direction but still be
touching the peg. If I knew how to model some actual blocks, I would have put actual holes in them, which would have made my time dealing with the pegs a whole lot easier. Looking back, I should have made the holes lock into the center of the pegs, and made a simple tool to help figure out the layout of
the blocks to easily add pegs in the correct spot. I thought adding extra random pegs would make the game more interesting and confusing, but it seemed to frustrate players because they though they could connect to it. There was also bugs that allowed the player to move around blocks while the balls were
actually moving, and some players thought all the balls had to reach the goal to win, so while I was more focused on the presentation, it was the gameplay I should have analyzed more.

Celebration at Theo’s (C.a.T.) Postmortem

Full itch.io page here

Duration

48hrs for IGDA’s eJam Game Jam 2020

The Game

With the theme being “celebration,” our game has the player playing as a cat trying to gather supplies to have a cat party when their humans are away. The player has to sneak around the house with different household items marked as “party” items (e.g. “streamers” are actually blinds). If the player gets caught
with an item, they are sent back to their bed and the item is replaced. Depending on how many items the player got by the end of the day, different win states would happen.

What I Did

I worked on player movement, which included moving between different rooms and picking up the different objects. I also designed the layout of the house and what all the items were and where they were placed. I also lead the team in the art direction, implemented the static art (not animations), and kept us in scope. All the music and sounds were also made by me. I also made the interactive start screen, end screen, and worked on some of the UI.

What I Learned

First off, it’s SO NICE to have an actual artist doing the art, and the larger team of four was great. We all worked smoothly with no problems, and it was nice to not be stressed out on time or be overloaded by a whole bunch of tasks. With the help of an outside instructor volunteering their time for this jam, we learned how easy it was to collaborate on a project through Unity’s collab. I also learned how to manage merge conflicts through the Turtle merge handler, which made things a lot easier when dealing with conflicts. GitHub was really slowing the team down with having to recreate whole scenes, so we switched to Unity collab and our production speed almost doubled.

It was nice to be able to focus on more of the design of the game, and I think taking the extra time in the beginning to fully flesh out what we wanted helped the team set specific tasks that they needed. I learned how to make objects a child of the parent, so I could easily pick up an object and have it follow the character around. I also learned about Unity’s nice feature of being able to have a scene overlayed onto another. This was helpful in determining where the items would be placed while also having another programmer work on them. What I also started to work on while programming is making my code readable and be able to be easily changed. What I mean is, while I was implementing the movement, I also knew another programmer was working on the powerups for the cat, so I left some variables and methods public so the programmer had an easy time implementing the powerups to affect the movement. This made the programming process relatively simple and I like to think it helped speed things along.

WetJet Postmortem

Full itch.io page here

(Note: WebGL games don’t format well in WordPress, reload the page to play again)

Duration

48Hr Game Jam for Athens Game Jam 2020

The Game

In WetJet, your goal is to see how far you can get without crashing your jetpack. You do this by tilting left and right with the Q and P keys, and boosting with B. Your boosting power runs out after a while, so you have to stop above a sewer geyser to refuel. You lose a life when hitting the ground, a seagull, or a bench. Once you lose all three lives, the game is over.

What I Did

I worked mainly on the player’s controls and movement. I also made a simple UI that kept track of lives and the amount of boost left. I also designed all the menus and buttons that included the art for it. I also did all the music and sounds in the game. The other programmer that I worked with did the continuous screen, obstacles, and all the art for that.

What I Learned

Being my first game jam where I was actually helping with the programming (all others I’ve done I mostly worked on the music and sounds), I was a little nervous going into it. Luckily the programming friend that I worked with was really cool and helpful. With his experience we were able to get a cohesive
game together. I learned how to manage scope during the jam, and I think we got everything done that we wanted to do within the limited. There comes a point where we must accept that not all the cool ideas we had for the game will be implemented. It think focusing just on the making the one mechanic
of flying fun helped streamline our goals. When first came up with the game, I was kind of thinking of making the controls ridiculous like the game QWOP, but reading reviews it became clear that it’s best to keep the controls to what people are used to.

There were a lot of “firsts” that I experienced in the game jam besides being the first time to program a game. I’m not used to adding different packages into my games that I didn’t create for myself, so I had to get used to what my teammate added, as well as some of Unity’s new input features. My teammate
also suggested to use Unity’s built-in rigidbody system rather than planning out all the movement through code. Being a little hesitant about it, I went ahead and implemented it and learned how to work with it to get it to do what I’d like. Figuring out the turning of the player was probably the most difficult part because I wanted the angle of where the jetpack was pushing off from to match the body angle, not just firing straight up and down. This lead to me learning about turning Quaternion angles to Euler angles that had to be applied in world space and back to Quaternion to be applied to the player’s transform.

We also had a lot of trouble with source control collisions between Unity and GitHub, even though there weren’t suppose to be any. I had to make completely new scenes to try avoid the collision. Dealing with this problem took up a lot of the time, which isn’t good when the jam is only 48hrs. I’ll talk about more of the problems we faced and our solution in the next jam postmortem Celebration at Theo’s.

World Design of Journey to the Savage Planet

Journey to the Savage Planet (JSP) is a 3D first person platformer, where the player is set on a strange, undiscovered planet. The goal of your character is to confront the lifeforms that have inhabited this planet, and find enough fuel to leave.

Strange New World

A lot of the joy from this game comes from strange environments and creatures that the player experiences. With the setting of being stuck on a planet, the ideas and opportunities to a developer can be nearly endless, but to develop a meaningful world what it contains must make sense. In JSP, there are different forms of terrain that you progress through in this order: arctic tundra, sparse forest (with crystal caverns), desert plains, swampy lowlands, stony cliffs, and a gastronomic temple. There are of course various little areas that are between these themes, which helps blend the world into something more realistic. There isn’t a point in the game where the scenery doesn’t make sense from its other surroundings. For example, if you were walking down the city streets, you would be expecting for a jungle to be right in the middle of the road. JSP has succeeded in creating something unifying to make a strange world believable.

Flora and Fauna

In what ways do the developers create a homogeneous world? Lets first take a look at the different kinds of plants and foliage that the areas have. Within the arctic tundra, the only kind of plant that exists are the ones that drop seeds to help you replenish health. Having just this one plant at the very beginning of the game allows the player to focus on the plant’s properties. With it being the only one in a remotely empty room, the player can recognize what it is, what it does, and what to look for when they ever are low on health. The plant is also a bright yellow/orange that can catch the eyes of the player, and the large pill-looking seeds tells the player if the plant can provide health or not. This plant is seen throughout all of the game, since it is one of the most important plants out there.

There are also other plants that have importance as well when it comes to special powerups. The plants that do special things for the player are also split in multiple kinds of categories: world shaping and elemental. By “world shaping,” I don’t mean that the player is terraforming, or shaping the actual world. I mean that these items add new properties to the world. There is one plant that is a kind of bouncy substance so players can reach new heights. There is also a purple fecal looking substance that causes creatures to stick to it. Then there are the grapple plants that sprout along cliff faces to grapple to. These three plants are all found in a kind of cocoon/pea pod kind of plant that hangs quietly in the shadows. These plants also appear through the world, and are typically placed near where the player has to use them. The unfortunate design of these plants is that they all look the same, so the player isn’t sure what it contains until they break it open.

The more important, elemental powerups are very distinct from each other. The three different kinds are: bomb plants, acid plants, and electricity plants. These plants are special in that they also have “offspring,” which are the different stages in its growth (the game calls it child, teenager, and adult). These younger versions of the plants allow it to look like there’s a large area of them around, when really its only the adult type of the plants that you can harvest from. Being able to have a patch of the plants give them greater importance in the game because they take up more of the space on the ground, which can make them easier to find. It also presents a kind of life cycle to the player. By showing the different stages of life of an organism, the player gets a sense of progression as it understands the forms that the plants can take. In videogames, it can be difficult to show that the game world is its own living ecosystem. The player is only experiencing that world at a certain moment in time, so designers much plan out the history behind the world they are trying to create.

Mertroidvania

The designers use the special elemental plants as an introduction to what’s to come. A game that resembles this kind of powerup structure is the game Hollow Knight. In both of these games, the player is presented with a wide variety of paths from the start, but some of these paths are unreachable. The suggestion of these opportunities is what excites the player to start searching the game world in hopes to be able to achieve new goals. The term “goals” is very important here. Without goals for the player, what is going to want them to keep playing the game? Goals can be in various forms, from winning an online match, to being able to reach the end of the level. For Metroidvania games like this, (both Metroid and Castlevania introduced the style of multiple branching paths that are meant to be back-tracked after gaining new powerups, giving it its name), the goals of the player are how to reach the new location. Progress is then determined by the player’s ability to reach new destination by using the powerups they unlocked along the way. By having these powerups appear throughout the world, even in the earlier levels, brings a sense of cohesiveness to the game, and is exciting when the player realizes that they remember seeing these plants back in the beginning. While the world design succeeds in creating a continuous world, it also prevails in memorable areas.

There are four big locations in the world, each split up by smaller areas. The smaller areas themselves can have a completely different theme to the next. For example, in the second location, the player starts at a location called “Itching Fields,” which is this kind of moldy dry grass covered plain. The farther the player progresses, however, the world turns into a kind of swamp area with large mushrooms to jump on. These areas each have different kinds of flora and fauna, as well as their own color scheme. What’s fascinating is how the game takes a kind of creature and adapts it to each area. One of the more prominent creatures in the game, which are these flightless chicken-like birds with big eyes, are iterated upon throughout the world. In the arctic tundra, the chickens are woolly and have tusks, while in the forests they are pink and colorful like the plants and don’t have many feathers. By having the different types of the same kind of creature, the designers create clear differences of each area while also having a continuous set of recognizable creatures.

Bosses

While there are all these strange and exciting creatures, the boss battles feel a little lack-luster. Some of the bosses, which are just this large dog-like creatures, appear multiple times and feel a little copy and paste. These creatures are also frustrating to battle at times because predicting what they are going to do next is completely randomized. While there’s really only two different kinds of attack states, continuously judging the wrong one can lead to some anger-inducing battles. Since the game is in a first person perspective, it’s difficult to judge if something is going to hit you or not, so trying to dodge out of the way from attacks can seem impossible at times. I think the designers had a little trouble trying to balance difficulty within the game. For the most part, the bosses weren’t difficult, but extremely repetitive, where only certain parts of their tail would hurt them, but if you were facing it the wrong way, you missed your chance of attack. Most of the bosses were just various forms of target practice, which could get dull after a while. I think why the designers chose this method of battling is understandable, however. The player is only allotted one weapon throughout the entire game, with only a couple of powerups to help make it shoot faster or fire a more powerful shot. That means having the player persistently fire at the bosses while watching their health slowly trickle can become tedious. The target practice makes sense in a way, because it forces the player to view their surroundings and move around while avoiding attacks.

Grapple

A just have to step aside from all the world building and design and talk about my favorite mechanic in the game: grappling. I’m a sucker for games that grapple. I’m not sure what the reason is, but the act of grappling feels like you’re bring the world closer to you, and could feel like a trampoline that’s propelled by your arm. In “Journey to the Savage Planet,” the grapple is one of the core mechanics in the game, and is one of the most satisfying actions to perform in my opinion. There’s a lot of aspects to the game’s grapple that I think helped it out. First, when you launch the grapple, the player reins it in like you just caught some cattle with a lasso. Second, when you reach the point of grappling, you stop on the wall. I think this decision is kind of unique to the game because in most games a player would simply start to fall once they reach the end of their tether. Since the game is focused on platforming, being given the a moment to get your bearings and look around is nice. A third aspect of the grapple is its trigger distance. What I mean by this is the grapple icon can be turned on from a far distance away, allowing you to travel that distance. Because the game is a big open world where the player can see far off in the distance, I find it nice that a player can see a far away target and reach that point without too much difficulty. To relate the mechanic back to world building, the grapple might be the most important tool because it allows the player to reach great heights in a matter of seconds.

Thanks for reading! You can check out my other work at jordandubemedia.com, and if you’re feeling generous, consider contributing to my ko-fi. Have a great day!