Archive

Monthly Archives: July 2013

SotN Clock

There are a lot of reasons for procrastination.

I write these words at 4 in the morning. They are scheduled to be uploaded in 6 hours, at 10 am. Realistically, I had all day, all week even, to write these words, and yet I am starting now: Why?

After I got laid off from my last full-time job, I was in a relatively comfortable position: I had several thousand dollars in the bank, and my unemployment compensation easily kept up with my meager needs. I believed, at that time, that I had everything I needed to work on my dream project – a completely different dream project than that which most of you are familiar with, I should mention – and yet, aside from a couple of weeks at the beginning where I set myself ambitious schedules with a moderate-and-quickly-withered degree of success, I got nowhere. I did nothing.

I just existed.

And so on, and so forth, until I ran out of money. And then ran out of available credit card balance. And then ran out of unemployment.

How liberating it was and is to be impoverished and therefore, by default (so to speak), free of the burdens of financial navigation. How glorious it is the be reliant on my creative capacity for my physical and psychological survival. How reassuring it is to know that my physical and mental needs are the only such needs that I am responsible for. How wonderful, how agonizing, how real, how impossible, how indispensable…

The only reason the life I have now is possible is because I let my other one die.

I am writing at 4 in the morning because my lies to myself wear away over the day. Artifice is decayed and only artistry survives. All I can do is express the contents of my mind using the best words I can find – who can ask for more?

Well, in point of fact, I can, and I do. Artistry can only go so far without artifice, without structure or reason. I starve myself of time to foster spontaneity, but though it aids me in my earnest communications it constrains the scope of what I can say.

A calculated procrastination has given me the life I live now, one which is in many ways beautiful and wonderful and fulfilling – but I will not get where I am going next by waiting. I will not get there by stalling. I will not get there by maintaining a holding pattern.

I feel like the time may be coming soon to reach, to leave myself off balance, to push the clock myself instead of letting it tick away. We all have a time to reach for something, a time which we rarely recognize until it passes, and even then perhaps it was only a phantom. Passivity has brought me so much in life that I am terrified to leave its comfort, but I know it is coming.

But: I would never have shared these words with you if I hadn’t waited until the last minute.

I probably never would have shared them with myself.

For now, I keep my back to the wall of time. I hope that someday, maybe not too far away, I will find the strength to be that wall to myself.

Until then I wait.

Advertisements

SOLSometimes it’s hard…

Phil Fish quit the game industry this week. He was an abrasive and outspoken personality, a polarizing figure and, as he was known as such, was hounded incessantly by vicious internet wits via Twitter and forums until he’d had enough and decided he wanted out. The same crowd that wants strong personalities driving game design will turn on those personalities the moment they come to harbor a dissenting viewpoint.

I’m working so hard to make a game that is personally meaningful to me: If I do, will it be to achieve a constant cycle of harassment by a digital paparazzi who have come to believe that rudeness is critical insight and vulgarity is cleverness? In the end, my work is for me, but it’s hard not to be discouraged, hard not to be saddened, as over and over I see game designers whose worst conceivable crime is tactlessness be swarmed by self-righteous vultures.

Sometimes it’s hard…

Three weeks ago a man named Ryan Davis passed away at the tragically young age of 34. Ryan Davis was an active and cherished member of the game journalism community. No one, seemingly, anywhere, had a single unkind word to say about this man. It was agreed that video games journalism had lost one of its clearest, most charismatic, and most beloved voices.

I wasn’t really familiar with his work, but this death affected me. The grim and scared thought that a man just 4 years older than myself had passed so suddenly sat heavy alongside the hopeful and touching thought that he was remembered so well by so many, and together cast a light by which I saw my own life, still struggling, still far from the place of recognition I would wish for – still far from sharing my work with the world, that they might be touched both with my presence now and, at some point in the unspecified future, its lack.

And yet, outside of my little world of games and critics and jokes, the world just didn’t seem to notice at all that a wonderful man had left it behind.

Sometimes it’s so hard to remember why I want to be who I am, why I want to care about what I care about. The internet, a world of vast and unbound freedom that has been burgeoning for most of my life, is now slowly being undermined by conjoined government-corporate interests. Those who have the most to lose have been convinced that giving up safety and freedom is the only way to be safe and free. We rededicate ourselves to the eradication of fictional crime even as we ignore the causes of and effects of genuine crime. We are so afraid that the sky is falling that we never notice the ground shifting beneath our feet.

