This is very much a work in progress, but the full intro runs, and
I am gradually adding gameplay. Only part of the game is currently playable.
Details
Taking something obsolete and making it even obsolete-er!
I was working on the hi-res version of Myst and thought it would be
interesting seeing how hard it would be to do a more traditional
adventure game.
Legal Note
This product contains trademarks and/or copyrighted works of
homestarrunner.com.
All rights reserved by homestarrunner.com.
This product is not official and is not endorsed by homestarrunner.com.
Implementation Details
The Apple II hi-res graphics are a bit too complex to get into here.
Video recorded of the intro on an actual Apple IIe Platinum
(no, not the Apple II+ in the video.
That one runs the game fine, it's just my capture card is hooked up to
the IIe):
A playlist of development milestones, recorded in an emulator.
A talk I gave at Demosplash 2021 giving a status update on the project
as of November 2021:
Screenshots
Note: these were captured with the AppleWin emulator.
Any sort of Apple II should work (II/II+/IIe) but you'll
need at least 64k of RAM (so you'll need a language
card on the II/II+)
Should also run on IIc or IIgs but not tested as much
To get the best music you'll need a Mockingboard card.
For Trogdor's speech you'll need a Mockingboard with
one of the optional SSI-263 chips installed
How can I play it?
You can download the image below and then try running it on a real machine.
You can download the image and run it on an emulator.
There are many out there, I use Applewin under WINE on Linux
(be sure to enable Mockingboard under sound support).
In theory you might be able to play it in your browser at
the internet archive here:
Peasant's Quest Apple II at the Internet Archive.
Note that disk image might be out-of-date compared to the one
below.
The controls are similar to the real game, with arrow keys controlling
the walking and typing text for commands.
Note on Apple II+ there are no up/down arrows. If playing on this
machine use ; and / for up and down.
Correcting typing errors is a pain. On Apple IIe you can use the
DELETE key to backspace. On Apple II+ use Control-B. You can't use
left error as that makes you walk left. This might be a pain on some
emulators, but that's not specific to this game, it's always a pain
trying to backspace in an emulator because a modern keyboard doesn't
match up well with the actual Apple II one.
Mini-faq
Q. Are you going to make the full game?
A.
That would be quite an undertaking, but the answer seems to be "yes".
The big unknown is the text processing. It's not overly hard to do,
but from what I understand there's a lot of text replies. And
as unlikely as it sounds the text can take up a lot of space,
even when compressed.
In addition, I am using compressed bitmaps rather than AGI-like
graphics for the backgrounds. These are about 3k each
(and I only have 22k available once the game engine is running).
So there will have to be a lot
of loading from disk which complicates things, especially if we run
out of room on disk and have to have multiple floppies. [You might ask,
don't I have an AGI-like engine already for VGI-Myst? Yes,
but it doesn't support patterned flood-fill, and Peasant's Quest
has lots of complex curved and pointy scenery which would
really need that.]
Q. Was it hard to write this?
A.
Yes
Q. So how did you draw the graphics?
A.
Took screencaptures from the ruffle/flash version on the website,
did the best I could with the GIMP.
Q. Did you decompile the Flash version of the game?
A.
No
Q. Is there any hack you're particularly fond of?
A.
There wasn't room for both sound files, but the second is just a
looping subset of the first, so the code self-modifies
the song in RAM to convert the one to the other.
Q. Shouldn't someone have done this earlier?
A.
I find it extremely distressing that the time from when
the Apple IIe platinum (the computer I recordes thid on)
was released in 1987 to the release of Peasant's Quest in
2004 is the same amount of time between when Peasant's
Quest was released and I got around to making this.
Q. What's your favorite response to this so far?
A.
People possibly realizing that the distinctive
Apple II disk drive noise on startup is real and
not something the Brother Chaps made up for humorous effect.
Q. Aren't manual-based copy protection checks anachronistic
for a game from 1982?
A.
Yes, Strong Bad himself pointed this out.
These weren't common until the late 80s/early 90s.
However if anachronisms bother you, you probably shouldn't
be playing Peasant's Quest.
Q. Wouldn't this look better in double-hires?
A.
Yes, an Apple IIe with 128k of RAM can do a double-hires
mode with 16 colors that would probably be a bit closer
to the original (it's also the mode things like the Apple II
Kings Quest games used). However if you thought getting
good graphics going on HGR was bad, it's possibly exponentially
worse with DHGR.
Also, I like running my games on older machines like the II+.
It's an extra challenge, and also I can avoid comparisons
from the Commodore 64 people.
Q. For Trogdor's speech why aren't you using S.A.M.?
A.
The original game does use S.A.M. speech.
On the Apple II to use this you need to have an S.A.M.
card (which I don't have) and also load a 9kB driver
into RAM. This driver is the primary problem, it's relatively
large, and also there are copyright issues with including
it.
There are hacked versions of S.A.M. that will play to the
Apple II speaker instead of needing a card, but the sound
quality of that isn't great (think Blubbo's Whale quality).
Strong Bad Endorsement
Or at least I think it's an endorsement, a bit hard to tell.
Development Notes
16 October 2024 -- Version 0.88
Working on the Keepers, as this is the last part of dialog not hooked up.
There is so much going on there, but I at last got to the point you
can get turned into Ron Cumberdale.
Really need to fix the sprite flicker problem. The real solution is
to get page flipping going, but that takes 8k of valuable RAM that I
currently can't spare.
10 October 2024 -- Version 0.87
A lot of changes, a lot of them in not really visible infrastructure
and I haven't been taking the best notes.
The cliff climb sequence has been hooked up, so in theory you can
maybe play straight through the game in the end, though a lot of animations
are missing.
The random number generator was giving me a lot of trouble. During cliff
climb it only wanted to return "0" and "17". I've moved to a 24-bit
PRNG and now with the better numbers the cliff climb became impossibly
hard. I've rebalanced things so hopefully it's beatable.
Re-wrote the LOAD game code, the saves now all live in one sector now
(game state is only 32 bytes or so). This also makes things work properly
on ProDOS as well as DOS3.3. SAVE support is still broken.
Trying to use the more accurate Redbook audio/speaker code, but its
note range is slightly off so maybe broke some sound effects. Wasted a lot
of time trying to write code to use sox/fft to downsample the sound effects
automatically to 140Hz so I can use the commander-keen sound effect code
to play them. Not sure if this is a winning strategy though.
Also working on lightning at Cliffland Heights and the
sequence in the outer lair. Lots of sprite work (the
keepers, various deaths, etc) and also three complete new peasant
sprite sets (sword,shield,helm) that are literally only used
for like 30 seconds unless you go out and hang out on the heights
for a bit.
6 October 2024 -- Version 0.86
Lots of behind the scenes work moving over to the new sprite system.
cliff_base has been directly connected to cliffland_heights until I can
get the cliff climb integrated, so in theory you can play through the
whole game now though chunks of the cliff-top plot are missing.
Be aware that since things are under construction the text input is
slow in most of Peasantry so you'll have to type slowly there until
I get all of that converted.
21 September 2024 -- Version 0.85
Work has resumed! Spent the summer finishing the cliff climb minigame.
Currently you can find it in the Coach Z Collection
and I am working on getting it hooked into the game. It features a total
re-write of the sprite code to allow 3-column wide Dashing sprites that
can be reloaded (needed for all the costume changes) as well as being on
fire.
Also at the request of Videlectrix higher-ups spreading things across
more disks, which might make things easier (but annoying if you are playing
with real floppy disks). Also added hard-drive image support which is
useful on emulators and gets rid of the need of disk swaps.
Updated the input code to more closely match that of the original game.
2 August 2022
Started looking into finishing things. Have moved to ZX02 compression
from LZSA and it has freed up some space which will help.
15 January 2022 -- Version 0.84
A long adventure trying to get two-drive support working. The "seek" that
came with qboot ended up not working if you switched active disks, and then
somehow after using the PRORWTS seek instead it turned up a possible
long-standing bug in qboot when loading partial tracks. Finally though
you can run things in two-drive mode w/o swapping disks (I was mostly doing
this so internet archive support) but I made the code the mess and I should
take some time to straighten it out.
7 January 2022 -- Version 0.83
I should have had some interim releases here, I don't remember all
the changes. Most of the remaining text was hooked up, but the
cave with the keepers still isn't. The final scene with Trogdor
is more complete, including full speech. Initial animations for
the Kerrek, and various background animations are hooked up.
End credits music should be working again.
5 December 2021 -- Version 0.82
Can now catch yourself on fire, so all three tasks can be completed.
This includes all of the inn-at-night dialog.
28 November 2021 -- Version 0.81
Can now get the robe. This includes all of the baby nonsense.
So you can now get all the inventory items from peasantry.
Also some minor work getting the last backgrounds in better shape.
21 November 2021 -- Version 0.80
Finally have the whole way through the end of the Kerrek battle
implemented (no animations still though). Also added a 256 byte
word dictionary used to compress the text, this helps a lot with
the uncompressed text size and makes things fit again.
12 November 2021 -- Version 0.79
Was hoping to get more done before the Demosplash talk, but guess I
should make a release. I really wanted to get up to the Kerrek battle
but not quite there. You can now get and view the map and there's
a barebones stub for the archery minigame. I'm going to have to optimize
the text printing a bit, the peasant1 file (the top row of the map)
is now just slightly too big to fit in the 7.5k available, mostly due
to adding Kerrek related text that wasn't in the wiki. There are a few
things I can do to help with this.
1 November 2021 -- Version 0.78
Have hooked up a lot more of the plot-driven events.
You can now in theory get 50 out of the 150 points, and hit
game over 5 different ways. Added a random number generator
for random events, and enhanced the text parser in the Well level
so you can have more complex sentances (such as
PUT PEBBLES IN WELL).
24 October 2021 -- Version 0.77
Have hooked up a lot of the text parsing for the overworld.
You do need 64k of RAM now to hold all the text.
Still working on the more complex interactions and animations though
so the best score you can currently get is 4.
13 October 2021 -- Version 0.76
All peasantry backgrounds now have priorities (can walk behind things).
Much more text hooked up (though only common things, nothing room
specific yet). Added animated GAME OVER screen.
3 October 2021 -- Version 0.75
Working on a lot of minor things. Got load/save game support going.
Added initial cliff background (though need to work on colors).
Added electric-duet version of the title if you don't have a Mockingboard
(still not 100% satisfied with the quality, also it can't do the
flame animation while it's playing music).
Added some more priority backgrounds.
Moved Mockingboard sound support to Language Card (upper 16k) to free
up some desperately needed RAM.
Added proper Mockingboard/Language-card/SSI detection code.
17 September 2021 -- Version 0.7
Got the full end sequence more or less going. Though not the
demoscene-esque multilevel panning that Videlectrix put in.
This took a while, partly because there was a sidequest where
I was learning how to use the SSI-263 speech chip.
4 September 2021 -- Version 0.6
Have the inventory screen more or less working. It's just over 3k, even
though I used fairly tiny item sprites. It's hard getting recognizable
items in 14x16 sprite form, especially with the weird hi-res color issues.
Couldn't really come up with a good way to grey-out lost items, so xor-ed
a delete char instead which is not ideal.
24 August 2021 -- Version 0.5
Added AGI-style priority mapping. You can add collision areas and depth
to the scenery so you can walk behind things. So far only have this
for the lady's cottage. We store the priority info in the LORES page
so it's sort of granular, but this saves 7k of valuable RAM which we're
going to need as we add text parsing.
23 August 2021 -- Version 0.4
You can walk around most of Peasantry now.
15 August 2021 -- Version 0.3
You can walk around more of the map now.
14 August 2021 -- Version 0.2
Cleaned up the code. Added the start of gameplay, you can sort of walk
around a bit and also enter commands.
13 August 2021 -- Version 0.1
Finally got the intro done! The sprites look horrible but that possibly
can't be helped. Sound turned out better than I hoped.
12 August 2021
This was a crazy undertaking but I did want to play around more with
Apple II Hi-res. Have most of the graphics done, as well as the intro
animation. Need to get sprites going.
9 August 2021
Somehow the idea for this project got into my head and I started working on
it.