Jump to content
IGNORED

Mark Reid's Getaway! design documents and APX correspondence


Savetz

Recommended Posts

This git repo includes a patch to allow the hideout & safe to reside at any location. I have a note that it fixed a similar problem to this:

 

The fix is to remove the RTS at the end of the function STEAL (which steals the reset vector) and also write the reset address to DOSINI.

 

albeit in a different way, so I'm not exactly sure if it was targeting the same problem. Anyway, if you feel like cloning it, I'll pull your change into the repo, or you can just send me a diff and I'll include it.

  • Like 1
Link to comment
Share on other sites

To "protect" our little A8 machines, Reset should do a coldstart (and not restart the program), otherwise you have to power-off and back on again your little Atari (not good for almost 30-40 year old machines) when you want to run something else...

 

meaning, I do NOT like programs that are totally reset-proof on the A8...

 

(Also not sure, if the subtitle "Diamonds are forever" is copyrighted by the James Bond copyright holders Saltzman/Broccoli and/or Broccoli/Wilson and Danjaq and if you need a license to use that title.)

Edited by CharlieChaplin
  • Like 1
Link to comment
Share on other sites

As I think about that I remember wanting to have a two mode reset on the Atari... it was akin to this.

hit the reset key and it resets the game... hit help and reset or shift and reset and it cold starts the Atari...

Edited by _The Doctor__
  • Like 2
Link to comment
Share on other sites

Here is a wrap up of my latest changes:

  • Bugfix: The game with my modified source wouldn't run at all on Atari800Win, and probably most other platforms including real hardware.
  • Bugfix: The title screen demo would hang if the car hit a dead end (in case of a modified map).
  • Cleaned up the code a bit, removing many stray blank lines.
  • Added getaway_halfdone.plf . This is taken from one of Mark Reid's original disk images and appears to be a work in progress version of the map. It's included for historical interest.
  • Documented the available sound effects. Surprise surprise, there's an unused sound lurking in the data tables! It isn't actually very exciting but if you want to hear it, in the source code find the label HITDOL and two lines below it replace LDA #129 with LDA #97, and run over a dollar sign.

(Note that this release has nothing to do with the "ruined" versions from my previous comment. I wonder if anyone found them remotely amusing..)

 

This git repo includes a patch [..]

 

Hey playermissile, I'm sorry for being annoying and not cooperating with your efforts to do this properly. To be honest I've never worked with git, guess it's time to start. I will try and merge my fixes with your repo soon. I'll PM you if I need help. Thanks.

Getaway_20171205_itayc.zip

Edited by itaych
  • Like 4
Link to comment
Share on other sites

Hey playermissile, I'm sorry for being annoying and not cooperating with your efforts to do this properly. To be honest I've never worked with git, guess it's time to start. I will try and merge my fixes with your repo soon. I'll PM you if I need help. Thanks.

 

No worries. There may be some merge conflicts since I think there are a few places we've both made changes. Let me know if git makes trouble for you there.

Link to comment
Share on other sites

Ok, I've gone over the git version. I can see that a lot of work has been done to make life easier for map editors, but I feel this is at the expense of keeping the game as close as possible to the original.

First, when starting the game a search for the hideout location is performed. This makes sense (because the map may have the hideout at a custom location) but since the map is huge this takes a noticeably long time. Why does this have to be done at every game start? Do it once at initialization, store the location and be done with it. It's not like the hideout is going anywhere.

Second, the cop positions are now generated randomly at game start time, as opposed to the original where their start locations were fixed. This is perhaps required because the fixed locations may be inside a building in case of a custom map, but I don't like it. It changes the original game's feel and behavior which is a no-no in my book. Your book may differ of course, but I think the original hardcoded locations should be used, and if they end up on a non-road then search for a road nearby (I think you've already added a routine to do that). Since the hideout - and with it the initial player location - is not fixed, the cop/van positions can be hardcoded as a delta from the player's start position rather than a fixed coordinate.

About the reset steal code: your version steals reset only in some cases but not all (Altirra yes, Atari800win no).

 

In general it seems that the git version already contains my bug fixes, so there isn't much for me to contribute directly. I made a pull request with some minor cleanups and comments, but no functional change. If you want to fix the reset steal code please do it yourself (my solution is to also write the reset address to DOSINI and CASINI in addition to the existing DOSVEC. It works but I'm not sure it's the correct way to do it).

 

I don't plan to make further changes but if I do I will continue to post them here because I still like "my" version for its minimalism and closeness to the original. I will however also send update requests via git if they're relevant.

Link to comment
Share on other sites

Ok, I've gone over the git version. I can see that a lot of work has been done to make life easier for map editors, but I feel this is at the expense of keeping the game as close as possible to the original.

True, my version is designed for new maps, not only for fixing bugs.

 

First, when starting the game a search for the hideout location is performed. This makes sense (because the map may have the hideout at a custom location) but since the map is huge this takes a noticeably long time. Why does this have to be done at every game start? Do it once at initialization, store the location and be done with it. It's not like the hideout is going anywhere.

It might, if the map changes! :)

 

A goal of mine is to have multiple maps. Complete one city then move on to another city, etc. But, you're right, searching through 16k can be noticeable. Supporting multiple cities would probably require a file format with a header specifying the city name and the location of the hideout, and I'll probably have to compress the maps anyway (the lz4 compressor can get the 16k down to about 7k).

 

Second, the cop positions are now generated randomly at game start time, as opposed to the original where their start locations were fixed. This is perhaps required because the fixed locations may be inside a building in case of a custom map, but I don't like it. It changes the original game's feel and behavior which is a no-no in my book.

It does sound like our goals are different. I spent a lot of time making a map editor in Omnivore, with the idea of enhancing the original game. So, yes, I'm doing more than bug fixing.

 

I can see what you're saying, one might want to play a bug fixed version of the original game. I'll rename my version to Getaway II, and include an option to build the original (+ bug fixes) which will revert back to the hard-coding of the hideout and starting cop locations. All the custom map stuff will move to Getaway II.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...