Monday, December 19, 2011

post ludum dare post

Well, I didn't quite finish whatever it was that I was working on for Ludum Dare 22. To tell the truth I had some trouble with my idea. A couple of specific things come to mind:

1) 48 hours to do the /entire/ game, from concept to ship, is a very tight schedule, so the idea itself needs to come to form and solidify *very* quickly. I think Notch had his "Harvest Moon" idea within the first hour or two, like right after he had a blank window up and running in his code.

2) It might have been easier to do a 2D game, even using Unity3D, simply because it's a lot faster to draw low-res sprites than it is to do even the simplest 3D modeling. At least, with my current level of skill with MAX, which may very well improve with more use over the next few months.

3) As they always say, it is best to start the competition fully prepared. Usually this is meant in terms of tools, but I found myself adapting my work tactics as I went along, taking some really long breaks to sleep, nap, walk the dog, etc, and had to make a run to the store at one point to get some energy drinks and snacks. I could have arranged beforehand to have all of these things taken care of for the compo and minimized my time away from the keyboard.

4) Did not pick up on the music thing until maybe halfway through. My collection is a little thinned out right now, as I'm switching off of DRM music and am in the process of deleting a lot of what I had before - the proverbial pulling of the needle out of the arm. I made up for this lack of music on my computer with some internet radio. That really helped, and is something I'll continue to use in my daily work, but only came into play maybe halfway through.

So, to sum up, this was a really great learning experience, even though I didn't even get close to where I wanted to have been by the end. Having to work within a 48 hour window forced me to figure out ways of working quicker, much of which is applicable outside the competition. Obviously, this will all come in handy for the next Ludum Dare, which I definitely plan on doing when it comes around in April.

And also, there's like 600+ games submitted, which I intend to play as much of as I can, even though I'm not able to rate any of them because I didn't submit a game of my own. I'll probably follow up with another post once I've gotten through those with my thoughts on the other entries, some of which, just from the titles/screenshots look very interesting indeed.

Friday, December 16, 2011

LD22: live blog

Fri - 11:27 - scrapping the island thing. realized that it relies a bit on "Standard Assets" from Unity, which I'm pretty sure would be breaking the rules of the compo. starting over with a clean slate and no standard assets.

Sat - 12:42am - i've got a lonely dude on a platform. maybe some kind of crapsaccharine purgatory that you have to escape from somehow?

Sat - 12:46am - added shadows. doesn't look right without shadows. and why not, since the web player supports nice, dynamic real-time shadows.

Sat - 1:30am - very crude platformer controls going. they need work. still thinking about what to actually have done in this world. i kind of like the general look of it so far - the isometric crude-3D-ishness of it, anyway. maybe some kind of introspective action puzzler...

Sat - 2:06am - made the jumping less shitty. added a respawn mechanic. it has a little bit of an indie platformerness to it now.

Sat - 2:54am - i have this monolith-looking exit thing going.. you just can't quite go /through/ it yet.. i do kind of like the look of it, though. reminds me somewhat of voxatron. starting to think more along the lines of "escape from purgatory within XX time", maybe add in things that would be especially tortuous and taunting and meaningless to someone with absolutely no social life.

Sat - 3:14am - ok, well you can go through it - that part is easy enough. it's just um.. supposed to go somewhere.. i.e. "exit" to some other dimension..

Sat - 11:09am - slept. up. ate. back to it..

Sat - 1:42pm - fixed up the movement so that it follows an 8 direction D-pad style with the isometric view. and the camera follows you, even as you fall down, and fall back to where you started. tried adding auto-step-up for the platforms to maybe be able to get rid of the jumping. that didn't work out so well. i need to get the exit portal working somehow so i can get to making some proper levels.

Sat - 3:39pm - added a way of teleporting from one part of the world to the other. i decided not to do it as separate levels because Unity resets the input axes whenever it loads a new level, which leads to a bit of a cognitive break since you have to re-press the movement button you were holding down when you walked through the door in order to keep moving.

so now it's got this ability to be a sort of exploratory world. i'm thinking of keeping to the theme of "alone" by simply keeping it devoid of other life forms; that you're supposed to find your way out. like a maze, i guess. although mazes can be pretty cliched, so i'm going to keep thinking about how i want to approach that.

Sat - 3:47pm - time for some sound effects..

Sat - 8:03pm - took a nap after adding some bits of another room/level, then had dinner and walked the dog. back at my desk with a full cup of coffee.

Sat - 9:20pm - working on a walk cycle in Unity's animation editor

Sat - 10:34pm - i added some shoulders and hips to the model to support movement animations, and made a simple walk cycle consisting of just the legs moving back and forth. now i just have to write the code to play it at the right times..

