It moves!

This is more of a tech demo than anything else. It’s something that’s in damn near every game they make nowadays, but i still haven’t seen in a 2D game, maybe because nearly no one makes those anymore.
I’ve made bloom. I’ve been wanting to make this ever since bitmap effects were introduced back in Flash player 8, but AS2 is far to slow to pull it of with performance to spare for an actual game.

The following is a bit actionscript focused, so if you just want the pretty pictures feel free to skip ahead.
The way it works is that it, instead of just adding the different sprites to the stage, i have a canvas (essentially a Bitmap) i draw them on. This canvas is then copied into a lower resolution bitmap. It could just aswell be the same size, but I’m running it at a half or a quarter of the original resolution for better performance. This copy is then transformed into a black and white image by lowering the saturation to zero, in this step i also crank up contrast way up to get nice big white fields. Then i apply a simple BlurFilter to get the fuzzy effect.
This is then drawn on top of the canvas with additive blending.

The effect works a lot better if you can do some pseudo (or actual) HDR, since what it does is that it takes the very brightest pixels and makes them glow. This is all fine and dandy, but having variable exposure really makes it pop.

As an added bonus a beta of the Flash Player 10 was released this week, this gives amongst other things, a nice speed boost for blitting. It also supports something called Pixel Bender, which basically is pixel shaders, they run on the graphics card and everything. This demo however, does not use them.

See the demo after the break.

In other news; I attended the Nordic Game Conference this week. The conference itself was so-so, in my opinion a bit too many lectures/panels. I realize that you need the wide appeal for a conference like this, but that can’t be at the expense of quality. It is still nice to have something like that almost on your own doorstep though.
The real highlight of this was however that I got to meet a bunch of indie people. I mostly hung out with Petri Purho of Kloonigames and Erik Svedäng that is making the very interesting looking Blueberry garden. We also did some beer drinking with thewreck and jeb of Oxeye games. Pure gold.

Continue reading ‘It moves!’

Super Moustache Generator 500

I thought it would be easier to work all week and then be creative on nights/weekends, but as you’ve no doubt seen here it wasn’t all that easy. There’s a reason for “all” this posting all of a sudden, I am now a little bit less of a working man. I’ve taken Wednesdays off for the foreseeable future to try and make some more fun little apps and games for you to enjoy.
There’s also a little bit bigger project in the works, but that’s a bit too early to talk about now, it might not even make it into development if i jinx it by writing about it here.
But enough with the rants already.

In other news, I’ve spent the last two days failing miserably at growing some form of upper-lip facial hair.
Today I channeled this frustration into Flex and came up with the Super Moustache Generator 500. It’s a bit dodgy in almost every sense as I wrote it in about four hours. You get what you pay for, as they say. Play around with the sliders to make your very own ‘stache, once you’re done I recommend saving the image, print it and then cut it out and play grown up for a while. That’s what I did.

You can send the patterns to your friends, isotope-style. The images stay on the server “permanently”, but if I see a lot of hotlinking going on I’ll change that in a jiffy.

Please do post any fun patterns you find in the comments, preferably with what you would call that particular type o’ stache!

isotope3

So, this is yet another of those few and far between posts around here these days. But this time I’ve got something to show you. I bring you, the updated, super pimped-out, isotope3:

isotope3

The game/app/toy itself is on another domain, mostly to keep the url’s shorter for sending them to friends. I put this up last night and fed it to the stumbleupon-tubes and figured i’d write about it here today. Somehow I’ve managed to get 17k visitors on it already. Cool stuff.

Improvements over the old version include:

  • Massive epic speed improvement, more than 1000x faster
  • Customizable colors, both for isotope and background
  • Better, live pattern recognition (updates as you type)
  • You can now export settings, not just the pattern
  • And, as always, heated seats and cupholders

If you want to put this little thingie on your own little part of the interblags, here’s what you’ll need:

<object width="620" height="600" type="application/x-shockwave-flash" data="http://www.isotope3.net/isotope3.swf"> <param name="movie" value="http://www.isotope3.net/isotope3.swf" /> <img width="620" height="600" alt="no flash" src="" /> </object>

And oh, if you’ve missed it somehow, play with it here: isotope3

The post of shame.

portraitsml.jpgMore than three months the last post. That’s just plain embarrassing.
My excuse is that I both got a job and moved in with my girlfriend. I could never have expected how little time I have to spend on making games.
I haven’t made a single game since my entry into the jayisgames ball physics compo, and I didn’t even post about it here. Once again. The shame.

