Archive for the 'News' Category

Page 2 of 4

new server, new domain

I had a bit of a falling out with my old hosting provider, they essentially asked me to leave. So I took the opportunity to make the move to a new domain at the same time. All old links should redirect here and will continue doing so for the foreseeable future, but do update your bookmarks just to make sure.

If you’re reading my blog through rss you don’t need to do anything, the feedburner-feed stays at the same url.

I also updated the design a bit, it still looks absolutely horrible in ie6 though, but that’s a work in progress.

And when I’m at it, I’ve been twittering for a while and I’d like some more fun people to follow, send me a message or even follow me and I might follow you back.

Nordic Game Jam in Pictures

This weekend I attended the Nordic Game Jam, the flagship event of the Global Game Jam. A whole load of games were made, I’m not sure how many since I’m still waiting for the NGJ-site to get updated with the numbers.

The game we made will be up here shortly, we just need to fix some very minor stuff and get the size down a bit. It will also come with the complete source, although it was written in no-time-at-all so it might not be readable or even understandable.

The event was tons and tons of fun. Got to meet a whole bunch of new people and enjoy the wonderfully incomprehensible language of danish for a whole weekend!

All my pictures are available in my Nordic Game Jam 2009 set on flickr.

DSC_3323
From the left: Jonas, Kian, Joel, Bernie (behind), Cactus, Erik and Petri

DSC_3327
From the left: Petri, Joel, Cactus and Jonas.

DSC_3356
Heather did the keynote.

DSC_3387
Kian and Bernie

DSC_3388
Erik pretending to work

DSC_3426
Heather and Cactus making their game

DSC_3348
Cactus again.

DSC_3436
It’s me!

DSC_3398
Jonas and Joel hard at work, while I’m messing about taking pictures.

DSC_3417
LOLPETRI

DSC_3386
The IT-university was a pretty fancy place

DSC_3448
66.7% of us won a prize!

That’s the whole weekend summed up in pictures. Sadly none from the presentations or award ceremony but I’m hoping someone else got pictures of that.

More about the game we made in my next post.

World of Goo in hands, various bodily fluids in pants

I got my dirty hands on my copy of World of Goo just over two hours ago. Two hours well spent in aforementioned land of thick, viscous matter. It’s a great game, every level so lovingly crafted. Go Preorder it Buy it Give them money this instant or I will kick your ass!
Now I need to get some sleep, damn this worldly body of mine, it’s all about eating and sleeping and way too little about gaming (and possibly even less about getting a occasional game up on this here blog)

The need for stupid amounts of objects.

The other day I got an email from someone who wanted to know how the “infinite” drawing in isotope3 worked. I figured this would be a excellent time both to share some code and get a post done around here.

The source code for this is available under the MIT license

I’m using a technique I first started to use in my game Eater of Worlds, it has since appeared in a few other things I’ve made.
Just piling hundreds of objects in a single DisplayObject causes Flash to redraw all of them each frame. Drawing vectors in Flash is pretty fast, but having to redraw them each frame is a bit unnecessary if they aren’t really changing. Enter cacheAsBitmap, this does exactly what you would expect it to. And it’s great. Until the content changes, then you have to redraw everything again. Taking both the hit of the redraw with the added punishment of creating the cache (not sure how big that is though).
In isotope3 I redraw each and every frame, negating any boost cacheAsBitmap would give.

So what I do is i create a “cache” bitmap, basically the same as flash would do automatically, but this bitmap I’m controlling.
This makes stuff a tiny bit more complicated, since you will need to explicitly tell flash what to draw to the bitmap each frame (or whenever you feel like it really). Another drawback is that if you’re using it to pile in large amounts of objects and want to remove something it gets tricky. A good way to solve this would be to keep the DisplayObjects, but not attached to any visible clip, and updating them as needed.

Enough with the talking for now, here’s a demo (Click it to make it go!)

This is how you set it up:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// initializing the canvas at 500x500, not using the 
// autoclear and with a full size back buffer.
// if you're going to use blurring or some other "destructive" 
// effect, you can use a smaller back buffer that means 
// setting a bigger buffer divisor as the fourth argument
var _canvas:Canvas = new Canvas(500, 500, false, 1);
addChild(_canvas);
 
// this color transform is applied each update(), 
// here i set the alpha multiplier to .5 making 
// whatever was in the buffer the last time around 
// gets faded by that amount
var colorTransform:ColorTransform = new ColorTransform(1, 1, 1, .5, 0, 0, 0, 0);
_canvas.colorTransform = colorTransform;
 
// a simple blur filter 
// (it's faster with multiples of two for the blur-setting btw)
var blurfilter:BlurFilter = new BlurFilter(4, 4, 1);
// feed it in like this, this is too run on each update()
_canvas.addFilter(blurfilter);

This is what you do each frame to apply fades, blurs or whatever effects you put in there:

1
2
// if you don't apply any effects this isn't even needed.
_canvas.update();

To draw something on the canvas you do this:

1
2
3
4
5
// draws a white box
var box:Shape = new Shape();
box.graphics.beginFill(0xffffff);
box.graphics.drawRect(0, 0, 50, 50);
_canvas.draw(box);


Get the source, example and flashdevelop project here and try it yourself!

Big thanks to my friend Richard who gave me some feedback on the code making it possible to read for people that are not me.

Comments are very much appreciated!

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!’

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

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.’

Time flies. Fast.

Wow. I’ve been fiddling about with my latest game for what i thought was about a week, turns out it’s been more than a month since my last post. Oops.

Well, the time in between hasn’t been entirely uneventful. The main reason I don’t post here as much lately is my final project that takes up a good 9 hours a day, combine that with the potent distractions such as Castlevania and God of War 2, there’s not much time left for the poor blog. But enough with the excuses for now.

ScreenshotWe’re about two weeks from a beta of the game, and it’s coming together very nicely. If you’re interested in being a beta tester once we get that far, please drop me an email. Somehow it never seizes to amaze what you can accomplish in a couple of weeks when you’re six people instead of just one.

bombsI have another little game in the works, well, actually it’s all done. I’m struggling with getting my new highscore thingie working properly. The one I have for flashpipes is working out great, but it’s a bit of a bummer that the top fifty places or so are the three same people ;)
So once I get that done (which should be within a few days) there’ll be a new game up here.

In other news, Petri got to go to the GDC. That gives me mixed feelings, partly I’m glad for him, partly I’m so jealous my arms are about to fall of.
Well, I’ll go next year, by then I should be rich and famous enough.