Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

DockerLinux turned its terminal-based Linux and Docker lessons into an explorable map of islands, using Vue-rendered SVG rather than a game engine or canvas. Its levels become themed buildings, routes connect them, and a small JavaScript module places map features on a grid. The implementation is described by the game’s author in a DEV Community article; the technical details below reflect that account.

What changed in DockerLinux?

Before the update, the browser game presented a simulated terminal alongside a list of levels. The new World turns those levels into destinations on islands. Completing a terminal challenge lights the route to the next destination, while Byte, a pixel penguin, walks along the route.

Buildings reflect their lessons: a library represents file-related material, a crane represents Compose, and a vault represents permissions. The result gives the progression a visual setting without replacing the terminal tasks that teach Linux and Docker.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does the map work without a game engine?

The author describes the rendering stack as Vue plus SVG, with no canvas and no game engine. Vue renders SVG elements for the world, while a small pure-JavaScript module handles map placement. The article presents this as the implementation of this particular game, not as evidence that SVG is faster or better than an engine for games generally.

Deterministic islands and scenery

Island outlines start with ellipses arranged on a shared tile grid. A hash of each tile’s coordinates perturbs the coastline without calling Math.random(). Because the same coordinates produce the same result, the author says the map is repeatable and easier to test.

Level destinations are assigned to tiles and represented by themed buildings. Unoccupied tiles can hold scenery suited to their region, such as trees on Linux Island, shipping containers in the harbour, or mountains in the Highlands. The article describes these as data-driven map elements rather than manually placed objects.

Routes across land and sea

To connect consecutive levels, the game uses a small Dijkstra search over the grid. Its route cost favors land, adds a penalty for changing direction to encourage straighter roads, and makes sea expensive rather than impassable. That allows a route to cross water using a wooden bridge when needed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Isometric projection and drawing order

The grid coordinates are projected into screen coordinates. The article gives this example for the top-left of a 64 × 44 tile:

iso(i, j) => ({ x: (i - j) * 32, y: (i + j) * 16 })

Elements are drawn in ascending order of i + j. That ordering lets objects farther back appear behind objects nearer the viewer, creating the overlap needed for the isometric scene.

How does panning and zooming work?

The camera changes the SVG viewBox, which changes the portion of the map being viewed while map elements retain their positions. Dragging shifts the view; the mouse wheel or a pinch gesture scales it around the pointer. Travel between islands can be animated with requestAnimationFrame.

The author says camera changes use SVG attributes rather than inline styles to comply with the game’s strict Content-Security-Policy. The article also describes behavior for the system’s reduced-motion preference: the camera jumps instead of flying, and Byte does not walk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How are the advanced missions delivered?

For advanced Linux Highlands missions, the author describes five levels delivered as JSON to logged-in players, rather than included in the public JavaScript bundle. Mission checks are represented as data, not as functions supplied remotely. The browser compiles each specification into a predicate; unknown or malformed items compile into checks that never pass, which the author says keeps a bad network item from crashing the game.

One example mission asks the player to stop a process using kill with its process ID, or to use pkill. The article does not establish that this delivery design is a general security guarantee; it describes how this game handles mission definitions and invalid checks.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Can you play it without an account?

The article’s Try it section says DockerLinux has 17 levels, is free, and supports English and Portuguese. It says every free level works without an account, while entering the World requires a free account created with an email address and a one-time code. These are product details stated in the article, which does not give a publication year, so availability and counts may have changed.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.