Sun - 1:13am - had a bit of a snafu with unity and lost a bunch of work and had to redo it. fixed that and got the walk cycle code in (easier than i thought it would be). also put some tunes on, which seems to be helping quite a bit.

Sun - 1:29am - looks like the basics are pretty much there. now comes the real work!

Sun - 11:12am - that was a nice little nap. fooded up. tunes going. day 2!

Sun - 11:40am -

Sun - 11:57am -

Sun - 12:37pm -

Sun - 12:54pm -

Sun - 1:21pm -

Sun - 1:37pm -
some more fiddling about with the key/lock mechanic. should probably get to a jump mechanic. starting to think the way i'm doing respawns could be exploitable in not-so-good ways, so i might change it.

Sun - 2:19pm -
trying to get back onto the theme of "Alone"..

Sun - 3:13pm -
screw it - i'm making an enemy.

Sun - 3:32pm -
meh - i cant be bothered to attempt the AI for this right now. going to find some other form of conflict/obstacle to overcome for this next part.

Sun - 5:39pm -
ok working on something totally different that definitely has a lot more to do with the theme. hopefully will be able to get it working in time..

Sun - 5:39pm -
this is some rather silly code that i'm writing..

Sun - 8:03pm -
this is like the core element of this thing.. less than 1 hour to go!

Sun - 9:14pm - meh. didn't finish in time. oh well. back to that other game i was working on! will definitely try this again in april!

it is on like the donkey kong

LD22 theme is "Alone"

Trying something to do with an island, or islands, or something. For now, anyway. Don't really have a specific gameplay in mind yet aside from just wandering around this deserted archipelago. Might still think of something completely different and go with that, or think of something that does go with this. For now, I'm messing around with islands.

WebPlayer is over in Test Arcade. I'll be updating it with builds.

LD22: I'm in!

This weekend, I'll be taking a break from the super-duper-top-secret project I have been working on to give this Ludum Dare thing a whirl. For no other reason than to possibly come up with something new and different and cool, which as good enough a reason to me as any. Hopefully there is no rule against declaring oneself "in" just 15 minutes before the official start of the compo.. :) Even so, it'll be fun to give this "make a game in 48 hours" thing a try and see what happens.

