Archive

Monthly Archives: February 2014

EveHeader

There’s a disease that programmers catch frequently: MostGeneralCaseitis. Those infected find themselves unable to concentrate on the task at hand, no matter how trivial, and instead extrapolate outwards from it and try to solve the entire set of related problems. This is how most really clever solutions happen. This is also how absolutely no progress can be made for months at a time. Well, we’ll see which is the case here eventually, but suffice it to say I am deep in the throes of this disease at the moment.

It’s not a disaster. I’m starting to make progress on the task I’ve set myself, of making a general-purpose control panel that will be useful to me, not just now, but moving forwards into developing the unfinished level editing components. Actually, these general purpose classes could even be useful enough that I end up using them for the in-game menus themselves. Because of that, I don’t get too grouchy with myself for spending so much time on this. I’ve also been quite busy with one thing and another, so I haven’t been able to concentrate too deeply on the game regardless: This is the perfect task for a period of time when I have to spend a lot of time away from actively working and spend a lot of time thinking about what I’m going to do next.

Anyway, progress is still happening, however slowly. Things should pick up some in a couple of weeks, by which point most of the stuff distracting me at the moment should be resolved. In the meanwhile… I will persist, and take what little progress I can wherever I can. As long as I keep moving in the right direction, I will eventually reach where I am going.

Advertisements

RogueLegacy

I’ve been holding off on writing this for some time. I got Rogue Legacy shortly after its release, something unusual for me, because I wanted to play it as soon as I saw it. On paper it seemed like the perfect game for me: I love the exploration-focused entries in the Castlevania series, and I love the tense decision-making of Spelunky and similar games, so I had expected Rogue Legacy to be exactly the kind of game I like.

It wasn’t, though, and I think it’s worth discussing why.

The entire experience of playing Rogue Legacy grated on me at every moment, because every design element seemed to conflict with another. The game is themed around perma-death, of a sort: The characters you play die permanently each time you fail, but you have a limitless supply of them and, due to the purchasable upgrades between sorties, they tend to get steadily more powerful with each expedition. This saps the feeling of weight and consequence normally offered by perma-death style gameplay: Death in Rogue Legacy is, at worst, a minor setback.

However, this premise necessitates that the castle change randomly each time, so that the tedium of clearing out the same section over and over again doesn’t become unbearable. This means the castle must be made up of interchangeable parts: The rooms cease to serve any function. There is no dining room. There is no library. There is just a lattice of generic ‘castle’ to venture through. An acceptable price to pay, perhaps, if the challenge itself varies every time, as it does in Spelunky –  but, due to the reduced consequence for mistakes, the challenge itself feels generic. It’s the worst of both worlds.

Exacerbating and exemplifying both the problems of consequence-free death and the problems of generically designed map pieces, there are Faerie Chest rooms. These rooms hide powerful treasures behind special obstacles: Some of these obstacles are quite reasonable, such as a powerful enemy or obstacle course that must be bested. Some of these obstacles are impossible on a first or second visit due to insufficient equipment, which is frustrating to those of us who wanted a more roguelike experience but make some degree of sense within the overall life-to-life game flow. However, the worst of these by far are those rooms which you just have to know how to solve, and will only get through by sheer luck otherwise. These rooms throw everything that’s bad  about the game right in the player’s face: The random-but-malicious-but-generic rooms, the inconsequential-but-annoying deaths. There’s no skill to solving these rooms, no reward for achievement: Just tedious trial and error, with each trial separated by being forced to clear out another generic castle full of enemies.

I don’t like to just complain about a game without offering any thought as to what could be done better. Personally, I think there is some degree of conflict inherent in the design of the game, which wants to have the perma-death cake and eat the long-term-stat-growth cake too. If this is the theme, though, gathering resources to expand the powers of your family, why not make that the focus of the game, then? Money could provide not only long-term bonuses, but be required for each generation’s short-term health as well. Fuck up a run and they’re stuck eating gruel for 20 years, and your heir may be weak – Do well and they can hire a trainer to help them practice before their expedition. Make it so I actually have some reason to give a shit about the consequences of my success and my failures.

Give me an actual legacy to protect.

Make me care

Because, as things stand, I just don’t have the energy to care about these ceaseless generations of more-or-less identical adventurers. If one dies they’ll be replaced, and so forth, and so forth, until I get the one I want. I don’t have to deal with a bad roll of the dice, I can just roll them again.

