Heya! Anyone going to GDC?
I’ve thrown a GDC party in the past and I thought I’d make this year a bit more organized.
Heya! Anyone going to GDC?
I’ve thrown a GDC party in the past and I thought I’d make this year a bit more organized.
Wow! What a rough Global Game Jam. I didn’t get very much sleep – a lot of laying in bed, thinking about code. I missed out blogging about development on Saturday; I worked for around 8 hours then.
Sunday was the final day, and I only got in 2.5 hours of work before the 48 hour buzzer rang.
I’m not sure how to measure success here. Llamas to Space’s core mechanics – essentially, two games that affect each other – were very new to me. I was building for a platform that I am not entirely familiar with (the iPad). The game I made wasn’t super fun and I probably won’t release this iteration on the AppStore, but I do still feel like it is a success:
All of that – and I only put in 13.5 hours of work in the allotted 48 hour span. Something to be proud of! That’s a standard crunch-day in a AAA game factory.
Anyway, after this weekend I’ll be happy to lay it to rest for a while, and get back to the word game I was building last week!
Of course, the biggest compliments I was getting on the game were for little animated things; items falling off the screen in a bezier curve, a spaceship bouncing off the ground and arcing away, grenades being lobbed in nicely timed arcs over the battlefield.
Of course, none of this was thanks to me; it was courtesy of an awesome tweening library (called Tweener) that emulates a lot of Flash CS’s built-in transitions. I had used Tweener to do the airplane transitions in SteamBirds as well, so it’s an old friend of mine (and I LOVE looking at their animated examples page. Simplicity, and beauty!).
It’s always the flashy stuff that gets the credit. :(
The game isn’t in any sort of state to release. It requires a bit of explanation; there was no time to build tutorials or finish touching up the art. If you’re dying to see it, meet up with me in Winnipeg next week, GDC in March, or the local bi-monthly Victoria meetup group and I’ll be happy to show it off. :)
GGJ does its best to help spice things up a bit by posting not only a theme, but also “diversifiers.” Diversifiers can be thought of as challenges or achievements to strive for you in your game development, and are usually a diversion from “standard” gameplay mechanics. I particularly like them as they spark my imagination.
The list of diversifiers this year was full of inspiring angles on gameplay (even if they are a bit technically heavy this time around). The ones that jumped out at me were numbers 3 and 4:
(Every player is different)
The game requires more than one player, but each player has entirely different goals and rules.
4. Collaborative Casual/Hardcore
(Two players: one casual, one hardcore)
Collaborative play for two, but one player has more to do than the other (or the difficulty level is different between them).
I’ve been on a recent co-op kick; the barren wasteland of co-operative video games drove me to board gaming, where I’ve been having a lot of fun. I’m often pining for titles I can play at my computer – and with my girlfriend, who has significantly different tastes in games.
This particular mixture of asymmetry, differing skill levels, and my own personal desire for co-op play, seemed to open up several doors in my imagination. Maybe I could fill this void! Llamas to Space was born!
I’ve been developing for mobile devices for the last week, but a lot of my time spent has been learning the ropes. I feel like I know enough now to make something much faster than before, if I build on what I learned. I decided right from the start that Llamas to Space would be:
I hope that mix will make engaging gameplay, encourage discussion between players, and be a fun game that can be shared across diverse gameplay preferences.
I also settled on a bit of a backstory and plot to help guide the style and development. I’ll save that for later. :)
I slapped together a few placeholder pieces of art, and set out to do what I do with all my jam games: learn something new.
The first thing I needed to tackle was handling simultaneous touch inputs for two different players. This is something I’ve never done before, wasn’t sure was possible using AS3/AIR, and I definitely had no way of emulating it on my PC dev environment.
After some scouring of the internet I figured out how the touch event listeners worked, I got my first tech-test app built surprisingly fast! Took me about 30 minutes to have the basic arena setup with two player inputs being tracked seperately.
I actually spent much more time figuring out how to work around the PC emulation problem. I can’t develop very quickly if I have to push a build to my iPad every time I compile. I didn’t find a good solution so I just hacked another layer of mouse event listeners on top of everything else. It’s messy, but that’s what gamejams are for: messy code!
All in all, I only put in 3 hours of work today (we had a late start and some technical issues at the GGJ venue). But I manged to pull off this:
Glorious programmer-art! The brown line is the divider that cuts through the middle of the iPad screen; one player plays on the bottom (cropped in this photo), the other player plays on the top.
What I’m demonstrating here is a basic “castle defence” style of gameplay; badguys stream in, and you have to repel them by hitting them with lobbed mortars (missle-command style, I suppose). I’ve got a lot of ideas for making this a difficult, unique action-gameplay experience. For now, I’m happy to say that player 1 actually has something to do, with actual win/lose conditions!
I’m also excited to have implemented what is, essentially, mini-blitting for the first time. The backdrop gets “stamped” with death and crater images; they aren’t unique gameplay objects, and they don’t fade with time. I’m guessing the battlefield will be pretty piled up at the end!
I haven’t worked on player 2′s game yet so I’ll save that for another post. :)
Hope everyone else is having fun at GGJ this weekend!
Global Game Jam is coming up, and that reminded me: I still haven’t talked about my last jam game! I made a video here (the first 3 minutes is talking about game jams in general, the rest is about the game):
So the last half of the video there, I start summarizing the new things I’ve learned with Project Corona. Here’s a list:
Anyway, if you want to check it out, here’s a link to the last build I made. It’s meant to run 800×600 or so, so if your browser window is huge you might have to resize to get the right performance out of it.
Some tips while playing:
I’ve pretty much abandoned the project at this point, but I still go and play it once and a while. Let me know what you think!
At OrcaJam this year, I put out a call early on for people to ramble on about whatever they want for under 5 minutes. I recorded most of them, but didn’t quite get them all. Here they are:
At OrcaJam this year, I spoke really briefly on how important community is to me. Quiet-audio video of it here:
Basically, without getting out there and making the friends that I did, I wouldn’t be where I am today. I owe my entire game dev career – and even the name of my company – to the glorious community that surrounds indie development.
Heartfelt thanks to everyone.
For everyone out there that argues the community isn’t worth the time, the effort, or the expense: You are simply wrong!
This one is more of a blog post to other event organizers out there, and is more behind-the-scenes. I’ll make some follow-up posts with some content of what was actually created during the weekend.
I almost didn’t hold an OrcaJam event this year. I wasn’t really feeling into it and I couldn’t motivate myself to start planning. I was secretly hoping that the event would manifest itself somehow; maybe last year’s attendees would just spring up with a plan and a venue. No such luck.
At a game-dev meetup in August, it occurred to me that if I didn’t announce OrcaJam right then, it probably wouldn’t happen. I called upon the most powerful force known to developers: A SELF-ENFORCED DEADLINE.
Setting the deadline to a mere 30 days in the future was enough motivation and encouragement to make things happen. Organizing the venue, food, ticket prices, and everything else went very quickly – without headache, without waffling on decisions, and while maintaining a certain energy level about the event. Momentum feels really good.
Last year I listed the biggest failings of OrcaJam, and I wanted to be sure I touched on each of them this time around.
I think I took care of all the biggest downsides to the previous OrcaJam!
To break up the endless march to coder-exhaustion, I held a mini-board-game-party every night at 8PM. About a third of the attendees participated, and fun was had by all! I think I’ll bring this feature back next year.
Last year was 60 people, this year we strove to halve that. It’s easier to get to know people, manage size and size related issues (seating, garbage, food, etc.), and took less advertising efforts as well. We made it up to 20 registered attendees fairly quickly, and the final 10 trickled in in the last weeks. I do definitely prefer the small size, but could probably aim for 40 people next year.
Another big improvement was price-point. Last year we relied on sponsors to get us most of our funds, and charged a $10 ticket price to prevent flaky attendees ruining our plans. Attendees were flaky anyway, so $10 wasn’t enough of an enticement – plus the low ticket price gave some people the impression that it was a silly/low class/outreach/student event of some kind. This year we pegged the ticket price at $50 per seat (which seems to be a standard price in Western nations), and we only had 2 complaints on price. This lessened our reliance on sponsors and made our flake-rate drop dramatically.
Though our internet was devoted to us, the router couldn’t handle the strain. At it’s peak usage – Saturday night – it needed reboots every 30 minutes (probably overheating). When it was working, it was working fine and fast, though! Just need some better hardware for next year.
Socialization was still a problem. Imagine – you are a local developer with a day-job, family, or you live out of town. You can’t make it to the friday-afternoon during-work-hours mingle, and you have to get home or catch a flight before the after-party. There’s no time to socialize! I might have to re-rig the schedule a bit for next year.
The discount I organized at a nearby hotel – same rate as last year (down from $90 to $70 per night) – turned out to be their standard book-online rate. They also didn’t bother to record the event name, so a few people had some confusing phone calls. I’ll have to try to get better rates next time.
Finally, there is clean-up. Even the other co-organizers left early this year, and by 10PM it was just myself and two others finishing up a few games of RockBand. I didn’t finish cleaning up (all by myself!) until about 2:30AM. :C Might be worth hiring someone next time!
Two things genuinely surprised me this year. Feedback for the website, and our Five Minute Game Challenge.
Last year hardly anybody mentioned the website at all, and I didn’t bother to do much more with it this year; just updated a few dates and images and that’s about it. But the feedback this year was tremendously positive (despite having less people show up? crazy!). If anyone else out there is looking to do a game jam, be sure to cover the bases I tried to:
The Five Minute Game Challenge made a return this year as well. Last year it started as a joke mini-event, and two other people joined in and attempted the challenge after I failed (only Chevy succeeded, and barely so). This year, the FMGC took on a life of it’s own, and (to me, anyway!) was the highlight of the entire weekend.
Six individuals attempted The Challenge and most of them succeeded. Unlike last year, where everyone used FlashDevelop and made basic avoider-style games, a few of the games this year were written in various IDEs and actually really good. One of our attendees even wrote a song in five minutes!
One of the games in particular went on to another 20 minutes of graphical polish and still completely blows me away. My own game makes statements about mankind and could be an art game (with an ‘innovative’ mechanic). Chevy’s game is an insane bullet-hell shooter that ends in your own intentional suicide.
I love it. I absolutely love it. If I could hold an entire weekend of 5 minute game challenges, I would. I’m afraid it’s simply too intense, however; it must be taken lightly and in small doses. Lest my brain asplode from awesome. I’ll do a whole other post after this on how awesome the games were (and videos/downloads where I can).
How I Survived
Last year I was completely dead to the world – I could hardly stay awake, and my brain felt absolutely exhausted – even with getting plenty of sleep. I was there in spirit form only. I wasn’t sure how to solve that; I made sure everything was planned in advance, I made sure everything was taken care of, and I made sure I stayed in bed for regular sleeping hours. Didn’t help.
My brain was always going a mile-a-minute, checking and double-checking everything. I guess it didn’t help that it was my first big game dev event, maybe it was the pressure?
This year, I decided something very early on: Despite hosting and organizing a game jam, I wasn’t going to be making any games. I was going to be there to socialize, organize, and keep the machine oiled.
That seemed to do the trick! I slept much better, I didn’t feel constrained by time, and I often found myself sitting idle, without a thought or a worry. It was those moments that I allowed myself to make games.. but I was sure to keep thinking that it was only temporary, and I could stop whenever I wanted.
I ended up making two games! :D
Anyway, I hope this helps someone else organize their own events in the future. All in all it was an awesome event, and even more of a success than last year. Woooo!
I run the local Victoria game developers group (LEVEL UP!), but our sister group in Vancouver (FullIndie) was having it’s one-year anniversary last week and I was invited over to give a nice short talk of some sort.
I had a blast on the trip. FullIndie had probably over a hundred people show up for the birthday celebration, and we all went roving across three pubs after our talks. It was great to meet so many new people – but the size was a bit overwhelming! I couldn’t even meet everyone if I tried.
I took my FlashGamingSummit talk and slimmed it down to around 14 minutes (originally 60 minutes!). I basically cut out all the “facts” and just left the jokes and the summary “lessons learned” and tried to quickly barge through it all. Because of the size of the meetup, I actually had to give the talk twice to two seperate groups of people! They were both laughing most of the way through though, so I think I did a good job. :) It was a lot of fun for me anyway. A student was there filming one of my talks, maybe it’ll find it’s way online someday?
SteamWorks Brewpub let us into their secret cellar meeting room, which was pretty cool. Had some awesome pints and talked my throat raw. Good times!
The day after the event I hung out with some new friends, played some prototype video games, and even got a few board games in. Wonderful trip.
Since Victoria is on an island, seperated from Vancouver without a bridge – we have to take a 1.5 hour ferry ride between the two places. During the day, the view is beautiful and inspiring, as the ferry weaves between the Gulf Islands. At night, the wind and chill is usually so great that it’s best to huddle inside and do something productive…
I decided to do a GameJam!
I was jamming on my own but I invited others along via Twitter. I did a screencap of me working at night spliced with the earlier trip during the day. Check out my rough editing skills here:
(Thanks to DVGMusic once again for his awesome tunes that accompany the video.)
In the end, I made an educational game that attempts to teach people fractions. I didn’t have a lot of time so a lot of elements are missing, and it could definitely use some work – but it might be a neat app to develop further in the future. My girlfriend teaches math, and she approves! Check it out the first prototype here:
(You’re supposed to be at the speed controls of the ferry, being shouted orders by the Captain.)
During OrcaJam a few of us were wistfully reminiscing about a “5 minute game” stunt Petri Purho did at GDC two years ago. Talk soon turned to whether or not a 5 minute game is possible at all, and what it would take to make it happen.
I leaned back in my chair, with my hand on my chin. 5 minutes is pretty long, isn’t it? And a basic “avoider”-style game wouldn’t be too hard to make in that time… Would it? I mean… Yeah… I can do it, right?
Colin Northway immediately demanded I put my skills to the test in a public forum – on the projector at OrcaJam with a crowd observing. It wasn’t long before a few more joined in, as well!
Being the first entrant of the 5-minute-challenge, I decided to stack the odds in my favour as best I could; I mapped out (on paper) what my game flow would look like, and decided on using simple mouse controls. I’m allowed to start with an open “new project” in FlashDevelop, and I chose to not use any frameworks or library software of any kind. Straight-up from-scratch AS3 code!
And the horn sounds! 5 minutes is counting down on a nearby clock. The crowd heckles me as I type – sometimes making suggestions on “what I should have done” – definitely should have worn some headphones! It’s quite distracting.
I managed to get a working build in at around 5:40, but not in any state that I would call playable. Turns out I was going to fail the 5 minute challenge. In the end it took me 11:15 to get the game to where I had envisioned. :C
Chevy wanted to show off how his game framework, FlashPunk, could make a more complicated game in under 5 minutes. Brazenly going in without any preparation, the clock was set and he was off!
Chevy benefited a bit from a receptive crowd – there was a few ooohs and aahs as he slammed out some magical code with blazing speed. No heckling for this codemonkey!
Partway into his game design he ran into a bit of scope-shock, and decided to ditch his original game design and do a basic replication of mine (costing him precious seconds!). Chevy also lost a time-draining 30-45 seconds on setting up and tweaking keyboard inputs though! A terrible mistake?
At approximately 6:30, Chevy finished his game – another side-scrolling avoider with an interesting gameplay twist (while not moving to avoid things, your speed increases dramatically!).
Mike wanted a go too, and would be using Flixel for his portion of the challenge. He also started with a blank project in FlashDevelop and was also going in without any form of planning (like a madman!).
By this point, a full gaggle of developers had crowded around the projector and were announcing play-by-plays as the code was rapidly produced. Though it sounds like it might be a bit encouraging, I can imagine it was terribly distracting.
Wasting a few minutes on a silly collision-detecting bug didn’t help things, and setting up a keyboard control handler took a little longer than my mouse routine, but in the end Mike churned out an awesome game in only 8 minutes.
He not only implemented the same game that Chevy and I did – but he also included a score counter, and “gold” pickups as well! Definite bonus points for that, despite clocking in a bit beyond Chevy’s time.
What surprised me the most, and made my heart sink, was how quickly the first minute went by. Colin announcing “1/5th of the way complete!” stunned me – I had just barely started typing some basic setup items and declaring functions! I think both Mike and Chevy agree with me here – the first minute or two go by way faster than any of us had ever planned (even after watching others fail before you).
With all my knowledge and experience gained, I don’t think I can drop my time much more than a minute or so. I was typing fairly fast and did exactly what I want with a few typos being my only bugs… I think 10 minutes is my theoretical minimum time!
Chevy thinks he can definitely get in under 5 minutes if he streamlines his keyboard controls and starts out with a properly-scoped plan in mind. Mike thinks he could have gotten in under 5 minutes, too, if he didn’t run into his collision detection bug.
Open up a new project window and stretch your hands – It’s only going to take 5 minutes of your time, give it a whirl! See for yourself what exactly you can accomplish in a short timespan. Maybe you can be the first to create a true 5 minute game!
OrcaJam has finally come to a close. Last night I gave my last big goodbye hugs, the last of the equipment is cleaned up, and all the bills are paid. I can finally dust my hands and relax!
OrcaJam started as a thought at a pub, where a few friends envisioned a gameJam event that would bring together local industry folks with local university students. Big thanks to Fieran, the fundraising genius that turned the event from a simple idea to an actual reality.
For a “local” event with high hopes of attracting a dozen people, we were all very surprised to see 52 people sign up for the event (approximately 45 attended). Some people came from really far away – North Carolina’s Michael Lee wins the award for farthest-travelled, with Manitoba (Alec Holowka) and Iowa (Mikengreg) as close seconds. A huge number of people from Vancouver showed up too, and a smattering of folks from Washington state as well.
I know three people in attendance wrote their first ever games(!), and perhaps a dozen were attending their first gamejam. Several were students, some were industry workers, some were through-and-through indies – but we were all game developers.
Just about everything went smoothly at the jam. There was no critical failures, there were no major problems, and the event coasted nicely on it’s own steam. Some highlights of note:
Many people also commented to me, during and after the jam, that they were surprised “how friendly we all were.” I think this is probably my favorite bit of feedback for the entire event. Not only did we (as a group!) exceed expectations, but we were downright awesome people. Time to give yourself a glorious high-five and simultaneous pat-on-the-back.
For those who were doing their first jam, that must have been a huge, encouraging relief.
Not all went as well as could have been;
One of the best things about us humans is our ability to learn and correct. If anyone else is planning a game-jam event I’d be super happy to share all my thoughts and give any advice/tips I can… And you can be sure that OrcaJam II is going to be even better.
If this post seems to lack my usual level of energy, it’s because the event was remarkably draining. Despite everything going well, despite the complete lack of problems, and despite getting 9 hours sleep – I was still walking like a zombie on day two. It felt like someone stuck a plunger to my forehead and sucked out my brain’s ability to work.
I’ve attended jams before, and even muscled through with little or no sleep while programming some pretty heavy stuff. I’ve always looked at event organizers and shook my head – why did they seem so stressed? Why did they not participate? I couldn’t figure it out. Now I know.
It’s not that the organizers are necessarily stressed, or that they don’t want to participate, or that things are going wrong. They are probably just tired. Tired in a way that they’ve never been tired before; tired in a way that no amount of sleep can fix.
I found I would have ended up just sitting in a corner or staring at a wall for most of the event; I lost my ability to write meaningful code, and I felt somewhat useless. What saved me was a bunch of “fun” events – the 5 minute code challenge; doing cheezy sound effects for people; or even breaking out my Wacom tablet and sketching shitty art for people. Fun, relaxing, low-pressure things that kept me engaged.
But I’m still feeling “zoned out” and can’t quite bring myself back up to my regular running speed.
A word of advice to future organizers: Delegate, relax, sleep well, and most of all: find ways to have fun. For you and your attendees.