HTML5 + Flash (stop with the versus already)

TLDR: As game makers, we should stop arguing about whether to use HTML5 or Flash and use the best parts of any browser technology to make the best games possible.

Just when I thought the whole “HTML5 vs. Flash” nonsense had withered away, a link to this piece of propaganda infographic percolates through my Twitter feed glorifying Flash as the clear champion in the realm of browser-based gaming. It’s no surprise, considering this was created by a Flash game portal, but I am not here to prop up either side of a silly debate. Rather I argue that treating these two intersecting technologies in diametrical opposition to one another hinders us from making the best games possible in the browser.

Flash is awesome.

Ever since the Flex SDK (well most of it anyway) became open-source in 2008, the tools for making Flash games have been available to anyone. You can use any text-editor to write your code and are not required to use the Flash IDE to compile or debug Flash SWFs. There are a wealth of libraries for handling physics and such, good documentation, and some great frameworks designed just for building games.

HTML5 is awesome.

The work being done to push the capabilities of browsers is really impressive. Looking back a year ago, it’s amazing to see how far browsers have come. JavaScript development is trivial, requiring no compilation and minimal tools. Heck, the browser itself can be your IDE. JavaScript has been around for so long and used for so many things, there’s quite a bit code out there to learn from and libraries to use. And work continues — rapidly — to expand the feature set of browsers.

Focus on creating the best experience.

What I propose is that we apply the principles of progressive enhancement to our use of browser technology to create games. We can see this already happening with the use of polyfills to “fallback” to Flash, Java, etc. when a browser doesn’t support a particular feature natively (e.g. Web Audio). This requires a bit more planning and always working with the lowest common denominator in mind, but in a sense we’re working on creating a flexible codebase that ports itself to various platforms, rather than requiring partial or complete re-implementations. I’m not exactly sure how this works, but I’m working through these challenges as I develop Dig Deep Dungeons, since one of my goals is to make the game playable on as many platforms as possible.

Years ago, being disappointed in a lack of gamepad/joystick support in Flash, I built an experiment using Pure Data to convert standard joystick input to Open Sound Control, and piped it into Flash using FLOSC. And it was awesome. We’re so used to thinking monolithically about what we use to make games (Flash OR Unity OR Canvas OR…) we’re missing an opportunity to make really interesting mash-ups in the browser that are greater than the sum of their parts. And we’re denying ourselves the ability to respond to an expanding audience on an array of devices.

Dig Deep Dungeons Update: Stairs and Torches

Work has been progressing on Dig Deep Dungeons, much to my satisfaction. I updated the art assets for stairs (they used to be ladders that looked a bit wrong in the space) and wired them up to create complete dungeons. I had a placeholder lighting engine working that had the right look and feel, but there were a few bugs that prevented it from being usable, so I put in a couple refactoring passes and built a lighting demo. The world is starting to come together. I have begun work on the player character assets which will become necessary for the next phase of development where player interaction will really get wired up in a way that looks and feels as intended (at least for now).

A section of dungeon illuminated by torches in Dig Deep Dungeons.

A section of dungeon illuminated by torches in Dig Deep Dungeons.

Maze of Space

Maze of Space

Today Petri Purho (creator of Crayon Physics Deluxe) released a nifty little game experiment called Maze of Space that has been the best thing to accompany my morning coffee since pastries in Paris. Being a total sucker for anything remotely resembling an RPG, I’m completely biased, but while the mechanics of the game are well-established and reliable, it’s the charm of the visual treatment that warms my heart. I’m actually a bit iffy on pixel art. I think it’s trendy these days and overused, but I can really appreciate the art of using a limited palette and resolution to create interesting characters and environments, much akin to my love of low-poly modeling. In addition, I love the method of making digital things look, well less digital by giving them the qualities of physical objects (realistic textures, etc.). So when I saw how Maze of Space was treating its giant-pixel artwork I was really excited to play it. For the most part, it looks great, with each pixel looking like it was made with a paintbrush instead of MS Paint. But what the screenshots don’t tell you is that this painterly style is accompanied by a headache-inducing perpetually shaking camera. I presume this is intended to give it a stop-motion animation feel, but I think it’s too much. The camera shake for some of the weapons works, but again it seems like it shakes too much. Other issues I would like to see addressed:

  • Enemies can shoot diagonally but the player cannot.
  • Enemies do not move.
  • Hitting ESC quits the game (I was hoping to find a menu with an option to turn off the camera shaking).
  • Needs a save system.
  • Money doesn’t seem to have a purpose (maybe there is a store further into the maze than I have reached?).
  • The only way to see the stats on inventory items is to equip them.

