EveHeader

SnowflakesTest003It’s been a pretty mixed week, all told. I finally got the particle system all ironed out, (that’s good), but it turns out that the caching thing doesn’t work as well for mass particles as I’d hoped, (that’s bad), but it will work very well for more advanced particle effects with fewer particles, (that’s good), but I’ll have to devote some extra time to retrofitting it to work with several different display types, (that’s bad), but after doing that I should have the best of both worlds and probably about the best particle system feasible in Flash.

That’s good.

I’ve also been redoing my basic player interaction code, all of the stuff that deals with movement and terrain interaction. This is a frustrating part of the project to be working on because the collision code has been a major sticking point for me in the past and has derailed me for months at a time before. I have to admit, I’m still not a hundred percent sure how I want to tackle this issue, but figuring that out is my main task for tomorrow. I think this being a difficult problem for me is just something I’ll have to deal with: I have to accept that I can’t dive straight in, and I’m going to have to be okay with taking a day or two to feel my way around the problem and come up with a plan before I actually start writing code. I’ll try to think of other things to work on for the project in the meanwhile so that I don’t lose momentum.

Actually I have been working on one such thing! I started, a few days ago, putting together a list of the different music tracks I would need for the game, basically just breaking down how much music each section of the game would require along with a few notes about what I thought might work well for each section. At the same time, I started pulling together a bunch of music from my library to use for reference, songs which I either think suit the tone of the game overall or have a few particular elements I’d like to study when writing the soundtrack. Finally, after a few hours of this, inspiration or possibly boredom struck, and I decided to take a crack at writing intro music for the game.

I really like the sound of this track, but it’s a bit too complex and intense for the intro theme I was planning on using it for. I actually have plans for how to address that, but since I’m such a secretive little guy I don’t feel like discussing them just yet.

Overall? Not a bad week, despite the frustrations. Bits of progress here and there, all adding up to something, probably, someday, somehow.

That’s good.

inception

“I don’t know. Why do things happen as they do in dreams?”

Things are a bit confused. Things start blending together. I’ve been sleeping a lot.

I remember at one point I was hanging out at one of the community colleges which I used to attend, and ventured into an old and by then largely-unused electronic music lab where I experimented with the equipment and recorded a little tune which I rather liked: Kind of fast paced, heavy on the percussion and bass, a bit different than the stuff I normally record. I went ahead and dropped it onto an audio cassette, and every once in a while I uncover it again and give it another listen. I’d convert it to digital and link to it here if it had ever actually existed. I usually only remember it when I’m dreaming, and spend a while in the dream trying to remember if it was real or not, and usually in the dream it turns out it was, which it isn’t.

Probably. I think. I’m pretty sure.

Games are so like dreams. I think that’s why I like them– games, that is, though I suppose it could be the other way around. We’re in these profoundly cold and uncomfortable seeming places but are still wrapped in the comfort of a warm blanket in a dark room, and external sounds bleed in around the edges of our experiences to influence them in uncanny ways. Microwave beeps and shuffling and coughing and television watched in the next room sneaks into our games the way the howling of coyotes in the desert found its way into my dreams when I was camping with my dad as a kid, a weird kind of background music to whatever drama unfolds therein. The big difference, I suppose, is that because dreams are so malleable they tend to end up embracing all of these influences and integrating them. I can’t remember what form the howling took in my dream– it was a long and strange story, and the feeling of waking up to realize that the sound of my dream had followed me into the tent has stuck with me, but I can’t remember the story itself.

Some people will tell you the story doesn’t matter if you can’t remember it, but we forget everything eventually. Even if the story we are told or tell ourselves is immediately soaked into our fabric without a trace, it’s still there, it has still changed our composition, and whatever we compose in the future will bear its traces, if only ever so slightly.

Some people will tell you that a bad story is worse than no story. They are half-right. A bad story is better than no story at all, but just as nature abhors a vacuum the human mind abhors an absence of narrative. Given a world with no story, well, we will tell a story to fill it. Given a series of unconnected experiences, we will thread them together.

