SLOUCHCOUCH

Slouch Couch Game Studios is a game making studio specializing in HTML5 and HTML5 mobile games. We make stuff that we like. We make stuff regardless of what plane our players are on.

What’s next after Drugbound? Making TONS of smaller games, that’s what.

Drugbound was a really fun learning experience for me. Here are a few things I learned:

  • Don’t set your sights too high.
  • Estimate how long you think a game will take to make, then quadruple it.
  • Don’t let feature creep in.
  • Nobody trusts, likes, or cares about in-app purchases for html5 web games
  • don’t do too many changes to your canvas context each cycle (really brings down performance).
  • don’t make a complex UI using css 3d transitions, because different browsers.

And most importantly for me and my style of working:

  • do NOT spend an entire year on a single game because you’ll get about 1000 other ideas during the course of making the game that you won’t even be able to touch until afterwards.

    SpaceTime is an html5 block color matching game. It was made for One Game A Month in about a week.
    SpaceTime is an html5 block color matching game. It was made for One Game A Month in about a week.

The game was met some modicum of praise and I consider it a success in that I have shipped something. I’m completely glad that I did it and I can’t wait to make more games about even more complex issues we face in the world today.

But for right now, I’ve set my scale much smaller thanks to the folks at One Game a Month. Basically One Game a Month is a nice way to motivate people to make one game per month (or more). In order to do so you have to think of a game that you believe will only take a few days or a week to make, and then work on it all month. I am really a big fan of this format because it allows me to vomit forth all of the neat little ideas I had while making drugbound and make games out of them.

Cave Rush 2600 is an atari-styled running game where you tap to change how gravity affects your robot. It is also very brown.
Cave Rush 2600 is an atari-styled running game where you tap to change how gravity affects your robot. It is also very brown.

Drugbound was my January submission to One Game a Month. The February and March games I made all in about 2 weeks at the end

of february and beginning of March. They are SpaceTime and Cave Rush 2600 respectively. They were both very short games I made just to get some simple games that also work in mobile web browsers, which they do.

If you’re interested in doing One Game a Month it’s completely free and you can jump in at any time of the year. My friend and fellow Omaha game maker/artist Ryan Malm just jumped in a few weeks ago and already made a slick asteroids clone for March, Planetoid Decimator.

DRUGBOUND IS RELEASED

GAME IS RELEASED! Play it on the web for absolutely free here:

 
DRUGBOUND BUGDROUND GROUNDBUG BOUNDTHUG DRUGBOUND HUGDRUM HUGEPROUD DRUGBOUND

Play the latest build of Drugbound NOW

Play Latest Drugbound Build Here

Drugbound is officially in open alpha status!  I have all the major gameplay mechanics down and mostly polished. The store is about 30% done and only has a few items for sale currently. Also no achievements yet. Those will all be coming soon in the next alpha release.

So far it works in desktop browsers Chrome, Firefox, Safari, but i’m not sure if it will work in IE 9+ at this point with sound. Safari on a retina display will be weird looking but i’m blaming Apple for a getImageData() bug on that one.

Feel free to play as much as you want and if you’d be so kind leave some feedback or let me know about bugs etc etc.

i am a magical winged horse

Play Me Play Me Play Me

A couple of Impactjs plugins for juicing your game. (screen shake and time slowdown)

A couple of Impactjs plugins for juicing your game. (screen shake and time slowdown)

If you haven’t seen the Juice it or Lose it talk by Martin Jonasson and Petri Purho you’re really missing out.

It is basically two guys talking about really cool ways you can polish your game to look better, to add life to it, and to make the player feel like she/he is really part of the game world.

Two very big ways that I’m adding juice to my current game is by adding well-timed screen shakes and split-second time slowdowns.  I have made two Impactjs plugins and made them available to anyone else that wants to do the same.

Screen Shake – (source on github)

The first is a Screen Shake.  I feel this doesn’t need a lot of explanation. It shakes the screen as intense as you want, as long as you want. It works like pretending there is a spring on the ig.game.screen.x and ig.game.screen.y values and bounces the screen around according to how a spring would react. You can make the spring stiffer or decay faster, or whatever you want.  One place I use it is whenever a buzzsaw smashes into the ground, adding weight and force to the buzzsaw.