I am fully prepared to throw money at this game when/if it is finished (assuming I can turn the camera shake off). Download the current release at http://www.kloonigames.com/blog/games/mazeofspace.

Quitting

One of the amazing things about pursuing your goals is how your perception of your goals changes during the pursuit. Often the closer you get to something which seems Awesome from afar, the more you realize it is Not So Awesome. I wish I could remember the details, but I recall listening to a radio show about the concept of Quitting, and how we have this incorrect assumption that Quitting is akin to Losing — made worse because it implies a voluntary act to Not Do Something. On the contrary, the show argued that the act of Quitting is in fact giving yourself permission to free yourself from something in your life that is preventing you from succeeding, and how knowledge of The Things You Do Not Want is just as valuable as the knowledge of The Things You Do Want. Our society is so blindly goal-driven that we rarely stop to question the Goal itself, which I argue is vital to the process of success. Goals are slippery, tricky devils that do not distinguish between bringing your dreams or your nightmares to life, and so we must provide due diligence to question them. Otherwise we are as likely to be led to ruin as we are to reward.

Which brings me to the issue at hand: I quit.

When I started Jawbreaker Interactive in March of 2008, I was tired of being a freelancer and living from project to project, consistently turning down work because I was too busy with the current project to take anything else on. Feast or famine, with no stability, for two years straight (and for extended periods of time earlier). It’s exhausting. And frustrating, since “When It Rains It Pours” and I’d always get offers for work whilst in the middle of something else, but not enough bandwidth to bring in new work. What I thought I needed was to spin up my own shop, get a couple of talented people on board, and start managing projects instead of turning away business. This became my Goal.

However, running a shop is completely different from being a freelancer. You need to become a manager, not a worker. You need to take care of the business if you want it to take care of you.

So I spent the better part of the past two years working on Jawbreaker Interactive, becoming a business owner and manager, with some success. I bootstrapped everything, so we had no debt. I bartered work in exchange for office space, so we had almost no overhead. I got some great people to do some amazing work. We made money — not much, but considering most businesses don’t make any profit in the first couple of years, we did ok. And most importantly, we had fun. I definitely made some rookie mistakes, but overall running Jawbreaker Interactive has been as rewarding as it has been challenging.

But building a business, like building anything, is a creative act, and if I learned anything valuable in art school it was this: you have to know when to stop. My painting professor talked about how working with the canvas was like having a conversation, and when there was nothing left to talk about, that was when you should stop. Otherwise, you start changing the subject and the painting starts to be another painting. Not that it’s a bad thing when that happens, but you can keep going forever and never “finish” anything. More importantly, you will deny yourself the opportunity to start something new.

So you have to know when to put a bullet in it and walk away. Thus, I hereby announce the closing of Jawbreaker Interactive.

I realized earlier this year that I did not want to run my own shop — being a business owner and manager meant I was spending too much time on things that are what my friend Todd M. Fay refers to as “Not It”. So I have been looking for ways to liberate that time for things that are “It”. I do not want to be a manager, I want to be a worker. I have been telling people “I don’t want to be the guy in the front of the shop selling shoes — I want to be the shoemaker.” I want to make games. I want to learn how to be a better developer. I want to improve my craft. Which brings me to some Awesome News…

I am absolutely thrilled to be joining up with the team at Macguffin Games as their Senior Software Developer.

Decorative Soaps

A long time ago I bought a hunk of soap and a silicone doll-making mold. Last night I finally made some creepy little decorative soaps:

Decorative Soaps

My daughters, Jane & Maisie, helped a bit by shredding up some lilac flowers to put in (although you can’t really tell in the final product) and chopping up the soap. The hands and ears aren’t so great, and the feet are okay, but the faces turned out surprisingly well, so I’ll definitely be making some more of those. The next goal will be to use real homemade soap, but I need to find myself a local goat milk supplier since we can’t keep goats where we live (although I wish we could).