Archive

Monthly Archives: November 2013

EveHeader

This is going to be a short one, both because I’m really tired and because there’s not a lot to report. Work has been steadily progressing on migrating to Haxe/OpenFL. All of the compile errors have been fixed now, and I’m working through the fatal run-time errors. So far, most of these seem to be careless infinite-recursion errors I’ve caused by accidentally having functions call themselves by roundabout ways, most often caused by some sloppy rearrangement around the Haxe getter/setter function syntax.

Once I get this built and running, it will be time to start adding the tools which I’ve been procrastinating for so long in adding to the project. The tile data, detail, and map editors are all mostly functional but need a bit of work, but the entity editor, likely to be the most complex, is still completely un-developed. That section of the code will probably be the next I tackle.

Advertisements

TombofGiants

I would almost say that fear of the unknown is the only real kind, but that seems difficult to defend. Certainly, the fear that the guy who told you he would cut your arm off at 3:15pm next Tuesday will definitely do exactly that – this guy being famed, far and wide, for his punctuality and efficacy when it comes to scheduled mutilations – would be a very reasonable (hypothetical) fear, and I think most people would feel it under those circumstances. I will go so far as to say, though, that fear of the unknown and fear of the known are two emotions so wildly different in tenor as to make it absurd that we would call them by the same name.

I’m not even sure that a known fear is exactly fear, though, or that it remains such. Certainly, at first, the idea of having an arm cut off is terrifying. However, as you have time to reflect upon the inevitability, you can resolve yourself to it. You can begin to plan for your new life as a one-armed person: Cancel those piano lessons, order a left-handed mouse, join your local ‘The Fugitive’ re-enactment club. As you think about it more, the mystery drains away, and while you’re certainly not looking forward to it, it becomes easier to regard the loss of an arm as more akin to a scheduled surgery than an unjustified mutilation.

It will hurt though. Like, a whole lot – but I digress.

Let’s talk about uncertainty.

Let’s talk about dread.

Let’s talk about the fear of the blank white page. Let’s talk about being scared to watch the last episode or fight the final boss because you don’t know what you’ll do with your time afterwards. Let’s talk about staying with the job you hate because you don’t know what you’ll do with yourself if you don’t have it to go to every day. Let’s talk about why not all slaves want freedom. Let’s talk about why people get angry if they’re forced to think they might have made a wrong decision.

Our image of the world is of paramount importance to us. Our symbolic representation of our environment is what we base all of our decisions on. Whenever something disrupts that structure, the ground moves beneath our feet and we start barking like dogs. Uncertainty goes beyond mere fear. It becomes painful, almost physically painful, to be uncertain. It cripples productivity and mental health.

Uncertainty underlies anxiety, emerges when we are uncertain of our environment and our future.

Uncertainty underlies depression, emerges when we are uncertain of ourselves and our place in the world.

Happiness is doing things that you believe need to be done and seeing the results you expected emerge from your actions. If you’re forced to do things you have no interest in, you will feel shitty. If you get results contrary to your expectations, you will feel shitty.

This is what games are. This is what games offer. They give us a place where we can pretend we’re doing things that need to be done, and where actions are promised to always produce a consistent and expected result. This is what we crave.

The more we reinforce that brick building, though, the heavier it is when it falls.

tomodachiI’m not sure what to say any more. I want to say something new and insightful, something beautiful and deep. I want to riff on an idea, to take it and transform it and expound upon it, want to pounce on something we’ve been taking for granted, excise it and expose it, explain it, define it.

Or maybe I want to say something funny, something clever. I want to draw an unexpected comparison between two apparently dissimilar concepts and evoke amusement. I want to take a picture that illustrates an idea and then caption it with something that recontextualizes the image in a manner both unexpected and droll.

Perhaps I want to be honest, want to expose my insecurities, to describe what I’m scared of, what I hope for, try to seek or share some degree of common humanity with the rest of the world. I want to show that I am human, but with perhaps an emphasis on my own quirks and idiosyncrasies, and build a bridge of common-ground differences between us.

I don’t know. I’m tired. I think I want to want to write something new, now. I want to find the place that I don’t know where to look, and I don’t know where to look to find that place. I’d like to expand beyond my comfort zone, but honestly that makes me kind of uncomfortable.

I want to know whether I’m writing for me or for you.

I want to know whether I’m writing for the past or the present or the future.

Actually, maybe I don’t.

Maybe I don’t care whether I say anything insightful, incisive, cutting and clear, cunning and clever. Maybe I think that all of that boils down to sophistry, games we play with words, insignificant and self-indulgent. Maybe it just appears to have significance because that which it commentates upon appears to have significance. Maybe the chain goes on forever, a who-gives-a-fuck pattern of irrelevance, pompous jackasses all the way down..

