Author Topic: Spaze Invaders for TI-84+CSE  (Read 9605 times)

0 Members and 1 Guest are viewing this topic.

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Spaze Invaders for TI-84+CSE
« on: September 13, 2013, 09:18:15 am »
I've finally started work on my first 84+CSE project! Seeing as Spaze Invaders (by Hannes "Movax" Edfeldt) was the first TI calculator assembly game I ever saw 15 years ago, I figured it's only fitting that my first 84+CSE project should be to port the classic TI-83 game over and colourise it!

The current plan is to make as much use of Movax's original code as practical, but I'll obviously be re-writing all of the sprite & LCD routines, as well as adding colour to the sprites (and doubling them in size to suit the larger LCD). The sprites themselves will still have the same retro look. The LCD will be run in 160x240 mode to optimise speed and sprite data, seeing as the graphics won't be high resolution.

This image is simply a mock up at this stage, but I should have some on-calc progress to show in the next week or two!


Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Spaze Invaders for TI-84+CSE
« Reply #1 on: September 13, 2013, 10:12:46 am »
Isn't space invaders a classic Atari game? ^^


anyways, nice idea, hope you'll succeed! :D

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Re: Spaze Invaders for TI-84+CSE
« Reply #2 on: September 13, 2013, 11:58:20 am »
Win. There is also Calcuzap for the CSE by Patrick Davidson but this one seems very promising too :)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Spaze Invaders for TI-84+CSE
« Reply #3 on: September 14, 2013, 09:52:10 am »
Isn't space invaders a classic Atari game? ^^

anyways, nice idea, hope you'll succeed! :D
Correct :) Movax's TI-83 version was pretty much a clone of the old Atari 2600 / arcade game.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Spaze Invaders for TI-84+CSE
« Reply #4 on: September 14, 2013, 11:54:23 am »
By the way, will the game be full screen? (as in, take the entire screen height and 160 pixels area, unlike in the mockup above)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Spaze Invaders for TI-84+CSE
« Reply #5 on: September 14, 2013, 03:44:30 pm »
I've finally started work on my first 84+CSE project! Seeing as Spaze Invaders (by Hannes "Movax" Edfeldt) was the first TI calculator assembly game I ever saw 15 years ago, I figured it's only fitting that my first 84+CSE project should be to port the classic TI-83 game over and colourise it!

The current plan is to make as much use of Movax's original code as practical, but I'll obviously be re-writing all of the sprite & LCD routines, as well as adding colour to the sprites (and doubling them in size to suit the larger LCD). The sprites themselves will still have the same retro look. The LCD will be run in 160x240 mode to optimise speed and sprite data, seeing as the graphics won't be high resolution.

This image is simply a mock up at this stage, but I should have some on-calc progress to show in the next week or two!



Very nice James. I thought a Space Invaders game would be a perfect fit for this calc. I'm happy to see this old game getting some new life (and colour) breathed into it. :D

Offline AssemblyBandit

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 374
  • Rating: +60/-1
  • ~AssemblyBandit~
    • View Profile
    • briandm82.com
Re: Spaze Invaders for TI-84+CSE
« Reply #6 on: September 15, 2013, 12:06:17 am »
Looks nice! I haven't played that game in forever!


Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Spaze Invaders for TI-84+CSE
« Reply #7 on: September 15, 2013, 08:49:20 pm »
By the way, will the game be full screen? (as in, take the entire screen height and 160 pixels area, unlike in the mockup above)
At this stage, the gameplay field itself is 192x128 (exactly 2x the TI-83 version) to maintain even scaling for the sprites, then plus the score at the top and status bar at the bottom.

So far it's looking good on calc; the shields, player, status bars, etc. all the render, and the player can move from side to side. I'll work on shooting next, and then get started on the enemies :)

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Spaze Invaders for TI-84+CSE
« Reply #8 on: September 16, 2013, 01:25:33 am »
Interested in how you are handling drawing, are you buffering at all?
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Spaze Invaders for TI-84+CSE
« Reply #9 on: September 16, 2013, 03:02:00 am »
By the way, will the game be full screen? (as in, take the entire screen height and 160 pixels area, unlike in the mockup above)
At this stage, the gameplay field itself is 192x128 (exactly 2x the TI-83 version) to maintain even scaling for the sprites, then plus the score at the top and status bar at the bottom.

So far it's looking good on calc; the shields, player, status bars, etc. all the render, and the player can move from side to side. I'll work on shooting next, and then get started on the enemies :)
Have you thought about making it 3x then using 240x160 mode instead or would it be too slow? It would still fit on the screen, although the score text would look a little small in comparison to ships. You could maybe use the Atari 2600 text, though. It looks nice as it is now, though, but since the calc screen is small, I fear that a bunch of people will complain about how the game view is too small and that it hurts their eyes. Remember the many complaints about Gemini 3D and Wolfeinstein 83+ regarding that issue. D:

