Gateway to Apshai - expansion possibilities?

Talk about everything related to general reverse engineering of computer games!

Moderator: Kroah

Gateway to Apshai - expansion possibilities?

Postby xot » 04 Oct 2006, 01:52

How feasable would it be to expand Gateway to Apshai?

The game seems to be completely table driven, and all of the dungeons are procedurally generated. Obviously, it only takes a few tweaks to make new monsters and replace seeds for new dungeons.

But what I'm wondering is, is it possible to actually add to what is already there using some table swapping tricks to replace the monsters and dungeon seeds in-game.

Consider that there are 256 possible seeds * 8 levels, that's 2048 dungeons. Even if only half are playable (although I think the generator success rate is actually much higher), that's still 8 times as many dungeons as are in the cart, with only 1KB of data. Well, I guess 1KB is actually a lot when you only have 16KB of total space to work with.

Kroah, you've obviously figured out how to detect when the dungeon generator algorithm can't create a valid dungeon. Is it possible to add that detection to the existing game, turning Gateway to Apshai into a random dungeon Rogue-like experience.

How feasable would it be to add a special "treasure" that works like the stairs in Rogue, allowing the player to go up OR down a level?

How feasable would it be to add more real treasures, including a super-treasure like Rogue's Amulet of Yendor (the game winning treasure).

Is there any spare room on the 16K cartridge?
I suppose if the game is converted from a cartridge to an executable file, the sky's the limit.
xot
 
Posts: 51
Joined: 11 Feb 2006, 00:04

Postby Kroah » 06 Oct 2006, 01:21

xot wrote:The game seems to be completely table driven, and all of the dungeons are procedurally generated. Obviously, it only takes a few tweaks to make new monsters and replace seeds for new dungeons.

I completely agree. As long as it's not game mechanics, datas can be easily tweaked.

xot wrote:But what I'm wondering is, is it possible to actually add to what is already there using some table swapping tricks to replace the monsters and dungeon seeds in-game.


There's some free space on the cartridge (which coud be expanded) and in the atari memory too (on a 64k machine). So i think, yes, it's possible to add some codes for data swapping or other game mechanics (as hooks). I hack a lot to understand the code but i've never modified the cartridge itself. Don't know if it's easy to do without compiling, by just adding code directly in the raw binary. I think there are some checksums on it ? (I'm not an expert for this).
xot wrote:Kroah, you've obviously figured out how to detect when the dungeon generator algorithm can't create a valid dungeon. Is it possible to add that detection to the existing game, turning Gateway to Apshai into a random dungeon Rogue-like experience.

Hum, not exactly. I detect the never-ending loop by counting the number of retry for adding a room. If it exceeds a defined number (bigger than the average), it's a bad seed. I don't see how it could be done "fast" on the atari without trying the seed, but one could use the same method i do on the utility, not really hard to do (i know where the loop begins). Or we could store all the good (or bad) seeds, not to much as you said.

I've already thought about that because i wanted to have a version where the dungeons are always random like in Rogue. But i haven't gone further. Indeed, i like the idea.


xot wrote:How feasable would it be to add a special "treasure" that works like the stairs in Rogue, allowing the player to go up OR down a level?

How feasable would it be to add more real treasures, including a super-treasure like Rogue's Amulet of Yendor (the game winning treasure).


Knowing the code, it's not that hard... but (for me) the real problem is to add the code to the binary without compiling the source (directly in the binary). It must takes some times to add manually each byte to it. Or one could disassemble the binary, to be able to compile it with a cross assembler. I'm missing something ?

xot wrote:Is there any spare room on the 16K cartridge?
I suppose if the game is converted from a cartridge to an executable file, the sky's the limit.


Yes, but i really don't know the format of them, nor the process to do it. Some people on AtariAge have already converted some games to other format/cartridge, they could help for this.

Greetings,
Pascal
Kroah
Site Admin
 
Posts: 412
Joined: 07 Feb 2006, 01:01
Location: France


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 2 guests