The Sky Is The Limit

Reaching it will give you emptiness


Vegard Hanssen


If it’s not possible to code, it’s not worth doing.


Playing, recording, producing, mixing, mastering.


Backgrounds, text, visualizing



Halv marathon is fun


Using my brain is vital


You can never know to much

#FreeFreddy puzzle game is out

Cellar Labs new puzzle game, Free Freddy, is out for Android. Get it at Google Play.

Solve 100 puzzles to earn trophies and certificates. Or try solve random puzzles in different sizes and difficult levels. If you feel lucky, try a 10×10 insane puzzle.

The game will soon be available for iPhone and Windows Phone too.


Get it on Google Play

Get it from Microsoft phaser-swipe-pages

Find it on GitHub

Phaser component to manage a state of pages

Can be useful for eg help screens etc. It will use the Phaser.Camera to move around, and take care of
positioning your objects


The easies way of using it is compiling your project with browserify and install it like:

  npm install phaser-swipe-pages


    var SwipePages = require('phaser-swipe-pages');
    // in create
    this.pages = new SwipePages(, 3);
    // If you want standard menus. Else you can create your own and pages.addToStationary(obj);
    this.pages.createMenu({}, this.back, this);
    // Create your pages. All objects should be created as positioned on the primary screen. The component will
    // move them to correct place
    var text =,0,'page 1');
    this.pages.addToPage(1, text);
    // Here we add a text to page 2. But the positioning is still 0,0
    var text2 =,0,'page 2');
    this.pages.addToPage(2, text2);
    // Go to page 1
    this.back = function() {
      // This.will be called when the user presses SKIP on the menu

phaser-swipe for

I’ve created a swipe component for You can find it on GitHub

You can grab the swipe.js file and include it in your project, or you can use npm or bower:

   npm install phaser-swipe
   bower install phaser-swipe


You can use it in two ways. With or without a model. This is without model

  var Swipe = require('phaser-swipe');
  // in create
  this.swipe = new Swipe(;
  // in update
  var direciton = this.swipe.check();
  if (direction!==null) {
    // direction= { x: x, y: y, direction: direction }
    switch(direction.direction) {
       case this.swipe.DIRECTION_LEFT: // do something
       case this.swipe.DIRECTION_RIGHT:
       case this.swipe.DIRECTION_UP:
       case this.swipe.DIRECTION_DOWN:
       case this.swipe.DIRECTION_UP_LEFT:
       case this.swipe.DIRECTION_UP_RIGHT:
       case this.swipe.DIRECTION_DOWN_LEFT:
       case this.swipe.DIRECTION_DOWN_RIGHT:

This is with a model. Here you define your methods in your model. Only those methods defined will be used. So if you do not want the diagonals, you can just omit those methods.

   function YourModel() {
      up: function(point) {},
      down: function(point) {},
      left: function(point) {},
      right: function(point) {},
      upLeft: function(point) {},
      upRight: fuction(point) {},
      downLeft: function(point) {},
      downRight: fuction(point) {}
   // in create
   this.swipe = new Swipe(, yourmodel);
   // in update. The methods will only be called if you have a swipe.
   // point: { x: x, y: y }


I created an animated updatable label for the Javascript framework You can find it on github.

You can use it like:

 // If you used browerify. Else just add it in script tag and use class UpdatableLabel.
  var UpdatableLabel = require('phaser-updatable-label');

  // Sample style for the label text
  var textStyle = { font: '50px Arial', fill: '#00', align: 'center'};

  // The initial value of the label
  var initValue = 0;

  // Create the label. The true is to set if the label is ment to be positive
  var label = new UpdatableLabel(, startX, startY, initValue, textStyle, true);

  // Add a value to the label. We define the start position for the value we add
  // This will start the animation and add the value
  label.addValue(10, {x: 100, y: 100});

  // Get the new value. This is the updated value even though the label is not
  var newValue = label.getValue();

  // We can also add multiplications. If the value was 1 and we add multiplier by 2
  // the new value will be 2
  label.addMultiplier(value, {x: 100, y: 100});

  // And remove it. The module take care of correct number, so you should use
  // the value of 2 if you used 2 in addMultiplier
%d bloggers like this: