A Nagging Injury

Torn ligament.Recently, someone told me that I was being a big puss-cake for complaining about my injuries on Facebook. In order to avoid that happening again, I thought I’d just complain about it here. You see, I have to complain to someone and seeing as how I don’t like to complain to anyone, I’ll just do it here. If you’re here to read what I have to say, you’ve automatically waived whatever rights you thought you had to be protected from my whinging.

I’ve always been prone to certain injuries, mostly to my ankles, which are notoriously volatile. Ever since I was about six or seven years old, since the first time I twisted my ankle, I have had to be careful with my ankles. I’ve torn the ligaments perhaps a dozen times in both feet, and with every time it seems to be getting worse. I’m also getting older, which in turn means that I recuperate less fast and I deal with the injuries for a longer time.

The unflattering photo of my foot here was from two months ago, when, while defending a takedown during a Shooto class, I miss-stepped and tore the ligaments in my right foot. It was very painful and I can still hear the muffled crunch of my ankle giving way when I think about it (and subsequently have to stop myself from getting nauseous.) The pain is one thing, but the aftermath is far, far worse.

I’ve been taking it easy, training a little bit but not doing anything crazy; little wrestling, little judo, mostly ground work and stand-up. And yet, even after having had a month of little training and quite a bit of relaxation, it only takes one afternoon of heavy lifting while I help someone move their belongings to a new apartment and I’m back to square one. It’s not like I can’t jump, or draw a short sprint or, you know, do heavy lifting, but it just hurts.

Escapism, Romance and Cowardice

Escapism
I have often wondered why I enjoy a lot of things that I do. Computer games, roleplaying games, books, films; all of these things offer me endless hours of entertainment and delight. I can’t say that I haven’t noticed the pattern of escapism that runs deeply through a large part of my hobbies and also the immediate lack of usefulness that these hobbies present. I don’t teach myself anything immediately applicable by playing games or watching films, I’m not unlocking some hithereto undiscovered talents or honing my vocational skills. Sure, there are many secondary things you might pick up; roleplaying games are all about creative and social problem solving, computer games sharpen the mind and hand-eye coordination and I’m sure there’s tons of knowledge you pick up through osmosis from films and books. (Who doesn’t know how to reload a 9mm nowadays when Hollywood has been such a source of education.) I’m not saying there aren’t benefits but equally, there are more immediate things I could be spending my time on, like redoing the bathroom, work or more direct education. I don’t. It’s exactly my point not to.

Romance
It’s my romantic urge that drives me to do these things. Not the popular definition of romance, but the literary definition of it; an escape from the confines of the mundane to explore the exotic, the unusual and the fantastic. To harness the power of the imagination to envision things outside of the immediate, the now and the pragmatic. To want something more than what is practical and instead to focus on what is best. I’m not a perfectionist by any stretch of the imagination, and most people would consider me more practical than an idealist, but I do have dreams and often fantasise about what I could be given different circumstances.

As a semi-related aside; I’ve noticed a trend among many of my friends in which people are drawn to apocalyptic films, television, books and other sorts of entertainment. The focus always lies in some earth shattering event that unravels the normal social order and thrusts the survivors in unusual and remarkable situations where survival counts on spectacular and heroic feats. Whether it a global zombie infestation, a mysterious illness that wipes out whole civilisations, or a gigantic undersea earthquake that sends a massive tsunami to wipe out large parts of the coast, throwing the world into anarchy, chaos and disarray, it always leads to the same premise; the mundane will perish, the resourceful and unusual will remain. I think a lot of my friends think they have more to offer than their lives are currently making use of. I think a lot of them, including myself, have been feeding on the American paradigm that we are all beautiful and unique snowflakes, or that we are the ugly duckling; that we will all one day be reborn as a beautiful swan, given the right circumstances. That we are misunderstood, underappreciated and that one day something will happen that will allow ourselves to reach our full potential. I’m just not entirely sure why this particular something should be a complete collapse of modern day society, but it seems to be the key.

I am having a hard time imagining this to be anything but a first world fantasy. I can’t imagine anyone who has to wake up every day to a war-torn country, or who lives under the yoke of a dictatorial oppression to fantasise about his life being overwhelmed by zombies. Perhaps they would dream of a great flood that would wipe away the ruling order that oppresses them. Perhaps it’s not much different than what we dream of after all.

Cowardice
We’d all like to believe we’re special and that we’re currently not because the circumstances aren’t right for us to really shine. I wonder why so many of us think that we’ll do better under the pressure of a zombie horde while we can’t even get our shit together when our lives are relatively meek and normal.

I believe that we think the trappings of a normal life — a nine-to-five, a mortgage, the materialist rat-race, raising a family and paying taxes — is standing in the way of greatness. It’s preventing us from being who we really are. The escapist in us longs for a life without these trivialities, without these diversions, so we can focus on what is best, what is right, instead of what is comfortable and practical.

I think it’s an unfulfilled desire to be free from the mediocre existence most of us live in. We want to be freed from mediocrity and be launched into excellence and exception. We want this vehicle to be bigger than ourselves, because we’re lazy. We want it to be an act of God (or Lucifer) because then it’s out of our hands and we’re not to responsible. All that because it’s easier than changing our lives from what they are today to what we really, truly want them to be. We’re too cowardly to take up the charge to change our lives now instead of sit here and wait for a biblical plague to change it for us. We believe there’s greatness inside of us, but we don’t want to be responsible for unlocking that greatness, for setting it free.

We don’t really want to achieve greatness. We’re comfortably numb in our mediocrity and we’d rather dream and talk about this perceived greatness we think we can achieve under the right circumstances. It makes us feel special without having to be special.

