anders tonfeldt

Experience 112 / The experiment

2014-05-10 15:30

You know how you sometimes pick up a game thinking "well, that sounds a bit clever, guess it'll distract me for an hour or two" and then end up completely engrossed for days? Experience 112 (also known as The experiment) is one of those games, holy smokes is it ever.

It's an adventure game that initially appears to be set on an abandoned research ship in the middle of an unnamed ocean. The vessel has been completely overgrown with bizarre vegetation that appear to react when exposed to external stimuli. Intriguing, but not that original to be honest. You're tasked with guiding the protagonist around the ship, exploring rooms and figuring out just what the heck happened. But that's where all semblance to regular adventure games end.

You don't control the protagonist. No, she wanders around on her own. In fact, you're not even the persona of the protagonist, instead you're an unnamed character on the other end of a security monitoring system. You activate and deactivate cameras to keep track of where she goes. You can signal that you want her to go somewhere by turning lights on and off. Bloody brilliant challenge to the dogma of point and click adventure games. The method of navigation reminds me quite a bit of the C64 game Little computer people.

To make matters even trickier you can't tell her to pick something up, but you can navigate her close to something which might prompt her to pick it up. Then you have to remember what she picked up, said about it and what the items might be used for. There's generally no way to speak to her so she'll be confused about what you want her to do at times. To make matters even worse you've also got access to the ship's network, but every account requires a username and password that you have to extract from information found here and there. One account might contain an email, a document or encrypted files that will help you access a second, then a third, and so on.

The sheer complexity of this game is absolutely stunning. I've had multiple discussions with fellow adventure gamers that, for some reason, seem to think that the sierra games were the height of difficulty in the genre. This is, of course, false since their text-based predecessors were demonstrably more challenging and elaborate. The sierra games generally presented a linear path that offered little variation, sure there were some cheap deaths but that was pretty much it. I get it though, we're nostaglic about them, that's fine. But the vehement claim that modern adventure games are somehow dumbed down is a gross generalization that can easily be proven wrong.

Try Experience 112. Holy hell. 20-30 hours of hacking accounts, navigating the protagonist through an absolutely massive environment that spans the previously mentioned abandoned ship to an undersea explorer vessel, to.. well, let's not spoil it, an "alien" habitat with an advanced research base. Every step has to be meticulously figured out, calculated and executed. Every puzzle researched, notes taken and conclusions arrived at. Not to mention the later mechanics where communication with the "aliens" aren't done with words, but phermones and combinations of phermones.

Brutal, absolutely brutal. And I couldn't have loved it any more. This is a must play folks, it breaks most conventions of the genre and offers an intriguing exploration and first contact-scenario with mechanics you've never seen executed this way before.

Experience 112 on wikipedia

Gamenotes 1
Gamenotes 2
Gamenotes 3

Project Aon - Lone wolf gamebooks

2014-05-08 10:19

I was a huge fan of what was endearingly called "gamebooks" in the 80s. It was a "choose your own adventure" form of interactive fiction where you started at page 1, read the introduction and was then immediately given a choice. It might have been as simple as "do you go north, then turn to page 185" or "do you go south, turn to page 240". In this way you got to choose how the protagonist navigated through the (sometimes very) complex story lines.

The choices naturally grew progressively more involved. Do you "Poison the king's cup" or "Wait patiently to see what happens next". Every choice having the chance of leading you to a painful death or to the path that would save the kingdom. You were the protagonist, the book was your journey.

Ultimately I left them behind. Computer games completely killed that industry and offered a much wider variety of narratives. But they never really went away, they still had their fans and most of us who had read them back in the day kept the books on our shelves. A couple of years ago the genre got a revival in large parts thanks to the excellent work of Tin man games and their modernized, original work. But what about the classics?

