Archive for the ‘friends’ Category

SokoBan 2012 released!

Friday, January 4th, 2013

Arnout de Mooij and I are proud to announce the first official release of SokoBan 2012! This is a classic version of the game Sokoban, completely programmed by Arnout and myself. We started programming this around the time we both just had access to pentiums. Or perhaps even slightly before. Well, it took so long this game can go straight into nostalgia haven!
Sokoban menu

Quick install

  1. download and unzip soko2012.zip
    Android users: you’ll need an unzip utility.
  2. install DosBox 0.74 or higher
  3. For Windows only, here’s how to create a shortcut (see also the below picture):
    • Go to the Desktop.
    • Select the DosBox icon.
    • Press Ctrl+C and then Ctrl+V to copy the shortcut.
    • Right-click, select “Properties”
    • At the end of the field “Target“, add the full path of soko2012.exe.
      E.g., if “Target” was "C:\Program Files\DOSBox-0.74\DOSBox.exe" -userconf, and the files were extracted to C:\Users\hugo.jonker\Downloads\sokoban\, then “Target” should become "C:\Program Files\DOSBox-0.74\DOSBox.exe" -userconf C:\Users\hugo.jonker\Downloads\sokoban\soko2012.exe.
    • Change the field “Start in:” to point to the folder where you extracted the zipfile.
      E.g., continuing the previous example, “Start in:” would now become C:\Users\hugo.jonker\Downloads\sokoban\.
    • Change to the Tab “General” and rename the icon to SokoBox.

Shortcut icon properties

To play:

  • Unix: run startsoko.sh from the command line.
  • Windows: Double-click the SokoBox icon.
    Potentially the game runs slow, press Ctrl+F12 a few times to speed up DosBox.
  • Android: Run DosBox and enter the following commands:
    • cd Downloads\sokoban
    • soko2012.

Screenshots

Sokoban's level selector Sokoban's image sets
Sokoban lvl 6 in play playing lvl 5

Features

  • 48 completely original fields
  • 22 completely original, totally not-ripped graphical sets, including:
    • a fastfood-themed set
    • a halloween-themed one
    • a crisis-themed one (bring your money to the bank)
    • a Sinterklaas-themed one
    • a christmas-themed one (notice that Sinterklaas != Santa)
    • a few inspired by videogames of the 8-bit era
    • and more!
  • a stand-alone level editor
  • a stand-alone graphics editor (heavily updated in 2012!)
  • Keeping tracks of 2 types of highscores:
    1. the best efforts (least moves, then quickest) for the first 10 levels
    2. the 10 players who got the farthest completing all levels
  • A player-state saving system, so that you could continue to improve your score for the 2nd type of highscore
  • Level selector with thumbnails of the levels
  • a demo mode (don't touch any key for a while in the beginning, and the game will play one of the first 20 levels).
    Pointless? FUN! :)
  • Opening and ending scrolling titles
  • Insanely trivial-to-break encryption scheme for said titles :)
  • And, lest we forget: CHEATS! Including a complete internal level editor. I kid you not.

System requirements

Yeah, that's sort of it. This game was in development for a while, and unlike Duke Nukem Forever, we never deviated from the original specs. Sure, we need some memory (640K is enough :),  CPU (press Ctrl+F12 to speed up, Ctrl+F11 to slow down -- these are dosbox controls, not ours), and some graphical requirements (stock VGA modes). Really, your smartphone can handle these. With two fingers in its nose.  :)

Development history

Question: what does this version of Sokoban have in common with such pretentious names as Guns n' Roses' Chinese Democracy, or the game Duke Nukem Forever?
Answer:

  • Chinese democracy: in development 1998-2008
  • Duke Nukem Forever: in development 1997-2010
  • Sokoban by us: in development 1994-2012

Message to take home: all good things deliver. Alternatively: not everyone can maintain their development quality as long as Arnout and I can :)

Thanks

Big thanks due to everyone who helped and inspired us. You're probably named in the titles already!

Questions/comments

If you have any questions or comments, don't hesitate to contact me!
If you're reading this blog, you ought to know how :)

Day 8: SokoBan

Wednesday, August 22nd, 2012

I’m on a biking holiday — first time I’ve done such a thing. Here’s a short summary of what’s happened so far:

Day 8: Utrecht – Zaltbommel

Bike counter settings:

begin: 559km
end: 625km
cumulative avg: 19.07km/hr
route: Annoying, very annoying.

This day I planned to follow the LF routes to the south. Unfortunately, there were various construction sites in Utrecht, and consequently, some routes were rerouted. Luckily, this was well indicated. Score one for the ANWB / bike tourism! The paths are important enough that temporary breaks are well rerouted! Woo hoo!

That’s what I thought near Utrecht Central station. 200 meters onwards, I began to change my mind. The next crosspoint was nowhere in sight. After biking around for 20 minutes and ending up back where the confusion started, I got fairly annoyed.
Finally, after about an hour, I managed to leave Utrecht, and was on my way. Again, I had some crosspoints, but since I didn’t have a full map of these surroundings, I just followed my route out of Utrecht and then planned to follow the main LF-route. Yeah right.

