About Olle Jonsson

Developer, born in '77. Wears glasses and often a smile.

Visited a gamefest: Nordic Game Jam 2007

Copy-party (or less aggressively, and perhaps more descriptively “demo-party”), that was the name of a weekend of mildly Dionysian digital festival here in Northern Europe during the late 80s and the 90s.

*Update:* Danish radio DR1′s show Harddisken has Frederik Berg Olsen’s radio programme about NGJ07. FBO had a tape recorder with him, and made a Gonzo radio reportage from the event, which’ll be broadcast (in Danish) tonight at 20:00. You can also download it, and hear it at your leisure.

Yesterday, I experienced the same kind of group exhilaration at Nordic Game Jam, a meetup of kindred souls from the Nordic area in Copenhagen’s IT university building. A whole weekend! 36 hours to design and make a computer game. No holds barred.

(I think the constraints of this Jam was about game design, not about technology.)

Fellow Copenhagener Frederik Berg Olsen was there, participating with the Snowscape team, as a game designer. I met his team-mates, and even though the rigors of completing a computer game in a limited time-span take their toll, they were a cheerful and kind lot. The puns at mid-afternoon on Sunday were quite… ripe. “RoboSnow! SnoboCop!”

My thoughts about what tools to bring to the next year’s Jam was:

* exotic hardware (dance mats, game joysticks with “force feedback”, light pistols, NES handcontrols — hm, should one make a NES game? Thorbiƶrn, whaddya say?)
* super-productive software kit to run said hardware (Pygame, some Ruby wrappers for SDL, perhaps, some Windows package — maybe HGE — to make games). Having tried the software before could be good. Does it run on my laptop? Does it do sound input? You know, trying to moderate the effects of Murphy’s Law.
* or, taking the “prevalent” route: Flash, with all bells and whistles. Or, even Javascript? In-browser, or not?
* or, tying in the Web in some way
* good ideas, games that you want to make

Yes, I say next year, ’cause I’m coming then. It looked like tons of fun.

Practical details that might be useful:

* Integration/build machine for Java projects. Run the Buildix live-CD Linux distribution.
* A wiki-wall of Post-its and so on, where Help Wanted, Stuff We Brought, Have You Seen My Blue Cable, etc, could be put up
* Pre-event setup Subversion repositories for everything — maybe Google Code? But, you need to be able to set the stuff up lightning-fast
* Perhaps having your own team’s tech-support/auxiliary guru to solve any crises. (But, hey, no crises, please.)

Update: I got Gosu with Ruby to work! It’s a delightful 2D-game framework. Cute!

[tags]programming,gamedev,nordicgamejam,gosu,ruby[/tags]

Rubygems now features ‘Skip this gem’ in installation

Ruby’s code-distribution mechanism Rubygems is being released in a new version real soon, and some small useful features are already in the RCs. Like “Skip this gem”, which makes it possible to skip a single update, but continue with the rest of the set of updates for your gems. Here is a demonstration of just that:

$ sudo gem up -y
Password:
Updating installed gems...
Need to update 25 gems from http://gems.rubyforge.org
.........................
complete
Attempting remote update of sqlite3-ruby
Select which gem to install for your platform (powerpc-darwin8.8.0)
 1. sqlite3-ruby 1.2.0 (mswin32)
 2. sqlite3-ruby 1.2.0 (ruby)
 3. sqlite3-ruby 1.1.0.1 (ruby)
 4. sqlite3-ruby 1.1.0.1 (mswin32)
 5. sqlite3-ruby 1.1.0.1 (ruby)
 6. sqlite3-ruby 1.1.0.1 (mswin32)
 7. Skip this gem
 8. Cancel installation
> 2
Building native extensions.  This could take a while...
Successfully installed sqlite3-ruby-1.2.0
Installing ri documentation for sqlite3-ruby-1.2.0...
Installing RDoc documentation for sqlite3-ruby-1.2.0...
Gems: [sqlite3-ruby] updated

Pretty damn necessary.

[tags]ruby,rubygems[/tags]

Intro to J language

Via Dave, my favorite Dutch-speaking Australian Computer Scientist, I got wind of this fine J programming language introduction, written by our common acquaintance Cratylus.

A short text, it goes directly into parsing how J looks, and then a bit about its operators. No speculation, just explanation. Thanks, C!

