Thursday, March 29, 2012

Trine 2

This is going to be a bit shorter. Trine was a charming game, especially audiovisually. It might have not been the most balanced game though and the utility of its three characters was pretty far from equal.

The biggest problem was the knight who had almost zero utility in the first game. He was designed to do the fighting, but quite often the thief's arrows were able to deal more damage and were safer to use. Since the thief was also able to swing around with her grappling hook, for me she stole most of the spotlight. However, this being a physics-based puzzle-platformer, the supreme character was the wizard, able to not only move objects with telekinesis but also to create new ones out of thin air. Limitations were involved, but even with them the wizard was a puzzle-solving powerhouse.

The level design in Trine however enabled so much utility for the thief's grappling hook that I didn't need the wizard that much either. I guess it was more fun to just swing around although at times it probably took me more time in form of attempts than it would have taken to just create some boxes and let physics do the rest. This is all good though, allowing the player to make choices in solving puzzles. This is generally an advantage of physics-based games that players can always come up with solutions that developers did not think of. The possibility space in Trine certainly is not very large but the illusion is usually good enough.

Like any sequel worth its salt, Trine 2 changes things around a bit. It adds new kinds of puzzle devices into the game mechanics. This creates more variation but also I felt that most of these new solutions made puzzles more "hard-coded" to one solution. The thief's utility has been decreased by reducing the amount of surfaces that can be grappled with the hook. The wizard has also lost his triangle block which was the only object he was able to levitate around while standing on it. The knight still hasn't gained any really new utility tools and the thief is still pretty damn solid in combat.