Maybe I don’t care if I’m funny. Maybe I suspect that the scope of humanity which happens to share a sense of humor with me is almost vanishingly small, and most of the time my effort is wasted. Maybe I’m not sure if I can be amusing consistently enough to make it a worthwhile pursuit.

Maybe I don’t give a shit if what I say is the truth. The truth is not a monolith, it comes in many pieces and the shape of those pieces shifts and melts like chocolate when they are held too hot and too close. A truth today is a lie tomorrow, and pretending honesty only makes you twice the liar in the long run.

Maybe I don’t know if there’s anything new under the stars. Maybe it isn’t important to me whether there is. Maybe the extent of the future is constrained by the past and my capacity to see what exists beyond myself is constrained by my many years of habitual self-ness. Maybe it’s not important.

I don’t want to know how stupid I am.

I don’t want to know how irrelevant I am.

I just want a moment in time where I know who I am, and what I’m doing, and why.

Which is probably too much to ask.

EveHeader

I have remarkably little to talk about this week. I’ve been putting the hours in, but they’ve all been towards porting existing code into Haxe. At first, I found this task tedious and demoralizing, but as I get deeper into it I’ve started to enjoy it. For one thing, it’s fun to look over my code and see all of the clever things I did. It’s fun stripping out the clunky structures necessary for AS3 and replacing them with the much more streamlined code that Haxe is capable of. It’s fun to notice and fix minor errors that have been sitting latent in long-abandoned sections of the code base. It’s fun to note down improvements to make once I finish and get it compiled, ideas for the future. Most of all, it’s fun to make steady progress every day, without having to worry about the little herky-jerky steps necessitated by having to figure out each problem as it comes.

Other than that, though, I don’t have a lot to say. I’m still hoping to get post-processing effects working at some point, either by targeting a C++/OpenGL build from Haxe and using hardware shaders or, more likely, trying to just harness the increased speed of the platform to do the most efficient possible per-pixel operations. We’ll see.

Of course, this is the calm before the storm. Once I finish porting I’m probably going to have to stomp out a number of small bugs introduced by mistakes I made, and there’s still a ton of work to be done on the editors, and sections of code will need to be completely rewritten to use the new APIs, and saving/loading will need to be thoroughly tested to make sure it didn’t break, and so on, and so forth.

Still, in the moment, I’m having fun.

617px-Moneyfrog

The problem with money is everything starts being about money. A common unit of exchange becomes more common, and its meaning begins to supersede all other meanings, conflates to a number that tells you everything you need to know about an activity, product, or person. Anything without monetary worth is worthless and, because time is money, not worth your while.

Financial failing becomes moral failing, a background ad hominem justifying derogation.

If you’re so smart, why aren’t you rich?

Money, the concept of money, it feeds itself with itself. Those who have wealth have everything to gain, psychologically and materially, by maintaining the myth that money means everything. That myth means they are not only materially more powerful than others, but that they are so because of an innate virtue, that their conquest is manifest destiny.

The problem with money is that having lots of it makes you wealthy, which gives you a vested interest in maintaining the supremacy of money as a measure of worth. Having none of it makes you invisible, and powerless to fight against the same – as well as tired, hungry, and with inadequate health care. If you want to survive, you best start worshipping at the altar of money, because love and fulfillment and happiness don’t pay the bills or feed the kids.

If you can’t pay the bills or feed the kids, you are a bad person by the moral standards of money. You have done something wrong and are being punished by god for your sins. If wealthy people universally deserve their wealth, and the comforts that wealth brings, then it only follows that poor people deserve poverty, and whatever discomforts, dangers, and deaths that may accompany.

The point is, practical solutions become cultural movements, and conveniences shape the way we view the world. The point is, the more we automate and abstract, the easier it is to feed us lies about where our lives, and the systems that enable them, come from.

Monetary success is not a measure of value to the community. This should be obvious, but the reversed assumption is built into so much of the way we talk about money. Wealthy CEOs are tautologically declared to be worth their exorbitant salaries because the market is willing to pay that much because they must be worth it because look at how much they make… And so forth.

What about me? Where do I lie in this?

I’m sick of worrying that people think I’m lazy, incompetent, or morally weak because I haven’t made a lucrative career out of my skills, of being told “if you just worked harder” or “if you don’t like it get a real job”. I’m sick of seeing people disrespect artists solely because it’s a traditionally underpaid field, seeing them called greedy for charging enough for a piece to feed themselves for the time it will take them to create the piece. I’m sick of seeing good writers and developers worry that they’re wasting their time and their lives because they aren’t receiving the monetary rewards that, we’re told, are synonymous with success.

I’m sick of the idea that we shouldn’t put resources into feeding or sheltering the poor because that might incentivize poverty, or punish it insufficiently.

I’m sick of worrying about what might happen if I actually get sick.

I’m sick of not knowing what to do about any of it.

I’m sick of being poor.