Tools I will most likely be using to at least some extent, because I use them for my other stuff:
* Unity3D
* 3DSMax
* Audacity
* Bfxr
* Perl
* MonoDevelop
* Unityscript (JS, maybe a little bit of C#)

The game will be about..whatever the theme voting says it will be about, which I'll find out shortly and probably post a bit about in a bit.

Thanks for stopping by, and to everyone in the competition, good luck!

Monday, September 26, 2011

making supermemo drills a little more fun - with the help of a PS3 controller

Currently, my main task is actually not to be heads down in development, but rather to be reading documentation. My reasoning for this is that a lot of the time spent in "heads down" development is really just wasted in figuring out how to do this or that, and as a consequence a lot of mental context switching occurs and many otherwise valid ideas are not able to surface. If, on the other hand, the how is completely known and understood, the what is able to flow much more freely, thereby enabling not only faster results (at least in the mid- to long-term), but better results, because those sometimes hard-to-reach and rare-to-find veins of gold within the subconscious can be mined much more effectively. Much more complicated ideas can simply be prototyped in a much shorter timeframe than before. More upfront work can actually be done on the machine, rather than on paper or on a whiteboard. Dreams are able to become reality much faster and more efficiently. Practice and iteration occur more rapidly, and the path to mastery is accelerated. In the long term, ultimately, this means bigger and better games, while still being able to stay small and focused, which is full of win.

What this means right now, though, is that I have a lot of documentation to read. Too much, in fact. It's not enough to just read the documentation, though - the idea here is to memorize it, completely. Every class, every function, every variable, enumeration value, default, setting, and all the little nuances and gotchas. At the moment, I'm focused solely on Unity3D, because that is where the rubber meets the road with what I do. It is the one tool I can use all by itself to make a pretty well-featured game and be able to have it run on pretty much every platform that I care about right now. I might add some other tools like 3DS Max or GIMP later, but for now Unity3D is where it's at.

The editor itself is pretty straightforward. Where there's a ton of meat to digest is in all the components, especially the scripting, as well as in the shader language it uses for creating custom materials.

The tool I use for all of this is called SuperMemo. I highly recommend for anyone taking on a lot of memorization-type material. If nothing else, it is good for random introduction of material - the serendipitous discovery of things-you-didn't-know-you-wanted-to-know - and the subsequent committing to memory of (they purport) 95% of said material. Of course, this is all done by selecting just the relevant bits of the material to memorize, which is a lot of what goes on in the "processing" phase, and then drilling you flash card-style

This is all very useful, but I do often find myself making a lot of repetitive keystrokes in the process, and sometimes find my mind wandering off over to Twitter or a can of soda as a result. In contrast, when I'm playing a good video game, I'm really into it, and even the slightest distraction is either completely tuned out or, failing that, really irritating. My theory on this is that the brain doesn't have to exert as much effort in navigating a gamepad as it does with a fairly complex keyboard/mouse setup, especially one that may be switching around between several programs, typing things in, switching back, etc, while simultaneously doing some pretty hefty reading and recall work.

What I noticed about my usage of SuperMemo is that, for the most part, especially during the "final drill" phase of each day's worth of material, there's a lot of repetitive button pressing. Even during the regular repetitions, where there may be somewhat more processing - following up on a lead, downloading a web page and importing the HTML, breaking things down into smaller chunks, there's really not a whole lot of variety in the space of inputs being fed into the computer by me. A lot of the time it's just pushing a button to say "next", and then right/left once or twice to press another button to grade myself. That's Enter, and the right and left arrow keys.

Enter the handy-dandy PS3 controller:

A nice feature of the Dualshock 3 controller is that it can be plugged into a PC via USB (or bluetooth, if such an adapter is present) and used as an HID gamepad. For the actual driver, I installed the MotioninJoy Gamepad tool. The key-mapping functionality on this, however, is pretty non-existent. The top result on Google for this is Xpadder. Granted, there are a lot of other cheaper/free gamepad-key mappers out there, but I was in a hurry and the fact that it actually costs money($9.99, via Paypal) led me to believe that it would have at least some level of professionalism to it.

A couple hours later - after some confusion probably related to a driver conflict caused by installing another PS3 gamepad solution prior that didn't work as expected, and subsequent manual uninstallation, I did manage to get to work quite nicely, even after a system reboot and device unplug/re-plug. Be sure to run that test on your setup.

I did (finally) get the controller to (mostly) work with my system, enough to do what I wanted to do with it, and the result is the above-pictured mapping in Xpadder. The d-pad is mapped to the direction keys (via the joystick x/y-axes, which surprisingly is not as much of an issue as I had initially thought it might be), alt-tabbing via R1/L1+(L2 or select), enter mapped to the X button, a simple Play/Pause mapping to Start for music playback while I'm SuperMemoing, and Windows system access via the PS button. The Square button maps to L-Ctrl, which maps to "Fire1" in Unity games. It's for after I'm done with Supermemo for the day :)

Drills in SuperMemo now seem like a breeze. It does really feel a bit more like a video game now than typing up a book report. The more keyboard/mouse-intensive repetitions are still done with a keyboard and mouse, although even those seem a bit more fluid now. It's like the usage of the keyboard/mouse is more focused, a la the McIlroy principle of "do one thing really well."

If this allows me to get through the material faster, awesome. What matters more to me, though, is that I do so with less mental friction. My thinking is that will help me learn the material better - more effectively. If I get more time during the day, more than likely I'll spend it putting this stuff into practice via one or more game projects focused more on implementation and practice than of design. And of course, if one or more of those happens to get to a finished state, and seems awesome enough, I'll be sure to put it up somewhere

Thanks :)

Wednesday, September 21, 2011

working / not working

i'm doing this because i want to.

creativity is emergent by nature, requiring a vast interconnected network of knowledge that is often times very disparate.

what separates this from any other job i've had in my life is that, because i have no boss, i answer to nobody but myself. in a way, this is freeing. it can also be argued that this can result in laziness. i think there's some truth to that. but i'd hardly call what i'm doing right now "laziness", even though there is no clear result being sought after at the moment.

what will happen is the creativity process. vines will grow from the seeds and entangle together into a tight mesh, and something new will form. if it's something good, i'll put it out there for you.

on a side note, i tried playing Patience again after a while of having not played it, and realized it is shit buggy in some spots. i'll have to fix that when i get time. if you happen to have any other feedback about it, please feel free to let me know.

just as the saying goes in the startup world that it's never about the idea, but rather the implementation of the idea, in the art world, a painter is only as good as their mastery of their technique. this used to mean being able to produce more and more photorealistic renderings on the canvas, but this changed radically with the invention of the photograph. traditional artists were now rendered obsolete for the most part by technology. instead of having your portrait painted to be hung on the living room wall, which required you to stand still for hours, perhaps days at a time, you only had to pose for a photographer, which took mere seconds. now it is done in an instant with our camera phones and posted straight to our facebook pages for all our family, friends, sorta-friends, and various not-so-strangers we've met along the way to see, tag, comment on, like, retweet, and who knows what else. art has become more in-the-moment and contextual now than about trying to render some still image of our so-called "reality".

