CSS powered 3D engine with lighting, shadows and collisions. Built using HTML5 and CSS3 3D transforms. http://keithclark.co.uk/labs/css3-fps/
… developers pinpoint and solve performance issues in iOS, Android and HTML5 apps, while companies like Airbrake and Exceptional cater to the Web side. But, as…
We recently participated in Indie Speed Run, a new game jam apparently started by some members of The Escapist. Those who have already been exposed to other popular game jams such as Ludum Dare or Global Game Jam may find Indie Speed Run very familiar – developers have a 48-hour window in which to develop a game based on a randomly generated theme (and in this case, element).
Indie Speed Run offered some unique additions to the typical game jam format. Of all the game jams out there, we chose to participate in this one for the following reasons:
- Well respected group of judges helped legitimize the contest (also, who wouldn’t love for Notch or Yahtzee to play their games?).
- Ability to use your own tools without having to open source them.
- Developers choose the 48-hour window that works for them.
Additionally, Indie Speed Run had a $25 entry fee which, while it probably turned off a few teams, surprisingly made us feel better about the whole process. It’s a small amount of money that acted as a barrier to entry, meaning that only dedicated developers would participate.
Our game: Asylum Night
Our randomly-generated theme and element were telepathy and booby-traps, respectively. We looked each up on Wikipedia and dictionaries to ensure that our understanding was correct (and to help give us ideas). One common trait of telepathy is that it can be used to move objects, which plays well with the booby-traps element. So we wanted to make a game where booby-traps could either be set or disabled by using one’s mind.
Though we were obviously on a tight deadline, we knew that allocating several hours for game design would pay off in the end. So we rapidly discussed and threw out several concepts for various games. Pretty early on we settled on a mental hospital for the skin (graphics) of the game. Asylum Night could have been about a telepathic person in a castle or on the moon, but with the telepathy theme it seemed appropriate for the game to exist in a place dedicated to the mind.
We liked the idea of a player trying to navigate through a maze riddled with booby-traps, disarming them with telepathic abilities. But we know from experience that mazes need to be relatively deep and large to be compelling, which meant a scrolling tilemap and time we didn’t have dedicated to content generation. A game where all the action took place on a single screen seemed doable, and we wanted something that simple so we’d have plenty of time to polish it up.
Additionally, we preferred a side-scrolling perspective. Since we were allowed to use our internal tools in this game jam, we wanted to use them! One of our more powerful tools, the Doll Animation Tool, allows us to animate 2d sprites cheaply and effectively. For those familiar with the popular Kickstarter project Spriter, it’s a very similar tool.
After several ideas that didn’t pan out, we settled on a tower defense game. Players would control a telepath kept in an insane asylum operated by murderous doctors. Using their telepathic powers, they could knock out doctors directly or set booby-traps to help protect them. The first day, Geoff banged out the game’s model, I began working on art concepts, and Joshua Morse started composing music.
Geoff did a fantastic job with the game model. On the second night, I was playing through the game and it had a drastic difficulty spike. We wanted the game to be about surviving a week in an insane asylum, but on the fourth day the game became impossibly hard. Doctors would inevitably overrun the player and there was nothing, mathematically, that the player could do about it.
But on the second night, Geoff committed a major update to the model. After three more sessions, I was able to beat the game – but just barely! This demonstrated the game’s depth and learning curve. I think it’s a game now that’s impossible to beat on the first (or second!) play, but can be mastered with practice and learning. This is all Geoff’s doing and I think it turned out great.
Joshua Morse also did a terrific job with the audio. The funky title screen can really get you into the groove! Joshua also took extra care to note when sounds would be repetitive and took steps to make them pleasing when they could easily have been irritating. You may notice while playing: sounds that happen often such as the use of basic abilities or doctors dying cycle through a handful of slightly different sounds. This means that if you kill three doctors in a row, you’ll hear three distinct sounds, which I think makes the game much more enjoyable.
We’re really pleased with how Asylum Night came out, but it took more out of us than we expected. The second night, Geoff and I were both on 4-5 hours of sleep, which bled into the next day. So though we only planned for a 48-hour window, it ended up costing us 3-4 days of lost productivity on other projects. We could have avoided this by scoping the game down even more, or by cutting unnecessary polish.
On the plus side, I think we were able to deliver a very playable game in the allotted time. We also learned a lot in the process, such as when (and where) to cut corners to increase productivity, and the great feeling of motivation that comes from shipping immediately. This was the first 48-hour game jam for all three of us, and it was a wonderful experience. If you’ve been thinking about participating in a game jam but never have, consider this a gentle nudge!
What’s next for Asylum Night?
As a young independent company, we need to be frugal with regards to how we spend our time. We literally wouldn’t have been able to afford to dedicate a couple of days to Indie Speed Run if we didn’t think we could use the game to help pay our bills. With that in mind, we designed Asylum Night from the ground up to be mobile-friendly so that we could add it to our growing portfolio of HTML5 portal games. If you’ve got an Android or iOS device, play Asylum Night in the browser – it runs surprisingly well!
Additionally, designing for mobile will make it easy for us to launch the game natively on Android and iOS using Ludei’s CocoonJS platform, so the next time you see Asylum Night, hopefully it will be in the App Store and Google Play.
Goals are important. Without them, it can be difficult to gauge your progress, and that makes it hard to tell how much ass you’re kicking! Geoff and I banged out some goals for this year and I thought I’d share them with you.
1. Make $100,000 total revenue
Unfortunately, money is the most fundamental aspect of staying independent. Rent is due, and somebody’s got to pay it! We made a little more than half of this amount in 2012, and we want to stay ambitious, so this seemed like a nice, round number.
It’s ambitious but doable. In order to achieve this number we’re going to need to hit one of these bullet points really hard:
- Pursue passive revenue streams
- Sell game licenses
- Find development contracts
We’re most interested in passive revenue streams. Really successful indies are making money in their sleep, and our goal is to join them. Game licenses are the most immediate way to pay rent, but the HTML5 game market is very young and tumultuous (translation: it’s unreliable). Lastly, development contracts were far and away our biggest earner last year, but were also the most demanding of our time.
2. Make $1,000 in passive revenue during a single month
In our best month last year we made a few hundred dollars in passive revenue, but spikes like that typically only happen when a game is launched or first introduced to a new platform/market. Payouts from portals like AOL and Kongregate have been sadly lackluster so we’ll be busy this year trying to dig up great portals for our games where we can share in the advertising and IAP revenue.
3. Get a news story on a popular games news site
I’m proud and happy about our coverage on VentureBeat last year, as well as our coverage on TechCrunch in 2011 (even if we aren’t the focus in the former). But we want our games to be put directly in from of gamers as well as entrepeneurs and techies.
Getting high-profile media coverage for indie games is extremely difficult to say the least, but offerings like Joystiq’s Indie Pitch are a big step in our direction. Rock, Paper, Shotgun is also known to be very indie-friendly, though it may be difficult to get their attention as browser-based developers.
Either way we’re hoping to somehow garner the media’s attention and get many gamers playing our games!
4. Get 5,000 Twitter followers
I was really stoked last year when we reached 1,000 Twitter followers, but each 100 feels like a sprint. As of this writing, we’re not even 100 over that first 1k yet, and though I’d love to shoot for 10,000 followers, it doesn’t yet feel like a reachable goal. So I’d be really happy with 5,000 by this time next year. Help us out by retweeting our stuff!
We met two of our goals from last year: get 1,000 Twitter followers and get 10,000 unique hits in a month. Both of these milestones were hit near the end of the year; we just barely made it.
Developers! Developers! Developers!
Notice that our goals list doesn’t include a bullet point like, “Launch 5 games.” Our primary focus is always developing games, and we will release several games this year (as you’ll soon see!), but we don’t want to restrict ourselves to an arbitrary number. We’re not even sure what exatly we need to stay afloat just yet, but the world is an ever-hungry bottomless pit of desire for games, so we’ll keep cranking them out and experimenting with ways to make them profitable.
Wish us luck, and thanks for your support!
Recently a friend of a friend contacted me about doing a photoshoot with us. She’s a local photographer and was looking for subjects that would fit a “startups in startup environments” kind of vibe. Naturally, we were game!
So Maki of Maki Photography came by one afternoon and shot us doin’ our thing. We’d be coding or whiteboarding and she’d be running around looking for and taking excellent shots. She has created a gallery of 36 of these photos on her website.
I’ve also included a few I liked quite a bit right here; click any image for a high resolution version.
Our games on many devices
A culture of cats
Our games run on cats
Matt at the home studio
Whiteboarding fun stuff
A lost portrait
Maki has a great eye for a good shot and is really fun and easy to work with. If you’re looking for a photographer local to the bay area, be sure to contact her!
Visit this page in your Wii U browser and play Onslaught! Defense!
HTML5 games on consoles
Several weeks ago Microsoft released Internet Explorer on the 360. In my article Play our HTML5 games on your Xbox 360 I discussed that browser’s HTML5 gaming capabilities and the impact it could have on HTML5 game studios like ours. Around the same time, Nintendo launched their next-generation console Wii U, which (after a ~3GB system update) also has its own internet browser.
This isn’t the first time web browsers have been available on gaming consoles. Nintendo’s previous console (Wii) featured a version of Opera called Internet Channel. Sega’s Dreamcast had a web browser more than 10 years ago! But now in 2012, HTML5 games are on the rise. Is Nintendo’s new browser capable of running them?
In the Wii U’s browser, I visited the Lost Decade Games arcade and was pleased that at least two of our games are playable out of the box. Here are some of the positive take-aways:
- Nearly complete 2d canvas API support.
- The Wii U controller’s excellent d-pad maps perfectly to the arrow keys (up/down/left/right).
- The A button is mapped to enter/return.
Remarkably, the browser also aced the Acid3 Test. Its rendering engine is slow but draws everything very well. Unfortunately, there’s a lot more to say about what’s bad.
Using the online HTML5 Test tool (as well as a few of my own scripts), I compiled the capabilities of the Wii U browser. Here are some of those results:
- No Audio support
- No Web Audio API
- No WebGL, WebSockets, or File API
- No AppCache, some security
- No WebWorkers
- Framerate is very low (~10 FPS for tested games)
Audio object exists but it doesn’t support any standard audio formats (such as
ogg, or even
wav). Sadly there’s no WebGL support at all. Though the
localStorage object exists and will accept commands to get and set data, the local storage data is wiped when the browser is closed, breaking its functionality completely.
It DOES play games!
Although there’s no audio, you can’t save your game, and the framerate is terrible, two of our games are playable. Lunch Bug is even monetized via Google Wallet, though without a working local storage, there’s really no point in buying anything.
If you only end up playing only one HTML5 game in your Wii U browser, make it Onslaught! Defense. I added keyboard functionality today, and since the Wii U controller’s d-pad maps to the arrow keys, you can even play the game with the d-pad.
Wii U controller’s browser commands
Lastly, here’s what seem to be the default browser commands of the controller’s buttons:
- A: mouse click or enter/return key equivalent (USABLE!)
- Y: open bookmarks
- X: toggle TV visibility
- d-pad: arrow keys (USABLE!)
- Left stick: pan
- Right stick: zoom
- -: zoom out
- +: zoom in
- L/R: history.back/forward
- LZ/RZ: previous/next tab
(Feel free to correct me if I’m wrong about any of these.)
We’ll discuss the Wii U and its web browser in the next episode of Lostcast, our independent gamedev podcast. You should tune in!
Lostcast is our podcast about HTML5 games. New to the show? Get your feet wet with our most popular episodes HTML5, The Bad Parts or Quite an Impact.
Download episode 27 (1:04:15, 53MB)
The Art of Game Design: A Book of Lenses
Yesterday, I decided to take a break from bigger projects and challenge myself to a mini game jam. Making a simple game from scratch is a good way to see how our game engine is coming along. I’ve been wanting to do some holiday themed stuff and Thanksgiving seemed like a good excuse.
I ended up with a really simple “whack-a-mole” style game involving turkeys and pumpkins. I’m pretty happy with how far I got in ~8 hours. The art work is terrible, so you’ll probably understand why Matt handles most of our artistic needs!
Without further ado, I present Turkey Hunt! The game is designed to work best on mobile so try it out on your phone or tablet. Let me know what you think in the comments.
The game ends up being pretty fun, although shallow. Perhaps I can enlist Matt’s help in cleaning up the art and other loose ends at some point in the future.
I also want to take this opportunity to wish all our readers and listeners a Happy Thanksgiving! Thanks for your feedback and support on our adventures in indie game development.
Eat lots of great food, enjoy your families and be safe!
As you may know by now, Lostcast is the Lost Decade Games podcast. Episode 26 marks one year of shows! In this really rather very long episode, we go through each of the 25 existing episodes and: discuss!
Join us for the fun and as always we appreciate your comments!
- Simple HTML5 game tutorial
- Onslaught! – history of violence
- Bastion on CWS
- Spryfox vs 6waves resolved
- Onslaught! 2 demo
- Holy balls lots of episodes
Thanks for listening! We love getting questions and comments, so please email us if you have any.
Yes indeed, the Lava Blade alpha is still going on. We’re swamped with other projects, but we’re eager to dive back into the game, especially after having received so much excellent feedback.
On that note, my lovely wife Andrea (a professional user researcher) has compiled some of the feedback we have so far and is beginning to examine it. Just for fun, she made word clouds out of some of the open-ended survey questions.
This data isn’t really all that useful from an actual research perspective, but I think it’s pretty cool to look at. It’s interesting that it can give you a slight feel for the game without even having played it.
Lastly, there’s this pretty large overall game pacing image that wouldn’t fit into our narrow blog.
We’re neck-deep into development of a realtime multiplayer game so I need to get back to the grind. You might too, if you’re competing in the GitHub Game Off competition I’m judging!
On a side note, tomorrow’s the one year anniversary of Lostcast and we’re posting an extra-long podcast to celebrate. Hope to see your ears there!