Few will likely argue with me if I make the statement that Joe Dever's Lone Wolf series is the most iconic. Yes, Fighting Fantasy was great but the sheer length and breadth of adventures our favourite Kai master went through is unsurpassed to this very day. From the monastery where you had your humble beginnings, through exotic deserts, ancient tombs, jungle temples, snowy wastelands and into the midst of opposing armies. Do we really have to dig out 30 year old dusty books to play these classics? Fortunately not.

Project Aon is an authorized, free organization that endeavours to bring all of these classics back in a digital format. Their versions of the books are entirely gratis. 35 books are available right now. For free. You can play them this very second.. so what in tarnation are you waiting for? Go get them! Now!

Project aon

Android app

Opt out of prism

2014-05-05 11:06

Time goes by, people forget or ignore the fact that everything they do online is stored, analysed and read by foreign governments. Maybe because it's too inconvenient to prevent or maybe because they think "well, I have nothing to hide, what do I care if they read my e-mail?" Which is a valid point. Life is too short to worry about non-problems. But what about the people for whom it is a problem? The people who's very lives depend on it.

Journalists having their electronics confiscated due to illegally obtained digital eavesdropping? Their sources' anonymity compromised so that governments can silence them? Because, you know, silencing critics and whistleblowers is what we do in democracies these days. It isn't the illegal activities of the governments that is the problem, it's the fact that people talk about said activities. Apparently.

Before this post derails entirely into the realm of political vitriol let's get back on track. Switching from software that we know is compromised by governments really isn't hard but finding out about it can be quite tricky.

A while back I found a cleverly named site called Prism break which does just that. Inform you about software and services you can use with a much greater degree of security. Do these applications guarantee your integrity? No they don't, but they're a heck of a lot better than alternatives that directly feed your data to surveillance organizations.

Please consider the people who risk their lives and liberty to give the rest of us a degree of freedom we used to think was our right. It's not just about us regular Joes. What you do and the choices you make have consequences, whether or not you do it knowingly.

Prism break

Old games in wine

2014-05-03 13:28

Hello, my name is Anders. And I'm an old-game-aholic. A common complaint in gaming under linux is that games simply don't run there, a fact that has become incorrect in the last few years as all of my favorite games have native linux clients. But what about older games? The ones that have been abandoned by their developers and now linger in a technical limbo. They work great.

In fact, I'd say it's a lot easier to get a game running with wine under linux than it is to coax a modern windows to run it reliably. Or at least that's my experience. But there are problems, resolution and bizarre input related ones. I'll attempt to address both with this post.

  1. Use PlayOnLinux would be my first tip. It makes managing each wine bottle (a sort of fake windows installation) much easier and quicker.

  2. Do not run old games in fullscreen, use wine's virtual desktop. Amerzone, which I'm playing now, is a good example. It runs fine in fullscreen, but it stretches and interlaces all graphics. Then it runs the cutscenes in the top left corner only. In windowed mode it works exactly as expected. This is true for running the game in both windows and with wine.

  3. If the game runs at a miniscule resolution natively then simply change the resolution of your monitor (script below). Amerzone runs in 640x480 so I run it in a 640x480 virtual wine desktop and change my monitor's resolution to 800x600. I can still multi-task and it fills most of the screen.

  4. A 15 year old game that tries to smooth out your mouse's movement will screw it up. Inevitably. Again, Amerzone.. oh how I love thee, but you are one major problem child. To fix this I run a script that removes all mouse acceleration deceleration, resulting in picture perfect mouse movement in the game (script below).

I might update this list as I uncover more problem areas but those have been the major ones for me. That said, every single game I've thrown at wine has worked flawlessly for the last 22 tries. No crashes, no hangs, no bugs that aren't caused by the games themselves. This can be compared with trying to run windows 95 (or even 3.11) era games on windows 8.. that was an interesting experience.

Script for quickly changing resolutions and turning off my second monitor.

## For old games.
#xrandr --output HDMI-0 --primary --mode 800x600
#xrandr --output LVDS-1-0 --off