And again. And again. And again.

Brain-Painting

Either everyone is hounding me for the things that only I can offer or everyone’s being nice because they feel sorry for me. Either I can’t find time to work on the thing I want to work on because there are so many other things vying for my attention or I can’t bear to work on the same damn thing for another second and beg the walls and windows for something else to work on, that I might actually make progress on something for once. Either the rain is making me depressed and sleepy or the sun is making me cozy and sleepy or the nighttime is making me lonely and sleepy.

It’s so hard to tell, sometimes, which problems I’ve manufactured for my own convenience.

The scary thing about being clever enough to manipulate and trick people is that I can never be quite certain that I haven’t manipulated or tricked myself. I can’t help but second-guess myself every moment. Do I really feel as shitty as I just claimed I do? Am I really depressed today or am I just emulating the symptoms to myself so I can hide from my responsibilities? Did that actually hurt? Am I actually sad? Is this genuine happiness?

it’s too easy to write ourselves into scenes. In this scene I’m angry because people are supposed to be angry in this kind of situation. In this scene I’m depressed, because I don’t trust myself to act angry convincingly enough. In this scene I’m patient, in this scene I’m amused, in this scene I’m disgusted. The connection point between these emotions and our own are sometimes so tiny and tangential as to be virtually non-existent. It’s easy to get lost in a story we write for ourselves that ends up not being about us at all.

Our stories will eat us if we let them.

The realization which sets me free, every time, is that it doesn’t really matter how I feel or why. It doesn’t really matter whether I’m feeling sad or melancholy or depressed, angry or irritable or volatile, doesn’t matter whether it’s a problem I can’t handle or a problem I simply don’t handle, because in the end there is no real difference between the two. Being unable to do something and unwilling to do it are both just ways of saying that it didn’t get done. The only meaningful measure of what a human is capable of accomplishing is what that human accomplishes.

How is it that we can want to do something we don’t want to do? Are we of two minds, really? Or do we just deny where our desires are really coming from? We do the things we don’t want to do because, actually, we want to do them. The real questions, the ones that don’t always get answered, are:

Why, if you say you don’t want to do these things, do you still want to do them enough that you do them anyway?

Why, if you say you want to do something, do you want not to do it enough that you aren’t doing it now?

Why?

EveHeader

Well, so much for completing the entity editor this week. I’ve made some good progress, but, well, suffice it to say that I slightly underestimated the full challenge of building these control panels. There are several behaviors which are going to require custom control panels, most notably the sound and animation behaviors, which have complex command systems not amenable to the general purpose control panel solutions I’ve developed for the other behaviors.

EntityEditor02

Still. I got the control components fixed, got all of the mini-components for the control panels implemented, and got it working within the framework I set up last week. The ball is rolling, and now that I can actually get my hands on these control panels, test them out, see what’s working and what isn’t, and iterate upon that, progress should happen fairly quickly.

Over the next week I’ll be creating the custom panels for the sound and animation behaviors (as well as any other behaviors which may need a special solution). I’ll also get it set up so by clicking and dragging those handles to the left of each behavior it will be possible to re-order them, since order of execution may be important sometimes, and I’ll see about implementing some method for deleting unwanted behaviors.

There’s plenty more to do, but this is enough to focus on for now.

Feelin fine

Fuck it, writing is impossible. All of the words I have are either dumb and self-indulgent or dumb and overdramatic or dumb and untruthful or some combination of those. I’m not sure what my point is, I am increasingly uncertain if I’ve ever been sure of what my point is, I question the existence of such a concept as a ‘point’.

Why bother with communication if there’s nothing to communicate? What is this mandatory attendance bullshit? Listen, I want as much as anyone for me to be the guy who’s here every week to provide insight and interest in text form, but apparently I can’t always be that guy. That guy is a made up guy. Fuck that guy.

I’m trying. I’m scraping the bottom of the barrel, and mostly coming up with splinters and resin. I’m voiding exactly how frustrated I am by the process of trying to write something into words and you’re reading those words right now. If I can’t communicate anything else today, I can at least communicate how hard I’m trying to communicate something!

