Language Selection

English French German Italian Portuguese Spanish

Machinarium - A Tasty Gaming Treat

What would you do if you were thrown and locked out of town separated from your true love? You'd fight every obstacle to return and rescue her, of course. And that's your goal in Machinarium. As the hero, you must figure out how to out-smart the bad guys and to save your lovely girlfriend.

As the game opens you find yourself broken and discarded in the dump outside the city wall. Your first task is to reassemble yourself. Once that is accomplished, you can begin your quest to return to the city and your girlfriend. Your adventure unfolds as you solve puzzle-like problems in order to progress. For example, how do you trick the guard to lower the drawbridge? Or how might you enter a tunnel that remains sealed except for the few seconds when a train cart passes?

The back story is revealed through Josef's memories seen as thought bubbles as the story progresses. Some of the first memories recollect our hero and his love as children playing around in an oil bath laughing and splashing. Later, dirty deeds of the antagonists against our hero, how he came to be in the city dump, and how the girlfriend came to be captured are revealed. It's amazing how these small glimpses into Josef's mind, feelings, and motives start to build a three dimensional character and pull the player in from almost the start. You care about him and want to see him reunited with his girlfriend. The environment is as much a character as the robot. It's a mechanized world of greasy and rusting metal fallen into disrepair - dirty, dangerous, and desolate. It's like Dr. Seuss meets the Road Warrior. Yet ironically, there's something quite beautiful in the cold metallic smoggy maze.

The game doesn't waste much time before the puzzles become challenging. Fortunately, you're not all on your own. Each puzzle environment has a hint bulb that will give you one quick hint usually pointing to the one thing that will make the rest fall into place. But if that's not enough, there's a book of sketchboards containing almost the full sequence of steps. Although the book is locked by a side-scrolling Alien Invaders type of game you must complete before gaining access. This will prevent someone from seeking answers too soon and also avoids the scramble of trying to find a walkthrough full of spoilers. However, Josef provides help himself. If you try to send him somewhere or do something inadvisable, he'll shake his head and mumble, "uh huh." Sometimes he'll give you hints through his thought bubbles as well. It's just an utterly charming game.

The best thing about Machinarium is that it also runs on Linux. News of this game's existence almost missed the Linux community entirely. However, upon its official release on October 15, a Linux version was also released. Surprisingly, after remitting the small fee users are given access to versions for all three platforms as well as the background music in MP3 format. An online demo is available to try before you buy, but a word of warning, once you begin you'll want to finish.

The Linux version is packaged as a compressed archive, or tarball. Some users will be able to simply click on this tarball and an archive manager will open. At that point click "Extract" to unpack the files. For others, open a terminal and change directories where you'd like the game installed. Unpacking it and running it from your home directory is perfectly acceptable and many times preferred, but if you'd like it available to other users, su to root and change directories to perhaps /usr/local/games. Just extracting the tarball is all that's required. You can start the game in a terminal or you might wish to make a link on your desktop. In summary, for example:

1. cd ~
2. tar -zxvf ~/Downloads/Machinarium_full_en.tar.gz
3. To play: cd Machinarium/
4. ./Machinarium

To unpack the background soundtrack:

1. unzip ~/Downloads/MachinariumSoundtrack.zip

Machinarium is a Flash-based game and as such the gameplay might be a little different from other games you've played, but it's described as point and click. Cursor clues drive the game action. Tests here found it didn't play very well under the KDE 4 environment with only one gigabyte of RAM. However, under other window environments, it played well for the most part. Some areas of the game suffer a bit of lag, but those with more memory shouldn't experience any negative issues with performance. Some suggest disabling (or enabling) Hardware Acceleration in your Flash settings (right click anywhere on the game screen), but this didn't seem to effect performance here either way. However, disabling Fullscreen when encountering these "heavy" areas helped a bit1. There is an active user forum if you need assistance or just want to learn more.