The holes in the story we build around the experience will be filled by the howls of coyotes, the muttering and laughter of our friends and family, the flushing of toilets and the subtle rhythm of our own heartbeats. And, though we may misplace the thread we use to bind these experiences together, it’s always there to be found, in the corner of an abandoned library you visit once a year when you dream about your grandparents’ house– no, not the real one, the one that’s bigger and stranger, the one that extends into five dimensions, the one where the wallpaper climbs into the ceiling and out through the sky and you are worried that if you touch the walls for too long you might be washed up it and out into space like a spider down a shower drain. That one.

It’s there.

If we shadows have offended,
Think but this, and all is mended,
That you have but slumbered here
While these visions did appear.
And this weak and idle theme,
No more yielding but a dream

Onions

Art in general and games in particular have an uncomfortable relationship with discomfort. People don’t like being made uncomfortable– at least, not when it’s called by that name. Really, though, discomfort tends to come hand-in-hand with novelty. Anything that’s new and unfamiliar makes people uncomfortable, if only slightly, until they have a chance to get used to it and come to understand it. And, following that thread, novelty comes along with learning: You’re only really learning if you’re processing new information, even if it’s just an extra tiny facet of something you knew, each facet contributes something to the whole. And, as Raph Koster argues convincingly in his book A Theory of Fun, the fundamental activity that makes most games fun is learning.
Thus, to some degree at least, games are designed to make us uncomfortable.

This isn’t really that counter-intuitive. Much game design literature talks about how to challenge the player without frustrating them– largely a matter of the degree of challenge and how it is presented. It is considered desirable, though, to try to minimize frustration, to minimize discomfort, in particular that frustration and discomfort which isn’t a direct result of the challenges the game proffers– or, more precisely, the challenges the designer meant for it to proffer.

Read More

EveHeader

Ugh, what a week. Like walking through a sea of mud.

Not to imply that I haven’t gotten anything done. I’ve been working fairly consistently all week long, and in the moment it always feels like I’m making good progress, but the moment I stop working all of the individual tasks I’ve been working on melt together in my mind into one undifferentiated mass of ‘work’. It makes it very difficult to say what I’ve achieved. Fortunately a side effect of this, particularly in combination with weekly DevBlogs, is to provide a solid reminder to do weekly commits of my code, as I look through the visual comparison to see what I’ve done so I can keep the world apprised as to my progress.

Maybe there’s another reason we see so many games about amnesia.

Nevertheless, I think that the cached drawing stuff I’ve been working on for the last couple of weeks is more or less complete. There’s probably still a bug or two left to bite me in the ass sometime over the next couple of months, but I’ll take care of that when it happens. I’m just getting reallll sick of working on this component now. Hopefully just a few days will be all it takes to update the particle code to use this stuff– remember, the particle code that started me down this rabbit hole? Yeah. Ugh.

The good news is: The new code is cleaner, the new code is easier to use. There’s some nasty hairy stuff in there, but it’s all hidden in the guts of the code, and as long as no unforeseen bugs make an appearance the overall usability of this stuff should be pretty great. Since this is code I’m going to be using over and over again for basically every visual element of this project (and quite possibly future projects as well), that is a good thing.

I’m pretty sure this all was time well spent, I’m just really tired right now and I wish it had taken less time than it did. Oh well.

ImprovedDetails01

vtmbI’ve always been interested in the idea of a horror game where the player is the monster. Though not generally regarded as a horror game per se, in the party game Werewolf the players each take on the role of a villager or, in a few cases, a werewolf. The game takes place in turns: Each ‘night’ turn, the werewolf or werewolves pick a villager to be devoured. Then, during a ‘day’ phase, the players (including the werewolves) try to determine who the werewolf is, cast votes, and ‘lynch’ the most likely suspect, who is then out of the game. Imagine, for a second, this basic premise in a video game: You are both hunter and prey, and any word you say could seal your fate, whether that’s to be devoured the next night, be lynched by your ‘friends’, or to escape to kill again.

Monsters have as much or more to fear as anyone. Even two-ton piles of bone and muscle and bloody fur can be hunted, can be killed. It’s like with spiders, see: It’s as scared of you as you are of it.

I fail to see why anyone who knows anything about the way animals react to fear would find this reassuring.

