Jump to content
IGNORED

Homebrew INV, new version


ErikM

Recommended Posts

The shot timing is intentional.  If you load up the arcade Space Invaders in MAME, you'll see that it behaves that way too.

 

Actually, being admittedly obsessed with the game since the 70's, I've probably played literally thousands of games of Space Invaders in my lifetime starting on original Taito machines. I've played it on and off in Mame too. The shot timing is definitely occasionally spotty in INV :P

 

In Space Invaders.. once a shot is GONE (either off the screen or having killed an Invader) then you should be able to immediately fire off another. But with INV, it sometimes can take literally 1-3 button presses to get another shot. Basically, it seems that there is sometimes (and sometimes not strangely enough) a microsecond delay or so after a shot dissapears off the screen before you can shoot off another one. It does kind of take away that pinpoint rythym you usually can get on space Invader games. Because really.. you should be able to shoot IMMEDIATELY.

 

it should be <shoot> POW <shoot> POW <shoot> POW

and not <shoot> POW <shoot> POW <click><click><shoot> POW :D

 

But again, I'm just nitpicking. It's AWESOME otherswise :) ..The only thing it does is it kind of makes it tricky to do the old duck and dodge method.. I'd duck in, press the button and while I'm moving out realize no shot had come out! :P) It also makes it somewhat of a chore to hit invaders on the upper levels (without hitting the bottom one) to simulate a rainbow trick type of move since doing that you need to move with the final column of invaders and split second shot timing is key :P

 

But yeah, if that's something that can be addressed then definitely don't release it yet. But if not oh well. It's still the best Invaders variant on the 2600 :)

Link to comment
Share on other sites

ok after typing that I realized two things.. 1) I hadn't tried out the latest version you put up and 2) I didn't get to try what bjk7382 mentioned and play the game on easy so you could just hold the shot button down :P

 

So I broke out the cuttle cart and gave it a shot, and sure enough it worked. It also cleared up on what exactly I was perceiving as "shot lag".

 

Basically, once you got autofire on and are shooting invaders, it's pretty plain to see that you can't shoot another shot not when your shot dissapears, but rather, only after the invader's explosion goes off the screen!. :) There might be a millisecond afterwards until your next shot comes out but that's negligible.

 

So THAT'S what was throwing me off upon my first testing. I guess it's more noticeable when you're shooting a column close to earth. Because generally in the arcade version you should be able to shoot the two bottom invaders lickety split. So that half second of explosion-animation-delay on INV kind of shines through then.

 

That being said.. it looks like it's just a part of this game (I'd imagine it wouldn't be something very alterable?..barring shortening the explosions?). I got no complaints. It obviously rocks and rocks hard. I was amazed long ago coming upon the Demo on the Dig that there were that many moving invaders, and I'm doubly blown away now by it especially with the extras such as shot counting, and point value of the ufo's being shown amongst others. If this gets sold in cart form, count me in 8)

Link to comment
Share on other sites

NE146, I saw your first post last night but didn't have time to reply then. Glad you got a chance to test it more. :)

 

Your observation is right - you can't fire again until after the invader finishes exploding. This is intentional, of course - the player's missile graphic is also used to animate the explosion. There is also a delay even after that, that could be shortened, but I like it as-is. I'm no longtime veteran of the arcade SI, but I played it a fair bit in MAME while working on INV, and that delay is present in the arcade SI as well (or at least on my MAME.)

 

I'm doubly blown away now by it especially with the extras such as shot counting, and point value of the ufo's being shown amongst others.

 

Well, those are supposed to be basic parts of the game, not really "extras", I just never got around to coding them before. :) The real "extras" over arcade SI are two-player simultaneous play and the invisible-invaders mode.

 

If this gets sold in cart form, count me in.

 

Al covered that one. :)

Link to comment
Share on other sites

I'm doubly blown away now by it especially with the extras such as shot counting, and point value of the ufo's being shown amongst others.

 

Well, those are supposed to be basic parts of the game, not really "extras", I just never got around to coding them before. :)

 

Well considering it's the 2600 and what we've been presented with before. I guess I've been of the mindset that anything more than what we've had before, is "extra". :lol: Of course back in the late 70's.. it was the first thing I looked for in any Space Invaders home port (or even handheld.. did you know Entex Space Invader has counting too btw?) But, of course after many that didn't live up to the original, I just kind of accepted that I'd never see any of those features on any console port of SI. Or at least consoles that we now deem 'classic' :P Awesome work :)

 

p.s. I kind of debate the ability to shoot until the explosion is complete in arcade space invaders.. but my memory might be fading. I'll check it out later ;)

