Jump to content
IGNORED

I got bored.


Recommended Posts

Idle hands are the Devil's workshop, or so they say. So I decided to try my hand at importing the arcade classic Tempest to INTV. I figured with the controller disc, it would be a good fit.

Right now shooting is with any button and you can move left or right. The ship is an arrow because I suck at drawing. There are only 3 arrows in the code, but I (finally) managed to make it look like 8. The only problem is the background takes up 57(wow!) bitmaps. It sure doesn't look like that many, but oh well.

 

tempest1.gif

tempest1.zip

  • Like 10
Link to comment
Share on other sites

6 hours ago, cmadruga said:

I wonder if those new statements in Intybasic 1.4.1... BITMAP INVERSE, BITMAP MIRROR_X... could those be used to reduce the number of bitmaps needed in this case?

From what I understand, those are only shorthands for not having to redraw your bitmaps. It means you use BITMAP INVERSE to tell the compiler that from now on, 1's means blank pixels and 0's means set pixels. Then you use BITMAP NORMAL to revert it. Same about MIRROR_X, instead of plotting your bitmap again you can give that directive and copy paste a graphic so it gets defined as mirrored. It is not like you save GRAM locations in any way, just reduce your work on the code.

 

I'm not sure how many of the GROM symbols in Color Stack mode actually would be useful here. Working with 45 degree angles obviously saves some definitions, but won't look as good.

  • Thanks 1
Link to comment
Share on other sites

For fun, I made a slightly smaller graphic (64x64 pixels). It isn't as pretty as yours, but only uses 22 cards of which some might indeed exist in the GROM if you would want to switch to CS mode. You might want to make something inbetween that uses a few more cards for better graphics.

 

shot0000.gif.f503ba29d264c9014d5860b66a366df3.gif

 

tempest-64x64.bas

tempest-64x64.bin

Link to comment
Share on other sites

Switched to carlsson's graphic because it's way less smaller in size than what I had while at the same time looking almost exactly the same as what I had all along. I love it! I'll visit the 2600 Tempest site on atariprotos to see what kind of enemies I can make. Thanks, carlsson!

As for a title, how about "Ultrapest"?

tempest3.zip

  • Like 1
Link to comment
Share on other sites

Worked on this a little more today. I added an enemy in. I call it a "popper" because if it gets to the top, a popping noise will happen and you'll lose a life. I am also planning (but not in the game yet) to make another type of enemy called a "zapper" because it shoots at you. But it will be a different shape. As for a name, I like "Tumult". It just sounds weird.

 

tempest4.zip

  • Like 3
Link to comment
Share on other sites

Do look at GROM_CHA.txt and consider borrowing the characters in there to reduce the number of GRAM cards you're using to draw the vectors.  About half of the available characters are just line-drawing and partially-filled boxes.  If you don't have the file, I'll post it here. 

Link to comment
Share on other sites

This is looking promising!  Something that can help with reducing the number of conditional statements, as well as more easily allow for different level shapes would be to use DATA statements to contain shipx, shipy, #shipshape, #xflip, and #yflip.

 

At the end of the program, you'd want to store all these values into something like:

 

ship_position_lookup_table:
data 084,16,SPR58,0000,$800
data 108,28,SPR59,$C00,0000
data 120,53,SPR60,$400,0000
data 108,76,SPR59,$400,0000
data 084,88,SPR58,0000,0000
data 059,76,SPR59,0000,0000
data 048,52,SPR60,0000,$800
data 059,28,SPR59,0000,$800

 

And then replace all the if statements with something like:

i = (dir * 5) - 5
shipx = ship_position_lookup_table(i)
shipy = ship_position_lookup_table(i + 1)
#shipshape = ship_position_lookup_table(i + 2)
#xflip = ship_position_lookup_table(i + 3)
#yflip = ship_position_lookup_table(i + 4)

 

If you were to design additional levels of different shapes, it would be easy to add onto the table, and use an offset for each level to skip further into the table that would be added into the value of the variable named i.

 

Edited by skywaffle
Link to comment
Share on other sites

By the way, I realized by adding 4 GRAM characters it will allow you to extend the web to 9x9, 10x10, 11x11 or 12x12. At least up to 10x10 it looks decent.

 

tempest-64x64.bas

 

By the way, I looked into the actual GROM contents and I don't buy into the hype that you can make so much graphics out of it. In this case it contains the straight lines and slanted horizontal lines but not the vertical lines and no 45 degree diagonals, so at best I can only imagine you would save 8 GRAM by switching over to CS mode, with the peculiarities that mode has over FGBG mode.

 

Edited by carlsson
Link to comment
Share on other sites

  • 1 month later...

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