AStar

Saved games stay in this browser only.

About the game

Bob, the round yellow fellow, stands in a walled maze dotted with cherries, strawberries, pretzels, ice cream cones and roses. The goal is to collect them all. The catch is that Bob cannot take a single step: push the joystick and he slides in that direction until he hits a wall, picking up everything on his way. A level that looks simple on the first screen soon turns into a question of where Bob can possibly stop.

That is where Alan comes in. Alan is the small square block somewhere on the board, and you can switch control to him at any time. He slides by the same rule, and once he is parked, Bob stops when he runs into him. Most levels are solved by moving Alan into just the right spot, sending Bob across, and moving Alan again.

The counter at the bottom of the screen counts your moves. Every level has a par, the shortest possible solution, worked out by the author with a solver program that ships with the game's source; if you go over it, the counter changes color. Finish a level within par and a dot lights up at the bottom of the screen. To win the game, every level has to be finished in the minimum number of moves, but nothing stops you from carrying on at your own pace or skipping ahead.

The name comes from DStar, an old calculator game that inspired the sliding mechanic, and, as the author points out, it is also a nod to A*, the pathfinding algorithm that his solver uses.

Playing it here

This is a homebrew game made for the Atari 2600: a new game by an independent developer for the 1977 console, not a commercial release. It runs here in Stellerator, an Atari 2600 emulator written in JavaScript. Click Play now and press Space on the title screen to start the first level.

This is the open-source edition the author published in 2021, with eight levels made especially for it. The physical cartridge sold by AtariAge has 24 different levels, which are not part of the free release and are not on this site.

The original game can use an AtariVox, an add-on that plugs into the second joystick port, to remember on its memory card which levels you have finished in par. The author switched that feature off in the free edition, and the AtariVox driver code in his repository was written by someone else and is not covered by the game's licence, so the version here is built without it. Nothing changes in play: the dots for finished levels are kept for as long as the game is running, but they are not saved. There are no save states on this platform either.

Controls

Key Atari 2600 Action
Arrow keys / WASD Joystick slide Bob or the block
Space or V Joystick button switch control between Bob and the block; on the title screen, start
F1 Left difficulty switch each press undoes the last move
F3 Right difficulty switch A: no fade between levels; B: fade on (the default)
Enter Game Reset restart the current level
Backspace Game Select skip to the next level
Enter + Backspace Reset + Select back to the title screen
P — pause

A few things worth knowing

One undo, not a history. On the real console, flipping the left difficulty switch takes back the last move; here every press of F1 flips it. Only the most recent move can be undone, and collecting a piece of fruit cannot be undone at all, so use Enter to start the level again if a pickup went wrong.

Think from the end. The last piece of fruit is often the hardest to reach. Work out where Bob has to stop to collect it, then where Alan has to be for Bob to stop there, and work backwards.

Alan is a wall too. Bob stops against the block from any side. The block, in turn, stops against Bob and against any piece of fruit in its path, since only Bob can collect them. Sometimes the useful move is to slide Alan into Bob, or up to a piece of fruit, rather than the other way round.

Skipping around. Backspace jumps to the next level at any time, and after level 8 it wraps back to level 1, so you can leave a hard one for later.

A hidden extra. The source code mentions a secret level: finish level 3 or any later level in par while holding up on the first joystick and down on the second (K, in the second player's keys here).

Credits and licence

AStar was designed and programmed by Aaron Curtis (hippopotamus-prime on GitHub), who also wrote the level solver. The free edition is released under the GNU General Public License, version 3 or later. The ROM served here was assembled by FredyGames from version 1.0 of the author's repository without the AtariVox drivers; apart from the space those drivers occupied, it is byte for byte the same as the author's own v1.0 build. Its complete source code, the small patch, the build script and the assembler are hosted alongside the game and linked from this page.