Collision Detection

From: lti@earthlink.net
Newsgroups: rec.games.video.classic
Subject: Re: atari 2600 action pack for windows
Date: 23 Mar 1995 07:07:39 GMT
Organization: LTI
Lines: 49
Message-ID: <3kr6nr$5hf@mars.earthlink.net>
References: <1995Mar22.211354.619@gems.vcu.edu>
NNTP-Posting-Host: lti.earthlink.net
X-Newsreader: AIR News 3.X (SPRY, Inc.)

>   hleaves@gems.vcu.edu writes:
>
>  >>- yeah, I saw that on a beta copy and assumed it would be fixed for final... 
>  >>it's a *pain*, it spoils some of the games as you just can't rely on a 
>  >>well-placed bullet taking out an enemy.  A fundamental flaw, and one that 
>  >>should *definitely* have been fixed.
>  > 
>  > This is more than a fundamental flaw; in my opinion this is a *fatal* flaw,
>  > and one which is serious enough to prevent this person from buying it.  I
>  > was looking forward to picking it up; now that I know this, I won't.
>  
>  This is a second person that _was_ going to buy the emulator, but not if it has
>  a game play bug! If activision releases a patch, I will buy it.
>  

Hi there - Sorry to butt in - I'm the author of Action Pack and
couldn't resist putting in my two cents: 

The collision detection "softness" is not a bug, but is actually an
adjustable parameter in each game's INI file, called "ActiveLineMask".
 Each game has an INI file associated with it, which is editable using
notepad or any text editor.

To get 100% accurate collision detection, set the parameter to 0; ie:

ActiveLineMask=0

This parameter controls the line interleave that the emulator uses
when checking collisions.  The reason for this parameter is that I was
concerned about always checking every line on all games on slow
systems (ie:  486/25) as collision checking it a definate cycle eater
and it isn't really necessary on every line in most games.  If you
have a reasonably fast system (486/66), you should be able to set this
parameter to 0, which causes the emulator to check collisions on every
line.

If you want to play with the parameter, here is how it works:

The value in ActiveLineMask must always be power's of 2 minus one, ie:
(1, 3, 7, 15, 31, etc).  If set to 31, then one line in 32 is checked
each field (the line checked is not the same line each field - it is
bumped within the 32-line range each field.  Large values will
increase both the execution speed and collision softness of most
games, depending on how large objects are, how often the game polls
the collision registers, etc.

Thanks for your comments!

Best Regards,

Mike Livesay
Livesay Technologies Inc.
lti@earthlink.net

Return to Atari 2600 Action Pack information.
lkseitz@hiwaay.net
Moved to HiWAAY: 1 Jul 1996; Last Modified: 1 Jul 1996