Many, many annoyances later I arrived at Arnout and Aukje’s place. Seriously, I even managed to mess up the route in Zaltbommel. Today was definitely not my day for following routes. At Arnout and Aukjes, we had a wonderful dinner, I played a bit with the kids, and in the evening, Arnout and I had a nostalgia-inducing flashback by reviewing SokoBan. Arnout and I coded that (in BASIC!) and finished it in 1997. Arnout found an old version, and was rather proud of how complete the game was (menus, level selection, graphics selection, etc.) To my surprise, his version included a “level succesfully completed” routine — I had a version stored somewhere that didn’t have that. Then again, his version missed the autoplay (which any self-respecting game has, right?), which my version had. Same thing for soundblaster support.

Apparently, we had a need for version control back in 1996 and didn’t realise it.

At any rate, we merged the end-of-level cheer routine into my version, and I’ll post a zip-file with all the stuff here. The game runs in Windows 7 under dosbox, which is quite cool (seeing as the game was written in the days of Windows for Workgroups 3.11 / Dos 5.0 — althoug finishing it took a year or two :)

Day 4: The joy of a revisioned bike; day 5: the joy of water

Tuesday, August 21st, 2012

I’m on a biking holiday — first time I’ve done such a thing. Here’s a short summary of what’s happened so far:

Day 4: Eindhoven – Breda

Bike counter settings:

begin: 292km
end: 362km
cumulative avg: 18.6km/hr
route: AquaBest, wilhelminakanaal (via Tilburg), Oosterhout, Breda.

In Eindhoven, I took most of the day off — my bike wasn’t ready till 4 o’clock anyway. I went to an outdoor shop and got myself another quick-dry shirt for biking, and a new vest to replace the vest I had forgotten to bring (intended to bring 2 vests: one for biking, one for the evening. Ended up bringing just one :s).
My new super-duper vest repels water, is windproof, and should be warm! Which means that till now, I have had zero opportunity to wear it — way too hot :)

At four I picked up my bike, and left for Breda and Bobby. The route was fairly easy: Go to Aquabest, get to the channel, bike on till you turn left and end up near Bobby. Just after passing through Tilburg, the route passed a store and I stopped to pick up a little something for my host: a small bonsai tree. I had to fiddle with the luggage a bit, moving some stuff to the other bike bag, but in the end, it all fit.
Or so I thought.

Imagine my surprise when I got to Bobby and found only one shoe in my bike bags. It was way hilarious, and annoying at the same time.

Nevertheless, it was a good day. I arrived at 8, we had dinner and then went to town. When we got back, we were still chatting, which sort of continued till 3 in the morning. Fun, but since I hadn’t slept much, that was pushing it a bit. Moreover, somewhere in the evening, Bob and myself were invited to a sailing trip the next day. It sounded great, but it involved leaving at 8am…

We managed to be more or less ready to go at 8 am, and were picked up quarter to nine. :s.
The day was great! Sjammy and kwotte are really nice guys, and it was fantastic to be on a yacht once again. In the evening, we had dinner somewhere in town, and sort of stayed till 2am :)

All in all, a fantastic rest day!

Updating Thunderbird on Ubuntu

Sunday, April 15th, 2012

Thunderbird logoMy Ubuntu 11.04 at home was still running the old Thunderbird. The old, end-of-support-almost-reached Thunderbird. Time to fix that. Lessee, open Thunderbird and look for “update”… nope.
Hmms, get updates for Ubuntu then? … nope.
Hmms. Okay, let’s do this the hard way. Download the new TB, run it… hey, that looks a lot like my old TB! “Help > About”… it is my old TB?! WTH?!
Okay, turning to the Google for more updates.
Aaah, here’s how it’s done: tell your system updater to include packages from Mozilla, and then it should work.
Test one: err, nothing to update?
Test two (a few days later, different package-address included): still nothing??
You know what, this is silly.

And just when I was ready to give up:

  • sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa
  • sudo apt-get update && sudo apt-get install thunderbird

Apparently, there are all sorts of mozilla-related valid words (e.g., combinations with “security” and “release”) you can enter after “ppa:”. Some of them work , but don’t update your system. Such as the aforehinted mozilla-security-ppa and mozilla-release-ppa. This one does.

@Mozilla: is this really necessary? Just provide some sort of warning with pointer to the right location in the non-updating PPA’s, would you?

A Gig ain’t what it used to be…

Sunday, April 1st, 2012

The other day, my desktop at the office got a memory upgrade: from 4 to 16 gig. So, after this glorious update, I booted my computer and clicked the system properties to see how much memory was reported. 14.8 Gb.
Le huh? 1.2 Gb evaporated? Still quite some improvement, but whatever happened to the 1.2 Gb? Local helpdesk: “that’s normal nowadays”.

??

In a second story: I bought another USB stick of 32 Gb. Plugged it in just now, and checked available disk space. 29.8 Gb.
Le poep?!?! 2.2 Gb down the drain??

So guess what:

  • 16 * 1000 * 1000 * 1000 = 14.9 * 1024 * 1024 * 1024
  • 32 * 1000 * 1000 * 1000 = 29.8 * 1024 * 1024 * 1024

This is probably old news to some people, but it’s news to me. It feels like underhanded tactics. I feel robbed!