i believe that games, with the advent of a number of new technologies in recent years, is on a similar cusp.

i am learning my craft, and look forward to mastering it some day, and sharing the fruits of it with you.

Sunday, September 18, 2011


I bought my first LED lightbulb today. Billed as long-lasting, energy-efficient, eco-friendly, and more pleasant on the eyes than CFLs, it doesn't take a huge leap in thought to see these as part of a "wave of the future" that is going on all around us. It's 2011, after all - maybe soon we'll be seeing flying skateboards and big-screen videophones on the walls, too. But this wave is no accident, despite having been prophecized for quite a while. It is the result of a lot of hard work done by a lot of super-smart people with often-times crazy work ethics.

The lightbulb has come a long way since first being made practical in 1879. Legend has it that Edison created several thousand prototypes before finally arriving at his finished designed, and only slept a couple of hours each day as he worked on these, presumably through a polyphasic sleep schedule. I don't know how true these are, and really don't like to be using history to justify present actions; however, the context in which I hear these statements is usually in regard to being extraordinary. If this legendary Edison were alive today, he'd be considered a bona-fide weirdo, and probably be laughing all the way to the bank (perhaps literally )

To be extraordinary, one must have the courage to not be ordinary - for that is the very definition of extraordinary. One must be able to not sweat the stares and quips about one's so-called "odd" behavior. If what you're doing works for you, then damn "ordinary" all to hell. One must have the courage and ability to fail - over and over, relentlessly, until, eventually, one reaches their goal. Because while the journey is certainly more important for one's personal development, it is the destination, the result, that everyone else will remember and aggregate into history.

"If I find 10,000 ways something won't work, I haven't failed. I am not discouraged, because every wrong attempt discarded is another step forward." -Thomas Edison

"He had no hobby, cared for no sort of amusement of any kind and lived in utter disregard of the most elementary rules of hygiene. [...] His method was inefficient in the extreme, for an immense ground had to be covered to get anything at all unless blind chance intervened and, at first, I was almost a sorry witness of his doings, knowing that just a little theory and calculation would have saved him 90% of the labour. But he had a veritable contempt for book learning and mathematical knowledge, trusting himself entirely to his inventor's instinct and practical American sense." —Nikola Tesla, on Thomas Edison

Sunday, August 28, 2011

emotional distress

i'm extremely disappointed right now.

the envelope containing my badge for the one day of PAX i was able to sign up for this year is nowhere to be found in my apartment. this could very well be because it is at the bottom of some random, anonymous, possibly sealed box either in my office or in my closet. considering there is not much else to go through at this point, i'd say that i've looked through just about every other possible place it could be. "bummed" would be an understatement for how i'm feeling about this right now.

most of my stuff is packed up in boxes. why? because $1000 is a bit much for me to pay for rent every month at the moment - not without a steady job that pays at least that much and still allows me at least 40 hours per week to work on games and neocade. (if this is not possible, there really is no point in living, ergo working). but rather than just close up shop, call it a day, and see how many graveyard shift convenience store jobs i can get, i'm going to stick with neocade. which means i still get to work on making games and getting better at making games and thus making better games, but it does mean that i do have to find cheaper living arrangements (i.e. with my parents). fortunately, neocade is still just me right now, so luckily this part is only complicated by the shameful fact that, yes, i will be living with old people for a bit. and at the moment things are really really hectic as we move through the logistics of getting all my crap out of this place and cleaning it up sufficiently.

so now i sit, drained, in my (still set up) office area. if i find this envelope with the badge in it within the next hour or two, the very next words out of my mouth will be "i'm going to pax, dad, see ya later". otherwise, i'm just in this quiet, slightly submissive, mopey state of organizing things so that they will fit nicely into boxes and hold together for a couple thousand miles. sitting down is a bit of a luxury right now (writing blog posts, doubly so) - maybe i'm just trying to find some enjoyment in the moment.

as much as i do see this as a beginning and not an end, i feel that i'm leaving a place that has made me happy for the past six years, that i won't have seattle outside my front door every day, and on top of that, missing the biggest gathering of gamers there is, which i had been going to every year since 2006, and had been planning to go to this year just before having to leave.(even extending out my stay as much as possible just to be able to go). and now i can't go because the envelope, which i probably set aside because i knew what was in there, got misplaced somehow. i feel this burning desire now to book tickets and travek to both PAX east and PAX prime next year, for all three days, the minute each becomes available for registration. yeah, that'll show fate who's boss.