## For regular desktop use.
xrandr --output HDMI-0 --primary --mode 1920x1080
xrandr --output LVDS-1-0 --mode 1920x1080

## Fancy full option, not really needed for most of you.
#xrandr --fb 3840x1080 --output HDMI-0 --mode 1920x1080 --pos 0x0 --primary --panning 1920x1080+0+0/1920x1080+0+0 --left-of LVDS-1-0 --output LVDS-1-0 --mode 1920x1080 --right-of HDMI-0

Script for fixing the mouse sensitivity and acceleration.

# This command will list all devices on your system.
xinput list

# My mouse is listed as number 10, so let's check it.
xinput list-props 10

# Turn off device acceleration.
xinput set-prop 10 275 0

## For regular use
# Set constant mouse deceleration to 1.5, I've got a high DPI mouse.
xinput set-prop 10 276 1.5
# Set acceleration velocity scaling to 1, no variations.
xinput set-prop 10 278 1

## For old games
# Drastically reduce the mouse deceleration.
#xinput set-prop 10 276 0.02

Happy 50th birthday, BASIC!

2014-05-01 19:06
50 GOTO 10  

"In 1964, John G. Kemeny and Thomas E. Kurtz designed the original BASIC language at Dartmouth College in New Hampshire. They wanted to enable students in fields other than science and mathematics to use computers. At the time, nearly all use of computers required writing custom software, which was something only scientists and mathematicians tended to learn how to use."

We're getting old guys.

Basic on Wikipedia

View/record a webcam with VLC

2014-05-01 12:04

There's a wide, wide variety of ways to record webcams in unices but I've come to rely on just one, VLC. Yes, it's a video viewer more than a recorder but it does both quite well. Let's detail how to view a live webcam stream first, just keep in mind that the drivers for your webcam need to be v4l compatible (most are, of course).

vlc -vvv v4l2:///dev/video0:chroma=mjpg:width=1920:height=1080:fps=30 :input-slave=pulse://alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone-00-Microphone.analog-stereo

-vvv = Verbosity
v4l2:///dev/video0 = Video input device
:chroma=mjpg = MJPEG Codec
:width=1920:height=1080 = Resolution
:fps=30 = Frames per second

The :input-slave simply loops my external microphone into the stream, this is something I want but it's naturally up to your preference. That command line looked complex at first but really it's quite straight forward. Let's move on to recording said stream to a file and also previewing it at the same time.

vlc -vvv v4l2:///dev/video0:chroma=mjpg:width=1920:height=1080:fps=30 :input-slave=pulse://alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone-00-Microphone.analog-stereo --sout="#duplicate{dst=std{access=file,fps=30,mux=avi,dst=/mnt/misc/test.avi},dst=display}"

First part is exactly the same so let's move straight to the output bit.

--sout="#duplicate{ = Define a duplicate stream, both preview and file output.
dst=std{access=file, = First stream destination is a std-file.
fps=30,mux=avi, = 30 FPS, avi muxing.
dst=/mnt/misc/test.avi}, = Output file path and name.
dst=display}" = Second stream destination is the display/preview.

This has worked reliably with all devices and distributions I've tried it on. Every single other application has had its own set of quirks that required elaborate workarounds, this did not.

There's one final thing to keep in mind. If your camera supports multiple output streams, like my Logitech C920 has both YUV, MJPEG and H.264, then you might be required to set it before entering either of these commands. It can be set as simply as this.

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=2

Everything should be clear there, pixelformat refers to the stream. You will need to either simply try each format to figure out what your camera outputs there or refer to its driver documentation. pixelformat=2 for the C920 is MJPEG, which I found to have a consistently higher quality than its built in H.264 encoder.

Something old, something new


With no fanfare nor pomp my blog has returned to the land of the digital. Like a ghost nobody missed it returns to haunt my existence.

In all seriousness I'm just tired of social networks. Figured that if I'm going to be helpful I might as well be so in a way that remains available beyond the IPO of startup companies.