So, yeah, it’s hard, and I’m tired. I’ll carry on with existing and with being a person until someday it will be easier. But, in the meanwhile, please don’t mind if I take a moment to rest, and to maybe just point out: It never had to be this hard.

We did it to ourselves.

EveHeader

Sigh. And I am reminded forcibly of why I hate dedicating entire weeks to programming! Not only is the work sometimes a drag – I like programming, but it’s easy to get intimidated and/or frustrated by some of the problems that come up, and I have to manage my time more carefully to ensure I have large blocks of time where I can rely on some degree of clarity in thought – but it frequently needs to be redone. It’s entirely possible for the net result of a week of progress to be “well, I tried a couple of different solutions, but they weren’t really cutting it, so I’m basically back where I started… but hey, at least now I know those won’t work, right? …right?”

That’s basically exactly where I’m at now.

Now, that’s not to say this week was devoid of genuine progress. I actually made some tweaks to the animation systems and jump behaviors which will probably stay in the game for the entire life of the project, possibly with some fine-tuning in the future but with the basic traits I added intact. So, you know, that’s something at least, and makes me feel a bit better about…

Okay here’s how it went down: My main task for the week was to make a system where the character tracks the surface of the ground and, for example, rather than running off the edge when a straight surface dips downhill, running down the slope of that hill. My approach to this was to treat the surface of the ground like a railway, so that when the collision detection system flags her as touching the ground (a calculation which is already used frequently elsewhere in the code, such as in determining whether she can jump or not), her angle of movement begins to parallel the angle of whichever piece of ground she’s standing on. This system was basically functional, but I ran into some issues when both lower corners of the character were interacting with different slopes, resolving which one should take precedence. This isn’t that big an issue, but something started nagging at me: If I solve this, then what?

Then what?

I’ve been running a standard axis-aligned bounding box collision system, where the shape of the character is a static rectangle, and I knew that this wouldn’t be tenable in the long run. It looks like garbage, as the sprite for the character floats over the surface of the hill, and though that could be addressed by just changing the draw location for the character it also creates problems like mentioned above, where the surface tracking gets confused. Basically, this is an approach which has outlived its usefulness.

Which sucks, because it’s the easiest approach, and because I’d solved it, dammit.

The bad news is: I’m going to have to rewrite a lot of my collision code to implement, basically, a diamond shaped character. This creates a lot of more complex situations where I’m testing slopes against slopes rather than points against slopes: The calculations for this aren’t too overwhelming, but along with the complications that come with lining up tiles to collision meshes and all that stuff that has been a headache for me so far in making a functioning collision system could provide a formidable challenge. Not only is detecting collisions more difficult, resolving them is less obvious: Simply nudging the character up out of a slope isn’t always a satisfactory solution when the same algorithm should be making her fall off a cliff.

The good news is: Once I do manage that, since there will at that point be only one point of contact with the ground, tracking movement along the surface will become an almost trivially easy problem. Admittedly, one I need to wade through a really difficult problem to get to, but that will make it a relief to eventually get there.

Thus, despite me opening this with stating how frustrated I get sometimes by dedicating entire weeks to programming, it appears I will be dedicating another entire week to programming.

Sigh.

Ratatouille Controls

I’ve been thinking about bad controls in games. What does it mean when people say that a game has bad controls? Usually, more often than not, they mean that it’s difficult to control. The more games I play, though, the more I begin to wonder: Is a game being difficult to control really ‘bad’?

This seems to be the assumption. As time goes on, though, I find myself less and less willing to dismiss a game as having bad controls: The question is not, I suspect, whether the controls are easy or difficult to master, but whether they are appropriate or inappropriate to the context of the game.

Allow me to elaborate with three examples:

Thanks Obama

Dark Souls is a punishingly difficult RPG that has recently achieved a surprising degree of popularity. One of the foundations of this challenge is the player’s slow moving attacks and battle maneuvers: Many people, when first faced with this, recoil in dismay when their character takes a full second to recover from an attack, or when they’re forced to stand still for a moment to use a healing potion (have you actually tried jogging and drinking at the same time before?) These restrictions seem galling to many players who are used to the freewheeling hack and slash antics of other action RPGs, but play a valuable role: Unlike in most games, heavy equipment in Dark Souls feels heavy. You can use a ridiculous giant sword, but it will attack slowly and it will weigh down your character’s movement. The slow, deliberate, ‘bad’ controls reinforce the idea that Dark Souls’ world is a world where every decision has drawbacks and consequences, and actions must be undertaken judiciously if the player is to survive.