While I’ve been sitting on my ass both Petri of the often featured kloonigames has managed to get nominated in IGF. To use a slightly worn word, AWESOME.

And as if that wasn’t enough of the awesomeness, Ron and Kyle of 2Dboy and their World of goo got nominated too.

And while these boys have been hard at work I’ve been making quizzes (I make disturbing amount of those at work). I think i went wrong somewhere. Maybe I’ll feel better if I go to GDC in febuary and kick their asses. Too bad it’d cost a small fortune.

I’ll just make a game to mock them instead.

In the time I don’t have.
Dammit.

It seems I can’t beat you this time.

But you haven’t seen the last of me I assure you!

[INSERT DIABOLICAL LAUGHTER HERE]

(to help this post from not totally sucking, i’ve attached a picture of me dressed as a gameboy. enjoy.)

The games that didn’t make it: Part 3 – “Sort”

This is the third, and for now final part of my series on games that didn’t make it. This game is also one I made while working on argblargs. This was abandoned more because of lack of time than anything else. I started work on this on the odd spare hours in the final stages of the project, but I ended up having to spend my time fixing bugs instead of finishing it.
This game is “pre-idea”, it’s more of a test of a vague inspiration than anything else. A real proper prototype. It uses the ball physics from flashbombs but is a bit more action oriented.
You can shoot the big balls, making them grow, if they grow big enough they’ll explode. The stars from the explosion will ignite other balls, making them too explode.
It suffers a bit from performance issues (especially running in a browser), but it’s like 60 particles with inter particle collisions in AS2, so don’t expect a thousand fps.

I think this could work as a game, add some sound and a sweet combo system and you’d be in business. But I doubt I’ll ever finish it, if I do I’ll probably do it in AS3 instead, that way I could make it a real particle extravaganza.

This will be the last game now for a while, but I still have a few potential failures in the pipeline (keeping a positive attitude is key in game development).
If you liked these articles there’s more of that flavour around here. Check out the postmortem category. If that’s not enough check out Petri’s postmortems over at Kloonigames aswell.

The game is after the break.
Continue reading ‘The games that didn’t make it: Part 3 – “Sort”’

The games that didn’t make it: Part 2 – “Flu Fighters”

flu fightersThis is the second part of my little series of the games that didn’t make it.
This time it’s a game I made for argblargs, this game, as many other started as a quick little hack over the weekend. The whole thing started as a test of an idea I had for a long time. Flash has this nifty little function called hitTest(), it’s pretty crap for testing object to object. But it can do per-pixel collision of points against abstract shapes. There’s a bunch of games out there that use this, it’s good because you can paint your levels using the regular brush in Flash. But as with all collision detection, it’s not really the detection that’s the hard part, it’s the resolving.
This tests points for collision against the level and then backs them up the way they came until they’re not colliding anymore.
This was all working reasonably well.
I showed it to the other guys and they quite liked it, so we decided to go ahead and make a full game out of it. I had been using my trademark ropes to try it so after some fiddling about it turned into a game inside the body, you’re this weird little creature with a long tongue that eats bacteria.

I tried something like a gazillion different ways to do the gameplay but I never really got it right, foolishly enough I put some more bells and whistles in there hoping that they might save it.
They didn’t. So after about a week’s work (spread out over two actual weeks) we decided that it wasn’t going to work. We had to cut it.

So here’s the game as far as it got done, in this iteration you’re supposed to defend the four organs that are spread out in the body by eating the bacteria attacking them. The bacteria stick to your tounge, and then you can eat them by moving the tounges tip to your mouth. If you get stuck inside a wall, just try to pull yourself further into the wall using your tounge, this should get you out.
It’s not very fun but atleast it looks pretty.

The game is after the break.
Continue reading ‘The games that didn’t make it: Part 2 – “Flu Fighters”’

The games that didn’t make it Part 1: Rain

rain game screenshotWhen you make games the way I do, using quick prototypes to test out ideas, it a natural consequence that not all of them work out. Some turn out great (Hovercrafty, dingding and even isotope2) some do become games, original, but maybe not all that good in the long run (Moonlumber and to some extent flashbombs). Then there’s the rest, the ones that don’t even make it into a complete game. It may be for a multitude of reasons, but most often it’s because they’re not fun enough.

