Electro Man, playable in the browser

LEVEL
SPEED
MODE
QUALITY
not ready
CLICK TO PLAYTAP TO PLAYPRESS FIRECHOOSE A LEVELCANNOT STARTLEVEL 01LEVEL 02LEVEL 03LEVEL 04LEVEL 05LEVEL 06LEVEL 07LEVEL 08WATCHINGSKIPPING AHEADWATCH LEVEL 01WATCH LEVEL 02WATCH LEVEL 03WATCH LEVEL 04WATCH LEVEL 05WATCH LEVEL 06WATCH LEVEL 07WATCH LEVEL 08
TOUCH PAD

Collect the three disks in each of the eight levels to switch on the teleport at the level's end. Avoid mines, automatic guns, lasers, energy barriers and the other security systems, and collect batteries to power up your weapon.

HOW IT WORKS

This is Electro Man running as JavaScript in your browser. Its code is a translation of two open-source ports by Maciej Miasik, who designed and programmed the game with Janusz Pelc: pyelectroman (Python), based on the game's original C source, and electroman-playdate (Lua), a port of pyelectroman. Both are MIT-licensed. No part of the original program runs here.

The pictures, levels, sounds and music come from the game's own data in the 2006 release (EM.EXE), decoded when the page starts. The game advances 19.024 times a second, the rate measured in the original program.

The original, running in a PC emulator, is the reference: its screens and its state at every tick are captured and the translation is compared with them. The remaining differences are still being listed, so this page does not claim the two are identical.

LEVEL starts a level (it asks first if you are playing), SPEED runs the game at half, normal, double or four times its pace, FULLSCREEN shows the game and this strip on the whole screen, and SOUND switches the sound. WATCH plays the game by itself: a playthrough of levels 1 to 8 with no cheats, found by a search program on this JavaScript game. While it plays, LEVEL plays it from that level's start, and PLAY gives you the game from the screen it is on; when the playthrough ends, the game is yours from there. QUALITY, or F8, chooses how the game is drawn: CLASSIC is the game's own 320 by 200 picture; HD draws the same screens again at high resolution with nothing added. HD's stop turns on once its art is in the folder the page is served from (this one file opened from a disk has Classic only), and the art loads the first time you choose it; the page keeps your choice in this browser. A picture that has no HD art is drawn as in Classic. The game ships no demo to play back: its data names a file DEMO.REC, but that file is not in the release.

CONTROLS
LEFT RIGHT

Move. Hold Up with one of them to jump that way.

UP CTRL

Jump. Home and PgUp jump left and right. While Ctrl is held, letter keys go to the browser, not to the game.

SPACE INSERT

Fire.

DOWN

Use the teleport you stand on, or the exit when you have the three disks.

ESC F10 Q

Back to the title (the game asks: Y or N). On the title, level-completed and ending screens the game asks EXIT TO DOS? instead, and Y there leaves the game as Alt X does.

R ALT F3

Restart the level (the game asks: Y or N).

P

Pause; the next key goes on, unless Ctrl or Alt is held.

F2

Save the game at the last checkpoint you touched. In this viewer the page has no storage, so nothing is kept.

F3

On the title screen: carry on from the saved game. In this viewer there is none, so F3 starts level 1.

F7

The game's own sound switch.

F8

Not a key of the game: it steps between HD and Classic, as QUALITY does. HD is in the round once its art is in the folder.

ALT X

Leave the game. Until you choose a LEVEL, the screen shows the two lines the original prints in DOS when it ends.

Phones and tablets get the touch pad under the game: LEFT, RIGHT, JUMP, FIRE, USE, PAUSE, ESC and RESTART. While the game asks, YES and NO take the places of PAUSE and ESC.

The cheat words are in SECRETS FROM THE CODE, below.

About Electro Man

The game

Electro Man began as Electro Body, a platform game made in Poland by xLand and released there in 1992. The name Electro Body comes from electronic body music. Maciej Miasik and Janusz Pelc built it in nine months on one XT and one AT, with 3 MB of memory between the two machines. Epic MegaGames published the English edition as Electro Man in 1993-94.

You play a cyborg named Jacek, loose on an alien-held space base to avenge his family. Each of the eight levels hides three disks, and only with all three does the teleport at the level's end switch on. Mines, automatic guns, lasers and energy barriers stand in the way, and batteries power up your weapon. The game's own README calls it “quite a difficult game by today's standards”, and it is.

In 2006 Maciej Miasik recompiled the game from its original source and released it under a Creative Commons licence, with the permission of the copyright holders. That release is the one this page reads.

Controls

The Left and Right arrows move. Up or Ctrl jumps, and Up with Left or Right jumps that way. Space fires. Down uses the teleport you stand on, or the exit once you have the three disks. P pauses. F2 saves the game at the last checkpoint you touched. On a phone or tablet, the touch pad under the game moves, jumps, fires, uses and pauses. The full list is under CONTROLS.

What we changed

Classic is the game translated, not emulated: no part of the original program runs here. The code is JavaScript, translated from Miasik's two open-source ports, and the pictures, levels, sounds and music come from the 2006 release. We run the original in a PC emulator and compare this translation with it tick by tick, screens and state. The remaining differences are still being listed, so we don't claim the two are identical.