CarAnatomy

When we control something we become it. When we steer the car we feel the texture of the road and adopt its dimensions as our own, and feel the tiny scrapes and impacts that scar her surface in our teeth and neck. We are our vehicle.

It’s strange. When, in our evolutionary process as a species, would we have the opportunity to develop this skill of becoming? Few human beings, until recently, had either the need or the means to occupy and control an object, a vehicle, an avatar.

We start at one degree of removal, though. We start off loosely fit inside our skulls, controlling our bodies from an intimate distance, and slowly learn to shape our minds into our limbs, to crawl, to stand, to run. And we experience the same process when we control something else: We are born anew. Stomp clutch, release slow, jerking, heaving, release slower, smoother, start, roll forward, move, free, fast, forever. A new body, of steel and wheels, of bits and bytes.

These kinds of rebirths are becoming trendy. A new genre of games with challenging and absurd control schemes has emerged, facing us with the tremendous and understated complexity of everyday tasks. It’s easy to never imagine how difficult standing and walking, grabbing and throwing, talking and tasting really are. We learned it all so long ago.

That doesn’t mean we’ll never forget. People have forgotten. The sharp impact, the blood clot, the degenerative disease, they all lie in wait, and any one of them could be the paper shredder to our instruction manual. Any one of them could reinstate the distance that we pretend doesn’t exist between ourselves and our bodies, make us guest rather than host.

It’s strangely easy to become unstuck, to become distant. Even though the brain is housed in the body, the mind sometimes floats loose on a tether, and watches at a distance as the body lives its life. This is why ghosts: This is why souls: This is why afterlife: Because it doesn’t really seem like a person is one entity when you’re that person, does it?

The brain isn’t the mind, really. The mind is a process that’s being played out on the surface of the brain. A novel isn’t the pages or the ink, it’s the words. A painting isn’t the canvas or the paint, it’s the light playing off of them and being seen. There’s nothing mystical about these processes, really, but they are discrete from the medium which enables them. So too with our minds.

That is why we will always be distant from ourselves.

EveHeaderI’m not quite sure how this week happened the way it did.

I started looking up methods of doing rapid pixel calculations in Flash, and from there I found Pixel Bender. Pixel Bender is a fragment shader language that, as I understood it at the time, compiled to machine-code, making it run much more rapidly than other per-pixel operations in Flash. This sounded like a dream come true, to me, not only as a solution to the particular problem I was then working on but as a way to get the kind of post-processing shaders into the game which I’d wanted for a long time.

I spent a couple of days experimenting with Pixel Bender, learning it, and building an environment to test shaders out in, before I found out that the Flash environment had been revised such that Pixel Bender shaders no longer ran in machine code and, as such, currently ran at 1/10th the speed that many had come to expect. Explanations as to why have not been forthcoming, aside from a vague suggestion that it was due to some manner of security issue. Adobe has no intention of revising Flash so that Pixel Bender shaders run at full speed.

This frustrated and upset me, and brought certain questions to mind: Why am I still working on this platform? Might I be better served by moving over to another, where I have more power and technical freedom? Why am I working so hard to get the most out of a platform when the owners treat it so flippantly?

Well… I still don’t know any of the answers, but I didn’t want to keep myself chained to a platform at a point where the developers of that platform had set a precedent of actively sabotaging its capabilities, even if, as yet, only slightly. Thus, I’ve decided to port the project over to Haxe. Haxe is a multi-platform open-source language. I can publish from Haxe to Adobe Flash/AIR, the same platform I’ve been using all along, so most of my code should work just fine once I edit it for syntax. In fact, for whatever reason, Haxe’s compiler seems to produce much more efficient code, making a difference of about 10 frames-per-second in my graphics test program (originally developed to experiment in Pixel Bender). Also, since it can target multiple platforms, if I need to switch over to something like C++ and OpenGL, either during this project’s development or enhancing the engine for use in future projects afterwards, I will be in a much stronger position to do so.

As to what originally brought me to Pixel Bender, then to Haxe, I’ve tabled the collision detection item for the moment. When it comes to whether I can start implementing post-processing filters… I’m not sure. I’m going to have to experiment and see what works. I was hoping that the change of platforms might make this easier, but since I’m still stuck with a lot of Flash’s API’s so I’m not sure how much I can do.

It’s pretty frustrating. Oh well.

While I was figuring all of this out – there was a lot of decision-making process I’ve glossed over here – I started thinking about the title of the game. Again. It seemed to just make sense to, when I’m having to redefine something as fundamental as the code it’s written in, go ahead and finally change the title, something which I’ve been meaning to do for a long time. The reasons I felt this way were somewhere in between pragmatic and symbolic, having properties of both but resembling neither. It just seemed like the right time. And, just on cue, by which I mean after several hours of brainstorming, a title arrived.

I think this is probably the one.

Everending.