Jump to content
IGNORED

Rotated JS99er "Space Invaders"


Recommended Posts

First off, here's the URL for a rotated JS99er - thankyou Rasmus for this.

https://rotated.js99er.net/#/

 

Now then .... software for it.  As we know, old arcade machines had a rotated CRT telly in them so making those games is awkward on a normal screen

Here's the first bit of software I've just made, doesn't do much but it fires and player moves ....

INVADERS

 

You'll probably benefit from selecting F18A in the options as it still does affect sprites on way,

 

Here's a video of it in action..... I notice the video itself is NOT rotated but still you get the picture ....

 

 

We could really have some fun with this.  I'm even thinking of developing my "HunchBack" update for this rotated screen! :) 

 

Edited by Retrospect
  • Like 7
  • Haha 2
Link to comment
Share on other sites

Interesting idea for overcoming the sprite limit. 

 

So much more would be possible, for a "horizontal" TI-99 shooter, which just achieves that horizontality via rotation. 

 

"Into the screen" shooters (Buck Rogers, Moonsweeper) are another genre which could benefit from this.  Since, despite being more or less "vertical", due to a vertically compressed playfield, their design tends to inherently result in a lot of enemies accumulating on or around the same scanlines.  And rotation would greatly mitigate this. 

  • Like 3
Link to comment
Share on other sites

This code has a rather crafty way of detecting collisions.

 

First ensure the player missile is clear of the player base when it is introduced and set to automotion.

The code has a loop that checks for collisions that is simply CALL COINC(ALL,H) 

If a detection is apparent, THEN it goes into a loop from 1 to 21 to check which invader the player missile has struck, (The player missile is briefly stopped in motion for this quick check)

This way, it never misses a collision detection.  This is much faster than checking all 21 aliens in a loop each update.

 

I'm not as green as I am cabbage looking.  

  • Like 1
Link to comment
Share on other sites

Just for the sake of completeness - I did not know about that option until now: You can also rotate MAME's output with the option "-ror" (rotate 90° right) or "-rol" (rotate 90° left).

 

mame ti99_4a -ror

 

  • Like 3
Link to comment
Share on other sites

9 hours ago, pixelpedant said:

Interesting idea for overcoming the sprite limit. 

 

So much more would be possible, for a "horizontal" TI-99 shooter, which just achieves that horizontality via rotation. 

 

"Into the screen" shooters (Buck Rogers, Moonsweeper) are another genre which could benefit from this.  Since, despite being more or less "vertical", due to a vertically compressed playfield, their design tends to inherently result in a lot of enemies accumulating on or around the same scanlines.  And rotation would greatly mitigate this. 

I suspect that Slymoids would benefit greatly from this approach as well. It might even be of some value with Tunnels of Doom. . .

  • Like 1
Link to comment
Share on other sites

We have to take into account that although the sprite limit is gotten around one way, it's still apparent the other way.

This space invaders game wouldn't work without F-18A for example, because the player base , player missile and two rows of invaders are the limit - there's three rows of invaders.

However, we could use character graphics for the invaders - it's still the correct screen aspect for the original invaders game. 

 

Other games such as Hunchback , I'd have to write it to find out, will probably benefit greatly too.  

Link to comment
Share on other sites

INV4-X << game

 

Now we have the invaders firing at the player base, and the player able to be "destroyed" ... but there's no lives as such it just keeps going.

I have had to re-think my sprite coincidence routine, whilst it was fine for just the player shooting the invaders, it didn't quite work out that well when the invaders fired at the player, and the CALL COINC(ALL) routine picked up the invader missile over another invader!  So I've had to introduce a loop from 1 to 21 for the player missile vs the invaders, which as you can see slows the execution down horribly.  I'll think of something else in a while.  I'm coding side-ways so it's not easy :P

 

 

 

Link to comment
Share on other sites

8 hours ago, Duewester said:

I guess I'm just wondering why it took 40+ years.

Well, true.  Then again, in the 1980's people probably didn't want to turn their TV's around sideways.  

This is not practical for people with real TI-99's ... it's just I wanted to try to re-create more accurately the older arcade games and was getting frustrated that we had, in comparison, a squashed screen.  So it might be that it is something that stays within emulation only.  

Link to comment
Share on other sites

38 minutes ago, sometimes99er said:

If I deselect the F18A option, then the missile often disappears. 3 invaders + player + missile = 5 sprites. 😉
 

That's right.  So F18a in the case of space invaders is still needed, but at least we get the right screen ;)

Link to comment
Share on other sites

INV5-X << game

 

Let's have some twinkly moving stars .... and now when you kill all invaders, they will re-appear after a short delay.

Also - I've made some delay routines that vary, so that when you shoot the game doesn't slow down ... Well it does, it's just that when you're not shooting the delays take this into account.

 

Fun fact .... the stars are actually scrolling to the right

 

 

Edited by Retrospect
  • Like 2
Link to comment
Share on other sites

22 minutes ago, JB said:

Never thought I'd see the 99/4a running a game(?) in "tate" mode. Every day we further surpass the limitations of our hardware and our common sense.

Aye.  If someone could create an arcade game that used this aspect, then it could be shown at a future TI convention with the TV on it's side, that would be quite unique

Link to comment
Share on other sites

4 hours ago, Retrospect said:

INV5-X << game

 

Let's have some twinkly moving stars .... and now when you kill all invaders, they will re-appear after a short delay.

Also - I've made some delay routines that vary, so that when you shoot the game doesn't slow down ... Well it does, it's just that when you're not shooting the delays take this into account.

 

Fun fact .... the stars are actually scrolling to the right

 

 

 

Impressive rate of progress!  Took me most of a day to get my player sprite reacting to joystick input using my nascent assembly skills. :)

 

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...