Daily Archives: August 21, 2019


Jam Week 2019: Golem Jox 3

Golem Jox 3 (GJ3) is a prototype demo I developed during Schell Game’s Jam Week. Here’s quick preview:

Essentially, once a year the studio “closes” and allows its employees to work on whatever they want – within reason. Usually I work on something fighting game related by myself. Last year, for example, I worked on developing something that utilized my own rollback netcode solution in Unity. This year I decided to experiment with what I was calling a “Single Player Fighter” or “Fighting Game RPG.” Someone suggested a fighting adventure game; someone else, a turn-based fighter. I’m still not 100% sure what to call it, or if it’s even that unique as apparently there are a few games that have attempted similar approaches.
The game flow is rather simple.

  1. Player explores rather simple environments
  2. Player encounters an enemy
  3. Short dialog introduction
  4. The player’s turn begins where they attack the enemy, trying to perform the most damage in an allotted amount of time
  5. The enemy takes their turn
  6. Repeat 4 to 5 until someone wins
  7. If the player wins, return to 1; otherwise, end the game

Questions

So many, many questions…

I find one of the primary goals behind prototypes is to answer questions. Here are some of the questions I was trying to answer a lot of questions with GJ3’s prototype:

How should the player explore the environment?

I decided to just have the player explore the environment like they would if they were in a 2D fighting game.  I feel if I – especially within the 4 day jam period – tried to implement a top-down RPG exploration map or 4-way movement system, I wouldn’t have gotten to answer a lot of the other questions I was trying to answer. This also allows players to practice various moves, and I can “teach” how to perform different attacks in the environment.

I know it’s not the “right” input for that attack style…

Do character move sets evolve overtime? If so, how?

The Golem Jox theme sort of comes in for this. Golem Jox is a silly IP that I used for Jam Weeks in the past in which players control a “golem” or just an entity made of random things. You start off as “Juhnk,” a golem made of white cubes. As you progress, you swap and equip different “limbs.” Some of the limbs are more powerful than what you previously had, either granting new moves, having more attack power, or granting other changes such as increased max health. I sort of “force” limb switching by locking off sections without wearing different limbs. Most people during playthroughs didn’t switch back after going through a “door” and then realized the new limb or move set was better.

For this prototype the idea was:

  • Your base or body, torso and head, determined things like your walk speed, jump weight, max health, etc. Unfortunately, I didn’t get very far with these.
  • Left arm was for weak or light punch
  • Right arm was for strong or heavy punch
  • Left leg was for weak or light kick
  • Right leg was for strong or heavy kick

Players were then supposed to have a forward and/or back special move for each non-torso limb and a super attack, but this sadly didn’t happen due to time. In the prototype, they got unique limbs and some had unique special moves, but supers were never implemented.

How do you prevent players from sticking to one set?

Sadly this question is still unanswered. What I wanted to do is that the player does not level up based on how many matches they win, but by how often they use a limb. So, for example, if I’m level 1, and I use my left arm 5 times in one fight, and it levels up to level 2, then I level up to level 2 as well. However, if the same limb is level 4 and maxed out, then I will no longer gain EXP for using it. As a player, I’d have to make the choice, “Do I keep using a limb I’m really good with or do I equip a newer, maybe weaker one, so I can continue to level up overall.”

Again, unfortunately, due to time, I didn’t get this far, but is probably the first question I would try to answer next if I were to continue to polish this prototype.

I think the other, final question, that I’m not 100% sure is answered, is will a player enjoy this gameplay loop.  That’s difficult to tell without more work, but based on the playtest I had, I think, with a lot of polish to the combat itself, I think they could.

Learning New Tools:  Playables

Not my playable graph, but a sample one provided by Unity.

Learning is an important part of Jam Week.  Besides learning the answers to prototyping questions, I often decide to try something new.  This Jam Week in particular, I decided to work with Unity’s Playable System. One challenge with this game is that characters would need to be able to choose from a wide variety of animations; however, having all of these animations loaded at runtime would probably not be very efficient.

Take remedy this, I utilized the Playable System.  Unlike a Unity’s runtime animator controller, you can dynamic build a Playable System at runtime.  So, for example, if a character is equipped with a cubic right leg, I can utilize an animation, let’s call it, “cubic right kick.”  If I then equip a spherical right leg though, I can replace it with “spherical right kick.” All I have to do is rebuild the playable graph and apply it.  There is still a lot of finesse needed, such as how to make the animations blend cleanly, but the playable’s system ability to load animations dynamically definitely make them seem like a great.  The system also has some strict rules such as you MUST destroy a playable graph once you’re done with it.

Next Steps

Getting something playable — not pun intended — felt nice, but there is still a lot that can be done.

Getting as far as I did felt like a minor victory.

This is just a prototype, but also something I’d like to continue at a future time in some capacity.  I think the following are things I would like to answer in the future:

  • Should there be guard functionality?  If so, what does that look like?
  • Can this work with an original IP that does NOT involve swapping limbs?  
    • Would swapping “styles” like in Final Fantasy Tactics work better?
    • How many moves does a character need to make them feel “complete?”
  • Can you have multiple characters on a team?  
    • If you have multiple enemies on a team, can you change position and try to line up a “shot”?

And this is just a few questions.  Overall, there is a lot that would need to be done to make this a full game; however, I think Jam Week gave me a good head start to understand the idea a lot better.  For now though, I’m most likely going to continue with MerFight and give this a break for a few weeks before returning to it with fresh eyes. I’d like to eventually release this prototype to the public to try, but I think it needs a bit more polish before that.