I'll be ripping select content from my six (6!) previous blogs over the coming months. But this time around I want to keep the blog pure, that boils down to the following:

  1. Helpful guides and videos as I stop cursing and figure something out.
  2. Shameless promotion of my own projects.
  3. Shoutouts when I stumble across something particularly enjoyable, be it a game, book or movie.

That will be all.

Nokia Play 360 NFC using Android


I’ve been getting into the NFC groove lately and must admit I find it tremendously useful. When we picked up the Nokia Play bluetooth speaker it didn’t want to cooperate out of the box though. The (read-only) NFC inside it would report a string that only makes sense for Nokia mobiles and naturally left my Android phone scratching its head. There’s an easy fix though, just retag it.

I use the excellent Tasker app on my phones for automation, there’s a plugin for it called Locale NFC (made by a swedish dev too). Install it, add a new event -> plugin -> NFC, scan the 360 and reference a task. You’re done. It’ll automatically fix it. If you’re not using Tasker and/or want a free way then there’s an NFC retagger available in the Play Store. Unfortunately both ways won’t automatically perform any action on android since the tag is read-only, which means you can’t retag it to something unique for your phone which will prompt you to select an action for it every single time you scan it.

There’s a fix though, go to settings – apps – all apps – tags, and disable it. That way android’s native tag handler won’t be referenced and you won’t get the “Select an action” whenever you scan an NFC tag, instead the tag will simply execute as you specified. Incredibly handy to automatically have my phone turn on bluetooth, raise the volume to 90% and connect to the 360 whenever I swipe it over the speaker. Also begun using NFC tags for handshaking various password scenarios, saves time and leads to additional security since the keys aren’t stored on any of my computer networks any more. But I’ll leave those scenarios for another post.

Migrating categories in Daz Studio 4


Please note that what I describe below is for migrating content categories from OSX to Windows. I have not attempted the reverse and cannot state with any accuracy if the process is identical the other way, but it should give you a head start. It’s rather peculiar that an application of Daz Studio’s quality doesn’t have this functionality built-in, but once I figured out how to do it the process was mostly painless.

  1. Do not make any modifications on your mac during this entire process. You can keep it entirely as it is and will end up with two functional installations. This is heartily recommended since it’s easy to make a mistake.

  2. Install DS4 on the windows machine. When installing make sure to manually enter the CMS (Content Management Service) database location to a directory of your choosing.

  3. Let the installation finish and then start DS4. Enter any serials you need, do whatever you wish, it doesn’t matter. Now go to the content manager and add the poser and DS runtime locations for the content you’ve copied from your mac. Make sure you do not re-organize it but keep the file hierarchy identical. When you’re done simply close DS4.

  4. Manually stop the CMS, this can be done via the start menu or by simply searching for “daz” via windows search.

  5. Navigate to the CMS database directory and delete -everything- in it.

  6. Copy the CMS database files from the mac to the windows machine.

  7. Download the Valentina studio database editor from it’s ,free but will only function for 10 minutes at a time. This will be plenty enough for our purposes.

  8. Start Valentina studio and go file-open database, navigate to your CMS directory and open Master.vdb. Switch the view by going view-as tree, or simply hit ctrl+2.

  9. Now navigate to database-master-tables-sysdatabase and update the two entries there to reflect your proper path. In my case they were;
    d:\daz 3d\database\master.vdb
    d:\daz 3d\database\ContentDB

  10. File-save the database and exit Valentina studio.

  11. Now copy the file ContentDB in the CMS directory and name the new file ContentDB.vdb. This is vitally important since Valentina studio will not be able to locate the data otherwise.

  12. Open Valentina studio again and open the database ContentDB.vdb.

  13. Navigate to databases-contentdb-tables-tblBasePath. Update all of these to reflect wherever you put your old content on your Windows machine.

  14. File-save the database and exit Valentina studio.

  15. Restart the Daz CMS. Start DS4 and marvel at your categories being intact.

<< 2 >>

RSS Feed