HD is the same game drawn again. Every picture is redrawn at eight times the original's resolution, in the same shapes, places and colours. The dither patterns of the 1990s become the smooth tones they stood for, and stepped edges become clean slants and curves. Nothing is added, and the rules, levels and timing don't change. QUALITY or F8 switches between HD and Classic at any moment.

Credits

Electro Body: xLand, Poland, 1992. Electro Man: the English edition, published by Epic MegaGames in 1993-94. Designed, programmed and drawn by Janusz Pelc and Maciej Miasik. Music by Daniel Kleczynski. Produced by Marek Kubowicz.

In 2006 Maciej Miasik released the game, with the permission of its copyright holders, under the Creative Commons Attribution-ShareAlike 2.5 licence: creativecommons.org/licenses/by-sa/2.5/. The game's data and art are under that licence, and this page's art derived from the game is shared under the same licence. Epic MegaGames played no role in the 2006 release and does not endorse this page; nor do the game's makers.

The code is a JavaScript translation of Maciej Miasik's MIT-licensed ports pyelectroman (github.com/tosiabunio/pyelectroman) and electroman-playdate (github.com/tosiabunio/electroman-playdate), and stays under the MIT licence. Their MIT notices are kept in this page's source and below. When the game ends, its DOS text is drawn in u_vga16, Dmitry Bolkhovityanov's 8 by 16 VGA-style font, whose MIT/X11-style notice is also below.

The original 2006 release is a free download from Classic DOS Games, where Maciej Miasik placed it: classicdosgames.com/game/Electro_Man.html (the file em.zip).

THE LEVELS

All eight levels, drawn from the game's own level data: every room at the game's own pixel size, starting at the room where the level begins. Choose a level, then drag the picture or use the arrows. This is a map, not a running game: choosing here does not change the game above.

SECRETS FROM THE CODE

The 2006 program still accepts its developers' cheat words, typed during play. CHAOS comes first; then each word below does what is written next to it, as far as it has been checked in the original program and its code.

CHEAT WORDS
CHAOS

Switches the other words on; typed again, it switches them off. Type it first. Works in the browser version.

SUPER

The 2006 README calls it god mode: nothing harms the hero. Works in the browser version.

KILL

The hero dies and comes back at the last checkpoint, with the weapon reset and the disks kept (seen in the original). Works in the browser version.

W0

No weapon. Works in the browser version.

W1

Weapon level 1; the right-hand bar of the HUD shows it (seen in the original). Works in the browser version.

W2

Weapon level 2. Works in the browser version.

W3

Weapon level 3. Works in the browser version.

W4

Weapon level 4. Works in the browser version.

W5

Weapon level 5 (seen in the original). Works in the browser version.

OPEN

All three disks at once; their icons blink in the HUD (seen in the original). The README calls this word DISK, but this build has OPEN instead. Works in the browser version.

SKIP

Ends the level at once (seen in the original). Works in the browser version.

MAP

See SECRET PLACES: with it on, Scroll Lock makes the hero fly (seen in the original). Works in the browser version.

LIGHT

See SECRET PLACES: the rooms stop being drawn. Works in the browser version.

INFO

See SECRET PLACES: debug numbers at the top. Works in the browser version.

DEMO

In the program's code it starts again from the last checkpoint, as KILL does, and marks the run as a recording, which the end of the level writes to a file called DEMO.REC. The browser version does the same and writes no file.

DISKS AND HEAT

Each level hides three disks. With all three, the exit teleport at the level's end works: stand on it and press Down. Batteries raise the weapon level, shown in the right-hand bar of the HUD; firing fills the left-hand bar, the gun's heat, which drains when you stop.

Above: the bottom of the original screen after OPEN and W5, the three disk icons between the bars.

Above: the same after eight shots: five of the six cells of the left-hand heat bar are lit.

LEVEL DATA

A room is 13 tiles across and 8 down, each tile 24 by 24 pixels: 312 by 192. Each room has up to four layers, drawn one over another. A level is a grid of 16 by 16 rooms, of which the levels use 82, 96, 68, 86, 64, 100, 68 and 59.

WHAT WE BUILT

Three parts, in short.

THE GAME

A JavaScript translation of Maciej Miasik's two MIT-licensed ports, reading the game's data from the 2006 release and running at the original's 19.024 ticks a second. The original program under a PC emulator is the reference it is checked against.

THE PICTURE

Classic is the game's own 320 by 200 picture in its 256 colours, enlarged only by whole numbers, so every original pixel stays square. HD draws the same screens again at high resolution with nothing added; a picture that has no HD art is drawn as in Classic.

THE PAGE

Everything drawn on this page, except the DOS font of the exit screen (credited below), comes from the game: its letters, the pipes of level 1, the panels of level 5, the HUD lights, the title and credits screens, the hero and the machines. Paragraphs like this one are the only plain font outside the game screen. The page is one file: Classic works offline, and HD fetches its art from the folder the page is served from.