Monday, August 15, 2011

Mega Man 2

Quite possibly the greatest example of an NES game produced outside of Nintendo's own R&D labs (a few other 3rd party games spring to mind as well, but this one holds a special place in my heart). Mega Man 2 featured eight stages which can be played in any order, each of which altered the way you could play each subsequent stage you'd select. These were followed by a more traditionally linear set of five stages, one after the other in a set order, which topped almost anything in the first eight stages in terms of challenge, and required certain power-ups in some places, which meant that every shot made with these had to be rationed over multiple stages. Every stage in the game was a themed excursion through a manga-style cartoon robot world running around and jumping and shooting at things and making them blow up. You were, in a very real sense, doing what you'd only be watching on a Saturday morning cartoon - and on any day of the week. For a NES game of its time, the graphics and sound were pretty darn impressive.

Every stage in Mega Man 2 was, like every Mega Man game, hard, even on the watered-down "normal" difficulty that was put in for us lesser-skilled Americans. (considering the tendency of many early NES games to be ridiculously unforgiving and difficult in general, probably not a bad move) Maybe they're not so hard now to some folks, if only because we've played through them zillions of times. Or we knew about some optimal path through the game which essentially made it a relatively easy but just as enjoyable linear set of stages to be progressed through one after the other. Or we had the relevant issues of Nintendo Power at our disposal. Or we were able to consult with the oracles at the Nintendo Game Counselor hotline without getting into too much trouble when the next phone bill arrived in the mail. Or we had friends who had already beaten the game and weren't too much of a dick about it.

At any rate, the high concept of this game is simply genius, as evidenced by its subsequent rehashing-to-death by Capcom in Mega Mans 3,4,5,6,7,8,9, and 10. And also a few outside attempts at clones/variations, such as 8 Eyes. One aspect to this design is that you really could play through the game in any order, because the stages could all, at least with some skill, be played through as the first stage, without any extra power-ups. Getting the power-ups makes them all easier in different ways, and this is in turn makes the game more enjoyable.

And those last few stages in Dr. Wily's castle? They address a common flaw I find in many sandbox-style games where the player gets progressively too powerful over time and just starts rolling over everything by the end - which can be fun for a while, but can also really detract from the game's replayability on the whole. While there is a sense of "yeah, take that you bastards" in these games, in subsequent play-throughs it just becomes less of a challenge - you've more or less beaten the game at that point and are just mopping up, so to speak. Every trip through Dr. Wily's castle is equally challenging because the game is set up that way. It knows that by that point you've got everything and so it "goes Castlevania" on you a bit and falls back on a more linear level structure and also breaks out the harder level elements that couldn't be included in the earlier stages, which each have to be beatable without any power-ups.

Even now, over 20 years later, it's still an enjoyable game to pop in, play a level or two, and then just leave the level select screen on in the background and go do something else. It's a game that can be played in 5-10 minute spurts, much like a casual game. It really is a core game at heart, though, and has been known to result in hour+ marathons of playing the game through beginning to end. It is one of those rare labors of love combined balanced with a very professional treatment; and that, I'd say, was a key factor in its longevity and legacy.

Saturday, August 13, 2011

the old arcade on the hill

When I was little, I lived in West Caldwell, New Jersey, and there was this arcade just outside of town - I think it was called Game Town - I don't remember exactly. It was up on this hill and you could see it every time you'd drive from town over to Route 46, which my family would do every now and then because that was the first leg of the route to my grandparents' house. I hardly ever went there.

What I do remember of the place, though, it was like this temple of video gaming, a beacon up there you could go inside and tour these rows of glowing monitors and joysticks and big, brightly-colored, plastic concave buttons. Simply awe-inspiring, especially to a 6- or 7-year old kid with a penchant for befriending kids with an NES or Atari so we could trade games with each other. You have to understand this was in the late 1980s. The proverbial "golden age" had already passed, and this was one of the last vestiges of that bygone era. There were still plenty of good arcade games to be played, though. Sega had risen to dominance and was now kicking some serious ass with their 16-bit games, many of which would eventually find their way onto the Genesis.

We moved away from New Jersey in 1990 for various reasons, and I never saw the place again. By the time I had come back to visit almost a decade later, the place had closed down. Running all those arcade monitors at the same time can sure run up an electric bill. And if everyone is just as happy sitting at home playing their N64, Playstation, or Dreamcast, what's the point of driving out to this place to pay upwards of $1 per play?