I have a couple of these lying around, and I figured I might aswell write a bit about them. The first one is “rain”. Most my games get a short name like that while I make them, Eater of Worlds was called slingshot, flashbombs was called bounce and dingding was called grid.

This uses the Boids style simulation from Popeatron to make a cloud, it looks really nice, but with one drawback. It’s horribly slow.I could probably speed it up quite a lot using stuff I’ve learned since then, but would still be a waste of processing power to do the cloud like that.

It does controls quite nice, the cloudlike feel is there when you’re moving it about. This is one of those things that worked as a toy, but where I had real trouble finding the gameplay.

I tried playing around with mouse gestures since I didn’t want to get keyboard controls in there, the mouse is so much nicer. So, by “massaging” the cloud you can make it rain, and if you move the mouse a bit faster in one direction you’ll make a lightning bolt.

And that’s about it. I never found a way to make it into a game without making it overly complicated. Instead I moved on to make Eater of Worlds.

The game is after the break.
Continue reading ‘The games that didn’t make it Part 1: Rain’

Finding the game.

Whale game development thumbnailThe way I make games is that first I make a prototype (this is prototyprally after all). Using that I try to find an amusing mechanic, something that makes you smile when you play with it. Normally this isn’t actually all that hard, especially when you’re doing something with physics as it tends to be reasonably emergent. With some fiddling you can find a few interesting mechanics without too much hassle.
The hard part is making it more than a toy.

This is where I’m at with this game now. It’s pretty fun as a toy, and it’s great fun to spawn in a hundred boats and just smash them, but it’s not quite a game yet. But it’ll get there.

My biggest problem right now is resisting the urge to add in even more complicated stuff, blooming and motion blur are two things I’m pretty confident I could put in there without completely killing performance. I’ve also had some problems with my constraint system (used for ropes and such) so that would need a slight rewrite too. But if I’m to complete this within the coming weeks I can’t do that stuff, I need to focus on the actual game.

And once the game’s done there’s menus, possibly high scores and that whole thing. And that takes alot of time, I learned that the hard way for Eater of Worlds, it was supposed to take five weeks, but the highscores and challenge system took two whole weeks on their own pushing the development time to seven weeks total.

Well. Enough with the whining. FlashDevelop, which I plugged in my last post is truly awesome. I hope to be able do a quick little tutorial for how to setup the whole thing for game development.

More balls.

Whalegame I’ve been fiddling around with a new game in past few weeks. It’s built of that ball physics prototype I posted, but with tons of improvements.
I’ve been making this game as a little AS3 playground, there’s been no real “push” to finish it, allowing me to do whatever I feel like.
So, I’ve managed to cram in framerate independent physics (within reason of course), a nice object oriented structure, linked lists for keeping track of the balls and I’ve also moved the project from Flash CS3 to the much more pleasant FlashDevelop.
I’m not sure what Adobe did to the CS3 gui, but it’s horribly slow. Especially on my three year old laptop. In principle CS3 is better for editing code, but for some reason Adobe didn’t go that extra mile making it usable for larger projects.

So, when speeding through the Google reader the other day I saw that jayisgames is having a new competition. About ball physics. And not only that, Jay himself actually popped by to remind me. So I guess I’m entering.
Experience has taught me that promising things beforehand about stuff you’re coding is doomed to end in disaster, so I’ll stress the guess here.

Tiny update.

portfolio thumbI’ve been taking a little break from argblargs the last few weeks. In this time I’ve done lot’s of stuff.

Most importantly I’ve been working on my portfolio, check it out!

I’ve also had time to play around a little bit with ActionScript 3, it really is a veritable speed fest compared to AS2.

I made a little physics test yesterday: It has with 151 balls, all colliding with eachother, that amounts to almost 12 000 collision calcs each frame. Uncapped it cranks out around 90fps on my three year old laptop. Amazing stuff. Doing this in AS2 would have exploded my computer, Flashbombs has a similar thing going, it can do 20 balls max.

Check the little test out after the break!

In other news I just stumbled upon Kyle Gabler (of experimentalgameplay.com) and Ron Carmel’s game development blog 2D Boy. Aparently they’re making Tower of Goo into a full game. I wish I could get to do the same thing with one of my game. Anyway, the last post features a crazy association game called Human Brain Cloud which is pretty neat. Go check it out!

Continue reading ‘Tiny update.’