Machinarium is an imaginative game with a beautifully rich environment and amazing details. You'll fall in love with the ineffable main character and become addicted to his alien world. It's well worth the small fee for the hours of enjoyment received in exchange. For us Linux users, it's an especially tasty treat.

---

1. Adding another gig of RAM cured the lagging/hesitation issue.

(Update: If it begins to lag again real bad after playing and quitting a few times, eating up all CPU, try rm -rf ~/.macromedia - after moving your saved game file located at ~/.macromedia/Flash_Player/#SharedObjects/<some random number>/#localWithNet/Machinarium/Machinarium.sol)







More in Tux Machines

Linux 5.19-rc5

So last week, we had a rc4 that was slightly larger than normal, and
while I thought it was mostly just due to timing and pull requests
shifting between rc's, I wanted to keep an eye on it.

And this week, we have an rc5 that is slightly _smaller_ than normal,
so it all pans out and really does just look like just random timing
noise.

So everything looks ok - we certainly have some issues still being
looked at, but on the whole 5.19 looks normal, and nothing
particularly bad seems to be going on.

See the shortlog below for details, but nothing here looks very odd.
It's the usual mixture of driver fixes, arch updates, filesystems and
networking. And associated tooling and selftests.

The diffstat shows a couple of blips - random number handling fix and
simplification in s390, a couple drivers, and some patches to fs code
that are not exactly one-liners (copy_file_range fix, some xfs fixes),
and some mptcp fixes.  But none of it is huge by any means, and most
of the rest of commits are one- or few-liners.

So in between the general summer vacation (Europe) and the July 4th
extended weekend (US), and whatever the rest of the world is doing -
take some time off, build a new kernel and boot it. Just to verify
things are looking ok for you. But it should all be pretty calm.

             Linus
Read more

today's leftovers

  • RFID and Raspberry PI: RC522 wiring and code with Python

    RFID systems are common in our lives as they are widely used to secure access, monitor objects’ positions (IoT) and a lot of other applications. Their technology is so mature that they are today reliable components and easy to use. The RC522 module with Raspberry PI can bring to your hands this technology with a few steps and a cheap budget In this tutorial, I’m going to show you how to connect and configure a Raspberry PI with an RFID RC522 module, using Python.

  • This DIY basketball scoreboard looks and sounds like the real thing | Arduino Blog

    Inspired by his time as a scorekeeper in elementary school, now-high schooler Collin Wentzien wanted to recreate this setup by building a DIY scoreboard several years ago. His idea involved making a bright display composed of several seven-segment displays that could all be controlled by an external device in order to set scores, start/stop the clock, and more. The controller sits inside of a small custom box that contains a pair of button matrices, which either increment the score for the home/guest team or provides a keypad that can be used to enter numerical values and set the clock. Below its custom PCB is an Arduino Mega 2560 that handles all of the button inputs, along with a character LCD for showing what has been entered and an nRF24L01+ wireless transceiver for sending new data to the scoreboard.

  • What Metric to Use When Benchmarking?

    What is the right metric to use when measuring a program's performance? There are various possibilities, from memory usage to branch prediction hit rates, but I'm going to pick on two that I see widely used: CPU instructions executed (what modern CPUs call "instructions retired") and wall-clock time (i.e. "how much time has elapsed in the real world?"). In this post, I'm going to try and compare both, showing why each has fundamental weaknesses, before explaining why I use each in different circumstances.

  • Linux Weekly Roundup #189

    Welcome to this week's Linux Weekly Roundup. We had a full week in the world of Linux releases with ArcoLinux 22.07.03, Nitrux OS 20220629, Pisi Linux 2.3, and Condres OS 1.0.

  • What if WordPress Didn’t Exist?

    WordPress powers like 40% of the internet or something, so I don’t think it will be going anywhere anytime soon. But what if Matt and the team decide to go in a direction I don’t agree with, like Ghost have? My knee-jerk reaction would be to go back to Jekyll – it’s light and I know it fairly well. But like I said, managing content is painful and Ruby can be a bit of pig to manage.

Programming Leftovers

  • A Major Contribution to Learning R

    Prominent statistician Frank Harrell has come out with a radically new R tutorial, rflow. The name is short for “R workflow,” but I call it “R in a box” –everything one needs for beginning serious usage of R, starting from little or no background. By serious usage I mean real applications in which the user has a substantial computational need. This could be a grad student researcher, a person who needs to write data reports for her job, or simply a person who is doing personal analysis such as stock picking. Like other tutorials/books, rflow covers data manipulation, generation of tables and graphics, etc. But UNLIKE many others, rflow empowers the user to handle general issues as they inevitably pop up, as opposed to just teaching a few basic, largely ungeneralizable operations. I’ve criticized the tidyverse in particular for that latter problem, but really no tutorial, including my own, has this key “R in a box” quality.

  • The deep learning obesity crisis - Vincent Lequertier's blog

    Deep learning have made dramatic improvements over the last decades. Part of this is attributed to improved methods that allowed training wider and deeper neural networks. This can also be attributed to better hardware, as well as the development of techniques to use this hardware efficiently. All of this leads to neural networks that grow exponentially in size. But is continuing down this path the best avenue for success? Deep learning models have gotten bigger and bigger. The figure below shows the accuracy of convolutional neural networks (left) and the size and number of parameters used for the Imagenet competition (right). While the accuracy is increasing and reaching impressive levels, the models get both bigger and use more and more resources. In Schwartz et al., 2020, as a result of rewarding more accuracy than efficiency, it is stated that the amount of compute have increased 300k-fold in 6 years which implies environmental costs as well as increasing the barrier to entry in the field.

  • Mint: A New Programming Language for Building Single Page Apps (SPAs)

    Mint is a refreshing programming language for the front-end web development. It is developed and maintained by a large community of experienced developers.

  • Understanding Have I Been Pwned's Use of SHA-1 and k-Anonymity

    Four and a half years ago now, I rolled out version 2 of HIBP's Pwned Passwords that implemented a really cool k-anonymity model courtesy of the brains at Cloudflare. Later in 2018, I did the same thing with the email address search feature used by Mozilla, 1Password and a handful of other paying subscribers. It works beautifully; it's ridiculously fast, efficient and above all, anonymous.

today's howtos

  • How to Select All in Vim / Vi

    Knowing how to select all content in Vim or the Vi editor enables you to complete routines like copying and pasting in Linux quickly. The process can be tricky if you don’t understand how to use the editors properly or bind keys. For instance, you can select all in Vim/Vi by combining the gg, V, and G keys. ggVG Before that, you must be in the normal mode and know what the groups of keys mean or do. This article takes you through Vim/Vi modes, commands, and key bindings. You will find it simpler to select and use file contents with this knowledge.

  • How to Use Restic to Backup and Restore Data in Linux

    Restic is an open-source, secure, and cross-platform backup program. Using Restic we can store multiple versions of files and directories in an encrypted repository. Restic can be used to back up data to an external device or to cloud storage. Restic encrypts data with the AES-256 in counter mode and then authenticates it using the Poly1305-AES cryptographic message authentication code. This way Restic guarantees confidentiality and data integrity by utilizing cryptography. Restic does incremental backups which makes it easier and faster compared to some other backup programs. What this means is that it stores a base backup image and then for each subsequent backup, it stores the difference between that base image and the source machine. This leads to increased backup speed as only the modified data is backed up. It also consumes less backup space.

  • How to install PulseEffects on a Chromebook

    Today we are looking at how to install PulseEffects on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • Rubenerd: Basic fix between pf tables and macros on FreeBSD

    I worked with a FreeBSD client this morning who’d messed up the pf rules on their VM firewall, and wanted to know how to fix them.