Could you do a credible version of Myst on an Apple II in lo-res mode?
The answer seems to be just barely. I think you could also make a nice
version with hi-res graphics, but they are 8 times bigger and it would
be harder to fit on a reasonable number of disks.
One observation, Myst island is very dark and brown. Maybe a system
with lots of browns (hello C64!) would work better.
This is not the full game, but you can walk around the main island, solve
a few of the puzzles, and even travel through a few books.
The graphics were all done by hand, and the quality is a bit irregular
as I was trying a few different techniques.
The game is just a series of "rooms" you can walk between. Each room
has four exits, N/S/E/W. In each room you can have one item you can
poke around with. This maps the gameplay fairly well, though the real
game you can have more than 4 exits from a room.
The whole thing is written in 6502 assembly language, takes up 40k of RAM
and fits easily on a 140k floppy.
Here's a quick comparison of an image from the actual game,
a HGR (hi-res) version made with Bill Buckels' bmp2hgr utility
(uncompressed hires images are 8k), and finally a hand-converted
GR (lo-res) version (uncompressed lores images are 1k).
A playthrough of the mechanical age (v0.7). In an emulator as
my Apple IIs are at work so currently not easily accessible.
An early release (v0.1) recorded on an actual Apple IIe Platinum.
It will look better on
a CRT monitor, my video capture card struggles at times.
To move the "pointer" use the arrow keys or WASD (your emulator might
not support up/down arrow as the original Apple II didn't have them).
Use enter or space to move or for action.
If you haven't played through the real game it might not be obvious
how to beat things. The real game has lots of clues you uncover but
this version isn't complete enough for that. So if you want some
spoilers click here.
Joystick or mouse support. Joystick support should be fairly
easy, it's just currently low-priority.
More rooms. The current plan is to try to have all of Myst island,
though I'm not sure how the tree puzzle or
the dentist chair/ship raising will work.
Completing the game. This should be doable, and Myst is one of
those interesting games that if you know the solution you can
skip a lot beat it in a few minutes.
All of the ages? That might take some work.
Q. Why lo-res? Why not use the hi-res (140x192, 6 colors), double lo-res
(80x48, 15 colors) or double hi-res (140x192, 15 colors)
A. Yes, the graphics would probably look better in those modes.
The answer is partly because I am lazy (I have a huge amount of
existing code for lo-res, not so much for hi-res).
other issues too, mostly the more advanced graphics modes take
up a lot more RAM, which is in short supply on an 8-bit system.
If you no longer fit in RAM you'd have to load data from disk
more often which would slow down the gameplay.
Also, I usually target my games for a 48k Apple II+ with one
floppy drive and a color TV monitor. This would have been
a very nice but attainable system in 1979 or so, with few
real competitors. It's also probably the bare minimum for making
a decent video game (in my opinion).
The double graphics modes require 128k of RAM and an Apple IIe,
which wasn't released until 1983 and by then there was a lot
more competition in the 8-bit world. So for me at least it's
a lot less interesting of a challenge (and also a lot harder
code-wise, things relatively simple in regular lo-res like
copying a screen, drawing a software sprite, and page-flipping
get a lot more complex in addition to taking at least twice as much
RAM if not more).
Q. Was it hard to write this?
The code is actually surprisingly simple and not very big.
It helps that I could re-use a lot of the lo-res drawing code from
my Another World project.
The big time-sink is the graphics, which take a while to draw
and there are just so many scenes.
Q. So how did you draw the graphics?
A. So for 40x48 resolution you can't just take a paint program
and have it do this automatically. That tends to lose a lot
of important details.
For some of the simpler backgrounds I just draw things freehand
while looking at a screen-capture.
Otherwise I take a screenshot and drop a 40x48 grid on top
and then trace over it. The scummvm/masterpiece edition
is very close to 560x336 resolution which scales nicely to 40x48.
The hardest part of this is color selection,
as the 15 Apple II colors are a weird bunch and don't make gradients
well. I sometimes try to do things like make color 2 (a sort of
blue-purple color) act as a shade of grey, which rarely works.
Q. Have you played all of the MYST games?
A. Yes, all of them, multiple times. I haven't quite finished
Obduction yet. My favorite is probably Riven.
Q. Have you met the devs of the game?
A. Not the Millers, but I have met the oft-forgotten co-developer
28 March 2020
Release v0.81. This adds u-turn support. The dimensional imager works.
Beginning of the stone ship age.
24 March 2020
Release v0.8, a bugfix release fixing some issues encountered when you
leave/return to the main island from various ages. Encountered more or
less all the bugs when trying to show off the game to family.
23 March 2020
First finished the rocket puzzle by adding the circuit breakers on the tower.
Then got completely carried away and implemented most of the Mechanical Age.
Took a lot of time and is much bigger than I expected. It looks like it
might take two 140k floppies if I get around to implmenting the whole game.
15 March 2020
Implemnted the puzzles (Generator Room and Spaceship Controls)
to get to the Selinitic Age. The age itself is not implemented.
Its colors are even worse for the Apple II than previous. Also
there's a big sound puzzle and then the interminable sub maze
which would be complex to implement.
9 March 2020
Well that one video I posted got unexpectedly popular. Including
the crew at Cyan! Hello to the Cyan people if you're reading this, I
apologize in advance for some sarcasm about the game's plot that I
sprinkle around in places.
8 March 2020
You can now solve the clock related puzzles, open the gear, and
travel to the Mechnical Engineer age.
5 March 2020
You can now access all of the marker switches.
4 March 2020
Moved all compression to
which freed up nearly 8k of space. It's not quite as fast
as the previous RLE algorithm I was using though.
I thought I was done, but I might be adding some additional features,
3 March 2020
Still room in memory, so added a few more locations.
2 March 2020
Added some more graphics and sound, and threw the release out the door!
1 March 2020
Threw this together over a weekend, because why not.
Cursing Atrust more than normal for all his granite and wood which are a pain
to convert down to GR resolution.