Jump to content
IGNORED

The mystery of Monkey Moon ;)


Recommended Posts

Got the book already, super-fast, like I mentioned in that adjacent thread, and have really enjoyed reading it. Thanks again Oscar. :)

 

And you don't need to rush with those uploads since your book does indeed recommend we type everything anyway.

  • Like 1
Link to comment
Share on other sites

Finally the mini-site for downloading the book programs is now available. People with the book knows the address ;)

 

Also made available the book as a PDF ebook from my store http://nanochess.org/store.html.

 

Doubled down and bought the digital version as well as the physical. Thank you for providing listings for the examples. My PDF readers don't always copy-and-paste code properly :(

  • Like 1
Link to comment
Share on other sites

Doubled down and bought the digital version as well as the physical. Thank you for providing listings for the examples. My PDF readers don't always copy-and-paste code properly :(

Thanks! And yes, it was needed because always someone can mis-read the typing instructions. :)

  • Like 1
Link to comment
Share on other sites

Now available in Amazon. :grin:

 

Paperback: https://www.amazon.com/dp/1387929089/ref=sr_1_1?ie=UTF8&qid=1533765348&sr=8-1&keywords=programming+games+for+intellivision

Hardcover: https://www.amazon.com/dp/1387961446/ref=sr_1_2?ie=UTF8&qid=1533765348&sr=8-2&keywords=programming+games+for+intellivision

 

And by the way, who is in the acknowledgments? and yes, there's a Rev mention somewhere in the book ;) kudos if you find it.

 

post-30245-0-79442300-1533765999_thumb.jpg

 

Edit: removed the ultrasecret link :P to the example games.

  • Like 4
Link to comment
Share on other sites

Interesting read and seems that it could help new people. I did find some typos, and some errors when the prose references the code (e.g., an instance where it mentions "player_x" when talking about moving vertically, etc.). :dunce:

 

I'll send those to you later so that you can revise the text for a future edition.

 

Great job! (But fire your editor! :grin:) :thumbsup:

 

dZ.

  • Like 1
Link to comment
Share on other sites

Thanks!

 

It's good enough if people understands it. There are no books without typos.

Well, that's not quite true, but yeah it's fine and not really the point of the comment.

 

I like the small games that you chose to illustrate -- they offer a cross-section of common features and techniques that Intellivision games may use. I wish there was a book like this when I was starting up back in the 1980s (on the C=64). :)

 

dZ.

  • Like 1
Link to comment
Share on other sites

Well, that's not quite true, but yeah it's fine and not really the point of the comment.

 

I like the small games that you chose to illustrate -- they offer a cross-section of common features and techniques that Intellivision games may use. I wish there was a book like this when I was starting up back in the 1980s (on the C=64). :)

 

dZ.

 

Talking about it, I remember several C64 game books and also several games in Compute! magazines but none included explanation of the games inner workings, because most of times included assembler code to accelerate the game, or the game was pure assembler provided as DATA statements.

Link to comment
Share on other sites

A question on collision detection (COL) command. The command goes:

 

If COL0 and $007e then ...

 

OK, what I don't understand is the "$007e" portion. How is that calculated? In the Monkey Moon example (page 58/59) this is supposed to represent Sprites 1 - 6 hitting our hero ... so can someone explain the "$007e"? What if, in this situation, you only wanted this detection if Sprite #4 collided with COL0 or Sprite 2 and 4, etc. Thanks in advance!

Edited by Fushek
Link to comment
Share on other sites

A question on collision detection (COL) command. The command goes:

 

If COL0 and $007e then ...

 

OK, what I don't understand is the "$007e" portion. How is that calculated? In the Monkey Moon example (page 58/59) this is supposed to represent Sprites 1 - 6 hitting our hero ... so can someone explain the "$007e"? What if, in this situation, you only wanted this detection if Sprite #4 collided with COL0 or Sprite 2 and 4, etc. Thanks in advance!

The "COLx" directives are actually internal variables returning the raw value of the STIC's collision register for a sprite (0 to 7).

 

The values represent a 8-bit "bit field" in which each bit says whether the sprite collided with an object or not: 0 means no, 1 means a collision.

 

In the Monkey Moon example, $007e is the same as the binary value %01111110. That represents a collision with objects 1, 2, 3, 4, 5, and 6 (counting bits from the right side). Notice that the first bit on the right (for sprite 0) is not "on," and neither is the last one on the left (for sprite 7).

 

The "AND" operator "masks" the value returned by the COL0 variable using $7E as the mask. The result is for it to return "true" if any of the masked bits (representing collisions with sprites 1 to 6) are "on," "false" otherwise.

 

(In case it is not obvious, "AND" is a "bitwise" operation which compares each bit on either side and turns them into a "1" if both are "1," or "0" otherwise. Thus, %1111 AND %0001 = %0001.)

 

If you wanted to check a collision between sprite #4 and sprite #0, you can try either:

 

(COL4 and $01) ' %00000001

 

Or

 

(COL0 and $10) ' %00010000

 

Does this make sense?

 

dZ.

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