//include in your .requires{} section:
.requires{
    'plugins.screenshaker'
}

//include in your game's init() section somewhere:
myScreenShaker: null,
init: function(){
    this.parent();
    this.myScreenShaker = new ScreenShaker();
}

//include in your game's update() section somewhere:
update: function(){
    this.parent();
    this.myScreenShaker.update();
}

And then to use it just apply a toggling force to the fake spring via the following method. (also note the toggling forces are additive and stack well with eachother!)

    ig.game.myScreenShaker.applyImpulse(300, 500);
    //300 = motion in x direction, 500 = motion in y direction)
    //values can be negative as well.

Time Slowdown – (source on github)

The second juice technique is a time slowdown. I use this for flashing time slowdowns briefly, like when the player dies in a certain way (for example when he gets cut in half by an orbital laser here at 33s into the video. don’t blink or you’ll miss it.)

I also have time slow down momentarily before you reach the end of each level. It’s just a nice simple effect that adds a little juice to the game that i like.  It’s fairly easy to use, and even comes with a SuperTimer class so you can create timers in game that are immune to the slowdown (for example the slowdown’s actual timers are all SuperTimer objects for obvious reasons).

//include in your .requires{} section:
.requires{
    'plugins.timeslower'
}

//include in your game's init() section somewhere:
myTimeSlower: null,
init: function(){
    this.parent();
    this.myTimeSlower = new TimeSlower();
}

//include in your game's update() section somewhere:
update: function(){
    this.parent();
    this.myTimeSlower.update();
}

Then to use it you just call the method below with the four parameters shown:

ig.game.myTimeSlower.setTimeScale(timeScale, x, y, z);
//timeScale => time scale value, between 0 (stopped) and 1 (regular speed)
//x  => gradually go from regular time to timeScale over x seconds (linear slowdown)
//y  => stay at timeScale for y seconds
//z  => gradually go from timeScale time to regular time over z seconds (linear speedup)  

Both of these are freely available to use for whatever reason by anyone, and are licensed via WTFPL.

IGF Submission Trailer for Drugbound

IGF Submission Trailer for Drugbound

I submitted Drugbound to the Indie Games Festival (IGF). Here’s the trailer video featuring some incredible music by Electric Children.

I was furiously working right up until the deadline putting the video together and making last-minute tweaks to the game.  The cool thing about IGF is you only have to submit to IGF that you have a game, meaning i can constantly continue updating it and making it better as the festival date approaches.

The game is unfinished but I’m very satisfied with what is done so far, and even if I don’t become selected as an IGF finalist my hope is to at least make a few impressions on some of the judges or anyone else that puts eyeballs on my game.

Hired an artist!

I contracted an artist to help me out with color selection, art continuity, and some additional polish assets.  His name is Ryan Malm, an Omaha local, which makes working with him all that much easier.  He’s given me a few really awesome things so far.  Here’s a before and after with the adjusted palette.

before on the left, after on the right
before on the left, after on the right

I’m looking forward to working with him some more on this project, and I can tell from our meet-for-beers-to-talk-about-shit conversation last night that he’s pretty excited about making games.

sHpere, my entry into the js13kgames competition

The js13kgames.com competition is a month-long competition to make a javascript/canvas game in under 13k.  It runs from August 13 2012 to Sept 13 2012.  I jumped in around September 5th with a few days left in the competition to see what I could come up with.  The competition seemed pretty laid back and I wanted to also use this time as a short vacation from development on my html5 game using impactjs, Drugbound.

sHpere googles much better than sphere
sHpere, hosted on js13kGames.com

I didn’t really flex my game design muscles too much on this one, but I intended this to be more of an exercise in math for me.  I wanted to see if I could still remember a lot of the 3d coordinate systems and transforms between those systems using matrix math that I learned back when I did physics in college. Turns out if you don’t do matrix coordinate transformations in over a decade you get somewhat rusty.

The two largest sources of issues/bugs for me were:

  • the axes for the cartesian system I learned in college isn’t the same as the one I’ve been using to draw stuff on the screen for the past year. z is -y, x is z, and y is x.  Talk about headache.
  • trying to improve the performance on mobile browsers without having really ever worried about it before on other games.