Oh, did I mention those big arcade monitors can kill you or implode if not handled properly? The award-winning indie rock group Arcade Fire is actually named because of an arcade they knew of had heard of (fictitious, according to a band quote on Wikipedia) that actually caught fire, presumably from all this high-powered electrical equipment that has to be crammed into a single room, left on all day, and used by lots of random strangers. Can't say I'mI'd be entirely surprised.

Still, there's this somewhat romantic sense of community that got lost in all of that. In college, we would recreate that a little bit by congregating into various dorm rooms where someone would have an N64 and Goldeneye and Mario Kart 64 or Playstation and Madden NFL or Tony Hawk Pro Skater in another. Game consoles were a great way to keep people coming over to your room, if that's what you wanted. You'd have that and as long as you were at least fairly social, you could have a BYO party pretty much whenever you wanted to, because the sound of skateboards, go karts, grenade launchers, and football along with seemingly-random, loud swearing inside a college dorm building can only mean one thing. And the RAs couldn't bust you just for playing video games. Unless it was 3AM on a Tuesday, at least.

Then we all graduated, got married, got jobs, had kids, etc.

Well, most of us, anyway.

I was never very suave with the ladies in school, so I can't count myself among the married/with kids population, or even among the busy-gettin-busy population. And the whole career thing only lasted for as long as I continued to abide by the corporate line of a very large software company with little actual interest in open platforms. When that ended, I found myself back at square one, pondering the number 42. Pondering the old arcade on the hill.

Saturday, July 23, 2011

i don't like hot dogs

a steaming hot new york style frankfurter from a street vendor with ketchup and mustard and onions and relish and all that - that's culture. i can enjoy that for what it is. that's not what i'm talking about, though.

someone's got to make those hot dogs.

i worked in a hot dog factory for about a month after my first year of college, just before landing a programming job with a local business software company where i was living at the time.

there's the popular adage that hot dogs are made from pig lips and assholes. i don't know how true that is. what i do know is that the stuff that goes into the edible casing and is cooked, machined, steamed, and packaged into vacuum-sealed plastic in a box to ship off to a grocery store refrigerator near you - that stuff that goes into the hot dog is a liquid - liquid meat.

i could not eat a hot dog for a while after working that job.

in some ways i find myself in a similar situation now, with business practices that i can't help but feel are just a bit abusive for my tastes being touted as the norm in this industry.

maybe these are the price we pay for relying on hugely complex interconnected global systems that have to be constantly maintained and upgraded so that millions of entrepreneurs can all create value and get rich, tiny fractions of pennies at a time, millions of times every second.

the whole notion of latching onto an existing business model or the next [insert name of latest success on everybody's mind] to me is the hot dog. we eat it unquestioningly, because it's "all-american", or something. and it's tasty with ketchup and mustard and onions and relish and all that on top of it, steaming hot from the street vendor.

Friday, July 22, 2011

Why there will be no AdSense on

it's not that i'm completely opposed to advertising - for some people, it may actually serve a useful purpose. if it means that more people can enjoy my games, then why not?

however, a few steps into the process, and we find an all-too-familiar situation:

1. Program policies

3. Don't include any prohibited site content, including adult content, violence or excessive profanity, drugs (including alcohol and tobacco), or copyrighted material.

sorry, google. content censorship ain't cool.

for the record, Patience includes images of drugs (prescription), alcohol, and tobacco, just like real life. i'm not changing it for an ad network, just as i wouldn't change it for a publisher.

Thursday, June 16, 2011


I am quite honestly at a loss for words right now. That's a fact.

Go check the game out, if you haven't already:

There's more to come. I'm taking a short break right now, though. Will post again soon.


Thursday, May 26, 2011

blog changes...

You might have noticed that looks a bit different, i.e. this blog is not there anymore, and there's this "renovations" stuff going on there.

To make a long story short, I'm of the opinion that actions speak louder than words. And so I want to switch up the official neocade blog to be more of an outlet for some of the general randomness and mad science experiments that get cooked up here, but isn't quite a $.99 game in and of itself.

I'll continue this blog here with my lengthier ramblings that just can't be trimmed down to 140 characters. :)

Follow me on Twitter:
@tom_hunt - more frequent/random/transparent
@neocade - occasional "official" announcements


Saturday, April 16, 2011

I want to go to New Zealand..

Google "Do something awesome", and you'll find a very aptly-named blog called Let's Do Something Awesome. Many of the blog posts are relatively short blurbs about some (presumably awesome) thing going on in Los Angeles. Which might come in handy the next time I take a trip to L.A., but I live in Seattle, which has its own awesomeness that is the subject of at least two weekly newspapers, and I-don't-know-how-many blogs and twitter feeds. (Google "Seattle Awesome", and you'll get over 37 million results), but I digress.

