Games I wrote as a kid in DIV Games Studio (DOS), rewritten in Godot to play in the browser.
This is where it all started: DIV Games Studio running in DOSBox, with my window layout from back then. On the right is the source code of Siege with its German comments, on the left the game's graphics file with airships and golems. DIV had its own code editor, paint program, font and sound tools, and turned everything into a real DOS game.Minicosm
After Microcosm: defend your Duks from falling meteors with two mouse-aimed cannons. Left/right mouse button fires.
The original's hidden cheats still work: hold S+U+P to make every Duk super, T+A+X for 10000 money, or A+R+M for the hardest meteors.
The second ship is advertised for 5000 and you need that much to buy it, but only 3000 is actually charged.
Reloading never checks the limit, so your cannons can end up holding more rockets than the ammo display shows.
Place atoms on a grid and give each the right number of bonds to form complete molecules. Finished molecules vanish for points; enough points earn bombs. Arrow keys, Enter, Backspace for a bomb, H for the rules (in German).
A bomb removes only the atom itself: its neighbours keep their bonds pointing at the empty cell, waiting for a matching atom.
The 'fewer 4s' option uses a little dice trick, rand(3,13)/3, which makes four-bond atoms appear about 18% of the time instead of 25%.
Olesch wrote hiscore saving for both modes but commented it out; this version switches it back on as 'Rekord'.
Top-down dungeon action-RPG: fight orks, ogres and ghosts with sword, bow and magic, collect keys and potions, level up and save at save points. Arrows move, Space attacks, X changes weapon, C changes magic, V shows stats.
The seven difficulty levels climb from 'Baby' through 'Schueler' (pupil) and 'Erwachsener' (adult) up to 'Schlossherr' (lord of the castle) and 'Diabolo'.
Holding Alt+Ctrl is a hidden cheat that lets the hero walk straight through closed trapdoors.
The Ork hero shoots arrows that have no graphic, so his shots fly at you invisibly.
Olesch's own room editor for Castle: browse all 36 rooms of both level sets and repaint walls, doors, trapdoors, treasure and monsters (changes are not saved). 1/2 pick a level set, arrows move, Z/X open the choosers, Enter places, I/J/K/L change room, H help.
Every Castle room has a brick in the bottom-right corner with Olesch's signature on it, and the editor always draws it there.
Picking an empty slot in the item chooser painted an invisible junk number into the level, and the real Castle level files still contain 11 of these hidden values.
Each time you place a single tile, the whole room is redrawn and the random cracks and stains are rolled again, so the decoration flickers as you edit.
Two players on one keyboard swap element tiles (wood, metal, fire, magic) to build warriors, archers, rams, catapults, dragons and more, then send them against the other castle. Player 1: arrows, O, P, L. Player 2: WASD, 1, 2, Q.
The recipe code is headed 'DAS ZAUBERBUCH!' (the spell book), and the comments for the elephant and the golem both warn: 'He is big, watch out!'
The necromancer is meant to raise at most 3 skeletons, but the check can never trigger, so he raises one for every fallen human of his side.
A complete computer opponent is written in the code, but its single start line is commented out, so Siege is strictly two players.
R-Type style shoot'em-up for 1–4 players on one keyboard: collect money, buy weapons, pods and shields, and fight through two levels to the boss. Player 1: arrows, Space fires, Right Shift buys, Enter switches weapon.
The original had a cheat that maxed out every weapon: it once needed O+L+E+G held together, but Olesch shortened it to just O. It is not in this version.
Holding A+L+E+X in the original summoned two extra enemy snakes, another cheat left out here.
Slot 10 of the buy line does nothing at all; you have to pass it to reach the companion pods at slot 11.
Shoot as many chickens as you can in 90 seconds while scrolling across a mountain panorama, and hunt bonus targets (flowers, hills, a castle ruin, the clock) for extra time and ammo. Left click shoots, right click reloads, arrow keys or screen edges scroll.
Shooting the clock in the top-left corner ('Uhr abgeknallt!', clock shot down) gives 10 extra seconds and 100 points.
Destroying all the hills sets off an avalanche ('LAWINE!!') that drives eight more birds into the sky.
Find every bonus and you unlock a secret machine-gun mode: hold M+G and keep the mouse button down.
A Lemmings clone: guide a stream of little Lommings from the entrance to the exit by giving them skills like climbing, digging, building ladders, blocking and exploding, across 13 levels. Mouse picks a Lomming, keys 1–9 or the panel choose the skill.
A comment in the code proudly calls the turbo key 'THE SUPER-BOOSTER-SPEED-KEY: O!!!'. It runs the game five steps per frame.
The + key makes lemmings come out slower and - makes them faster, the reverse of what you'd expect.
The nuke also hits lemmings that are already safe in the exit, turning them into dead ones, so your saved count can drop.
Island survival: walk the island, search for and gather food and materials, craft tools and flour, and keep hunger, thirst and health up through each day and night. S/X/Z/C walk, D searches, F takes, A sleeps, V/B/G pick the action, 1–9 the item.
You can craft an axe, a fishing rod and a hammer, but chopping, fishing and building were never written, so the tools do nothing.
There is no game over: at zero health the hero just looks dead and you can keep on playing.
The radar's hero marker had no graphic in the original, so you could never see yourself on the map; this version adds a red dot.
An unfinished Settlers-style sandbox: send little settlers off to chop trees and dig clay, and lay out building sites on a scrolling map. Houses never get finished, as in the original. Mouse moves and scrolls, left click sets points; M opens the menu (S collection points, R workers, G build), Esc releases the mouse.
The minimap in the corner is the game's actual memory: the program stores every settler's job in that image, one pixel per settler.
A misplaced bracket, Rand(0,250==0), means the planned 1-in-251 chance for workers to give up their job can never happen.
About 200 trees along the river are invisible: a line meant to forget trees on water erases the ground under them instead, so settlers can then walk on the river.
Two-player 2D fighting game: walk, jump, duck, block high, mid and low, and chain punches into special moves like Eigen's fireballs, with a computer opponent when you play alone. Player 1: X/V move, D jump, C duck, 1/2 punch. Player 2: arrows, 9/0 punch.
The title in the source reads 'Heatfighter: Coolfighter in 2d'.
A comment promises a tiny freeze on every hit 'so you really feel the punch', but its length is set to 0, so normal hits never pause.
The 'Template' fighter has no pictures for its special and low attacks, so it turns invisible while doing them, just like in the original.
Up to four ships, human or computer, dogfight around a gravity-bending planet with lasers, rockets, shields and teleports, in classic or "Hold the Flag" mode. Player A: arrows, Right Shift fires; B: W/A/D, Left Shift; both turn keys together = shield.
Quitting the original said goodbye with 'May the force be with you!', and the fastest energy-recharge setting is simply called 'Starwars'.
The planet's pull uses Newton's law of gravity; Olesch wrote the formula as a comment at the top of the code.
A mix-up in the computer players' aiming makes them thrust almost constantly, so their energy bars spend much of the game near zero.
Up to four players share one keyboard and fly through a maze, shooting each other with bullets and lasers, grabbing weapon pickups and chasing the diamond for points. P1: arrows + Space; P2: 2/W/Q/E + 1; P3: 9/O/I/P + 8; P4: H/N/B/M + G.
The top exit wraps to the bottom, but the bottom gap is much narrower, so a ship that leaves the wrong way ends up stuck in the wall for good.
The code has pickups for a red laser, a stunner, a nuke and 'Life+50' (which actually hands out weapon 5), but none of them ever fire anything.
The notes at the top of the code plan rockets, shields and teleporters too; only the bullet and the green laser were ever finished.
One or two riders balance on cannonballs, steering against a shifting wind to dodge the giant cannonballs flying up from below. 1 or 2 starts; player 1 steers with Left/Right, player 2 with A/D.
Your score is simply the number of cannonballs fired while you survive.
Each rider has three lives that are never shown on screen: the fourth hit ends the ride.
The cannons speed up from one shot every 2 seconds to one every few frames, and quitting once said 'Ride Canonballs again soon!'
Turn-based two-player strategy: worm armies dig through the earth, gather leaves, wood and food, breed workers and train fighters on a 32x24 grid. Arrows move the cursor, Enter selects a worm, an arrow acts, Space ends the turn.
The original was never finished: player 2's worms start with 500 action points as a test, yet player 2 never gets a turn.
Where combat should be, the code only has the comment 'Interaktion muss kommen!' (interaction has to come); the fighting in this version is new.
Worms that drop down a hole can never climb back up, because the way up is just an empty comment.
Steer a small ball with the arrow keys so the big ball follows it on a rubber band through colour-coded mazes: bounce off walls, avoid red death zones and reach the goal as fast as you can. R pulls the guide ball back.
Each level carries its own physics settings, such as gravity, friction and the pull of the holes, hidden in the colours of the first few pixels of the level picture.
The losing message really says 'You LOOSE', a typo kept from the original.
A to-do list at the top of the code planned cannons, new terrains and a two-player mode that never arrived.
Two bunnies hop around a block maze, landing on platforms, bouncing off ceilings and walls and bumping into each other. Bunny 1: arrow keys; bunny 2: W/A/S/D. Up jumps.
A commented-out loop in the code would have filled the screen with 10 extra bunnies at random spots.
A 'TODESCRASH' (death crash) block was meant to let one bunny stomp the other, but it never worked, so bunnies can only bounce off each other sideways.
Platforms only catch falling bunnies: a bunny on its way up jumps straight through them.
Pong for two with 70 balls at once: keep them out of your side until one player is 500 points ahead. Player 1: Q/A; player 2: Up/Down. Enter restarts after a win.
Instead of one ball there are 70, released in pairs, all bouncing at once.
The player who is behind gets 3 points per goal and the leader only 2, and the score is never shown: you just see the banner when someone is 500 ahead.
The code contains a computer player for the bats, but both bats are always set to human.
Four ships in the corners of a walled arena turn and fire bouncing shots and explosive blasts at each other; a settings screen lets you change almost every rule first. P1: Left/Right + Up, End; P2: A/D + W, Q; P3: keypad 1/3 + 5, Del; P4: J/L + I, U.
The settings screen has 14 values, from lives to the 'Spielerexplosionsdurchmesser' (player explosion diameter), and nothing stops you setting them to zero or below.
The explosion shot was meant to cost mana, but mana was never used: you only need to hold fire for about 2.5 seconds, and it destroys shots but never ships.
The labels of settings rows 10 and 11 are swapped compared with what they actually do.
Split-screen tank war: two players each lead a team of computer panzers and aim for the enemy's rear to wipe out the other team. Player 1: arrow keys + Enter; player 2: W/A/S/D + Q. Esc restarts.
The teams are uneven: the green computer tanks line up every 80 pixels, the red ones every 60, so red gets 27 tanks against green's 21.
At start the whole 1600x1200 battlefield is painted pixel by pixel with random shades of green, almost two million pixels.
A commented-out mode would have dropped a fresh tank for each team at a random spot every second.
Aim a crosshair while a whole column of snipers fires together at balloons drifting up the screen, and every salvo's recoil throws your aim back. Mouse aims (click to capture, Esc releases), left button fires, Up/Down move the column.
The header still credits Antonio Marchal's 1997 DIV tutorial, and the old tutorial's asteroid code is still in the file, unused.
All 17 snipers fire together and each one kicks the aim with recoil, so after every salvo the crosshair snaps to the top-left corner.
A minigun sniper and a grenade-launcher sniper with smoke exist in the code, but they are never put on the field.
Three players share one keyboard and fly around a wrap-around arena: hold fire to charge a shot, release to blast your rivals, and mind the recoil. P1: arrows (Down fires); P2: A/D/W/S (S fires); P3: J/L/I/K (K fires). Enter restarts.
The longer you hold fire, the bigger and stronger the shot, and the harder its recoil throws your ship backwards.
In the original, ship 3 started exactly on top of ship 2; it now starts in the bottom-left corner.
Commented-out code would have made ships randomly clone themselves and big shots split in two.
Two-player sprint: hammer your two keys alternately to race to the finish, and don't jump the gun before "Los" or you foul out. Upper runner: Left/Right; lower runner: A/D. Enter restarts.
Runner was written by Olesch together with Lukas Schwabe.
Pressing your keys before 'LOS' is a false start that freezes your runner for the entire race.
One second on the race clock is 25 frames instead of 24, so the timer runs about 4% slow.
Prick the red balls with a pin before they float off the top of the screen, while a hair-dryer blows them back down; every level adds a ball. Left click pricks, hold the right button to move the hair-dryer.
Your only defence besides the pin is a hair dryer at the top of the screen that can blow rising balls back down.
Olesch's line to load the hiscore was commented out, so the original always started from 0; this version keeps your best score.
After Game Over the original quit to DOS with the message 'Nice playing'.
Two-player light-cycle duel: steer with left and right turns, leave a solid trail and outlast your opponent. Red: Left/Right; blue: A/D. Enter restarts.
The game was built on top of DIV's asteroids tutorial: its header still names the tutorial, and the old asteroid code is left in, commented out.
One stray pixel hidden in the background at (673,190) kills any cycle that runs into it.
Commented-out code would have made a cycle speed up when riding close to a trail, a kind of slipstream.
Defend the fort in the middle by clicking to fire at the straight-flying and zig-zagging enemies closing in from every side. Mouse aims, left click fires.
The zig-zag enemies always start by flying to the right, wherever they appear, before turning towards the fort.
Normal enemies shrink as they get closer to the fort.
The original counted the damage to the fort in a hidden variable, so nothing on screen reacted to hits; the 'Schaden' counter is new.
A 3x3 number-rotation puzzle: move the cursor around the border and rotate rows and columns to restore 1 to 9; a swarm of dots appears when it is solved. Left/Right move the cursor, Enter rotates, M scrambles.
Despite the name, this is a flat 3x3 grid of numbers whose rows and columns rotate like the slices of a Rubik's cube.
Every game starts just one random move away from solved.
Solving the puzzle sets off a swarm of drifting, colour-changing dots that stays only as long as the numbers are in order.
Two tanks with rotating turrets share one keyboard and fire shells across a grass field (a small sandbox, no scoring). Player 1: J/L turn, K drives, U/O turret, I fires; player 2: A/D, S, Q/E, W.
The original also painted the tanks with the same random greens as the lawn, making them almost invisible; this version shows them normally.
There is no damage: shells fly straight through tanks, and holding fire shoots one shell every frame, 24 per second.
Tanks can drive off the screen and never come back.
The DIV Tutorial 4 worm game, slightly modified: steer the endless worm, eat apples to grow and score, and don't hit the wall or yourself. Arrow keys go straight, E/Q/Z/C diagonally.
Snake started as DIV's 'Tutorial 4' by Daniel Navarro Medrano, which Olesch modified.
The tutorial allowed up to three apples at once; Olesch changed it to a single apple.
The original put the play field outside its frame graphic, so the worm started next to the frame; this version moves it inside.
A tiny fractal toy: press a key and a seven-level Sierpinski triangle appears in white pixels, drawn with a hand-written line routine. 1 draws the triangle (2 was meant for the Koch curve); reload to draw again.
Key 2 says 'Koch' but draws the Sierpinski triangle again: the key-1 code was copied and the Koch curve routine was never finished.
The program loads a full-screen 'Mandelbrot' picture that is completely transparent, plus an overlay it never shows, both leftovers from the Mandelbrot program.
About 1,100 recursive steps start roughly 3,300 line-drawing processes, and all of them finish within one single frame.
A chain of 22 spinning keys hangs from the centre of the screen, each turning faster than the last, and their tips leave a slowly growing cloud of white dots. An options screen lets you build your own patterns. Tab options, Space pause, C clear, R restart, N random.
The program is still called 'Tutorial 1' and keeps the spaceship tutorial's comments, like 'Prints ship's graphic on screen', plus an unused screen-wrap routine.
A hidden 'Table' speed mode reads past the end of its 13-entry speed list, so the outer keys pick up speeds from unrelated settings and barely move.
Each new key starts moving before the one it hangs on has a position, so every pattern begins with a few stray dots in the top-left corner.
A little Mandelbrot explorer: pan and zoom with the keys, sketch quick previews, then watch the full picture draw itself column by column. F1 draws, F2/F3 preview, arrows move, +/- zoom, F4 clears.
In preview mode the original calculates every point nine times, once for each pixel of its 3x3 block, and gets the same answer every time.
Keys 3 and 4 change a 'painting' setting that does nothing, because the colour formula that used it was commented out.
Every single point of the picture was its own little DIV process, and the maths runs on whole numbers only, so very deep zooms overflow into strange glitches.
A tiny digital ant paints patterns pixel by pixel. The original as coded only draws one straight line, so press O and pick classic Langton's ant or another multi-colour rule, add more ants, then zoom and pan around. WASD move, E/Q zoom, Space pause, R restart.
The ant's picture in the original is a 1024x768 image that is completely black.
A one-entry slip in the colour table (colour 1 instead of 15) means the ant never sees the white it paints, so it draws a straight line and walks off the screen.
Four extra ants were commented out, each with a direction 0-3, but that number would have set their scheduling priority instead, so all of them would have walked straight up.
Balls shoot in from the screen edges toward the centre and freeze on contact, slowly growing a branching crystal-like tree. Just watch; R restarts.
Only the right-edge option of the spawn code releases four balls instead of one, so the tree always grows lopsided toward the right.
Each step is rounded down to whole tenths of a pixel, so balls can only fly in a few dozen directions and many early balls miss the centre and fly off the screen.
A 'Kill' flag is set on the line right after the loop ends, so it never runs: after a few minutes the original was quietly keeping thousands of frozen balls alive.