Link to comment
Share on other sites

  • 15 years later...

We'll be checking out INV+ on tomorrow's (Wed Jun 3) ZeroPage Homebrew stream LIVE on Twitch at 6PM PT | 9PM ET | 1AM GMT! Hope everyone can watch!


Games:

 

2114693364_20200603-LetsPlay.thumb.jpg.16b6c49de8937746ed714470b0ef9702.jpg

Link to comment
Share on other sites

@ZeroPage Homebrew I didn't know about INV3 before. Thanks for posting!

 

Actually that looks pretty much like my own attempts of displaying 11 invaders (left difficulty = A randomly switches invaders on and off, right difficulty = A is for debugging, I started this before Stella had debug colors). But in my demo, the invaders are moving and are equally spaced. :) 

 

I also had a version with shields, but setting up the shields required a lot of kernel lines (or more RAM), which required a too big vertical gap between shields and invaders. So I eventually abandoned the project.

TomInv (no shields).bin

  • Like 3
Link to comment
Share on other sites

Regarding the shields (since James mentioned them in the show), I wanted them as large as in the arcade instead of having four tiny ones. These large shield either require a lot of RAM (which is already used by the self-modifying invaders kernel) or a lot of CPU time (the red area in the attached screenshot) when you try to (un)compress the shield damage from/into less RAM. So you have to disable the shields way before the invaders get down to them. No good!

 

With extra RAM this problem could be fixed easily, but my goal was to stay withing the limits of the original 4K Space Invaders game.

 

Maybe eventually I should my mind and come back to this using extra RAM? :ponder:

 

Tominv5_2.png

Edited by Thomas Jentzsch
  • Like 3
Link to comment
Share on other sites

9 hours ago, Thomas Jentzsch said:

Regarding the shields (since James mentioned them in the show), I wanted them as large as in the arcade instead of having four tiny ones. These large shield either require a lot of RAM (which is already used by the self-modifying invaders kernel) or a lot of CPU time (the red area in the attached screenshot) when you try to (un)compress the shield damage from/into less RAM. So you have to disable the shields way before the invaders get down to them. No good!

 

With extra RAM this problem could be fixed easily, but my goal was to stay withing the limits of the original 4K Space Invaders game.

 

Maybe eventually I should my mind and come back to this using extra RAM? :ponder:

 

If the decision is between having a game with extra RAM and maybe not being able to ever finish the game, I would choose to go with a bankswitching scheme that supports more RAM, especially if you're going for something as close to the arcade as you can.

 

Looking up the Space Invaders arcade version from the page below, it used 176 bytes for the shield information. It seems it would take a wizard to crunch that down to the 128 bytes that the 2600 has, that's not even taking into account all the other things to keep track of in the game. Even using only three large shields and keeping less damage data, that still a lot of memory for the shields.

 

https://computerarcheology.com/Arcade/SpaceInvaders/RAMUse.html

"2142:21F1         Player 1 shields remembered between rounds 44 bytes * 4 shields ($B0 bytes)"

Link to comment
Share on other sites

6 minutes ago, ZeroPage Homebrew said:

Looking up the Space Invaders arcade version from the page below, it used 176 bytes for the shield information. It seems it would take a wizard to crunch that down to the 128 bytes that the 2600 has, that's not even taking into account all the other things to keep track of in the game. Even using only three large shields and keeping less damage data, that still a lot of memory for the shields.

I reduced the shields to 3 and compressed the damage into predefined, overlapping pattern. That reduced the memory to 12 bytes. 

  • Like 2
Link to comment
Share on other sites

11 hours ago, Thomas Jentzsch said:

Maybe eventually I should my mind and come back to this using extra RAM? :ponder:

 

I totally understand the desire to see what you can do within certain constraints (especially 2K or 4K ROM-only). I love INV+, and Atari’s own version is one of their better ports. But I doubt anybody will say no, you shouldn’t make a near-arcade-perfect 2600 port of Space Invaders if it takes 128 or 256 bytes of extra RAM.

Link to comment
Share on other sites

I know. And now that I know that I can do 11 invaders, I know that I could do a very faithful version of Space Invaders. 

 

But I like working within constraints. One constraint is the 2600 itself, and the other ones are ROM and RAM used. Also, when you remove the limit, the games tend to become larger and larger, with more and more bells and whistles. Which is fine and I have done that in the past. But IMO Space Invaders is a pretty simple game, which would be more fun developing when done within very little memory.

 

Maybe I could try a 4K + SC RAM version. 

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