The photos here do indeed live up to the hype - check 'em out!
Let's Do Something Awesome

(edit:cooling my enthusiasm a little.. :) )

Tuesday, March 8, 2011

Back from GDC, Back to work...

Just to give a quick update that I am back from GDC and (almost) fully recovered. :)

Even better, though - I am on track to be finishing and releasing neocade's first game this month on Android Marketplace for phones and tablets running Android 2.2!

Stay tuned for more announcements as we get closer to the big day.

That's all for now..


Friday, March 4, 2011

A little bit of insight from the gods: Part 1 - Chris Crawford

Today, I had the enormous privilege of being able to sit, listen to, and take notes from four GDC sessions that were part of a special series being run in commemoration of this 25th year of GDC (formerly CGDC).

The first one was from none other than the man who literally wrote the book on computer game design (the first one, anyway) - Chris Crawford. I had, at my previous job, gotten used to seeing people in person that I had previously only read about in articles and books for years. Even then, seeing Chris Crawford in person is a real trip. A man who is pushing 60 with a chrome dome AND long hair, a hairstyle I will henceforth refer to as "the Crawford", he is as animated and passionate about games as ever. We were regaled with stories about early computers and games (particularly the ones he designed) - core memory, the 6502. We even got to see some sample output from a very early game of his which represented farm animals as series of digit-LED patterns that would move across the display until you would "name" the animal by pressing its "name", which just happened to be the first character in its representation. He would go through how much these machines cost at the time in todays dollars (ridiculously expensive) and tell us a few anecdotes from each time period. It felt a lot like a grandfather passing lore down to the little kiddies. And, in a sense, that's exactly what he was doing.

A few nuggets of wisdom from the old man:
* learn better game design by playing and studying board games, particularly German-style board games
* read Homo Ludens by Huizinga and Understanding Comics by Scott McCloud
* games are about interaction, first and foremost. everything else is secondary to the interaction.
* his first law of software design: whenever you sit down to write a game, and every moment after that, ask yourself "What does the user DO?", not what they see or what they hear, but what they do.
* the basic structures of games has not changed in 30 years (although the games themselves have gotten way better)
* entertainment is and always has been fundamentally about people, NOT things. many people in the games industry, especially those who believe that games should evolve and strive to be like big budget movies with lots of special effects and highly paid actors, etc., STILL do not get this.
* story is all about character

The Q&A portion of the talk revealed an audience truly grateful for this man's return to GDC (after proclaiming in 2006 that games are dead), with one comment at a mic noting that various tweets has named his talk "unofficial keynote of GDC2011". He seemed a bit humbled by this prospect. Another person asked if he would be willing to release the code to some of his other early games as open source, to which he made a note and said he'd look into it, but wasn't sure how recoverable some of the code was.

What I found most interesting about this talk was that he hasn't really changed his views much at all on how games should be and how the industry keeps not-innovating toward these goals; however, I did not sense much of any disagreement in the room. Quite the opposite, I couldn't help but feel a lot of respect for the guy, even though he hasn't made a game in Although this is my first year of GDC, it is my understanding that there are a lot more indies at the conference this year than in previous years (myself included) due, no doubt, to the recent explosion the number indie game development studios formed by various folks leaving their old jobs to find fame and fortune with something they truly love. Maybe we're at some kind of intersection here - but whether that results in more future games being more "about people", as Crawford insists they should be, is something only time will tell.

Tuesday, March 1, 2011

subversion... ..or git?

I was listening to Andy Schatz talk at GDC today about how he created the IGF-winning game Monaco in 15 weeks. The IGF-winning build, anyway - the game still hasn't been released just yet. Perhaps the most interesting thing about these talks is not the actual stated content itself - one can find roughly 80% of the best bits for free by searching on "GDC" on Google. Twitter is awesome right now because of all the news stories that are bubbling up with various sites reporting on the event this week. I was actually able to review a good portion of the day's talks by just reading other people's accounts of them in articles linked to from Twitter. (you can find a writeup of Schatz's talk today here:

Where the real value of GDC is coming for me is not from the free Android devices, although I am kicking myself a little now for not attending the Google dev days, but rather in between the lines of the talks. It's what the speakers aren't saying, but is plainly obvious to me as I look at their slides or their mannerisms on/off stage. Andy Schatz did not once mention anything technical about subversion, other than a brief mention that he did in fact use subversion. What got my attention was that he was using it from day 1 of Monaco - and that he hardly mentions it, which would imply that he's been using it so long that it's just stupidly obvious

