Jump to content

Recommended Posts

Hi guys, throwing this question out there for those who may have an idea how Rob Fulop wrote an algorithm for Missile Command. Specifically the players missile trajectory. When you set the target location the missile makes a smooth beeline from homebase straight to the target. I am working on a game inspired from the original, it's not bad but may look better if like the original.

 

So obviously the with the original written in assembler i assume the concept of the algorithm wouldn't differ too much in translation to bB? Does anyone know how he did it? Fixed point variables or something of that nature or is it a quite complex process? Any help would be much appreciated 👍

Share this post


Link to post
Share on other sites

Hi there,

 

1 hour ago, TwentySixHundred said:

Hi guys, throwing this question out there for those who may have an idea how Rob Fulop wrote an algorithm for Missile Command. Specifically the players missile trajectory. When you set the target location the missile makes a smooth beeline from homebase straight to the target. I am working on a game inspired from the original, it's not bad but may look better if like the original.

 

So obviously the with the original written in assembler i assume the concept of the algorithm wouldn't differ too much in translation to bB? Does anyone know how he did it? Fixed point variables or something of that nature or is it a quite complex process? Any help would be much appreciated

I've been reverse-engineering Missile Command off and on. It's one of the many on my to do list.

 

Rob does a similar technique of a linear question found in Activision's Laser Blast, Fishing Derby, and Pitfall!

 

Look at my reverse-engineering of Laser Blast. It may help.

 

Start looking at label .determineAttackerLaserDirection. This is where David Crane determines the direction of the attacker laser and the slope. Then in the kernel at .drawLeadShipKernel he uses the tankLaserSlopeFractionValue to increment tankLaserSlopeIntegerValue. When a carry is determined (i.e. time to increment the integer value) he sets the HMM1 register to fine adjust the tanks laser.

Edited by DEBRO
  • Like 3

Share this post


Link to post
Share on other sites
8 hours ago, DEBRO said:

Hi there,

 

I've been reverse-engineering Missile Command off and on. It's one of the many on my to do list.

 

Rob does a similar technique of a linear question found in Activision's Laser Blast, Fishing Derby, and Pitfall!

 

Look at my reverse-engineering of Laser Blast. It may help.

 

Start looking at label .determineAttackerLaserDirection. This is where David Crane determines the direction of the attacker laser and the slope. Then in the kernel at .drawLeadShipKernel he uses the tankLaserSlopeFractionValue to increment tankLaserSlopeIntegerValue. When a carry is determined (i.e. time to increment the integer value) he sets the HMM1 register to fine adjust the tanks laser.

Thanks @DEBRO i have downloaded your reversed-engineered Laser Blast and will have a good look through. Thanks for pointing out the key labels and variables to point me in the right direction. 👍

Share this post


Link to post
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.

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...