Organ Trail

Organ Trail, a zombie-themed riff on the classic educational game The Oregon Trail, has a peculiar mechanic for shooting: Instead of the straightforward point-and-click of its predecessor, you are required to click on your target then drag back to your character to fire a shot in that direction. This is both more difficult to program and more difficult to control than simply allowing the player to shoot where they click – but the difficulty is the point. This system requires the player to invest a moment of time and effort to shoot accurately. Shots taken quickly frequently miss, since the angle of the drag is off, and panicked shots often fly astray, but a calm player who is used to the game mechanics can shoot straight every time. This emulates, in an admittedly but appropriately low-fidelity manner, the challenges of operating a firearm in a high pressure situation, and makes missing shots, in an environment where ammunition is a scarce and valuable resource, a real concern.

Surgeon Simulator 2013

The most blatant and hilarious example of this principle, though, is in Surgeon Simulator 2013, a game which is entirely premised on the idea that bad controls can be fun. In this game, the player is tasked with completing a surgery while being only allowed the use of one hand and being forced to control each finger, along with the position of the arm and inclination of the wrist, all using the keyboard and mouse. Fortunately, the surgery is rather open-ended: A heart transplant usually consists of bashing the ribs away with a hammer, pulling the lungs out and tossing them in a corner, gouging the heart out, and dropping a new heart in. Even just requiring this level of ‘surgical’ precision, trying to complete the surgeries is a hilarious slapstick, as the hamfisted surgeon that is you drops vital tools and organs, accidentally injects himself with anesthetic, and leaves his watch inside a patient’s chest cavity.

These are a few major examples, both serious and satirical, but this is an avenue of game design that is being pushed in a lot of different directions right now – something I find particularly interesting since, for a long time, controls in games were just good or bad, easy to use or difficult to use. I think it’s exciting to see this conception of what controls in a game can mean, through silly or satirical games like QWOP and EnviroBear 2000 to more sincere approaches like Receiver or Heavy Rain, sometimes forcing the player to experience the game through ‘bad’ controls can completely change their perception of the world,

Now: All of this isn’t to say that good controls aren’t important, that you shouldn’t try to spend time making your game control as well as possible, that no matter what you do it will work out – rather the opposite, in fact. I am suggesting, instead, that there are no universal best practices when it comes to game controls, that each game’s needs are unique and tied intimately to what it is trying to convey. I am suggesting that what makes a game’s controls good or bad are how well they work with the game to convey an experience, rather than how easily they allow the player to complete any desired action.

Games are all about interacting with systems: How tiresome, then, do you think it would become if all games allowed the exact same interactions, in the exact same way, forever?

It would be an endless monochrome gallery.

We have many colors.

We can do anything.

It ain’t easy. I want to create, I want to make amazing and touching and wondrous art every day, live a life of endless and boundless creativity – that’s what I tell myself.

It is so much easier to tell yourself that than to actually do it, to actually live it, isn’t it?

Case in point: I was telling myself that I wanted to live a creative life a long time before I began actually living it, even to the mixed and mediocre extent I have achieved so far. I’ve been telling myself this, when I managed to have the presence of mind to think of it, for maybe half of my life. And, to give credit where credit is due, I did spend much of that time creating: Composing music, drawing, programming, etcetera. But, to me, that was always practice. I was creating only to get closer to the life I wanted to live: Not to live it.

When would that transition come? When would I leap from practicing to doing, from learning to be an artist to being an artist?

Lies like that have expiration dates. One can only pretend they’re an amazing diamond in the rough waiting to be discovered for so long before it becomes clear that, if something was going to happen, it would have happened by now. Most diamonds in the rough stay in the rough. It does no good to wait to be discovered, polished, presented: If we wish to be seen, we must discover, polish, and present ourselves.

It ain’t easy.

Here’s the thing: It’s so much easier to create if you’re creating to practice than if you’re trying to create something grand and meaningful. It’s so much easier to make something if failing to do so makes you, not a failure, but a student. It’s so much easier to frame your work such that completion is just frosting on the cake of learning.