The balance has indeed shifted but to what direction. I felt that unlike Trine, the sequel actually forced the player to use the wizard's abilities much more. Many of the puzzles were not solvable with other characters' abilities at all. The knight still has only two purposes outside battle: protecting himself with his shield and breaking things with his hammer throw (which might or might not have been new, can't remember) - both very contextual. Thing is, the wizard is the only character in the game whose abilities do not require much support from the level itself. He can always create boxes and planks. With four objects total, a lot of things can be done.

Balance problems always exist in games with more than one character or class to choose from. Of course, it is not too bad for Trine, because characters can be switched instantly and constantly. On the other hand though, being a puzzle game does by puzzle design dictate which abilities are more useful. It can require all abilities but rarely does so in equal amounts. The wizard clearly gets more screen time in Trine 2. Fortunately, his problem solution model has a lot more variance. Creating a stack of boxes is not a solution to everything. In fact, the last two or so levels in Trine 2 had pretty devilish design. This of course comes with a price - the more difficult you want a physics based puzzle to be, the more "hard-coded" it's solution is likely to become.

All in all though, Trine 2 is a somewhat better game than the first one. Both are quite charming but still have their flaws. I still think the knight could use some ability that makes him more useful. Hammer throw spots aside, there were very little places in the game where his abilities had anything to give to the solution. At least he should be even stronger in combat as he is still outdone by the thief in many situations. The biggest improvement in Trine 2 is the addition of new puzzle mechanics such as watering mystic plants to create new paths, and also the increased difficulty in later levels.

Wednesday, March 28, 2012

Tetraic - Yet Another Game Jam Post Mortem

Stage organized yet another game jam. This time it was a Windows Phone 7 game jam in collaboration with another club. It was also my fifth game jam in a time span of 14 months. Traditionally I've written about my experiences and/or my game, and this time is no exception.

1. The Concept


Our theme this time was "opposites". I was at my friend's housewarming party when the theme was released. It's not really the best environment to come up with game ideas but at least I was able to ask a lot of people for different pairs of opposites. The game I ended up with uses opposites in a couple of ways but was more or less inspired by the possibly most ridiculous idea "left and right". My actual game idea originated from Triple Triad, which to this day is the best minigame ever. For those who don't know it, it's a collectible card game in Final Fantasy VIII with absolutely elegant gameplay. Cards are laid down on a 3x3 grid. Each card has a value from one to ten on each of its sides. When placing a card, it flips over any cards that have lower values on opposing edges. Keyword: opposing.

No one was really interested in my idea after the pitching session. Most teams had been formed before it anyway while I was at the party. Fortunately for me, a group of us went to get some pizza to further develop our ideas. I refined my idea while rest of the guys were eating and started explaining it in more detail. It sounded pretty crazy at the time. The concept in all simplicity was Triple Triad meets Lumines. Tiles will drop in square blocks of four. Each tile has a number on each of its sides. Upon falling down, a tile eradicates all tiles that have lower numbers on opposing edges. Blocks will break down like in Lumines so that tiles will never hover in the air. Tiles that have equal numbers on opposing edges form chains; if one tile in a chain is destroyed, the entire chain goes with it. The concept sounded like it had enough mindfuck to be worth a try.

There was just one little problem. Displaying numbers on each side of a small tile would look *messy*. First we thought to use different colors, but they would be rather hard to learn. The best idea won: use different shades of grey. It's easy to learn that the darker the color, the stronger the number. This also had another benefit which was discovered later. We judged that this project had work for only one programmer, which would be myself, so setting up the project was easy. Without even starting my laptop, I decided that there was enough of a plan to go with, and went back to the party. Here's a piece of wisdom: even though 48 hours is not a lot of time, quitting early on the first day is often a good idea. You'll have a much more refined idea of your game when you come back after a night's sleep and you still have a lot of time to work on it. Just make sure you really want to work on this idea before quitting and that it seems feasible to you, all things considered.

2. Tetraic


I love block dropping puzzles and their relatives. They are challenging to design and fun to play when done well. Here's the result from this game jam.



The working title was TetraBlocks (because the blocks have, well, four significant sides) and since the tiles together look like a mosaic, coming up with the final title was easy. The design on the other hand was only a partial success. The way the game was designed, i.e. tiles become active (able to destroy other tiles) every time they move, resulted in combos that made it really hard to lose. Next to impossible really. Nevertheless, the game is in fact quite nice to play and using shades of grey it is not actually that confusing. Sure, it's still a little hard to keep up with everything that's going on, but that's part of the design. Notice how using shades of grey allowed us to highlight chains with other colors.

In the beginning there was one glaring problem: due to my choice of mechanics a block that has a strong value on its bottom side will typically just smash through everything else. I had to implement a mechanism against this that was not very elegant: the bottom side is weakened every time it defeats another block. The less elegant part is that this doesn't apply for other sides (again for gameplay reasons). I'm still trying to come up with ideas to put challenge into the game without adding complexity and exceptions. The key mechanic itself is promising enough to warrant further design effort. This is another lesson for jammers: don't expect a great design from your game jam. A functioning concept is often enough and really all you'll get done.

3. Love debugging, or else...


Last time I was doing programming at a game jam I burned out pretty bad. This time it might have happened as well. While the game concept is quite simple in Tetraic, all sorts of rules for dropping and erasing blocks can cause a lot of bugs. And it did. I spent like half of all the time I had for debugging on Saturday. A few bugs took hours to solve. But somehow I didn't get frustrated like I usually do. The thing is this: when you are in the right mindset, debugging is in fact pretty damn fun and rewarding. Sure, you're still cleaning up your own mess but... try not to think about it too much. Everyone makes mistakes in programming - in fact, if you don't, then you're probably not learning much. Game jams are typically recipes for arcane bugs that can drive people insane. I always start with great intentions and good code design, but the end result is usually pretty far from it.  There is not time for complete refactoring when it's called for.

From my experiences, the best way to deal with a tough bug is to share it. It doesn't matter with whom, just talk about the bug aloud. Explain what you think happens. Doing this will help you get your own gears moving. When explaining something aloud, your brain can no longer fill in the gaps that existed in your theory while it was only in your head. This also applies to design. We have a tendency to assume things work as intended, even though nothing in a theory or design actually takes it into consideration. In debugging, we think we know what happens in the code, when we really do not fully know. We assume it does what it was intended to do. This gets especially bad when you are absolutely sure that one particular piece of your code cannot possibly be wrong.

Of course it is always annoying to be unable to finish your game or polish enough because some nasty bug takes away hours of your development time. But this is what happens in game jams so learn to deal with it. Of course, having programming experience does help tremendously and even though starting with great code design is usually a vain attempt to keep things organized, it does always help. In particular, object-oriented programming is a staple in game development. Coding too many interactions into one object is a recipe for disaster. Finding the culprit is so much easier if every one of your screen object maps into a code object. It is also so much easier to modify game rules if all pieces act independently. Most importantly though, remember that debugging can also be fun.

Conclusion


When I have the time, I'll try and continue development of Tetraic. Turning it into a fully functional design seems like a fun challenge. I'll probably port if from WP7 to HTML5. I don't even own a Windows Phone and block dropping games are much better with a gamepad or keyboard than touch screen. With all these game jams and promising prototypes it's just getting hard to decide which one to work on. Oh and the next game jam is like three months away...

Tuesday, March 20, 2012

The Last Story

This game is one of the two reasons I bought a Wii recently. The other one is of course Xenoblade Chronicles which I'm looking forward to playing later this year. Being a JRPG buff is pretty rough these days, so I'll take anything I can get, even if it means buying more consoles. The Last Story has a promising premise: it would be an RPG that emphasizes story and characters. Sure enough, it does. However, as usual, I will be sidestepping the story of the game and focus on its distinguishing game mechanics and other design features.

1. How to pace a game


Pacing a game is tricky business. One way to think about a good curve for RPGs could be: calm, anticipation, excitement, absorption. I believe there needs to be all of these for a game to be really solid. It's not a guideline pattern or anything, but these things need to be present. Keeping this curve in mind, we can take a look at how The Last Story paces itself. The game truly emphasizes its story. On a scale that it actually cuts out most traveling that is typically done in RPGs. There are no scenic routes from scene to scene in The Last Story, the game just skips on to the next one. This solution was fine at first. Towards the end I felt I was being rushed through the story. The game robbed me from any chance to calm absorption.

Then again, as you will soon find out, I didn't particularly enjoy the game's fighting system, so part of me was relieved to skip unnecessary traveling. There are no random encounters in The Last Story either. Every encounter is planned (and mandatory). Okay, so they provide these summoning circles where you can summon enemies to gain experience if somehow your characters are underleveled (which should not be possible) This again is kind of double-edged. Encounters in the game tend to be overdesigned to the point where they are puzzles. Very simple puzzles with AI characters constantly giving hints what to do, but puzzles nevertheless. This solution makes every battle an event in the game's story. This with the lack of traveling time through scenery makes the game feel too rushed and makes game events a bit disconnected. This is partially remedied by the fact that the characters do a lot less traveling than in a typical RPG.

2. Real time combat, ver XYZ


The Last Story belongs to the real-time combat camp of modern RPGs. In general, making a good real-time combat system is tricky. Star Ocean 3 did a marvelous job, but most of the time turn-based systems beat the crap out of half-hearted real-time systems. There is a hell of a lot more variables in real-time systems than turn-based. Turns create a comfortable order for things. Real-time systems need to implement all sorts of rules just to make the system core stable enough. Attack delays, hit stuns, hit boxes and whatnot become a significant design problem. Action-adventure game designers wrestle with these problems but RPG designers have an additional burden to consider. Characters in RPGs usually have a much wider repertoire of abilities (in fact, if they don't, the game probably is not very good).

The Last Story does not do a very good job. Basic fighting is simply repeating the same attack endlessly, occasionally stopping to block or dodge. Crowd-control is oversimplified: the player has an ability which makes every enemy target the main character. This ability also makes enemies slower, so using it is pretty much a no-brainer. Special abilities are limited by recharge times. The same bar is also used for direct command, which is the only way to give orders to AI-controlled allies. Spells have casting times and casters can be interrupted. Overall the system core is mostly strategically sound but fails in execution. Most importantly, battles are usually very boring to play. There's a significant lack of variety in what the player can do.

The game can feature as many as five AI allies at the same time. The going gets rather chaotic, and because the game is often not very hard, battles will solve themselves regardless of how well or poorly the player does. I also lamented the lack of a minimap or radar showing where enemies are. The battle areas are quite large, and sometimes I found myself wondering where the last enemies were. This might have been remedied by making the camera controls better or by having a better target locking system.

The Last Story is not entirely without good ideas though. The game's magic system has a feature called circles. Each spell leaves a circle on the field. These circles do various effects. Attack spells leave a circle that imbues attacks with the spell's element and healing circles do what you'd expect them to do. Enemies can also cast poison and damage circles. In theory this means that circles can be used to create optimal conditions on the battlefield. In reality, the element circles are pretty hard to utilize because AI allies will be spamming whatever spell they know, and each of them only knows one element. Typically this means that against a tougher enemy, the fight will happen in a mess of two or three overlapping circles and attacking with the right element becomes impossible. Healing circles appear around their caster, which makes them often appear far away from the battle.

In truth, the best use for circles is diffusing them. The main character can do this via his special abilities. Diffusing a circle creates an area effect which is typically a debuff. Healing circles diffuse into instant healing of all characters and one attack spell diffuses into a buff that shields against magic. The diffusion mechanic is also pretty good in theory, but like the circle system itself, it also lacks in execution. There's not much use for these effects. A few boss fights aside, they are not really needed. There's only like five different circles in the entire game anyway, which is way too low. The game tries its best to create variation in combat through its designed encounters but way too often the battles are just your usual hack and slash which gets very old very fast. Only the final boss of the game demands actual strategy from the player. At least a little.

Conclusion


The Last Story shows a lot of promise but fails to deliver. While yes, the story and characters are quite good as advertised, the game's design fails on many accounts. On top of it all, the game uses a 100% linear character development scheme with laughably limited number of abilities available to the characters. Equipment upgrading is not much better. Each weapon or armor has exactly one special ability which is mostly a boost to same stat or effect. I have to say I expected more, although Mistwalker does not really have a shining record. Now I'll really think twice before playing their next title, if there ever will be one.

Tuesday, March 13, 2012

Deus Ex Human Revolution

Around the time this game was released I decided to play, for the first time, the original Deus Ex so that I could eventually play the Human Revolution and look at it from the proper perspective. Playing both of these games for the first time within half a year of each other provided an interesting viewpoint. Games, even really good ones, have come a long way in ten years. Human Revolution is yet another game that does a lot of things right. As did the original at its time no doubt.

1. Stealth action, finally done right


I have never been a big fan of stealth games. In some contexts I'm down with it, but extended periods of avoiding gazes is too often an experiment in frustration. While Deus Ex and also Human Revolution have gained praise for offering the player choices, the emphasis is on stealth action. Human Revolution in particular rewards being undetected with both experience points and game achievements. The firefights can get pretty brutal too.

Gameplay that emphasizes stealth has certain unique challenges related to uncertainty. For instance, it is highly important for the player to be able to see which way enemies are facing. While it might be realistic not to show any aids in this, going entirely without aids is really frustrating. Human Revolution uses a radar which shows all enemies as long triangles, making it trivial to figure out which way they are looking. Augmentations can be bought to let the player see the enemies' cones of vision in the field, which can provide extra help for moving around undetected. However, I felt the radar was sufficient enough. It's worth noting that without it I would have just shot my way though the game. Which is exactly what I did in the original Deus Ex.

Other source of uncertainty, resident in first person games, is the question "is my character hidden?". This is not always clear because the character's dimensions are not visible to the player. Human Revolution provides a graceful solution to the problem: when the character enters cover, the camera backs away and shows a third person view of the situation. Furthermore, the game only allows the player to take cover behind objects that are in fact large enough to hide the protagonist. It even has smooth mechanics for moving from cover to cover in such a way that the main character is guaranteed to stay in cover at all times and move silently. The third person view also allows the player an unrealistic but much needed ability to see what's going on on the other side of the cover.

Much like Assassin's Creed which uses automation to portray the protagonist's superior abilities and allow the player to focus on planning, the availability of information in Human Revolution does the same. They can even get away with this lack of realism. After all, the game is about human augmentation and all abilities are explained through them. Most importantly, sneaking past enemies and taking them down unseen is highly satisfying.

Admittedly Human Revolution might not be the first game to all this right, but it is in my experience. I admit that I haven't played Metal Gear Solid games much because of the abysmal controls and camera view in MGS2.



2. Inventory, ammo and what is this


The core gameplay of Human Revolution is rock solid. That doesn't mean the game would be entirely without flaws. Let's start with the antique inventory. It is true that slot-based inventory has been a staple in games since - I don't know, forever? - but I'm inclined to think that it's not a very modern solution. There has to be a better way than playing tetris with different sized rectangles on a grid. I have never liked playing around with the inventory in games, and often these limitations of carrying capacity feel really artificial. It cannot be a question of realism because these systems never are realistic. Game balance is the more likely reason to limit what the player can have with them. But why the grid? It makes no sense. A list is much nicer. You can still have a limit on how many virtual slots the character can carry, and have a number for each item to tell the player how many slots it takes. If you really want that grid then please at least give me a good automatic sorting system.

The weirdest thing in both Deus Ex and Human Revolution is the clip size of weapons. Clips in this world are ridiculously small. Semiautomatic pistol with 6 bullet clips? Combat rifle that can hold 20 at a time? You got to be kidding me. I don't even find a game balance justification for this one. The game does its best to support multiple playing styles, but constant reloading really limits options in combat. It also just feels wrong. This is supposed to be the future, so how come they cannot build decent weapons? There was also a bit of a power imbalance between lethal and non-lethal weapons. A single hit from any non-lethal weapon is guaranteed to incapacitate the target, but against some enemies a headshot from a sniper rifle is not.

Conclusion


Human Revolution is a really successful game and a clear improvement over its legendary ancestor from a modern player's point of view. The game had a solid pacing with enough dialogue between action scenes. Levels in the game were not too huge and didn't start to drag at any point. The persuasion system was good, even though I didn't mention it in detail. I did find a it a bit disappointing that just like in the original, the player simply decided the game's ending in the final moments.

There was also the issue of boss fights which were not really suitable for the game. They've gotten a lot of fan rage for a reason. Forcing the player to fight rather deadly enemies in a game where it is possible to put everything into stealth abilities is not a good idea. However I actually didn't find these fights very hard. I just applied a lot of explosives to the problem and it went away. Still, the boss fights really don't fit into the game's general feel. The original allowed players to circumvent at least some boss fights (it didn't have many anyway) and that was a much better solution.

But yeah, I liked Human Revolution. Enough to get its pricey DLC Missing Link and I have to say that it was also very enjoyable.

Monday, March 5, 2012

Assassin's Creed: Brotherhood

I've taken up a new tradition of playing exactly one Assassin's Creed each year. Seems to be a good pace since I didn't feel bored with Brotherhood at any point. Dunno what will happen with Revelations, but I will be playing it next year. Nevertheless, it is a surprisingly good series. The first game went wrong in many ways, sure, but the sequel and Brotherhood are both excellent examples of good game design on many fronts. Let's take a look.

1. Empowering the player


Assassin's Creeds are sandboxes and the player is almost omnipotent within. The protagonist is a master assassin with all the appropriate skills. What's spectacular about Assassin's Creed is that the designers have found a way for the player to truly feel empowered by each and every one of these skills. Every trick in the master assassin's bag is at the player's fingertips. Commanding Ezio to do all these things is as seemingly effortless for the player as completing the task is for the assassin. This is achieved through a lot of helpful automation. The marvel in Assassin's Creed is how well all this automation has been implemented as it rarely makes mistakes. The controls are not perfect, but they are quite close, and most importantly they are really powerful.

What's achieved by these powerful controls is that the player is empowered to truly take upon himself the role of a master assassin. Execution is never hard, but the planning is, and that's what's largely left for the player to figure out. More importantly, the player is capable of constantly doing awesome feats and can decide for themselves which feats to use where. Perhaps the prime example would be Ezio's ability to instakill enemies while attacking undetected. There are many different scenarios to do this. The simplest is to walk behind and enemy and stab them with the hidden dagger. Or a pair of enemies once dual hidden blades have been obtained. Ezio can just easily kill enemies by dropping on them from high above with perfect precision. The latter feat is achieved quite easily in the game because Ezio always has a target if there is one within range. There's no need to lock onto enemies separately (although that can be done to make the camera follow them).

All the systems in the game follow a simple control scheme which is really easy to learn and does a lot of things with the press of one or two buttons. The manual dexterity requirement is really low - Assassin's Creed is the thinking man's action adventure game.

2. Combat 


Combat also follows the rule of empowerment through effective controls. What's remarkable about combat in the series is that while it's not very realistic, it feels right. Once again, execution is easy but effective fighting requires planning and careful positioning. Ezio can easily dodge or even counter enemy attacks. He can lay waste to multiple enemies in a kill streak. With all this power, he still loses very quickly if the player just attacks mindlessly. The combat system is all about waiting for an opening, followed by quick retaliation. Ezio moves gracefully in combat, and automation takes care that fighting looks cool. More importantly, it feels cool. It is also fairly slow-paced. This means that getting into a fight is always a delay. Although fights are rarely difficult and often very satisfying to fight, it is often at least equally satisfying to avoid them by silencing enemies one by one.

The most important change in Brotherhood over the previous title is that the secondary weapons are now actually usable in combat. Depending on what main weapon Ezio is using, holding the attack button makes a secondary weapon attack. Still, the game has a lot of weapons but swapping between them is quite pointless. This I think is one thing the developers should look into. Pretty much any weapon can handle 99% of all the situations. With swapping weapons being a bit too clumsy, this leads to a lot of things that largely go unused.

I do have one complaint about horseback fighting. The game now features horses as an important means of travel, and they can also been seen in combat. However I found it a bit weird that attacks from horseback are really, really weak. In most cases it is much faster to simply dismount and take the enemies on on foot than try to whack them from horseback. If horses are involved in later installments of the series, I hope the developers give riding attacks a whopping damage boost. I want to ride through my enemies and absolutely smash them.

3. Lots to do is not content unless it's also fun


This is an important lesson for sandbox games. Giving the player freedom do a gazillion things is not enough. What's really important is to make every single thing that the player is able to do fun. This is the lesson Assassin's Creed developers have taken to heart. The Rome of Brotherhood is full of things to do and they are almost always guaranteed to be fun for the player. Hell, even starting an entirely pointless fight can be fun with the game's combat system. Sure there are always some misses in the huge amount of side missions available, but they are in the marginal. The takeaway is simple. There's no point in including a task in a game if that task is not fun to perform. There's also no point in repeating a task that gets boring easily.

Conclusion


Assassin's Creed: Brotherhood is a must for anyone involved with action adventure design. So many things have been done right that it's hard to count all of them. Could be that things are even better in Revelations but I haven't checked it out yet. I'm more curious about Assassin's Creed III though, since it is finally a completely different setting and should take the series into an entirely different direction.