· 15 min read
How To Perfect Your Game’s Core Loop
Nathan Lovato
Nathan is a game design expert at GameAnalytics. Currently founder and game design instructor at GDquest.
At the heart of your game’s design, there are core mechanics, and the core gameplay loop. In short, it’s the main activities that structure the entire design and the players engage into repeatedly, in a looping sequence. It’s part of the essence of the game, something you cannot remove without fundamentally altering the experience.
In the original Mario, this would be walking, running and jumping. The various enemies, bosses, and environments stem from the core mechanics. They are here to surprise the player, challenge his skills and keep the experience fresh. In other words: to exploit the core loop to its fullest, and add extra depth to the experience.
There are several loops that structure your projects, depending on the lenses you use. Just like there’s a core gameplay loop, there are core economic loops that will derive from your business models (or vice-versa), level design loops, what the player must do to beat a level and advance in the game’s main plot, etc. Game loops also depend on the timeframe you focus on. They exist on a moment-to-moment basis, can last a few minutes, etc. They echo the player’s short, mid and long-term goals. E.g. Collecting coins, beating the level, reaching and beating the end boss.
We’ll focus on the core gameplay loop here: the one that serves as a foundation to your game’s design.
The core gameplay loop is comprised of some of the basic actions players can take at any point in time, the main mechanics. We expect the player to use them at a certain frequency and conceptually arrange them in a cycle. That’s run and jump in a runner, swap gems and plan in a match-3, etc. Take a rogue-like: the core gameplay loop might resemble something like walk, attack, collect. That’s what you keep doing from moment to moment.
At the same time, the users have higher-level goals that build upon the lower-level ones. A higher-level game loop might be:
- Enter a new room (discover its content)
- Kill all the enemies
- Get rewards
And start over, until you’ve reached the end of the stage.
The core loop is the lowest-level one. In the rogue-like example, it builds upon the basic actions players can use to take meaningful decisions: the game’s central mechanics. Should I walk around this enemy and avoid it, or attack it for some extra experience, even if I risk dying in the operation? Other loops will most of the time stem from or build upon it. Think of elements like scoring, special combos, and any mechanic that’s not necessary for the game to be enjoyable.
2 games might have exact same core loop and feel completely different in the end. We’re talking about an essential part of the game, yet that’s only a tiny part of it.
The core loop for all it’s worth
The more the player has to go through the loop, the more its quality will affect your game’s retention. On mobiles or on the web, if the main mechanics aren’t intuitive, the controls not polished, you’ll lose them within a minute or two. People will give you a single chance to entertain them.
What experience do you want to deliver? What’s unique, essential to it? The core gameplay loop is the heart of your game. It is at the heart of the experience you offer. It’s not just what the player does repeatedly: your core mechanics are a foundation of your design, that will influence the project’s entire lifecycle. All aspects of a game’s design are interconnected, and so are the various loops that compose it.
Loops build upon one another with a parent-child relationship, stem from one another, intersect or play in parallel. In the recent Rayman series, the lums aren’t only collectibles: they often outline an ideal route to follow, or teach the players new combos, new loops they’ll need later in the level. You can view them as a single mechanic that is part of different game loops.
The way the enemies behave, the level design, the graphics and even the sounds will all work together to reinforce the game’s core. We touched on the topic in the past, in Exploring Games from the Creator’s Perspective.
In an insightful article on loops and arcs, designer Daniel Cook argues that loops give you a better understanding of the systems’ complexity and its interconnected parts. That’s what he calls “wisdom”. A good loop teaches the player about the game. Thus, the better you understand them, the more precisely you can tweak them and make them as intuitive as possible.
A schematic representation of game loops, image courtesy of Daniel Cook
So, what’s a good core loop?
A good core loop should be able to put the player in state of flow. You want him to be fully engaged in the game: nothing should distract the user’s attention from the task at hand. And at the same time, you need to provide a fair challenge. People like to feel in control, to face situations that are neither too easy or too hard on them.
As your users have different levels of experience, this is easier said than done. First, you can’t make it work for them all, so you’ll have to pick a target audience to design for. Then, it will require many iterations.
A clear goal
You should give the player one main objective. One that is not always explicit, but that we at least intuitively understand from the mechanics and the game world. Take the widely popular variation of Flappy Bird: Don’t Touch the Spikes. As with many One Touch games, there is no story or text-based tutorial to teach you how to play.
The game and its story are fused together and your first session serves as a smart, implicit guide. The bird flaps once when you touch the title screen, then falls. That’s your first interaction with the core gameplay loop: flap and fall. Spikes spawn on the wall in front of you, and their triangular shape tells you they’re dangerous. Even without the app’s title, we naturally understand what we are supposed to do: avoid the spikes for as long as possible.
Keep It Short and Sweet
The core loop should ideally be intuitive, yet offer a lot of opportunities to expand the gameplay with new obstacles and level design patterns.
Let’s look at a more complex one: in Flinthook, you run, jump, aim, shoot and hook on to rings to reposition faster or move from one screen to the next. The loop has more actions than the others above. You have more controls to combine and learn. We can safely say the target audience is people who already enjoy rogue-likes and platformers; slightly experienced players.
Those persons know how to move, jump, control a character in the air, but they should also understand how to aim and shoot. The only brand-new mechanic should be the hook. The game is still fast-paced and quite complex, so the developers give you the option to slow down time for a few seconds.
We are often aiming for an easy to grasp and hard to master core loop, although this isn’t possible in every project (think about simulations). I highly recommend exploring One or Two-Button games, and widely popular mobile titles. Even if they don’t resonate with your work, they give us great examples of subtractive or minimalistic design.
Build upon a strong theme
Games tend to be perceived as pure forms of entertainment. Yet, any design revolves around and supports a theme. It does not necessarily relate to a story or a message you’d want to share. Think of it as the concept or idea that unifies all your design choices into a coherent whole. A short sentence that capture’s your game’s essence. The aesthetics, the story, the way it plays should work together to reinforce the theme. It bounces back to a key design principles: Harmony, or Unity.
As a professional, to build the framework for the specific experience you have in mind, you want to be in control of your design. You want to understand precisely what you want to deliver to the players. It could be a game that explores all the possibilities offered by a jump, focusing the entire experience on that one mechanic.
Forza 2 tried to be an accessible, yet a complete racing car simulation. A tough challenge the developers overcame beautifully. Journey could be an allegory of one’s life cycle, from birth to death, or a game that brings people to care about and support each other in life. It’s hard to pinpoint exactly what the game is meant to be about: after all, the theme is a tool for the creators. A unified design doesn’t force its theme onto you. Instead, as the player, you can relax and fully enjoy the experience.
Design, prototype, evaluate
You’ll establish your core loop during pre-production. And I mean Marc Cerny’s pre-production, as he introduced with The Method. It encompasses all the iterations on your game until you have a few finished levels, and enough material to precisely plan the rest of production. This vision not only helps to budget your project: it emphasizes the need for many iterations and their high cost.
A good core loop isn’t born from an idea you implement once and build upon. As with any design, it sprouts and evolves through successive iterations. In short:
- Pick an idea that has potential
- Build a prototype to test it out
- Evaluate the depth you can get off your implementation, the improvements and changes it requires
Start over, and build upon what you have if it corresponds to the experience you wish to deliver.
Getting started with iterations
In practice, I start a project with a short document, around 1 to 3 pages long, with a few pictures. It includes a rough theme, a core loop, the target audience, a few paragraphs on how the game might play, a short synopsis, what technology it relies on, etc. Only the essential information to get the team on the same page.
Then, I get to work on the first gameplay prototype. I recommend producing a playable version of the game as soon as possible, to get at least a sense for the experience that you are building. There is always a gap between what we think the game will feel like, and how it plays in practice. And you can’t know all the pitfalls of your design without testing. You’ll have to bump into some of them through pre-production and make changes moving forward. That’s why I like to get moving as soon as possible.
The initial design might not work. Concept artists can draw dozens of thumbnails before they produce the one that will become a finished piece. Each thumbnail offers a different design or a variation of a design idea. Prototypes are similar. They help you evaluate your ideas before you spend too much time (and money!) on them. If a prototype doesn’t work, it still teaches you valuable lessons you’ll apply on the next one.
Prototypes are where you learn the most. Each prototype should have a specific goal, answer a precise question, be it technical or design-related. “Is the ability to dash and double jump balanced, and fun to play?” “Is the current control scheme easy to learn for a kid?” Etc.
Create successive prototypes, each focusing on one specific aspect of the game, and more importantly, evaluate the results.
Analyze each iteration
You not only need your mechanics to be rock-solid: you want to exploit them as deeply as you can. Thus, to perfect your core loop, you also must polish other aspects of the game. That’s why as you iterate, you need to assess how the design evolved since the previous step, if you reached your objective, and whether the mechanics have the potential you expected.
From a designer’s point of view, the ideal core loop is both intuitive and offers an infinite amount of playful opportunities, or depth. A jump of varying length, combined with some wall sliding, as explored by super meat boy, is a decent example. I believe we achieve these by subtracting superfluous elements from the game as it grows. However, we tend to add stuff instead. That’s where analysis helps.
As you wrap up a prototype, bounce back to your initial question and write down your findings. You’ll have to take a batch of decisions to modify the game based off that. Maybe the engine or the target platform has technical limitations you didn’t expect. Maybe the gameplay is too complex. In any case, every prototype is here to answer questions, to give you insights on what to do next.
Surprise the players
Surprise is at the core of humour, strategy, and it’s an essential part of entertainment itself. Your core loop might be simple. But for the experience to stick with the player and make him want to keep going, you’ll have to add elements of surprise.
Offer different feedback based on how the player performs at any point in time. In a platform game, this would be the size of the dust that appears when the players walking versus running. Adding a slight screen shake when the character falls from a point high in the sky.
The random drops of gems, along with combos are part of what makes the original Bejeweled so entertaining: the core loop revolves around swapping gems, then waiting for the board to fill up again. But it’s connected to many other loops: you trigger combo streaks, gems merge to produce firebombs… and visual effects stack up!
I tried a wonderful Metroidvania/Rogue-like recently: Dead Cells. In that game, jump downwards while in the air and you’ll produce a deadly shockwave. Depending on the character’s fall height, you will either produce a small and weak one, a powerful a large one, or the character will stagger for a few moments. A bed of sparkles spawns on the floor and the enemies get hit hard in a large area. It’s extremely satisfying, and combos well with the numerous jumps you take! Moving forward, you can combine it with ice to see your foes explode in dozens of ice shards or splatter around. The possibilities and the visual feedback surprise you again and again.
Juice as you go
Juicing greatly influences the experience. The visual effects, the audio, and even the way the users get rewards will keep them engaged. You’re looking to drive them in a state of flow, where their skills are not only constantly challenged: the game should require all their attention. And that’s partly what the juice is for: it reinforces the feedback the system gives to the players.
You should work on it throughout the game’s production and even in pre-production, past the first few prototypes. You can add a lot of subtle feedback, so feel free to treat juicing as part of your gameplay. We are talking about dust when the player lands, screen shake when you hit something, short pauses upon fast collisions, hold frames when you block an enemy’s attack… everything that visually helps the player understand what’s happening, and that adds life to the world.
There’s a lot of small refinements to add to the game mechanics. Part of it is UX design: for example, when you add extra conditions in a platformer. You can let the player jump after he started falling off a cliff. Or you often register the input for the next jump before the character landed. This adds flexibility to the controls, in a way that’s almost invisible to the average user, but that makes a difference in terms of feel. Those details, together, enhance the core loop.
Check out our article about juicing for more insights on the matter.
In summary
You now have some tools to define and refine your game’s core loop. How are you going to apply what you learned in this article? Tell us on Twitter!