Here’s the other thing: At some point, you need to realize that your creations have a life of their own. At some point, you need to realize that you are creating works of meaning and relevance, if only to yourself. At some point, you need to realize that you are an artist, and already living a life of creativity.

These two facets of the creative life jostle for control, but only if you hold both at once can you create. Each piece is both the finished product and the experience of creating it. You are an artist, but you never stop being the student either.

But it ain’t easy.

Once you decide that you want to make something of importance and meaning, it’s easy to freeze up. It’s easy to be paralyzed by questions: “What is important?” “Will this be important to anyone but me?” “How do I communicate this?” – or by doubts: “Why would anyone care about my view of the world?” “Everything interesting to say has already been said…” “I’ll never get this right!”

It’s easy to never create anything at all. To stop, having never begun. To give up, having never fought.

This is why I am so grateful for Problem Machine and the audience it has found. I created the machine and declared it important to myself: I crafted an obligation to create, because without making creation a responsibility, a tenet of one’s existence, it’s quite easy to never create at all. And, having begun pulling at this string, I am amazed at what’s coming out: I’ve written things I am incredibly proud of here, but more than that starting this blog has given me the leverage I need to shift my life into one of creativity. When I say I will do something, I am no longer saying it to myself. When I am telling bits of story, fragments of ideas, I am no longer talking to myself, but a vast and many-faced audience, and even if sometimes they merely hear my ideas and offer no response that, still, is something.

I am being heard. I am communicating, rather than ruminating.

When I have a menial task I need to complete, like, say, cleaning a room, one of my tactics for doing so is to put the problem directly in my path so I need to do something about it or be constantly irritated by it. A stack of dirty laundry in the corner is easy to ignore; one in front of the door, much less so. This blog is the creative equivalent of the same. Creative work is in my path, now, and it has to be done before I can get on with my life.

Though there’s always a part of me that struggles, that feels unready to write, that whines and procrastinates, I’ve stuck with it. Though I won’t need it forever, for now, Problem Machine is the cornerstone of my creativity, the first and greatest of my creative obligations.

This obligation has freed me.

I am so grateful.

But still: It ain’t easy, and it never will be.

So few things worth doing are.

EveHeader

Okay! Time is kind of all starting to melt together into one undifferentiated mass in my mind right now, which is a sensation I associate with productivity, so it may have been a good week. Let’s find out!

Item 1: The Crouch Turn

EveCrouchTurn01

I’m pretty happy with how this animation turned out. My first attempts for a crouch turn animation were a total flop, using a motion that was both subtle and boring, albeit naturalistic, where she would push from one leg to twist around the other. I scrapped that and came up with this much more dramatic motion where she uses her left leg and right arms as counterweights: It probably makes a little bit less physical sense, but it reads a lot better and feels way more dramatic and fun.

Once I did the right-to-left turn, I decided to try an experiment and just reverse those frames, and I was really pleased with the results. I actually think the left-to-right turn looks possibly more natural than the right-to-left I started with. So, just because I can’t flip the frames horizontally, as has been the tradition of lazy animators for decades, doesn’t mean I can’t think of some smart ways to save work!

Item 2: The Stand

EveCrouchStand01

Fresh from my recent victory reversing the frames of the crouch turn animation, I decided to try reversing frames on the crouch itself as basis for the standing animation. I don’t have the result here but, suffice it to say, it looked real silly: The hair and cloth, which naturally trailed behind on the crouching animation, would instead rise up to anticipate the standing. Real silly. However, the hair and clothing were the only real problems: The actual motion looked pretty good. So I just went in and redrew the hair and cloth, with the result you see above.

Now, it turns out that this didn’t work quite as well as I’d hoped in game. The little bounce before she rises looks nice here, and gives a sense of anticipation to the motion, but had two unfortunate effects in game: First, it is a long lead in to the important motion of standing up, and gives a feeling of poor responsiveness to the game controls. Second, the visual effect of the crouching bounce followed immediately by the reversed bounce at the beginning of the standing animation was, ah, somewhat unsavory. Thus, I cut the first few frames of this animation, resulting in something perhaps a bit less deliberate looking, but much snappier and with no unfortunate visual implications.

Third item: The Crouching Start

EveRiseRun01