In Vampire: The Masquerade – Bloodlines you play, as one would surmise, a vampire. You are a super strong brick of face stomping blood-sucking badass with magic powers. You’d be surprised at how little that counts for when you’re investigating a hotel haunted by the ghost of a murderer, or navigating a labyrinth inhabited by abominations crafted of human flesh by black magic, or maybe just trapped in a mansion full of lunatics with knives. And, of course, even when merely wandering the streets looking for a bite to eat, you need to worry that someone, somewhere, is going to see something they shouldn’t have– and maybe it won’t be long before they start coming to hunt you.

Much of the appeal of VtMB is in its wonderful writing and voice acting, its beautiful art design, but what I’ll always remember is the running. Weeks after I played this game, I had dreams of running through a crowd, being pursued or pursuing– It’s easy, sometimes, for the line between pursuing prey and being pursued by hunger to become lost, insignificant. This is a game that gives us an opportunity to be something more and less than human, something grand and dark and terrible and grotesque.

Horror doesn’t just need to be about fear for our physical well-being: How much more terrifying is it, do you think, to fear for our very identity? To fear that we will become something we aren’t and come to defile everything that we thought we were? To fear that those we love, those we left behind when we changed, will see us as we now are?

Oh yes. That’s something to run from.

Inception

wallpaper-inception-film-2010-1920x1200

The plot of Inception revolves around a group of specialists who invade people’s dreams to steal ideas– or, in this case, to plant an idea. This is a story entirely about crafting a world for an audience in such a way as to elicit a specific desired emotional reaction– and what a powerful and unnerving journey that can be for the creator himself.

We make our games to achieve similar but less-specific ends, and without as much information about our audience or as much direct interaction from our end, but the methodology feels similar. Unlike other ‘created reality’ films such as The Matrix, this film tells things from the world architects’ point of view and puts us in the position of thinking about the processes they use to achieve the desired emotional manipulation. The false world is not the product of some mysterious other, but of an interaction between human beings, albeit a strange and mystical one.

Ultimately, the movie leaves us with questions that maybe strike a bit close to home. After spending so much time creating, can we artists come back to the real world? Do we want to?

Kaiji

GyakkyouBuraiKaijiKaiji is a Japanese animated series about a young man who is forced into gambling in order to pay off a debt foisted off onto him by an irresponsible co-worker. As the series progresses, the stakes get higher and stranger and Kaiji gets more and more addicted to the thrills and uncertainty of gambling.

Kaiji is a clever character, and always comes up with some way to game whatever system he is presented with, but also often overestimates his own cleverness and is caught out by the tricks of others. The games at first seem like simple games of chance, but there’s always some strange angle to them which he tries to take advantage of, with mixed success. Unpredictable effects emerge from the simplest rules, and the path to victory is often distant and obscured– but there’s a world of difference between a game which is difficult and one which is impossible, and the insight to see which is which can be the difference between life and death.

Games are powerful and can influence our worlds in way we can never foresee. It can be difficult to escape once you have heard the siren song. Sometimes the only winning move is not to play– or is that just fear talking?

Memento

memento

You’re alone in an unfamiliar room. Explanations pop up wherever you look telling you where to go and what to do, what your motivation is, why your life is strange and unfamiliar. In Memento, Guy Pearce basically plays a man trapped in a video game tutorial.

It’s unusual and perhaps worthy of comment that two movies that found their way onto this list were created by Christopher Nolan. He seems to have an affinity for characters who find themselves in strange liminal worlds where their existence and behaviors are not quite explained. Everyone has days like that, right?

In the long run, we end up constructing our world up around ourselves and planting signs to guide our way through days like those. It’s uncommon for games to allow players that leverage, but we’re beginning to see the possibility, crude as it may be, in games like Minecraft and EVE Online. Usually, though, as designers we construct the world for the player, and we make the signs to guide him on his way.

How strange, then, that we create signs to mislead him: How much stranger, then, when he creates signs to mislead himself.

The Wire

the-wire

While you create a system, it can be difficult to see how it can go wrong. For a system with many players with distinct and contradictory goals, this difficulty is amplified, and as the number of players increases the amount of chaos and the potential for unforeseen results reaches a statistical certainty. It’s annoying when it happens in games– it’s deadly when it happens outside of them.

Everyone in The Wire is part of a game of laws and drugs and politics and public relations– any one of these underworlds on its own would be a byzantine shit show, together they are the world-class cacophonous bullshit disaster of Mayan prophecy.