It’s like wearing black clothing because it’s easier than exercising.

Measured, Focused Progress

One of the hardest things to with a two-man project that has the scope that Corrosion has is keep the momentum going. It’s easy to get side-tracked with items that aren’t the core of the problem you’re trying to solve. For instance, Robin and I have settled on what the end-game goals are going to be and there are a lot of things to be done before we implement it. crews, PvP, lifestyles, magic in combat, adepts powers, the list goes on and on. They’re all linked, so it’s hard to set priorities and when you’ve set priorities, it’s hard not to get side-tracked by frivolities.

One of the problems we had with the missions map was that certain tiles, those bigger than 32×32 pixels, were sticking out at the right and bottom edge of the map, and that some of those same tiles weren’t showing up properly at the left and top edge of the map. This because we were showing the tiles at 32 pixel increments in each direction, so if a tile was bigger than that, it would either not show up if it wasn’t showed in full, or it would stick out of the edge of the map if we weren’t going to show it completely. It always bugged me and a fix I contemplated for a long time was to cut all the tiles down to 32×32 tiles, and mixing and matching the tiles that were supposed to go together. It was going to be a painstaking and time consuming task so I wasn’t looking forward to it. And the only thing I’d fix were some visual glitches, nothing major and nothing at the core of the mechanics.

Corrosion Mission Map

Then I realised another way to fix the bug and one that I thought wasn’t going to take quite so much time; I was going to hide the overflow of the <div> the map was set in, that would easily solve the tiles sticking out at the right and bottom end of the map. The only thing to figure out was how to make the not fully visible tiles at the top and left side of the map to show up. I figured I was showing 10 tiles on either side of the player, I might as well show a couple of tiles more on the left and top of the player, hide the overflow and that would be that. It worked, hurrah!

But that’s where things got off the rails a bit. That’s where it turned murky and what I thought was going to be a quick fix turned out to be a rather complicated problem to solve. Fortunately, it was going to be a problem I would have to fix sooner or later, so I guess it might as well be sooner.

It turned out, the tooltips I was using to display the information and attack sheets for the enemies and the action sheet for the player, was being contained in the same <div> as the map, which meant that the overflow of those elements would also be hidden. Considering how the tooltips often transcended the boundaries of the map, most of them (if not all of them) got clipped to the point of being useless. I wasn’t too happy with the tooltips to begin with, and I had found a different tooltip type that I had already partially implemented in different areas of the game that I had wanted to use but didn’t really know how to implement in the fluid, AJAX environment of the missions yet. But I wasn’t going to have to do that since I got the ball rolling on the overflow problems with larger tiles.

The other tooltips worked with a javascript mechanism that would go through the HTML after the “document.ready” event and filter out all the designated tooltip-divs, attach them to the top laying <body> element (which means they were no longer contained by the mission map <div> and would no longer be subject to the overflow clipping) and got tied to the mouseover, mousedown and mousemove events of the <div> they were nested in. Pretty nifty piece of work. I was quite happy with it. Until I realised that while moving, attacking, dropping stealth or any of the other actions you could take while on a mission, it seemed the tooltips would vanish. I spent an evening hacking around in javascript in order to solve that, but it would still ocassionally happen that the tooltips wouldn’t reload properly when an AJAX call would come back. It seemed to be tied with the glitch I had noticed for a while that the combat log didn’t always refresh like it should.

Last night, it seemed like I had a good idea on why the combat log wasn’t refreshing like it should. It seems some AJAX calls aren’t handled properly because of browser-caching, and a quick fix was to add a random GET key to the URL in question, making the URL that was called unique, circumventing the caching without too much hassle. (Sure, I realise that a javascript, “randomly” generated 8-character string is anything but random and will probably result in a 1 in 10000 chance that it will happen again, but give me a break!) I haven’t done any extensive testing, but the first signs are optimistic. Let’s hope it lasts.

And so, I come to the point of this big rant; it’s easy to get side-tracked, and it’s easy to let yourself be side-tracked. Self-regulating and self-motivating is the hardest part of  keeping a project like this going, I suppose. Robin and I are intelligent enough to tackle most problems and if we can’t we’ll find a creative way around it, but keeping on the right track and not meandering off course is the hardest part. It’s hard to prevent, it’s hard to detect, and it’s even harder to correct once you detect it. Everything is important — no, everything seems important.

WordPress Theme: Not as easy as I thought.

When I initially published all my old journal content to WordPress, I thought it’d be a nice little project to make my own WP theme. Not just in order to let it blend in with the rest of the website, but also from a professional point of view; WP themes are big business. It turns out that it’s easier than expect, but also takes a bit more time than expected. Initially, I thought I’d hack something presentable together in an evening, but unfortunately that turned out to be a bit more time-consuming than expected. As I’m focussed on Corrosion first, I think I will leave it for another time and just use a clear, simple prefab theme for now.

Website Changes

With the recent Shadowrun: Corrosion project taking up a lot of my time I’ve been looking for an easier, more dynamic way to keep my online journal. Initially, my entire website was just a playground for me to try different bits of code on, coding new ideas and figuring out how new development techniques worked. I created the entire backbone of the site on PHP, based on some (seriously flawed) ideas and it served me well for a while. In the end, the amount of time that went into building new things, keeping other things up and running, and keeping the site up with the times, were taking away from what I considered more important things. So when I was doing some freelance work and got to know WordPress a little better, I wondered why I had put all that time and effort into developing my own Content Management System to begin with and decided that it was best to make the switch. I imported all the old content as best as I could and discontinued the old part of my website. Hopefully, this will free up enough of my time in order to focus more on current projects instead of sticking too much time into old ones.

Anyway, here we are.