I almost didn’t even bother putting this animation here since the point of interest is just two frames, connecting the crouch to the run. I was originally planning on more, maybe four or so, but then I found that since the run is fairly close to looking like a leap from the crouch as-is, just a couple of frames easily filled that transition. It could be that another frame or two could make this look nicer: I’ll see if it needs anything when I get a bit closer to finishing this entire animation suite.

So that’s all of the animations themselves. I’ve been going in afterwards and importing them all into the game’s animation format so that they play in-game. My animation code is actually a complete clusterfuck. but since, once it’s done, all I’ll need to do is load in the alternate animations I’m not sweating it too much. In other words, it doesn’t matter if it’s garbage code as long as it’s garbage code that works and what I don’t expect to ever have to revisit.

Next week is mostly going to be a programming week, where I go in and revise the motion code so that she moves in a much smoother motion across terrain, so that she doesn’t jump weirdly from animation to animation because of unevenness in that terrain, and generally just feels better to play. If I make good time on that, I may also start developing attack animations before next week’s update. We’ll see!

negotiation

I’ve been feeling really tired. I’m not sure whether it’s the weather, shakeups in my day-to-day life, or just another goddamn random mood swing, but right now it’s hard to get the things I want to do and need to do done. This doesn’t worry me, exceptionally, because I’ve gotten through worse funks than this one, but it is worthy of being addressed.

It’s important to me to keep this blog running, but right now it’s incredibly difficult for me to maintain the format I’ve had going before. Trying to put together 1000 cogent words each Sunday to describe in analytical detail some aspect of the process of making or of playing games, while deeply rewarding, is something I’m not sure is within my grasp right now.

So I won’t.

Instead I’m going to be doing something else. And, to be honest, I’m not exactly sure what it’s going to be. Basically, while I can commit to writing on the same schedule I have been, I’m not sure I can commit to the same degree of discretion and restraint. This isn’t necessarily a bad thing: Indeed, as far as I can tell, my less academic and more emotional pieces seem to get more readers – interpret that as you will.

If there’s one thing I’ve had to learn to do to be consistently productive, it’s to negotiate with myself. I’ve learned through hard experience that it does me no good at all to set myself lofty goals only to get depressed and shut down when I fail to achieve them on the first go: The lofty goals are fine in principle, but I really have to accept that those goals are lofty and I won’t necessarily reach them right away.

“Here’s what I want you to do,” I tell myself, rattling off a list of tasks that need to be done, either on my game, on this site, or attending to other necessities. I usually tell myself this when I’m feeling pretty good, ambitious, high energy, caffeinated, so I respond “Can do, boss!” in that chirpy happy attitude I’ve learned to loathe deeply over the long years I’ve worked for myself.

However, when I come in to work, the next day, or the next week, or the next month I’m feeling less wonderful. “Jeez, I dunno boss” I say, in that sniveling attitude I have come to dread of myself over the long years of my servitude, “I’m feeling pretty tired. Do you think maybe I could take today off?” “Well, ” I say, “I know and you know that you deserve it, me, but if I give you today off then what if you still feel lousy tomorrow? Shall you take that day off as well? And so on, and so forth, until we are eating pork chops from the dumpster behind an Olive Garden?”

Well, I’ve got no answer to that, and just sit in the corner and sulk. Thus, taking pity, I say to myself: “Here, me, I’ll tell you what: I had you scheduled to work for four hours today, but if you could just work for one, maybe two if you felt good about it, then we’ll have still made some good progress, you can get back to whatever the hell it is you do when I’m not watching, and we can hope for better progress tomorrow.”

And that, boys and girls, is how blog posts get made.

How practiced I am at this skill, at managing my motivations and expectations, my ambitions and enthusiasms, is the main determining factor behind how much I can achieve on any given day. Being able to gracefully give up the ground I cannot keep, and then aggressively reclaim it when I am feeling more capable, is what has allowed me to progress this far. Being tough on myself, but fair, and understanding, allows me to march day after day, even if on certain days I can only march a few steps.

Slow and steady wins the race is what they say, and while I’m sure that fast and steady would be preferable I am forced by my own personal reality to live those words. Maybe, if I practice being steady for long enough, I could manage to maintain that steadiness while keeping a fast pace: Or, maybe, in the future my environment will be structured such that I no longer need to maintain this kind of strict supervision over myself and there will be others around to keep me honest. Maybe, maybe maybe: For now, concessions must be made.

And, for now, the first concession: I’m going to write whatever I want for a while.

This could be fun.