(NOTE: This will be a longer blog. I am summarizing almost 2 years of development. So if you are short on time, there is a TL;DR at the end of the page. Thank you!)
StopMotion means a lot to me, its evolution is a direct comparison to my evolution as a game designer. This is the project that taught me more about Game Design than University did. So I want to make this Blog to highlight that progress. I am not saying that the current state (September 2024) will be final, but it is interesting to see how far we have come.
The Beginning
So it all started in November 2022 with the simple idea to create a parkour game where the player can stop time for a bit. I got inspired by JoJo’s Bizarre Adventure where one of the main antagonists has the ability to stop time, and I thought that could be so fun to play around with. At the time I really got into Horizon Zero Dawn that led me to add Bow combat in the game. I thought it could have a nice dynamic with Time Stop. Since you could see the arrows stopped in the air.
The First Unity Prototype
(November, 2022)
At the time Unreal Engine 5 was rising in popularity, and I wasn’t too happy with the prototype in Unity. I wanted to learn more than what the study taught me, and I knew that most AAA companies were using visual scripting for Game Designers. Because I want to work in AAA I chose to start over in Unreal.
Learning Unreal Engine 5
(January, 2023)
After modelling the bow myself and watching A LOT of tutorials on Unreal I finally got something semi-playable. I was super proud of this at the time and I knew that using Unreal was the right move for me. It helped me be faster in prototyping and making changes since I am not a Programmer, I am a Game Designer.
I was having a lot of fun developing the game, maybe a bit too much. This led me to have a bad case of “Feature Creep” which is a common in Game Designers under 40! I wasn’t realizing it much at the time though. This was kind off how it went back then:
“What if the player could Slide and have a Grapple Hook?”
(February, 2023)
“What if there was this big city with all kinds of conveyer belts?”
(April, 2023)
“Scratch the city, What if there was this big island with an evil company”
(April, 2023)
“What if you had a trail when in Stopped Time so you could see how much you moved. And make it the worst enemy of every recording software!”
(May, 2023)
“I need more Katanas!”
(May, 2023)
“Hmmm I need more Animations”
(July, 2023)
“What if you could Grapple on the tail of Robot DragonFly enemies and Goomba-Stomp them”
(this is the part where I went insane)
(August, 2023)
“What if there were giant turrets that shoot platforms so you need to stop time to walk on them.
Ohhh and bring back the conveyer belts from the city!
But what if there were pressure plates to open doors, but they close fast so stop time to keep them opened!!
And make all of this in a CUSTOM TOOL within Unreal!!!”
(August, 2023)
Friendly reminder that I was doing all of this while studying full-time and learning Unreal Engine all by myself. Needless to say, I was in over my head. There were some cool ideas in there, they weren’t thought out that well. The game didn’t feel good to play, and there were a lot of issues with the character movement system. This all felt like a big try out phase, and it couldn’t continue for much longer…
The Hardest Choices Require the Strongest Wills
When September arrived, I had to choose a Minor semester. Luckily our study offers a Minor Skilled, which allowed me to work on my own project for half a year. Naturally, I chose to work on StopMotion. But this time it needed to be different, I wanted to make the game fun and improve on Game Design. So I made the difficult decision to start over from scratch.
I started by creating a new movement system, this time with a “Momentum Mechanic” this would increase speed when wallrunning and sliding.
And there is a Dashing mechanic, since this fits well with the movement-parkour genre. It acts as a movement correction!
(September, 2023)
I was already feeling way better about this prototype. It felt nice to have a restart, especially since my knowledge of Unreal has increased a ton. I still wanted to have the Time Stop mechanic though, I just know that that could be so much fun!
So I added Time Stop and a brand new mechanic called Time Reverse. This mechanic would allow the player to place a beacon to reverse to when the timer is up. You would be allowed to get more distance if you stopped time while the beacon is up.
The idea behind this was to access areas that would normally kill you, but now you could reverse back.
After the mechanics were added I created a quick test map to gather feedback.
(September, 2023)
Players didn’t find the game fun. It was too fast, had too many mechanics and overall wasn’t very intuitive. I took this feedback and made a few changes. I removed Time Reverse and the Momentum Mechanic. As well as slowing the gameplay down a bit, and changing Time Stop. Now players can build up speed while in Stopped Time to create a boost for themselves.
So I made the second test map, and tested it again to gather more feedback.
(October, 2023)
The feedback did not change that much, the game was still too fast and the mechanics were still not intuitive. So I took my time and reflected.
Reflect and Continue
The game was not going in a direction I like. So I reworked the entire movement kit. Of course, I wasn’t doing this without any direction. I kept in mind what players liked and didn’t like.
Dashing was now integrated with Time Stop. Time Stop would change depending on the player movement situation.
Jumping = Dash
Sliding = Teleport
Walking/Wallrunning = Normal
(October, 2023)
I was SUPER proud of what I’ve made and how much better it played. So I wanted to develop it more for a few weeks
This showcases the extra effects on Time Stop, and a Toon Shader (Which we later dumped)
(November, 2023)
I really liked making skills and additions to gameplay. This is one would allow players to throw a ball and teleport to it once the button was pressed again. This turned out to be very popular in testing later on!
(November, 2023)
The third playtest session has been more successful than the last. I’ve tested for a week and asked strangers to play my game at University. The feedback was different. Players found the mechanics to be too complex and easy to mess up. Combine this with a level that has massive difficulty spikes and you get an impossible playtest. I really thought this was going to be a great playtest, but it proved to me that this was not the direction I wanted to go either.
So I took a break from developing the game. I made my report to for University and focused on other things for a bit. I was working on the same issue for 5 months at this point, so a good break was needed. I played more different games, I worked on side projects, studied Game Design and I got more life experience.
Where did it lead me?
I reflected a lot on what happened. I wanted my game to have depth and to be complex, but in that process I made my mechanics to bloated and not intuitive. I took a step back and analyzed multiple games some in the genre I was making and others not. This is research I should have done when starting my development journey, but that is the beauty of learning new things. With this new gained knowledge I wrote down 7 points of what I wanted my mechanics to be like.
A Mechanic has to (be):
1. Intuitive
2. Easy to understand
3. Easy to use
4. Interact with the world
5. Have multiple uses
6. Work together with other mechanics
7. Fun
This Guide really helps me understand mechanics better. I made it myself and I will use it for every game I make. I made it by analyzing my mistake and playing different games. I want to link some of them as a thank you to them.
Ghostrunner – Horizon Zero Dawn – Mario Odyssey – Mario Wonder – Solar Ash
Mechanics are:
Dash: Forward dash that stops time for .5 seconds.
Slide: Slide that increases speed on sloped surfaces, it also stops time while sliding.
Sword Throw: Throw sword at magnetic surfaces, then grapple towards it. Can be thrown in enemies, it won’t kill however!
Time Stop: Stops time and allows you to travers surfaces that wouldn’t normally be possible. Like walk over water. Enemies cannot move in stopped time!
The mechanics themselves have changed a lot. They are simple but the complexity lies within the combinations. For example, Dashing before Slide gives the player speed, or Using Time Stop after having your sword thrown lets you hook towards it. This gives the game a lower skill-floor and a higher skill-ceiling. The game isn’t done yet, but the mechanics are heading in the good direction. Playtests have shown that people learn the mechanics quite fast, and they seem to enjoy the different kinds of combinations. This is what gives my game more depth.
I am grateful for what I have learned on my journey, and I look forward to what I can learn in the future. For now, I want to see what kind of depth I can give my current mechanics and how I can create a fun game!
Player Character model
Made by the insanely talented: Sabetzhan Arbiyev
Thank you for reading!
TL;DR
You are welcome 😉
When I started with developing the game, I had no real plan or goal. After falling on my face with unfun and messy mechanics I started over. This led me to have a fresh new start where I focused on making the mechanics fun and playtesting. After playtesting twice I realized my game had issues with pace and mechanics that felt like gimmicks. On my third playtest I combined everything that players liked and made it into one complex mechanic. This backfired, since it gave my game a high skill floor. Then I decided to take a break and do more research. Now I have made a new prototype that has a low skill floor and high skill ceiling. This is done by making the mechanics straightforward and simple, the complexity is hidden in the combination of said mechanics. I have taught myself mechanical depth! I made a 7-step rule on making Mechanics:
A Mechanic has to (be):
1. Intuitive
2. Easy to understand
3. Easy to use
4. Interact with the world
5. Have multiple uses
6. Work together with other mechanics
7. Fun