Krisjet's blag

RSS
Jun 5

What I’ve been playing recently

I just picked up a little gem of a game called Cubetractor. I remember seeing a trailer some time ago, and it piqued my interest, mostly because of the beautiful pixel art. Seriously, the art in this game is friggin’ gorgeus. Each pixel seems like it’s meticulously placed right where it’s supposed to. They keep the art simple and functional, and everything is incredibly vibrant with color and personality. I am even super impressed by the menus in this game, they are delicious.

It also has an interesting gameplay mechanic, cool music and good sound effects. Everything about it just seems very polished. It’s not too long, and not too short, and there’s a free demo so you can check if it is your cup of tea before you buy it.

Basically it’s super charming and good looking, and you should definitely give the demo a try if you like action puzzle games!

May 9

Norwegian Game Developers: #1 KrisJet

Just got interviewed over at straighttovideogames.com!

Right Arrow Exhibit

Little Big Mansion is featured at the Right Arrow Exhibit in Tel Aviv. Among the 10 games being exhibited with LBM are Fez, Passage, Thomas Was Alone and Canabalt! I will also be there to hold a talk, so drop by if you are in the area.

Comparison shot of the first room of the prototype (above) and the newest version (below) of Little Big Mansion.

Comparison shot of the first room of the prototype (above) and the newest version (below) of Little Big Mansion.

VA==65731089732bGl2ZXMh: Apathy and refunds are more dangerous than Piracy.

tommyrefenes:

I think I can safely say that Super Meat Boy has been pirated at least 200,000 times. We are closing in on 2 million sales and assuming a 10% piracy to sales ratio does not seem unreasonable. As a forward thinking developer who exists in the present, I realize and accept that a pirated copy of…

Making a game for the wrong reason

First I want to put this blog into context. From around august until november I worked on a game that I wanted to release on iOS. Some of you might have seen the announcement on this blog, it was called Clean Kingdom.

This game was a one touch helicopter style game, ala Jetpack Joyride with shooting. I had an art style going on that I loved, fun colorful pixel art, and a level structure that I liked a lot as well. I was pretty much in full production on it during most of october but at a certain point I just had to realize that while there were many things about the game that I liked, it wasn’t a good game. The game design just wasn’t working. And I’ve been trying to piece together what was wrong. Here’s what I’ve got so far:

Just the other day I though about why I started making this game in the first place. And then I stumbled upon what I think is the primary reason why this game didn’t click. The basis of my design was to create something tailor made for smart phones. A game you could pick up, play for a short while, and come back to later. I looked at other games that I imagined did well, Jetpack Joyride, Angry Birds, Tiny Wings and 10000000 for inspiration. They all had something that made them interesting and unique enough for you to pick them up and give them another go. I was busy looking at these games’ mechanics, graphics and other things I imagined made them successes. But this was a huge dead end. What I should have been looking for was a game design that I was excited about.

Right from the beginning of the first prototype I had this feeling that the game wasn’t bad, but it wasn’t good either. It was just impossible to evaluate it without everything else in place. And this is where you stand to lose a lot of time. My advice is that if your game needs significant development effort before you can really see how much fun it is, then you should be conscious of the fact that you might lose a couple of months if you realize that it wasn’t as cool as you thought. What will happen to Clean Kingdom in the future I don’t know, as of right now the game is on hold. I would love to use those graphics for another project though.

Right now I’m back on track with a new project. I’ve begun work on the mobile version of Little Big Mansion, and it’s starting to come together. It looks better, it sounds better, it plays better and it will have a lot more unique and interesting scenarios than the short prototype version. Coming to an iOS device near you in 2013!

Mar 5

Technical info on Partypillars

This post will be about javascript/html stuff that I figured out when I was making Partypillars. People who aren’t developers be warned, you might fall asleep :)

Box2D

The game uses box2D for collision detection, which has been awesome so far. I really learned a lot from using it, and it was a relatively painless transition. The built in physics in ImpactJS really falls short when there are multiple entities colliding at the same time, especially if they are all «active» entities that are supposed to exert forces on each other. Box2D excels at this kind of stuff, and you can even get some emergent gameplay from using a physics model as advanced as this one.

