Jump to content
IGNORED

How to create a laser like in Laser Blast or Missile Command


Recommended Posts

Using Stella's Fixed Debug Colors mode can help you figure out how things were drawn in a game. It uses preset colors to draw everything:

 

658464866_ScreenShot2022-02-11at9_22_17AM.png.9ef7cd2212f669fae7ad6d9b34d56c4e.png

 

You can toggle this mode pressing the <ALT> and <.> keys on Linux or windows, or the <COMMAND> and <.> keys on a Mac.

 

By using those colors we can see that player's ship is drawn using P0 (player 0) while the player's laser is drawn using M0 (missile 0)

 

88273770_LaserBlast(1981)(Activision)_dbg_e960a86b.thumb.png.271593c0a909d6085d38e6ae2b650d9a.png

 

and in this screenshot we can see the enemy are drawn using P1 (player 1) while their laser is drawn using M1 (missile 1)

 

716019883_LaserBlast(1981)(Activision)_dbg_e9603453.thumb.png.3cb1fb0c078da597f9d10b23336c5cca.png

 

So both are drawn using a 1 pixel wide missile.  The secret is the missiles' X positions are shifted on some scanlines.  This is accomplished by the HM (HMOVE, aka horizontal movement) on the left of almost every scanline.

 

1334850678_ScreenShot2022-02-11at9_30_37AM.thumb.png.6a0d28b079c88f8f32ee3982003e3529.png

 

This is a more advanced 2600 technique, I don't know if bB supports it.

 

Assembly would let you do that. You might find my tutorial useful in that regard, it covers the development of a 2K game.

  • Like 1
2 hours ago, SpiceWare said:

This is a more advanced 2600 technique, I don't know if bB supports it.

It this interesting! I had always been curious about HMOVE and assembly and making that kind of effect. 

Below are two related posts. We had hope in 2008, but that hope balloon was popped in 2010:

 

 atariage.com/forums/topic/122024-64k-bb-games/?tab=comments#comment-1483436

On 3/14/2008 at 4:35 PM, batari said:

I have what I'm calling "vectors" working in the standard kernel, but need to add compiler support for them. By "vector," I mean you are able to turn a missile into a line or an arc connecting two points, for example like the Pitfall vines. Or you can also use a missile as a "fake player" by varying the width, or you can shift a player object per line to make it look more interesting, like the cows in Stampede or the dolphin in Dolphin. The only drawback to this is the HMOVE "comb" at the left edge of the screen, but there seems to be no way around that.

 

atariage.com/forums/topic/169278-looking-for-a-post-by-batari-about-wriggling-sprites/?tab=comments#comment-2094491

On 9/14/2010 at 4:36 PM, batari said:

IIRC, I think I had trouble getting the "wiggling sprites" to fit properly with all of the assembly directives in the standard kernel, and doing something like a vine would have required a ton of data - i.e. a table for every possible frame, as opposed to Pitfall which calculated the vine within the kernel. I tried to implement a calculated vine like that but could not make it work. I'll look into it again someday.

 

  • Like 1

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