Creating Achievements
Achievement unlocked.
Infinite Level game discussed: The Future Project
In gaming, achievements are meta-goals that players can perform in the game to get, well, achievements, with most platforms offering some kind of stat to your profile as a reward for completing the achievement. They run the gamut, from simple progression based achievements all the way to performing obscure tasks that only a select few players will ever perform. They can encourage the player to explore more of the game's mechanics, find fun easter eggs left by the developers, and more. Some people love their achievements, going out of their way to find every single one in a given game they play. Others, such as myself, are more indifferent towards them. I know I like seeing that achievement unlocked message, but I rarely go out of my way to perform the task that would unlock it. For me, achievement hunting is usually reserved for the games I absolutely adore.
But, if you play a lot of video games, you've probably heard all that before. The influence of achievements on a player has been talked about plenty in articles, videos, and good old fashioned discourse. However, to my knowledge, I don't think as much attention has been given to achievements from the developer's perspective. There's a supposed expectation on game developers, particularly larger ones, to include achievements in their games, but have you ever considered what goes into them? How does one come up with achievements for the player to do? Can they serve a game design purpose? Allow me to give my own personal perspective as a solo indie dev, while also sharing some examples that players will eventually be able to achieve for themselves in The Future Project.
I won't lie, implementing achievements into a game is not quite the simple task you might think it to be. The Future Project currently has achievements for the Steam version of the game, with achievements for the Epic Games Store version being worked on. In order to actually grant players these achievements, my game will have to speak with either Steam or Epic Games Store and inform the platform that the player has unlocked an achievement. Simple in theory, but under the hood there's a lot of setup to be done to make this work. I won't go into all the technical details, but establishing those connections, making sure the game talks with the platform, and of course updating the game's code to trigger achievements under certain conditions can be pretty time consuming. For my Epic Games Store implementation, that's proven to be particularly difficult since it's a new enough platform that not enough people have had to really dig deep into this stuff and figure it out. I'm flying somewhat blind in this regard, and it's challenging. Talking with outside systems isn't exactly my specialty as someone making a single player metroidvania game. I haven't had a need to do so until now, and thus I have to learn as I go. Classic solo indie struggles right there.
Ultimately I wouldn't be including achievements if I didn't think players would enjoy them, and that's why I go through with the struggle. That thought leads us to how I go about deciding what constitutes an achievement in The Future Project. To do that, it's worth breaking down what all a player can do in my game and thinking about what can be linked to an achievement. So, you have a basic and missile gun, some movement abilities, and elemental powers to work with, as well as an emphasis on exploration and acquiring new abilities. Well, we can pretty easily tie achievements into item collection to start. The Future Project will have one achievement for each power obtained in the game, as well as some special achievements for finding enough of a unique item and of course an achievement for finding every item in the game. There's also those elemental powers we can do something with, so I come up with a few achievements related to using certain elements to accomplish special tasks. This can range from using a specific element on a specific enemy to quickly defeat them or forcing the player to rely on status effects to defeat enemies. Finally, it's practically tradition to speedrun metroidvania games, so I tie in a few achievements to that as well.
So, quite a few achievement ideas right off the bat! That wasn't too hard all things considered, but I like to think The Future Project naturally lends itself well to achievements. With many of the achievements in the game, you can break them down as a progress achievement, task achievement, and special achievements. Progress achievements are given out whenever the player progresses through the game. They're perhaps the simplest kind of achievement a developer can implement, but the result of doing so shouldn't be underestimated. These can be seen as encouraging to players, giving them a little extra praise, as if to say "look what you just did, that's pretty cool!" Task achievements are typically a little more involved, asking that the player do some great task over time. This can be gathering all items, doing something so many times, or even playing the game for a certain amount of time. Players likely won't be getting these unless they focus on doing so, but if they do manage to pull it off then they'll probably feel that much better for doing it. Lastly, there's special achievements, given for doing unorthodox challenges that probably isn't normally asked of the player. Sometimes that's finding a hidden room, while other times it's defeating an enemy using only a certain ability. These can truly run the gamut, but if you happen to find them (especially on your own), it can be satisfying to know that you did something the game wouldn't normally request of you.
All of these can be useful to us as developers in some way. Of course, we want you to play our games, so we put in progress achievements to help encourage you to do so. Interesting note about these – plenty of developers use these types of achievements to understand how far players made it through their games. There have been stories such as this one stating how many players actually finish their games, and the numbers could be quite surprising. It can sometimes be as low as 30%, even in popular video games, and I'm sure there's plenty of games where it's even lower. So, these progress based achievements can be good metrics for a developer. If achievement data indicates a bunch of players are only getting as far as a mid-game boss, then it would be in my best interests to find out why that might be and if anything can be done about it. Task achievements don't provide me quite the same amount of benefit – it's mostly for the player's own enjoyment. That said, if an achievement I designed to be hard manages to get a lot of players achieving it, then that may be cause to look into it, but it would have to be a pretty extreme number of players for me to do so. After all, there's no sense in downplaying a player's accomplishment. If I made an achievement too easy, it's not really my place to take that achievement away from the player. Special achievements, meanwhile, occupy a sort of middle ground. I've tried to use them to encourage players to make use of their elemental abilities, so if I see a lot of people achieving those things then that will tell me that players are engaging with the various systems in the game, which is great news for me.
Indeed, achievements can have some real benefits for the game developer as well. They can serve as useful data for knowing what you're players are engaging with, and potentially finding additional issues in your game. It also encourages players to simply play the game, try things out, and ultimately enjoy the world created. Even if I personally don't seek out achievements in my own time, I can't deny that achievements are mutually beneficial to everyone involved. I didn't mention this before, but achievements are also something of a marketing tool. There's a reason a game having achievements is considered a feature on a platform. People really like collecting their achievements, and knowing a game has them can sometimes be the difference between someone buying a game and not. Still, marketing is not my primary reason for implementing achievements. I want my games to be enjoyable first and foremost, and if achievements are a way to boost enjoyment, then I'm willing to add them in.
To wrap things up, let's talk about achievement icons. You may be wondering what could possibly be said about that. But for a developer, a lot of thought can (and probably should) go into them. These are the icons that will likely be shown off on player profiles after all, so you best make them look nice. Icons can come in many varieties, from special artwork to a simple number or item in an image. For The Future Project, I wanted to make icons that would be consistent with the game's art style and personality. To start, I opted to use a blue "comment background" not unlike what is seen on the cover and header images on Steam and Epic Games Store. From there, it can vary. One achievement has me rendering an outline of a Cyclops enemy from Distant Sibling on fire to go along with defeating an enemy with the burn status, while another is simply the icon for a late game power, given when you obtain said power. There's a few I had fun with, such as an achievement for electrifying certain enemies or the speedrunning achievements. The key thing is they all have a generally consistent look to them. You can tell they all belong to the same game simply by looking at them. It may sound obvious, but that is pretty important for a suite of achievement icons.
The images used for todays dev blog happen to be some of the achievement icons that you'll see when you unlock The Future Project achievements, so I hope you've enjoyed those as you've read today's entry. I won't say what achievement each one is for, but honestly, if you think about it long enough you may be able to piece them together. As we can see, achievements aren't just something that are thrown in for the heck of it. They take time and thought to put together, and I think one can tell when a set of achievements were made with little care. It's my hope that the achievements I've created will foster even more enjoyment from players, whether that be a feeling of satisfaction from making more progress or pulling off some impressive feat.
Until next time!
-Lance T.