I don't know if this is as good an idea as it sounds in my head, and I'm kinda afraid to dig into the source with only a half-baked plan (and so little experience with C-style macros), so I thought I'd bring it up here first.
My research on the Sega Megadrive tells me that the graphics engine provides a few nifty things for free (or as free as working in assembly comes):
- Two scrollable planes
- Sprite support
- the ability to assign z indexes arbitrarily
My idea relies on it being possible to detect those scrollable planes scrolling. I'm not sure if this is actually possible.
I am pretty confident that the built-in sprite support does not have a standard means of tracking the locations of sprites, so any attempt at tracking objects will be far more difficult.
Scroll-detection is not a perfect solution on its own. It wouldn't tell you the locations of enemies or obstacles or puzzle-pieces (this trick will be completely useless on games like Columns or Mortal Kombat), but it does provide two opportunities (just off the top of my head):
- in games with a lot of scrolling and jumping, scroll-detection would make it possible to guess whether or not the player is up against a wall, or if a jump succeeded, etc.
- Scroll detection is effectively camera-tracking, and camera-tracking means we can build audio maps of individual games. This would still require work for every game, but it'd be much easier than hacking complex machine code, so random people could make maps, rather than relying on one or two hackers.
I'd like object tracking and the ability to write custom scripts for individual games, but even without those, this sounds like it might make a few old games more playable.
Yes/no/maybe/other?
"If you want utopia but reality gives you Lovecraft, you don't give up, you carve your utopia out of the corpses of dead gods."
MaxAngor wrote:
George... Don't do that.