Retromancer

version 0.19 (1/24/2009)
--based on MAME v0.124
--and on NESTopia v1.38
--and on VisualBoyAdvance v1.7.2

Quick start

Retromancer is a meta-game built from bits and pieces of classic games. After you install it, double-click on Retromancer.exe to start up the game.
  • Enter your name
  • Bring up the key config dialog to set up your keyboard (or joystick) controls
  • Bring up the directory config dialog. Point it at your NES ROMs directory (as curated by GoodNES). Point it at your MAME ROMs directory. And point it at your GBA ROMs directory (as curated by GoodGBA).
  • Click on rooms (or use the direction keys / gamepad) to move around the map. Most rooms contain a quest. Double-click the room or hit Button-1 to to start playing. After you finish the quest (successfully or not), you return to the map. While playing, press ESC to quit a quest. Press R to Retry a quest without returning to the map.

    Overview

    Retromancer is an elaborate unauthorized hack built on other emulators. If things don't work, it's probably Retromancer's fault. Complain to the team and not the emulator authors. Questions and comments are also welcome. Check the website group for more details, quest-packs, and release announcements. PROTIP: Don't ask for roms.

    Send in your save files! These scores will be used to measure how difficult (and how long) each quest is.

    Building new quests

    It's possible to build new quests (follow this link for detailed instructions) The Secret Quest is to build a brand new quest definition and email it to the team.

    Bugs and limitations

    The fancy NESTopia configuration dialogs aren't available. Deal with it.

    On arcade games, saving and loading often works (even on games for which it's not officially implemented), but it sometimes doesn't. Some games have anonymous timers (e.g. esprade), which aren't handled properly. In some games, saving and loading works normally, but encounters glitches if you try to load a savefile immediately after loading the game (examples as of this writing: astdelux, tmnt).

    When creating quests for arcade games, be aware that the cheat engine does not always properly watch all memory locations. (Some memory is mapped in weird and wonderful ways...)

    NecroCore and Python libraries

    Retromancer itself is written in Python. It is built on top of emulators written in C / C++. The emulators have been wrapped in Python libraries. The emulator code has also been modified to support the common quest engine (NecroCore).

    PyMAME is a Python library which exposes some functionality of MAME. You can do some interesting things with PyMAME; you could use it to develop your own front-end, for instance.

    Try running Python from the Necrofamicon directory, then run these commands:

    >>>import PyMAME
    >>>PyMAME.PlayGame("pacman")
    

    Future plans

    Things likely to be implemented soon:
  • Instructions for all quests
  • A meta-game (finish quests to unlock the next group!)
  • Ability to 'practice' a quest (load its savefile)
  • Increased "granularity" in demo quests (gold/silver/bronze)
  • Better error reporting for quest definitions
  • Integration of more consoles. (Note: The emphasis is on grabbing a few consoles with first-rate games, not on covering every godforsaken machine in existence. Priorities are SNES, GBA, maybe PCEngine and Genesis)
  • Better support for ROM modifications/hacks, e.g. level editors
  • Quest-specific option overrides (e.g. disabling a button, enabling a cheat)
  • Linux or MacOS build (maybe)