And it should be. Keeping a handle on the changes going on in a codebase is too much boring to make one's brain go through. Solution? Get a program to do it!

This, surprisingly enough, never really occurred to me before. Source code versioning is one of those things that, if I have the tool to do it around and I know how to use it, then I will be a good little user of that tool and version all my code and everything is good. If do not have such a tool in my possession, or just do not know how to use it, I'm back to hacking out code and manually making backup copies every once in a while, when the mood strikes me. And such is the case here - I don't like to think about source code versioning techniques. Just give me the damn tool. And I hadn't even heard of CVS/SVN until I was well into college, and didn't get into serious code versioning practice until I was working at Microsoft.

When I was at Microsoft, we used an in-house tool/system called Source Depot, which, I'm told, is based off an older version of Perforce. The two codebases are said to have diverged quite a ways back and so are a bit different now. Now that I do not work for Microsoft, I do not have any Source Depot anymore, for better or worse. No Perforce, either ($$$).

As far as the free options go, Subversion is the way to go for a client/server model, which is what Perforce and Source Depot (and many others use). There's also Git, which is what the Android project as well as the Linux Kernel project use for their code versioning, which relies on a distributed model.

After some fiddling around through documentation/tutorials on both SVN and Git, I settled on Git because I can run it without a server on my laptop, get vetted version control system going for my project, and it's quite lightweight. I was able to integrate it with Unity by enabling source control from the editor, which essentially just exposes the previously-hidden asset metadata as files that can be checked in, and then doing the initial create/import/commit like one would with any other project directory.

To paraphrase another Andy Schatz takeaway that I thought was really insightful: make something cool every day that you can genuinely be excited about. Keep a steady pace of goodness flowing into your build tree. Try not to do things that take more than a day to do start to finish. Whatever you do, just make something cool every day.

While I would hardly place source code control systems at the top of my list of cool things, the benefit of having source code control on my project now is awesome. Maybe tomorrow I'll try something equally not-always-obviously-cool - maybe an automated test of some sort... ;)

Monday, February 28, 2011


I'm attending GDC (Game Developers Conference) this week in San Francisco, mostly to learn what others in the games industry have to teach about getting a game studio up and running. I've also been picking up various gems of wisdom from between the lines of many of the talks I've been to so far. This is the first time that I've attended myself. (i've wanted to for so long but could never seem to justify the not-insignificant expense before..)

Work on the current project had stalled for a bit, because I bit off a little more than I could chew and broke a lot of stuff. Many hours of fixing compiler errors and rooting out bugs in the half-baked, slapped-on design that I had before yielded little but frustration. Were it not for the motivation and insight I got from some of the talks I heard on this first day, it might still be broken. So this conference is very quickly living up to its hype for me, and the project is beginning to get back on track, and I'm beginning to understand some of the ideas that I've had for it, both good and bad, quite a bit better.

This game as well as all future neocade games have already benefited from the knowledge and ideas that I've been getting at this conference, and I expect the rest of the week to bring even more goodness.

back to work...

Saturday, February 12, 2011

project update

So, believe it or not, I am actually working on a project! :)

There's not much I'm ready to talk about right now, other than I will definitely be releasing it for Android, and it will be distributed entirely digitally (obviously).

Things are starting to kick into high gear. GDC is coming up. I've been messing around with Unity for a bit now, and am beginning to learn some slightly trickier stuff with it. The UI is very nice and allows for some cool things to be done quite easily, although it is not without quirks. I've been working mostly in Javascript with regard to coding. All the Unity tutorials are written in it, and I've dabbled in it in previous lives before, and it's fairly easy to pick up and does the job, at least with smaller script file sizes.

A few key gameplay mechanics are keeping me up at night. I like to make sure something is more or less just right before I move onto other things, but often times it just happens that I come up with one really awesome idea while I'm in the middle of implementing another really awesome idea.. So far, each new element I've added has been orthogonal to the rest, which makes each new iteration seem so much better than the last, and the whole process of making the game much more exciting. And each new element tends to keep small enough (otherwise it is usually abandoned pretty quickly) that it can be more or less completed by the time the next really awesome idea comes hurtling out of my head.

And so things begin to take shape after a while - the smaller elements come together to form an interlocking system and all kinds of cool things start to happen. It's easy to sit back and just marvel at one's creation when this happens, even though this is just the beginning and there's still a lot more work to do.

In terms of "everything else" and "when I expect to be done", what I can say is this: I expect for this to be just the beginning. I plan to ship pretty soon, and, if the reactions I've gotten so far from my friends have been any indication, I think you'll like what's coming. There is so much more yet to come, though.

Hope to blog at you again soon..