And, in the end isn’t that what it’s really all about? No. No it isn’t, shut up, that’s dumb. It’s about creating ideas, it’s about shifting perspectives, that’s what it’s about. It’s about breaking apart ideas of what things are and can be, and thereby allowing people to expand upon them. It’s not about me, what I’m trying to say, but about you, about what you read from what I write, about how it changes the way your mind works, if only ever so slightly, from that point on.

Art is a game of telephones, and you either win or you die. On stage. Metaphorically. As you write the words that will be consumed, you have only a vague idea of how they’ll be digested, who will devour them, how they will form them, but you do it anyway in the hopes that those words will nourish someone at a time when they need it. Words are an unknown seed, and the only way to identify what they will create is to plant them. Even then it can be difficult, since so many other seeds have been planted. Which one is it that is bearing fruit now?

That’s why I’m writing, now, even when I don’t know what to write. It’s partially to meet a deadline, yes, partially to live up to the expectations I’ve set for myself – but, more importantly, it’s because I don’t know which of the things I say will turn out to be good, worthwhile, revelatory. I’ve certainly been surprised before. It isn’t  for the author to know what’s good, what’s worthwhile, what’s powerful and meaningful. I write when I don’t know what to write because it’s possible the most important thing I have yet to say lies somewhere in that blank white void, and I’ll never find out unless I try to say it.

I can only do what I can.

EveHeaderI finally started in on the entity editor.

EntityEditor01

It’s obviously still got a ways to go, but some important components are in place already. The green bar on the left holds a complete list of all placed entities in the level, and clicking on any entity in the list selects it. Clicking it one more time will center the camera on it. The blue bar at the top, with all of the colored blocks in it, is the behavior-editing menu in-progress. As work progresses those colored blocks will be replaced with control panels which allow modification of behavior parameters.

Which brings me to where I am right now: Developing those control panels. Or, more precisely, fixing a slider component which I’m going to be needing for those control panels which I somehow broke in the process of porting my code over to Haxe. I finally got tired of editing the component that I’d been using from open source, and decided to just rewrite the entire class to my liking, using methodology that feels more natural to my habits as a programmer. I’m still sorting through a few bugs, but I don’t think it will be too hard to get them sorted out within a day or so.

After that, I’ll develop the behavior panels, at which point the entity editor will actually be about half-complete. At that point, it will be possible to edit the entities in every necessary way, but making new ones won’t be possible yet. It may actually be that all of my procrastination on this editor will be entirely justified by the fact that this approach is probably a hundred times simpler and more streamlined than one I would have come up with if I hadn’t been pondering the issue, off and on, for a few weeks beforehand.

It’s been a weird week, and I definitely have been feeling a bit out of sorts, but progress is being made. That’s what’s important. Hopefully next update will reveal a nearly-complete entity editor!

gatesofjustice1

Games seldom allow you to experience them all at once or in any order you choose. Though open-world design has become more popular, there are usually some obstacles to exploring the world in its entirety, even if in some cases they aren’t obvious. There are good reasons for this, ranging from attempting to control the narrative arc, to keeping the player from being overwhelmed by too many options, to adding a sense of mass and mystery and resistance to the created world. Whatever the reason, it’s generally necessary for the world to resist the player’s exploration.

For each gate restricting the player’s access to the game world, there is also a key, and these keys and gates can come in many different forms. In traditional hack and slash RPGs, powerful enemies gate off later sections of the game, and the player metaphorically opens these gates by more literally opening up the monsters’ rib cages with edged weapons. Doing so only becomes possible once the player has accumulated enough experience and equipment to survive the encounter, though – thus, this equipment and experience becomes the key necessary for exploring the protected area. In adventure games, the keys are usually easy to acquire, and the challenge of the game is more often in finding the particular gate a key is applied to, and the manner in which it is applied. In Metroid-type exploration platformers, new movement abilities allow the player to access sections of the map that were initially impossible to reach, and this too forms a key-and-gate relationship.

gatemaster

It’s a pretty steamy relationship

Of course, more often than not, it’s actually just a literal key that you, the player, need to open a specific door. It’s boring, but it works… assuming that the presentation of the game isn’t such that, logically, your character ought to be able to explode the stupid door off its hinges with a minimal effort. Which, games being as they are, it usually is. Whatever.