And, Dave: I love the new handle-bars.

[tags]jlanguage,programming[/tags]

Upcoming game developer conference – Nordic Game Jam

My dear L is now working at Diginet Øresund. This event might be of interest to you, dear reader, should you live in the Nordic countries:

…Nordic Game Jam ’07, which is hosted by Diginet Øresund (my new job – I’ll be managing the event). Thought you might be interested. Or maybe you know someone else who might be.

  • What: make a game on a weekend and meet other developers
  • When: 2-4 February 2007 (last sign-up January 22)
  • Where: IT University, Copenhagen
  • Price: 250 DKK

Signup page for GameJam and more details about GameJam

Hope I’ll be seeing you there – if you need it, you can crash in our kitchen.

Installing libxml-ruby for libxml2 with Ruby, on OS X

Just had an exciting package management adventure with Ruby and XML on OS X. I wanted Libxml2 wrapped in a Ruby gem. So, I ran

sudo gem install libxml-ruby

…and watched the software fail to build. Darn OS X not “just being Linux”. After complaining to Christoffer, I was kindly pointed to a MacPort:

sudo port install rb-libxml2

OK, that worked. But I don’t want to use DarwinPorts/MacPorts for my Rubygems, the gems change far too often for that. What I wound up doing was reinstall my gem (sudo gem install libxml-ruby), and then copy the libxml.bundle to its folder:


# cp /usr/local/lib/ruby/gems/1.8/gems/xml/libxml.bundle \
/usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml/

Also, go into the file

/usr/local/lib/ruby/gems/1.8/gems/libxml-ruby-0.3.8/ext/xml/libxml.rb

and change the required file’s name from xml/libxml_so to xml/libxml.bundle.

This was enough to make the thing work!

Moral: The right way to fix this would be to enhance the Makefile of the libxml-ruby gem to teach it about the OS X environment, but: not me, not today. This little tip is what I can do today. Ciao.

[tags]ruby,libxml2[/tags]

irb with wirble

Using irb with your Ruby? Yeah, I thought so.

If you want syntax coloring, ri inside irb and a shorter prompt, get Wirble:


sudo gem install wirble

And add an .irbrc file to your home directory, following Wirble’s advice on what to put there.

Oh, and when you have one of those, you could add Ben Bleything’s command history to your irb, while you’re at it. (Minor update: Ben’s called Ben, not Adam.)

Makes for a more communicative irb experience.

[tags]wirble,ruby[/tags]

My Dashboard widget stopped working

A while ago me and my wife created a simple Dashboard widget that displayed our current amount of bonus accrued at the foodstore “club” we’re in. Since the website was just using a form which accepted member ID and PIN code, and the only thing you could do with the club website was enter see that amount, I figured I could afford a little scripting. A short script (and a lot of fiddling with the HTML, CSS, and Javascript for the widget) later, we had single-keystroke access to the number.

And then it happens. The widget displays “undefined”, instead of “24.00″. A bit of looking around later, it turns out the shopping center club has turned its simple form into a bigger “portal”. Now, the page for the login sits in a popup window, that shows this Flash movie. Darn. I’m not disassembling that SWF file, nor am I starting up Ethereal to monitor what it does. This time this throwaway script gets thrown away. So there.

[tags]dashboard,widget[/tags]

BarCamp here, in Copenhagen

On **17 november** at 17:00 [BarCamp Copenhagen](http://barcamp.org/BarCampCopenhagen) begins. What’s that? Let me quote [barcamp.org](http://barcamp.org/):

> BarCamp is an “ad-hoc” gathering born from the desire of people to share and learn in an open environment.

The activity is very simple:

> every person participating has to fill in a slot of 3 minutes for a presentation, idea, or anything related (or not related ?) to the people participating.

Interesting! You **get to present, for 180 seconds**!

![BarCamp Copenhagen](http://oschlag.dk/weblog/wp-content/uploads/2006/08/barcampcopenhagen.gif “Barcamp Copenhagen”)

**[Sign up at the wiki](http://barcamp.org/BarCampCopenhagen)**! That’s how to sign up for this event.

[Oschlag](http://oschlag.dk/) tells [more about it](http://oschlag.dk/weblog/2006/08/15/barcamp-copenhagen/), in Danish.

[tags]barcampcopenhagen[/tags]