The biggest performance boosters in mobile browsers were to use requestAnimationFrame() instead of setInterval(), draw to an offscreen backbuffer canvas before flipping/drawing to the visible canvas, and to manually cut down on the number of background stars and sphere vertexes to lessen the number of canvas draw calls (those things are expensive I hear).

You can play the game by clicking the image above.

js13kGames competition

github unminified source (caution: bad variable names, magic numbers, and poor comments)

I welcome any feedback below or follow me on twitter @mrlasertron!

Screenshot Saturday, School’s Back Edition!

School is back and the local uni is abuzz with students.  I dedicate this screenshot to all the new freshmen this year.  Good luck with school!

This shot is me working on the boss for the 4th stage of the Drugbound the Game: Ride the Thunderstorm.

"you have a ship?  bring it to me."
boss energy being from stage 4 of drugbound

ScreenShot Saturday

not much new. finished desert “boss” flying around shooting at me. click to enlarge.

SCREENSHOTSATURDAY

here’s a link to the process of me making the art asset for this desert boss guy.

 

 

 

 

 

 

 

The Drugbound Art Process

shoulderpads that could make a space marine blush

Being an independent game developer with a limited budget I knew that art was going to be a problem for me.
Talented artists are expensive and I knew Drugbound was going to have quite a few assets. I had already commissioned a talented artist from San Francisco
to do the first set of background images. Her work was great and well worth it, but I realized that I wouldn’t have the budget to have her do all my assets.

I decided to try a new way to get art assets that I hadn’t heard many other people try before.  I hired a very talented local artist, Tim Mayer, who does comic book work to do concept art for me, and from his concept art I would try to create vector images in inkscape or illustrator to export to .png for game assets.  I had Tim whip up some great concept art for a boss idea I had for the very first level where you’re in the desert.  For inspiration I suggested to him the cool road warrior bad guy from Mad Max 2: Road Warrior who would have a jetpack and would Hurl buzzsaws at you the entire level.

Once I had the concept art I spent a day or two learning about vector graphics using Inkscape. I really only had to learn the basics but creating the art went a LOT smoother than I was expecting.  Also my whole process sped up once I figured out that I could add a semi-transparent layer underneath my main draw area where I could put the scanned image and “trace” the inked lines.

Then I added colors.  I spent a day or so reading about color theory and color selection.  I read how some of the other studios mix and pick colors and I tried to do the same.  Especially helpful was the art department write-up from Valve’s Dota 2 Art Guide pdf (thanks Valve!).

The vector art was astonishingly easy to change frame-to-frame in order to animate.  Vector art uses paths and strokes and anchors. If you want to move an arm you just select all the anchor points in the arm, rotate them, touch it up a bit and voila you have a moved arm.  MUCH easier than trying to animate in Gimp or Photoshop on a rastered image/bitmap.

I exported to .png, loaded the asset in my game, and started playing. The. Guy. Looked. AMAZING. I was so satisfied with my work that this is now the process chain that I am using today for the rest of the Drugbound assets.

shoulderpads that could make a space marine blush

jetpack inspired by the nomadic Ork aliens from Warhammer 40k (in case you weren't able to guess).

There are a few things to consider first before going through with this asset production method.

  • Make friends with a good local artist so you can work with him/her in person. Being in person with Tim while he worked was a huge help. I found Tim on the pinboard at a local comic shop in my neighborhood. I’ve also met a couple cool artists on twitter.
  • When designing entities for your game make sure you pick entities which will require fewer animation work or none at all.  It’s easy to trace concept art into assets, but depending on your artistic talent it might be much harder to derive animated frames from a static and motionless piece of art.
  • Spend a day or two learning to use a vector graphics program.  I am currently using Adobe Illustrator because I got a good deal on Adobe Cloud, but I used the open source GIMP up until about a week ago.
  • This takes time!  This road warrior “boss” took about 5 hours, which is 5 hours away from development. If you really don’t want to spend time pushing pixels (or anchors/paths) then maybe paying an artist would be more up your alley.