FOSSPicks

Simula

The ideas behind virtual reality (VR) have been around for a long time. There were even prototype headsets in the late 1960s. But it wasn't until Nintendo attempted to capture our collective imagination with the Virtual Boy in 1985 (selling 770,000 units!) and the nascent arcade and PC headsets of the 1990s appeared, that VR stepped out of science fiction and into reality. However, those early experiences were blighted by the technology of their time. The Virtual Boy used crude low resolution LED screens with no head tracking, while many of the headsets of the 1990s, when they offered head tracking, would add huge amounts of latency, as low-cycled CPUs attempted to interpret movement into frames that could be sent back to the headset. The result was invariably nausea for those using them.

Technology has finally caught up with the science fiction potential for VR, thanks to high-density LED and OLED displays, sub-millimeter motion tracking and the insane horsepower you get from a modern GPU or smartphone. This means that headsets are finally becoming commodity hardware. Stock depending, any one of us can order a headset from $100 to $1,000, and either run it standalone (Oculus Go), or as part of your PC (Valve Index). Valve, in particular, has been doing many things to help bring VR to the masses, and most importantly for us, that includes Linux support for its SteamVR platform. And with Linux support comes the hackers and the tinkerers.

VR isn't just about gaming. Eventually, it will become a way to do all the things we normally do, just within a virtual environment. And one of the first objects is making your desktop virtual, which is exactly what Simula does. Simula is a Linux window manager, built with the Godot game engine, that fills your virtual space with as many windows as you can manage. It means you no longer need the huge space required to mount more than one screen; you can use a multi-screen environment while in an otherwise confined space. Simula is still in the early development phase, and consequently, is reasonably basic.

It helps if you can touch type, because without a specific GUI to launch and manage its windows, you need to use a "super" key with all your keyboard shortcuts. With your headset on, SteamVR running and Simula launched, press Super together with / to launch a terminal, with K to launch Firefox, - and = to change window sizes, the comma and the period to move windows forward or back, or Backspace to remove windows. Controllers are important too, and these are included with most headsets and tracked within 3D space. Simula uses the controllers for manipulating windows; to left click, right click, scroll, and to move the windows around to where you want them. You can place windows anywhere – above you, below you, and any way around you. There's even a webcam view so you can see into the real world if needed. Most importantly, there's been a huge amount of effort put into getting the most important thing right: text rendering. It uses a special low pass filter to up the font clarity, and it looks fantastic. It's the first time we've been able to clearly use the command line productively in VR and could offer a genuine alternative to monitors for those brave enough to wear a headset all day, or perhaps those who can't use a traditional desktop.

Project Website

https://github.com/SimulaVR/Simula

If you're short of space, or need more than a couple of screens, Simula lets you take your desktop into VR.
There are keyboard shortcuts for almost everything, but you can also use your tracked VR controllers to move around windows.

Puzzle blocks

vitetris

Tetris is almost as old as the PC. It's the classic arcade-style puzzler, where blocks made from four squares in different arrangements fall into a well as the player rotates the pieces to fit together when they land. After building and sharing his prototype running on a Electronika 60 in the Soviet Union, its creator Alexey Pajitnov, created the DOS version for early IBM compatibles. It's a huge testament to the simple complexity in that early DOS version that it is every bit as addictive and as compelling as any of the brilliant ports that came after it, from the classic Game Boy version to Tetris Effect played in VR. It also means that it's impossible for the gameplay to become dated, even to the point where it benefits from that early old-school minimalism.

This is exactly what vitetris recreates. It's a Tetris clone that combines the aesthetics of the original DOS version with the addictive scoring profile of the Nintendo version. It does this while running from the command line in full color. It's perfect for hiding away in a tmux session somewhere, or as a quick distraction when you're deploying the latest build. It's also customizable, letting you change the colors and appearance of the view. But its best feature is also the best feature of the Game Boy version: two player support. Unlike the Game Boy, it supports both two player split-screen in a single terminal and network play. In two player mode, when you successfully dispatch two, three, and four rows, they're randomly added to your opponent's screen, making it considerably harder for them to score. With good players, it quickly becomes a back and forth of completion and damage limitation until someone breaks.

Project Website

https://github.com/vicgeralds/vitetris

Even though Tetris is old, it's one of those classics that never feels tired and is always worth a replay or three.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News