A randomizer for The Adventures of Captain Comic, a sidescrolling platform game for DOS. It shuffles the locations of items, while ensuring that the game remains winnable.
This information is also in the file RANDO.DOC in the generated zip file.
lake0 | ||
---|---|---|
lake1 | ||
lake2 | ||
forest0 | ||
forest1 | ||
forest2 | ||
space0 | ||
space1 | ||
space2 | ||
base0 | ||
base1 | ||
base2 | ||
cave0 | ||
cave1 | ||
cave2 | ||
shed0 | ||
shed1 | ||
shed2 | ||
castle0 | ||
castle1 | ||
castle2 | ||
comp0 | ||
comp1 | ||
comp2 |
The easiest way to play is with
DOSBox.
Download the randomized zip file and extract it somewhere.
Run DOSBox, mount
the C: drive if necessary,
cd
to the folder where you extracted the game,
and run comic
.
When the game starts, you can configure keys by pressing K
.
This is the keymap I use:
These tutorial videos explain some of the basic concepts. There's also a page of tips.
The randomizer is free software. You can download the source code and run it on your own computer. The source code repository also contains a lot of other information related to reverse-engineering Captain Comic. You will need git-annex to download some of the larger files in the repository (not needed if you are only using the randomizer).
The randomizer itself is in the public domain. See comicrando-licenses.zip for the licenses of dependencies.
You may be interested in how the seed algorithm works.
Captain Comic randomizer live coding video playlist
I recorded all my work programming the randomizer. These videos could be fun to watch if you are interested in the process of making a randomizer, or if you just want someone to commiserate with as you are learning Rust. Incidentally, if you are learning Rust, my advice is to get a copy of Programming Rust—it's much better than the other Rust book you can find online, particularly if you're an experienced programmer. If you're not an experienced programmer, my feeling that you have a tough row to hoe no matter what; it's better to learn Python or JavaScript first.
A few favorite episodes:
Michael Denio, James Fifield, Yury Lesiuk, Anatoly Shashkin, Rust, Go, Python, R, Graphviz, ggplot2, SageMath, Programming Rust, Radare, NASM, The BIG List of Video Game Randomizers, AGDQ 2019 randomizer panel, The Art of Computer Programming, The Cutting Room Floor, Malvineous and ModdingWiki, DOSBox, Git, git-annex, wasm-pack, wasm-bindgen, MDN Web Docs, OBS, Debian, Internet Archive.