4x is out of the question, though, since it would require removing some ships and making them closer, which would alter the gameplay. Scaling them 2x horizontally and 3x vertically could be ok if you don't mind stretching things up a bit, although it would still leaves an empty space on each side.

Else, if you stick to the smaller view, you could maybe add a green border surrounding the game area instead of just the line below?
« Last Edit: September 16, 2013, 03:13:28 am by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Spaze Invaders for TI-84+CSE
« Reply #10 on: September 16, 2013, 06:32:31 pm »
Interested in how you are handling drawing, are you buffering at all?
No buffering at this stage. I'm only drawing sprites when required (ie. during initialisation and then only when they move after that). The sprites are drawn on the black background. If the sprite moves, the following steps are taken:
  • If the sprite moves right 1 pixel, erase the left-most column of the sprite. If it moves up 2 pixels, erase the bottom 2 rows of the sprite, etc.
  • Re-draw the sprite in it's new position.
Although it's a little more painful, this avoids the flickering that occurs when erasing the whole sprite before re-draw each time. I'm already anticipating what this means in future games that I may make that would have a background behind the sprites, ie. having to store the background before drawing the sprite, then erase a side of the sprite with the right row or column of background data, shift the background data, get the new row / column of background and then re-draw the sprite. Having said that, there are probably easier ways to do this that you've already discovered perhaps? :)

Have you thought about making it 3x then using 240x160 mode instead or would it be too slow? It would still fit on the screen, although the score text would look a little small in comparison to ships. You could maybe use the Atari 2600 text, though. It looks nice as it is now, though, but since the calc screen is small, I fear that a bunch of people will complain about how the game view is too small and that it hurts their eyes. Remember the many complaints about Gemini 3D and Wolfeinstein 83+ regarding that issue. D:

4x is out of the question, though, since it would require removing some ships and making them closer, which would alter the gameplay. Scaling them 2x horizontally and 3x vertically could be ok if you don't mind stretching things up a bit, although it would still leaves an empty space on each side.

Else, if you stick to the smaller view, you could maybe add a green border surrounding the game area instead of just the line below?
The first concept drawings and first couple of builds I made actually did have 3x sprites (24x24 for normal enemies), but it just looked a little clunky to me. I'm actually running in 160x240 resolution at the moment; if I were to go back to 3x scaled sprites, I'd need to return to standard 320x160 resolution, which would mean a lot more reading & writing going on with the lcd. It also means either having more sprite data, or writing a more complex (slower) sprite routine that automatically scales up 8x8 sprite data. I'm already using a 4-bit (16 colour) format for sprites to keep their size down. Mind you, as I'm typing this, I've just thought of another way where I could use a 2-bit format for sprites to slice their data in half again.

Anyhow, for the time being, I'm preferring the 2x scaled look, but it's not set in stone :)

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Spaze Invaders for TI-84+CSE
« Reply #11 on: September 16, 2013, 07:16:09 pm »
Will the enemies be more than 1 colour? If so then you could possibly even use 1-bit sprites if need be?
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline JamesV

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 276
  • Rating: +77/-0
    • View Profile
    • James V's TI-Calculator page
Re: Spaze Invaders for TI-84+CSE
« Reply #12 on: September 16, 2013, 07:25:59 pm »
All the sprites are 1 colour only, but some of them have transparency near their right edges, eg. the player laser beam is only 1 pixel wide (stretched to 2 pixels in 160x240 res), but the sprite data is (currently) stored as 2 pixels per byte, so the right pixel (least significant nibble) is transparent, so that it doesn't draw black over the edge of another sprite as it moves past.

Offline tr1p1ea

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 647
  • Rating: +110/-0
    • View Profile
Re: Spaze Invaders for TI-84+CSE
« Reply #13 on: September 16, 2013, 08:50:37 pm »
In xLIB i have my font data stored as 1-bit and simply have any bits that are 0 as transparent. But i do see what you mean with the above. It doesnt really matter how it works, as long as it works :).
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."


Offline XiiDraco

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 513
  • Rating: +32/-5
  • Forget the numbers, just call me, Recreation.
    • View Profile
    • Black-Lark Games
Re: Spaze Invaders for TI-84+CSE
« Reply #14 on: September 16, 2013, 09:02:11 pm »
I remember the last time I played space invaders, it was back at a retro convention. The place was so cool.