WordPress hacked!

Well it didn’t take long for my WordPress install to get hacked, three months! Despite the fact I was using no plugins and was up to date… my WordPress dashboard was missing its CSS, and when I looked at the php that was generating the CSS, it seemed to be eval’ing some alarming looking oct code. As was every single other php file in the directory. Boooooooourns.

Only took me… two hours to reinstall, restore my backups, and generally feel happy I don’t normally do web development. If someone hacks my game… well they just earn bad karma. :D

I also completely forgot what blog post I had in mind to write when I went to the dashboard. Hopefully it’ll return soon!

Easy Peasy Changes

After silently complaining to myself about how my flowers were being rendered, yesterday I decided I’d had enough. I was previously generating a rather complicated mesh for each flower PETAL, and then compositing them all together into a flower draw call. Thousands of vertices for a flower that is at most a quarter of an inch on a retina screen. Should be easy to change it to just render a few textures instead. Eeeeeeasy peasy!

Of course I then had to change how every single texture in my game is rendered to get the layers to order correctly, but each time I jump through hoops with my renderer it gets both a little bit leaner and more general. That combo is not how coding usually goes, so that’s satisfying in its own right, but it did take significantly longer than the actual change that kicked it off.

So I’m now using hand drawn petal textures (my awful programmer art Inkscape skills are getting better!). My plan is still for them to be procedurally generated, but currently things look a bit fancier and I added a little nectar indicator which makes gathering more satisfying. A delicious slurping noise would really help though… seems easy peasy enough…

Doing It Wrong

When I’m programming, or drawing generally awful cartoon bears:

I frequently tell myself “this is not the correct way to be doing this”. And I’m always right, it is not the correct way to be doing it. There’s always a way it could be faster, more elegant and cook me breakfast in the morning. And the real problem is, our always available friend ‘the internet’ (you should see it after a couple drinks!) always has an idea about how to do it better. But this path leads me to never doing anything, as you can always be reading about how to do it better.

So, I do it wrong. And most of the time it works for now, and if I need to do it ‘right’ later, I do it slightly less wrong the next time. Progress!

All my best ideas happen in the shower…

There’s something about the shower that is good for thinking. Maybe it’s the absolute lack of distractions. Maybe it’s the hot water (cold showers: not so good for thinking), maybe it’s the soapy suds, but inspiration seems like it tends to lurk behind shower curtains.

All this to say I had a better idea about how to control the evolution of the flowers in the shower! I’m now implementing it, which is slightly harder than it seemed in the shower, but I think it’ll work out.

Thank god I have lots of hot water.

Audio Week!

People who worked with me at EA knew I had a special place in my heart for audio. Whether it was internally developed, from a licensed engine or third-party middleware, audio generated way more bugs than I would hope. It became something of a running joke where people would come to me for a crash they were trying to figure out and my immediate answer would be “Probably audio.”

All this to say! I’ve been spending a few hours trying to setup the audio bits of my engine. As I’ve already invested a little bit of time not getting too locked into using iOS specific features, I decided to try my hand at using OpenAL for my audio needs. Unfortunately Android and some other very distant porting goals don’t actually support it. Instead, they seem to be going with OpenSL, which seems to have been created with the rationale that mobile devices couldn’t support OpenAL. Except that you know, iOS already supports it. Boo.

Luckily it was pretty easy to get up and running with OpenAL. Sounds are loading and playing on all platforms! 3D positional audio seems like… substantial overkill for what I have in mind, but it’s nice it’s there in case I ever want to use it.

Oh Aeron…

The standard issue office chair at EA Montreal was something strongly resembling the infamous Aeron chair, notable on Wikipedia for being associated with dot-com excess. But man… sitting in my wooden chair of unknown origin for more than a few hours and I think my spine gives up and conforms to the distinctly non-ergonomic shape of the chair. If I keep working from home for long enough I think I’ll have to invest in a significantly comfier chair.

Now back to realizing why I’m not an artist… :)

(not) Working From Home

A quick look around the internet and you can come across a wide variety of people relating their experiences with working from home. The first month I was working, I’d say I was pretty much exactly as productive as I would hope. I was working more days than not, making solid progress every day.

And then my house-guests came… and it’s safe to say I haven’t done anywhere close to as much work as I’d like to.

The interesting part to me is that I probably still had the same amount of ‘possible’ work time during the week, it was just broken into smaller chunks. Which actually made it so that I was not doing anything at all. Some things work better in small manageable chunks, but programming is not one of them. I’m starting to realize I need a few hours at a time to actually make progress. Sometimes an office doesn’t look so bad… :)