So there are the two components here, the gate and the key. Gates can be hard or soft: A hard gate completely shuts you out of an area, as with a locked door, while a soft gate makes staying in an area untenable, as with an atmosphere made of cursed poison virus acid, which makes you take damage as long as you breathe it in. A clever, determined, or knowledgeable player can frequently navigate through soft-gated areas, but a hard gate is impossible to bypass – or, at least, it is intended to be so. Players can be pretty sneaky.

In addition to whether the gate is hard or soft, the matching key can be simple or complex. Simple keys do nothing outside of their function as a key: Regardless of their presentation, whether they’re a power orb that is needed to activate a bridge or an incantation needed to open a portal or, again, just a damn key, they have only one function, and that’s to open one or more doors. However, keys can be so much more than this: A common example is found in many movement abilities, which allow the player to access new areas, also allow for new and interesting decisions to make in moment-to-moment gameplay. The double-jump allows the player to reach the high platform that leads to the next area, but it ALSO allows them to walk off a ledge, duck under an enemy attack, and then hop back up out of the spike pit to strike at the enemy without slowing down or taking damage.

Mizu_Luffy

Don’t you see? The power was within you all along! That’s why you’re so grotesquely bloated!

Personally, I think complex keys are really cool: it’s a way to expand the player’s explorations in a natural-feeling way, and makes the player feel as though they themselves have gained power rather than just being allowed into the next section of the game.

That said, it’s quite easy to fool yourself into thinking you’ve made a complex key when it’s actually a simple key in disguise. In The Legend of Zelda: A Link to the Past, you encounter many rocks, mostly light-colored ones with a few dark ones scattered about, which block your way – and, early on in the game you find the power bracelet, which allows you to lift the light colored rocks, but not the dark rocks. This allows you to access many new areas, but also allows you to pick up rocks to use them in combat, to dig under them for items, and to toss them to solve puzzles. It opens the game up in lots of ways beyond just opening up gated areas. After a bit, you notice that the dark rocks only seem to be placed in such a way as to block you from exploring certain areas, which is annoying, and start wondering when you’re going to be able to do something about them. Near the end of the game, you finally acquire the upgraded power bracelet, which you’ve been anticipating the entire game, and… you pick up those few rocks, poke around in the areas you haven’t been able to explore, and that’s it. There’s little to no use for the upgraded power bracelet outside of exploring those areas: Dark rocks don’t do more damage (despite being, presumably, heavier), you can’t throw the light ones any further or harder, you can’t push blocks faster or knock enemies around with your attacks. It is, in short, a total fucking letdown.

This isn’t really a new topic. I’m sure someone has discussed it before, though I am as ever too lazy to find out who, or whether I’m duplicating their work, or whether this is all actually blindingly obvious. Now’s a good time to discuss it, though, because free-to-play games are particularly fond of viciously abusing gating mechanics, and it’s worth discussing exactly how.

heresjohnny

Heeeee(pay $1.99 to purchase 5 more e’s)re’s Johnny!

First: Free-to-play games overwhelmingly favor soft-gating. This is because they can’t really call themselves ‘free’ if parts of the game are inaccessible without paying, but it’s central to their profit model that most or all players feel that they need to spend money to progress.

Second: The keys used to progress past these gates are exhaustible, and usually easily so. Either the key is an item that can only be used a limited number of times, or for a certain period of time, or the key comes in the form of a currency that’s used to buy something that the player will need LOTS of. The players who have demonstrated willingness to pay are the most valuable players, so it’s central to the profit model of free-to-play games that these players never be satiated for long. These players are sold dissatisfaction, on an installment plan, at premium prices.

For contrast, note that if a game uses hard gating and non-exhaustible keys, it actually becomes an example of episodic gaming. If it uses hard gating and exhaustible keys, it would be a form of subscription gaming, and if it uses soft gating and non-exhaustible keys then it’s… well, basically a game with paid cheat-codes built in.

Anyway, there’s plenty to think about here. Gating is a foundation of moment-to-moment game design, and like most tenets of good game design it’s been twisted into something monstrous by the ethically bankrupt currently trendy model of free-to-play. There are many examples of gating done brilliantly, gating done poorly, and gating done in the service of evil and exploitation out there, but I think I’ve covered most of the idea here.

The power of the closed door is the power of mystery, of potential, of not knowing what is coming next. The act of opening that door is packed full of meaning, no matter what comes next. Where you’re going is frequently less important than how you get there.

Open sesame.

gatesofjustice