The tradeoff is that it is a lot harder to micromanage how your characters control, since you have to tweak values such as mass and forces, instead of just velocity values. There are also other factors such as friction that can make your game feel like it doesn’t always behave the same, which is pretty bad. Luckily my game design was based on a lot of unpredictability and the game was created with «free for all» multiplayer in mind, so there wasn’t an enormous amount of pressure to create a perfectly balanced experience.

The biggest hurdle I faced using box2D was that my characters would be switching sizes all the time. I found a blogpost (http://liza.io/box2d-i-have-conquered-you-sort-of/) where the author was switching the size of the protagonist using 2 fixtures connected with a bone, but when I tried I quickly realized that wasn’t what I was looking for. My solution ended up switching the fixture of the growing or shrinking character with a new one of the appropriate size, and then setting up the contactListener again after doing the switch. I’m sure that box2D aficionados scoff at my approach, but if it works, it works :)

Input lag

After playing around with the game a bit with a controller mapped to the correct keyboard inputs, I realized that the input lag in Chrome was really bad. It was VERY noticable, especially when you pushed the jump button. After trying the game in Firefox I realized that the lag was much smaller. This correlates to this post I found a bit later: http://phoboslab.org/log/2012/06/measuring-input-lag-in-browsers

When finding out that Firefox handles input a lot faster, I changed my «target platform» to Firefox instead of Chrome.

Fullscreen API

I wanted the game to as true to a video game console experience as possible, so I wanted to use the Fullscreen API. I noticed one difference between the way Chrome and Firefox implemented the Fullscreen API, and it drove me crazy for a short while. Chrome respects any CSS that you apply like this: #canvas:-webkit-full-screen { width: 80% }

This will make your element 80% of the screen width when it’s in fullscreen mode. If you try doing this in Firefox: #canvas:-moz-full-screen { width: 80% } it will stretch your game to fullscreen regardless when you turn on fullscreen on your canvas element. What ended up working in Firefox was to wrap the canvas in a div, set the canvas width to 80%, and then making the div go fullscreen.

Audio

I didn’t end up using this feature, but I was tinkering with using the audio API to play sounds at slower speed (for the slow motion powerup). After an hour or so of fighting with Firefox I found out the the playbackRate variable seemed to be irrelevant when it came to playback speed, but if I changed the defaultPlaybackRate variable it worked. So be warned if you are trying to play back sound at different speeds, in Firefox you have to change the defaultPlaybackRate, not the playbackRate.

Those are the techical quirks I figured out when developing Partypillars. Hope it ends up being useful to someone somewhere sometime :)

Mar 4

My birthday party / Partypillars

I recently celebrated my birthday, and this year I thought I would try something different. I had this idea for a chaotic, multiplayer platformer, and I decided to make a game for my birthday party! And thus, Partypillars was born!

The idea was to have four players battling it out with controllers on my TV, like in the good old days. The premise of the game is simple, eat cake and get big, and try to stay big as long as possible to gain more points than your opponents. There are different powerups and stuff to find, and my excellent musical partner Martin Kvale made an awesome soundtrack and some cool sound effects.

The game took the guests by surprise and I really feel like I succeeded in creating the kind of atmosphere I was going for. Birthday party success! Here are some in-game screenshots, and you can try the game here: Partypillars

Making it in Indie Games: Starter Guide

makegames:

image

Every now and then someone will ask me for advice on making it as a professional indie game developer. First, it’s a huge honor to be asked that. So I want to say “Thank you!” Second… damn, if I really want to help out it’s a serious endeavor. Of course, I could always say “Give it your best! Work hard! Be true to yourself!” and it wouldn’t be a terrible reply… just not a terribly useful one, either.

So here it is. Here is what I’m going to link when that rare situation arises again, because it’s too much work to write it up more than once! This is advice that I feel may actually be practical to someone who is just starting out as an indie game developer. Hope it helps!

Read More

Feb 7

Close and personal

A couple of friends of mine made this for the Global Game Jam this year:

Defining Moments

You can try it here

It’s a very personal game. The designer just broke up with his girlfriend a short while ago, and it seems obvious that he put a lot of himself into this experience. If you can play it with two people, I’d recommend that, but it’s also possible to play it by yourself.