And yet, caught in the maelstrom, cause of and affected by it, there are people. Each, in his or her own way, is being ruined, degraded, and dragged through the dirt by the system, and each in his or her own way works to sustain the system because it’s what they know. In a way, it’s a relief to know that no matter how bad we crap up our game worlds, they’ll never be Baltimore.

Amen.

Groundhog Day

If at first you don’t succeed…

In our world, we don’t get do overs. If we fail, we may encounter similar challenges later on, but that failure lives into eternity– which is sometimes terrible, but is just as often a relief as they fall into forgotten obscurity. That time you were talking to your mom and accidentally called her by your girlfriend’s name will eventually be lost to history. Rejoice, motherfucker. Oops, sorry, too soon?

Game challenges, most of them, remain static. The same hurdles await us, and if we should return to a game that was the bane of our thumbs in our youth we may find it has become much easier. Decades of practice does that sometimes. In Groundhog Day, it’s not made explicitly clear how much time Phil has to practice the fine art of existence, but it’s probably at least a few decades. At first, realizing the new video game-esque parameters of his world, he begins to experiment in much the same way that people do in Grand Theft Auto games. Eventually, however, he decides to harness the power of this sandbox in order to improve himself in ways that he would not have the latitude to do in the ‘real’ world.

How long will it be, do you think, before that begins to happen in the Sandboxes we make? Perhaps it already has…

The Muppet Movie

The Muppet Movie

Making things is wonderful. Perhaps we’re driven to create by dreams we half remember, dreams of flight and fancy clothing. Perhaps we love the creations of others so much that we want to become closer to them, to walk in their shoes, to create as they created. Perhaps we just feel too big, excited, loud, colorful, to be contained to ourselves, and need to spread some of our raucous joy to the world, whether the world wants it or not. Whatever it is, we all find ourselves, driven by such different impulses, in the same place.

Hollywood.

If you want to do it the easy way.

Hollywood is more than a place, here. Hollywood is the ideal of creation. Hollywood is the mythical place that artists and performers travel to through their work, each keystroke a step, each brushstroke a step, each wingbeat, each drumbeat, each heartbeat, a step towards someplace that may not exist but is very real.

Life’s like a movie: Write your own ending. Keep believing, keep pretending.

EveHeader

Well, I have a screenshot…

SnowflakesTest002

Now, the particle effects look a lot better here, and I wish I could claim that that was the product of a week of fruitful labors, but in fact that took about an hour or two the day after the last DevBlog to get working. No, in point of fact, this week has been spent largely in reworking more-or-less functional classes to make them better, more optimized, more flexible, etcetera. The reason for this you can see in the upper left corner: 43 is the current framerate with the particle effects you see there, which is well below my stable 60fps target.

This is interesting work, this is challenging work, this is rewarding work– and it makes for lousy screenshots since, most of the time, it means I’m refactoring classes and can’t even build the program. Sigh.

So what is my actual goal with all of this refactoring, you might ask?

I’m working on a toolset of graphical classes which will be highly flexible and efficient. Using these, rather than rotating images, scaling, and rendering them each frame using Flash/AIR’s software renderer, I’m going to be storing each rotation and scale as a cached image which I can then draw using Flash/AIR’s incredibly fast copyPixels direct blitting method. This also means that I’ll be able to use the techniques that I was using on my level details to apply depth of field and other special effects to my particle effects without huge performance penalties. It will take a TON of memory to do all the caching, but frankly since, as I understand it, I have about a gig to work with before Flash gets wonky and it’s a 2d game where all of the assets that could be on-screen at once are unlikely to add up to more than a hundred megs, I don’t think that will be an issue.

The stuff I’m working on now is actually generally useful enough to anyone working with Bitmaps in Flash/AIR that I’m strongly considering releasing it as an open-source thing. It will probably take a fair bit more engineering to bring it up to professional release standards, and I need to do a ton of commenting and code documentation, but I’m proud of the work I’ve done here and I think some other people may find it useful.

Anyway, continuing on, I think I’ll have this new work re-integrated into my level detail class today, and after that I can get back to the particle effects and get them operational in this new system. At this point I’ll be basically where I was a week ago in many ways, but in a much stronger position moving forward, with a robust bitmap toolset to use for future effects.

Follow

Get every new post delivered to your Inbox.

Join 381 other followers