Game
Just Keep Running

1 year ago

This article delves into my journey of optimizing my game for speedrunning, exploring the principles, techniques, and challenges I encountered while attempting to create an optimal speedrunning experience!

#devlog #article #gamedesign


No Time to Waste: How I (hopefully) Optimized My Game for Speedrunning

Written by Victor Ahlin, creator of "Just Keep Running"

SPOILER ALERT: Contains spoilers for Level 1-3 of “Just Keep Running”.


Introduction

The art of speedrunning has for years been a thriving subculture in gaming. Speedrunners always push the boundaries of what seems possible, aiming to complete games in record-breaking times, no matter what it takes. Even if it means breaking the game in such a unique and specific way just to get a millisecond advantage, they will do as such.

As someone who makes games, speedrunning is the finest form of flattery. These people have deeply studied the game just to try to beat it as quickly as possible. So, I tried to optimize my game “Just Keep Running” for speedrunning, no matter if you’re a casual gamer or god of breaking any game that comes your way. This article delves into my journey, exploring the principles, techniques, and challenges I encountered while attempting to create an optimal speedrunning experience.

Just FYI, Just Keep Running is an action puzzle-platformer that combines problem-solving and quick-witted puzzles with freerunning and parkour movement. Imagine the first Portal game, with its aesthetics and “Escape Sequence”, decided to have a baby with both Mirror’s Edge for its unique movement and Ultrakill for its intensity. That’s my game summed up in a sentence.


Part 1 - The P, E and Ts of Speedrunning

speedrunning_venn_diagram.png

I find that there are 3 key points to game design that tends to create a breeding ground for speedrunning, those being…

  1. Precision,

  2. Efficiency, and

  3. Transparency

Precision: Speedrunning requires the player to be able to execute their gameplay as accurately as possible from one run to another. The results of precise inputs and movements should not appear random or inconsistent. The game mechanics must provide a reliable and consistent experience, allowing speedrunners to develop muscle memory and execute actions precisely. By ensuring that the game's mechanics are finely tuned and responsive, speedrunners can rely on their skills and strategy to achieve faster completion times.

Efficiency: Speedrunning requires gameplay elements to be efficient to execute. Offering efficient gameplay elements allow speedrunners to execute their actions quickly and smoothly. This can involve designing movement mechanics that are intuitive and easy to learn, enabling players to master certain movements or inputs effortlessly. Additionally, providing alternative methods of game progression, whether intentional or accidental, gives speedrunners the freedom to discover new, more efficient paths through the game.

Transparency: Speedrunning requires gameplay elements to be open, informative and flexible. By allowing players to explore and exploit different aspects of the game, developers open the door for a variety of speedrunning strategies to be discovered. Additionally, features like in-game timers or detailed debug statistics can enhance the speedrunning process, empowering speedrunners to learn the mechanics in detail, measure their progress and make iterative improvements.

Designing gameplay mechanics, like the player movement or puzzles, to enhance these 3 key points felt like an important thing to do. The player’s movement has been designed and adjusted to be as unrestrictive and light as possible, compared to games like Mirror’s Edge or Apex Legends. I wanted to make the player feel unburdened, like an unstoppable force who can do whatever they want. And making the player movement and freerunning aspects feel “perfectly floaty” was the goal, and (if my playtesters are to be trusted) I do believe I succeeded in that aspect.

The puzzles in my game were designed to be simple in theory but become a little more challenging or require planning to find an efficient route. Because of how some puzzles were designed, they could even use certain parts of a previous puzzle to bypass sections of a level later on, allowing for times to be cut down extremely. 

To give a specific example from my game, in Level 1-3, a player could grab a cube from a puzzle in Stage 2 of the level and bring it to the last stage. The last stage contains a Button puzzle that requires the player to traverse a maze to find a cube and bring it back to the button to open a door that leads to the second half of the stage. But, if the player bothered to bring the cube from the previous puzzle to that stage, they could simply solve the puzzle, bypassing the entire maze. Accidental, but left in because I thought that was a sick way to solve the puzzle once one of my playtesters discovered that you could in fact do that. Sometimes, embracing emergent gameplay and unintended strategies instead of locking them away and forcing a specific playstyle can add a lot more depth to a game.

Prioritizing precision, efficiency, and transparency in game design can develop an environment that encourages speedrunning and provides a rewarding experience for both the runners and the wider speedrunning community. These elements not only facilitate the pursuit of record-breaking times but also promote strategic thinking, skill development, and a sense of accomplishment for speedrunners as they push the boundaries of what's possible in the game.


Part 2 - Positive Encouragement

In addition to the key points about designing a game for speedrunning, I’d also like to introduce a concept that is simple but important for motivating players of all types, from casual players to dedicated speedrunners, to actually try to beat the game quickly. And that concept is… well, it’s Positive Encouragement.

Every time you beat a level in Just Keep Running, you are greeted with an end screen that provides helpful information about your performance.

20230616115512_1.jpg

In-game screenshot of Level Endscreen

It includes a basic set of information; The name of the level you finished, the total amount of time it took to beat the level, what times you beat the individual stages, how many secrets you found, and what your Level Grade is.

It also lets you know if you’ve made any improvements in total time, stage times and/or grade, by either highlighting something in gold, or showing [NEW PB] in one of the corners of the improved stat.

This End Screen not only conforms to the aforementioned P-E-Ts of Speedrunning, giving the player useful information about the game in an efficient manner, but it also serves as a tool to encourage players to improve their play style and strategies. Explicitly acknowledging the player's progress instils a sense of accomplishment and motivation to strive for even better results.

