Post-Mortem: Krisgard – A real-time multiplayer game for Facebook, but not anymore
by Damian Connolly
Krisgard is a game we’ve been working on, here in Qozmo, for around a few years now (code development has been ongoing in one form or another for about two and a half years, game design etc. was before that). In that time, it’s been completely redeveloped three times (the art probably more), which is probably one of the reasons why the company is closing and the game will now die off. Depending on when you’re reading this, you might be able to play it on Facebook. More than likely not.
So this leaves me to present a bit of a post-mortem on the project, so that I haven’t completely wasted the last few years. It’s not a bad game, and has plenty of features, but suffers from a lack of polish and being rough around the edges. How can it be unpolished with nearly 3 years of dev in it, you might ask? Like I said, it was redeveloped 3 times, with the last development changing it from a turn-based-combat-grid-exploration game to a real-time-persistant-iso-world-with-story-and-real-time-combat game. There were other, internal, issues that heavily affected us, but this isn’t the forum for that. The current version of the game accounts for about 9 months work; 3 devs, 1-2 game designers, 1 artist, and 1 producer.
The elevator pitch for Krisard is simply: Pokémon MMO. When we had originally conceived the game, we had some experience in multiplayer games from our portal Buzzville, and we had server tech that let us do it easily. Take an idea that you know is successful, and bring it to Facebook (this was before multiplayer games really existed, and there were no other monster-genre games at the time). The original idea was pretty simple. Exploration would be grid-style maps, where players would click to uncover tiles, which would either be an item, or a fight.
It was simple, yet still gave the sense of exploring a world with other players. With the last redevelopment, a persistent world was called for; a real adventure, with a real story, quests and everything. That gave us:
A big visual improvement, but also a lot more content. As the world was now persistent, maps couldn’t be (pseudo)randomly generated any more. That meant a map editor. We also needed to fill that world with things. NPCs were added, along with dialog that would tell the player everything from parts of the story of the world (oh, a story was needed as well), to hints on how to play the game. Towns and villages were mapped out to give the countryside some order. Quests were added to give the player direction, and certain NPCs became trainers themselves, offering the player combats for one reason or another. Monsters were given zones so that we could control their placement and level, allowing us to adjust the difficulty for the player. We also needed a system for handling locations; directing the player where to go. Quests would have a “marker” added, showing the location where the player could complete their objectives, and we needed to be able to direct the player no matter where in the world that marker was in relation to where they were.
But I’m getting ahead of myself.
In the beginning, Krisgard was an archipelago of floating islands. No sign of life existed. Then, one day, the Source appeared; pure water that pooled at the center of the highest island. The Source brought with it life; where it flowed, the land was rendered fertile. From out of the bowels of the earth, where the water finally dripped, a creature appeared. This giant beast wandered the world of Krisgard; a solitary explorer.
Humans appeared, and they came to realise that the Source was sole guarantee of life in the world, and the beast the guardian of that life. The humans developed magic, and their arts, mixed with the Source, allowed them to live in peace and multiply.
As time passed, the more humans became numerous, the more tensions and fighting rose to disturb the peace. The mages of the era, having long studied the Source, found that it could determine the style of life for the people that drank it. As the Source was neutral, encouraging neither positive nor negative emotions, they undertook to modify its constitution, to “purify” it, and thus enforce postive elements.
Their attempt, dangerous as it was, failed disastrously and the Source split into two. The Guardian, beside the Source as it happened, exploded into a hundred different monsters spread over the seven corners of the world. The island of the Source was rendered in two, each having their own Source, one now producing “good” water, while the other concentrating the badness of the world. The shockwaves and rocks rent the islands underneath, shattering some into pieces, destroying others.
The consequences weren’t considered all bad, as the breaking up of the islands had finally allowed the sun to pass to the earth below, while hundreds of waterfalls created a vast ocean below. Some humans descended to colonise the new lands, while others, including the mages, worked to prevent as much of the corrupted Source from infecting the world as possible. Magic was restricted severly and taught only sporadically, until the practice began to die off.
For the other humans, they had lost their Guardian. With all the new wild monsters, they undertook to capture and train them, believing that it could be possible to recombine them so that their Guardian could live again. Monsters rapidly became central to the human way of life; as pets, as protectors, as a way of settling conflict. When passing into adulthood, a youth could choose go out into the world to prove themselves worthy of becoming a trainer. They would travel Krisgard, fighting in arenas to gain the ranks necessary to prove themselves.
Enter you. You’re a new trainer, on the cusp of adulthood. Given your first monster, you begin your journey in Krisgard.
So what can you actually do in the game? We knew the capabilities and limits of our technologies, and we knew what we didn’t want to have. Social games on Facebook now almost have a stigma against them, and in some cases, rightly so. We wanted to avoid the spammy tactics and try and push what social games could be. From what we’d seen (I might be wrong at this stage), there was no real multiplayer games. There were plenty of asynchronous multiplayer games; lots of posting about progress or seeing snapshots of your friends’ games, but nothing in real-time. We wanted to bring some MMO staples to Facebook games; questing with strangers, guilds, PVPing etc. You should be able to see other players running around interacting with the world, it makes it feel so much more alive; important for our game where we’re trying to push the universe of Krisgard as a living, breathing place.
Combat is an enormous part of the game. It’s how you capture monsters (you could buy them, either), how you boost your monsters’ stats, how you gain certain types of gems (arena/PVP), and how you pass ranks, giving you access to new parts of the world. First, for posterity’s sake, here’s what the original combat looked like:
It was pretty simple; turn-based, choose your monster, then choose your target, then let it run. This got simplified into giving the monsters 3 techniques, one offensive, one defensive and one support. If you targeting the opponent, you used the offensive. Yourself, and you used the defensive. A teammate, and you used the support. You can see a short YouTube video of it here.
While that video doesn’t show it, this version had an interesting mechanic where you could intercept other monsters. If monster A1 on team1 targeted monster A2 on team2 in the first round, while monster B2 on team2 targeted monster A1 on team1 for their first round, B2 would intercept A1. This could break A1′s attack entirely so it never happened, which, added with some rock-paper-scissors gameplay in relation to the types of monsters, lead to some interesting second-guessing with other players in multiplayer.
That morphed into this:
Real-time, multiple techniques; each one having different phases such as ready, use, cooldown etc. It meant that the combat was a much more intense affair, and also opened the way to multiple players vs multiple players, something that wasn’t available in the original. You can check out a video of an 3v3 arena fight, or a 1v1 rank match if you want to get an idea of how it worked.
The player had to control their team in real-time, with only the monsters that took part getting any XP. Doing the combat this way tended to speed it up – a good thing if you’re having multiple fights in one session, but it also meant that different statuses or longer techniques didn’t come into play, as the combat was over before they could really be used. If I was going back to it now, I’d change it to draw the fights out a bit longer, and make them more strategic, something which is lacking in the current version.
While in certain combats, the player could also ask for help. This would appear in a speech bubble above their heads in the exploration for all the other players in the map. The first player to help the fighting player would gain a reward (which would increase the more they helped players), while a spirit monster appeared in the combat. This monster would have the same attributes as the opponent monster, meaning that if you were against a strong opponent, this help could be quite substantial.
The world of Krisgard is pretty big. This speedrun video is about an hour of gameplay (a bit rushed as well) compressed to 5 minutes. It accounts for maybe a quarter of the green part of the map above (btw, click on it for a 1:8 sized PNG (5.2Mb), or 1:4 (16.1Mb), 1:2 (54.5Mb), or a bandwidth-busting 1:1 (125Mb)). It’s full of secrets, quests, NPCs and monsters. Other expansions, including the islands above and the world below where planned and in alpha development, but never made it in before the end. To access everything, the player would need to fight the rank masters and gain their ranks. At any time, the player can see the rank master’s team (monsters and levels), so they always have a long term goal for choosing which monsters to have in their team and the level they’ll need to be. You can challenge the rank master at any time; if you’re good at combat, you can beat them with an inferior team.
The world is broken up into maps, and players are added to an instance of a map. They can see other player talking to NPCs, exploring bushes for gems, or fighting monsters. Seeing other players in the same world as you, interacting with the same items adds a lot to the gameplay experience.
One of the things that I should really call out for quality, is the music of the game. It was composed by Nicolas Signat, whom I can’t recommend highly enough. He put together a number of melodies for the different environments and states and all of them are top quality. Check out the movies of the project to listen a small sample of his work.
For a real-time multiplayer game, other players are obviously pretty important. In other Facebook games, if you want to play “with” other people, they had to be your friends. Normally this was tied to a “invite more people to access this item” mechanic to increase virality. Take a look at the Pages for a lot of the popular games; anytime they post anything, no matter what it is, about 99% of the comments are “Add me pls”. While it technically makes community management a lot easier, it’s not a good thing.
As our game is real-time, we have the benefit of players playing with relative strangers. Letting them become Krisgard friends, without forcing them to become Facebook friends at the same time was an immediate no-brainer. Play with other people who have the same rhythm as you, keep your pictures and info private. One thing planned which didn’t make it into the game was the addition of guilds, with guild benefits (common camp, training buildings, etc).
Being friends with other players had other benefits as well. They were added to your friends list (we had 2 tabs; one for the people in the current map, one for your friends), and you could see when they were online, or in a fight. You could challenge them at any time (otherwise you’d need to be in the same map) – both for friendly duels, or otherwise, and you could chat privately. You could also visit their camp – everybody loves visiting camps.
So what went wrong?
By the time you read this, Krisgard will have been taken offline, existing only in people’s memories and on an SVN far, far away. So why didn’t it work?
Like any other failed project, it basically boiled down to time and money. Nearly 3 years is a long time for any game project, let alone a Facebook game. We lost the first-to-market advantage (at the time, there were no other monster games, and little or no real-time multiplayer games), so when we did come out the genre trend had moved on. Released in French-only, we also never got to see how it would appeal to the American market, arguably one of the first markets you should be targeting with Facebook games. The game had localisation built in by default, so all that was needed was to translate the dialog etc. and do some playtesting to find any errant TextFields. But the investment for that was not forthcoming until the results in France picked up, so we were kind of caught.
We had received investment, which instead of being put to use in marketing the game we had, it was decided to use it to turn the game into it’s current form. On a deadline of about 9 months, and with an entire game to redevelop, things ended up being rushed, and features were cut. Instead of a polish we had programmer art. Instead of additional features, we had additional bugs. There was no real time to go back and clean up what you had done, which is a shame, because the potential was there. The current version is undoubtedly better, but that doesn’t mean the previous version was bad. You’re always improving, always making better games; if you’re waiting for the perfect game, you’re going to be waiting a while.
There were a few problems with the game in itself. Once you’d finished the content, there was pretty much nothing for you to do while you waited for the next update. Features such as the arenas etc. were under development, but weren’t available at the game’s launch, so when players finished (a lot of them played for two or three hours straight), they left with nothing to bring them back the next day.
The economy of the game was also broken, and there was no real monetisation in place when we released. There were things that you could buy, but no reason to. Players started out with too many gems (our in-game currency), and got more through exploration. With nothing to really spend it on, or the things that you spend it on being too cheap, players never needed to spend any real money in the game.
The player’s camp also didn’t really serve any real purpose. It was a relic of an older design, and was kept because, well, it’s not a Facebook game unless you have a camp, duh. There wasn’t much to do there; serving only to heal your monsters and choose a new team, there was nothing that couldn’t be done through in-game menus elsewhere. Besides, players spent the vast majority of their time in the exploration and combat, so it never really justified its place in the game.
In hindsight, all the problems that led to the demise of Krisgard and Qozmo are pretty obvious. Painful lesson learned, experience++ and all that. Some of what I’m personally taking away from all this:
Release early. This is the web, where you can have a new version of your game up in an hour. There’s nothing worse that spending time building a product that no-one wants
If your game is content driven (has a story), then you need either a) a way to slow people down, or b) something else to do, because people will burn through it
If there’s a bug, no matter how obscure, people will find it
Tutorial’s are important. I’m not sure of the exact percentage of people that couldn’t finish the tutorial map, but it was higher than it should have been. Our tutorial went through a number of iterations, but still wasn’t quite right
Good tools make a world of difference. We developed 8 or 9 different tools over the course of Krisgard. Having a GUI is much easier than trying to edit/input JSON by hand
People don’t notice the features that aren’t there, or aren’t implemented yet – for them, they don’t exist, so how could they? They will, however, notice when the features you have aren’t implemented properly. You need a solid base before adding new features. Half a game is better than a half-assed game
Consider what’s important to your game. Personally, I don’t think our game needed a camp, so for me, that dev time could have gone somewhere else
At the end of the day, this is a business, and you’re going to need money to pay all those bills that people keep handing you. Sometimes, what’s good for the company is going to clash with your ideals for the game. Don’t get bogged down in it
Play your game. Include debug time into every sprint. We got too focused on getting features done that we never had time to properly test them, which lead to bugs in the game
If you’re designing/building your game based on what’s coming out now, you’re already behind
Get your look and feel locked down. We ended up with a mélange of different styles, including programmer art, which left the game looking amateur in some instances
It’s not all bad. I’m pretty proud of the game, despite its faults. We tried to do something different, and maybe if we had have had the €€€’s to continue, it might have been vindicated. As it is, all we can do is take what we’ve learned and apply it to the future. Nothing is ever a complete failure.(source:gamasutra)