The Level Grade also makes it easier for casual players to understand in simple terms how well their current playthrough was without even needing to look at the more complicated stats like Stage Times. It provides a quick and intuitive reference point, giving players a target to aim for and rewarding those who take the time to understand the game mechanics more deeply.

While good game design alone can create an engaging experience, encouragement goes a long way in inspiring players to fully immerse themselves in the intricately crafted systems you have spent time optimizing for speedrunning. After all, it would be a missed opportunity if players didn't feel compelled to replay the game and strive for improvement, right?

Research shows that Positive reinforcement, such as highlighting improvements and displaying personal bests, has a profound psychological impact. It not only recognizes the player's progress but also fuels their motivation, leading to increased engagement, enjoyment, and long-term retention.

If people are rewarded for acting in a way that’s indicated as positive, they’ll see that behaviour as the most advantageous way to act. And if you want people to keep replaying your game and try to improve their best times, positive encouragement plays an important role in building up that behaviour.


Part 3 - Iteration and Playtesting

Lastly, and perhaps most importantly, playtest, iterate, playtest!

You’ve probably heard me mention my playtesters earlier in this article and how they played important roles in my game design decisions. And that’s because the most important (and perhaps most fun) part of developing a game is playtesting.

If you’re aiming for a specific experience and you wanna see how well your game represents that experience you want others to have, playtesting is vital. Get a few friends together of different skill levels and experience with video games, and let them play the game. Watch their gameplay, and pay attention to what they think or how they behave. Learn what worked in the game and what didn’t, and iterate upon it.

Even the smallest changes you make to the game can be A/B tested to see if it does exactly as you wanted it to do.

At the end of the day, the reason why the movement in the game feels “perfectly floaty” to quote one of my playtesters is that…

  1. It was the goal I had set out to strive for, and

  2. Because of a LOT of small tweaks and iterations that were made to every aspect of the movement.

When our playtesters started to try to beat each other's best times in JUST the test level we had set up, I knew that I might’ve kinda nailed it… sorta.

Btw, if you wanna see some of those best attempts and fails, check out this compilation video of speedruns on our game. Some of them are really sick, and most of them were done by our concept artist😀

It’s only through iteration and playtesting, actually letting people test out your game, that you can learn how other players will interpret the game. It might lead to you having to rework an entire system to work better for the next iteration, or it might lead to you realizing that you nailed a certain aspect of the game's design.


Conclusion

speedrungamedesignsteps.png

Precision, Efficiency, and Transparency in Game Design can develop a breeding ground for speedrunning and provide an environment that reinforces players to beat their best times in the game.

Positively encouraging players to actually put in the effort of learning the mechanics of the game to a deeper degree can encourage even the casual gamer to want to beat the game faster and improve their skills.

And lastly, Playtesting and Iterating your game will let you know if you’ve succeeded in building a game that is truly optimized for speedrunning and can give you important feedback that you can use to further improve on what’s already there.

If you want to delve more deeply into how you can use Psychology when developing your game, Troy Dunniway has an excellent article about how Psychology and science can be used when developing games to better understand players and how they behave.

And, if you want to watch something that is both informative and funny, IGN has an excellent series of videos where Game Developers react to Speedrunners absolutely decimating their games. This one of Fallout: New Vegas is my favourite, not only because of the humour but also the insight that I got from watching this, including that this game was developed in its entirety in just 18 MONTHS.



0 comments

Loading...

Next up

👋Happy Friday, ya scallywags! Today we’ll be talking about NEW STEALTH FEATURES, as well as a lil CHARITY EVENT we’re running, and about our TWITCH DEV STREAMS!

Yo yo yo! 😀

We’ve had a productive June, and we’re coming at you with many QoL features and changes. Keep reading for more deets! 🙂

#jkr #update #steam #platformer #puzzle

2.3.0 IS OUT NOW! 🥳🎉

We’re starting to add Stealth mechanics, QoL changes, and tweaks to levels to make it easier for the baby birds dipping their feet into the game! 😀

Read more below...

🥳WE’RE ₛₜᵢₗₗ ALIVE! - V. 2.3.0, JKR for Charity, and Project T-1000

Read more below...

#jkr #devlog #update #charity

😁We’re back with some significant changes!

Today focuses on replacing the previous Climbing and Wallrunning tutorial with one that should hopefully teach both mechanics in a much better way!

#jkr #update #gameplay #leveldesign #announcement

I'm studying game development at the University of Skövde next month! 🥳

I won't be as active with I.M.I.Self, but I'll keep working whenever I find time. I'm determined to get JKR Early Access and T-1000 demo out by Dec/Jan.

Hope you all understand! :D

We’re back! And we’ve got an update for you 🎉

More upgrades, dyslexia-friendly fonts, and other small but cool additions, that’s what this is all about!

Read more about it below...

CGDannyB will be live soon on Twitch @ 4:30PM EST to talk about Just Keep Running with the developer, Victor!

You can catch the stream on Twitch here: https://www.twitch.tv/cgdannyb/

#jkr #interview #devtalk #announcement

Hey there! Despite Steam Next Fest, we’ve still kept busy bug fixing and making adjustments to Just Keep Running, and that’s what this update is all about! :D

#jkr #update #steam #platformer #puzzle

STEAM NEXT FEST IS HERE!

And in celebration, we are hosting a showcase of Just Keep Running 24/7 for the next 7 days!

#steamnextfest #steam #puzzleplatformer #parkour #platformer