Tempest is possible

Use this forum to share and discuss Uzebox games and demos.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Tempest is possible

Post by Jubatian »

Glad it works in the end! Also of course it is pretty much a thing that this is the first time I could play it myself on real HW, only having a single 8Gb SDHC which is sufficiently fast to do this!
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

Warning to everyone.

Now that a few people are playing T2K a bit more a nasty bug has been confirmed.

The count of remaining enemies on the level get corrupted and you get stuck at the end of a level unable to complete it.

I am working on hunting down this bug and a few others at the moment.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

So I am doing a bit of an update/refresh to Tornado 2000.

Now that Jubatians SD routines are in the bootloader and have CRC checking I can move some other data out of flash onto SD card and get some extra space back. The main movie and title screen stuff still has to run without CRC checking for speed. And for them CRC checking is not needed. If there is some bit corruption the screen just has some corruption. But other data is more important and could not tolerate errors.

While I am here I am going to try fix up any bugs I can find and add features that people have asked for in the past.

Here is my ToDo: list

Bugs/Critical things
  • Enemy count gets corrupt and level will not end http://uzebox.org/forums/viewtopic.php? ... 440#p15318 FIXED
  • PCM channel has gotten very quiet at some point http://uzebox.org/forums/viewtopic.php? ... 530#p16783
  • Some times speed moderation fails (wait VSync does not keep the game at steady slow speed) FIXED
  • Drawing random green lines on the screen when super zapper active and spikes exist FIXED
  • Can not catch powerups while zooming FIXED
  • Powerups and enemies should not wrap past zero FIXED
  • Distance to enemy (or spikes) distorted while zooming (apparent when "outta here" happens) FIXED
  • Random graphical glitches on screen IDENTIFIED
  • Flippers will flip onto lane 16 on open webs (and float in space) FIXED
  • Ai Droid will jump open lane when first created if no enemies to chase FIXED
  • Demon heads are still fatal even when even when superzapped Think it's fixed not 100% sure
Things that are missing that are pretty important
  • Proper behavior on some of the higher level enemies (Demon Head, Mutant Flipper and Pulsar) [est. 50 bytes per behavior]
Things that would be nice to have
  • Selectable start level http://uzebox.org/forums/viewtopic.php? ... 380#p15111 [est. 200 bytes]
  • Increase powerup dwell time based on Z [est. 64 bytes]
  • Avoid spikes delay when an "outta here" is collected DONE 74 bytes
  • Gradient on the 2000 on the title screen http://uzebox.org/forums/viewtopic.php? ... 450#p15505 [est. 200 bytes]
  • More vibrant "game over" screen with more colour and maybe its own animated background [est. 16 bytes]
  • More vector text "Caught You" "Avoid Spikes" "Eat Electric Death" [many hundreds of bytes each]
  • a "Meet the Enemies" screen in attract mode shows the enemies and some brief text [est. 50 bytes]
  • Extra audio channels so music and SFX can play at same time
  • User defined volume for SFX and Music
  • AI Driod as player two (new object type #define OBJ_Player2_droid 2) http://uzebox.org/forums/viewtopic.php? ... &start=420 [est. 100 bytes]
Thing I probably can't do
  • ADPCM audio compression to fit extra samples
  • Bonus Levels
  • Extra songs
Have I missed anything anyone would like to see added? Obviously bug fixes are most important.
Last edited by CunningFellow on Sun Jul 05, 2020 5:29 am, edited 6 times in total.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Tempest is possible

Post by Jubatian »

That's pretty reasonable what you mention about CRC and speed! Your game is a different use case than what the Bootloader API targets: it is streaming of raw data where an occasional hiccup does nothing ill. You can still use the Bootloader API of course to save space by not having the SDHC / FAT filesystem specifics implemented in your code, using the Bootloader API to initiialize the card and grab the start locations. Note that the SD structure has the SDHC flag ( https://github.com/Uzebox/uzebox/blob/m ... tlib.h#L31 ), so if you are implementing your own fast streaming direct access routines, you can use it for determining which way to calculate addresses for the SPI requests.

But guess you already figured these out ;)
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tempest is possible

Post by D3thAdd3r »

@CunningFellow - you mention extra songs under the probably can't do section. Probably impossible, but what if data in the streaming music format were used directly after frame data? It requires a relatively small buffer(ram I sure you don't have), and cycles to seek(which again you must be tight on). Also I suppose adding 3k to ever frame adds up quickly. Just throwing that out there as a crazy idea, I think music streaming from SD basically has to keep the card tied up to be efficient.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

@Jubatian - Yes using your bootloader SD stuff to get start sector and Byte/Sector addressing flag. Then just fast streaming with the old routines.

@d3thAdd3r - I have gone back to the post above and added how many bytes I think each feature will take if I have an idea.

I started out this week with under 200 bytes free. Optimized stuff and got up to about 600 bytes free. Fixed bugs and added one feature and I am back down to 350 bytes free.

I have some other things I am optimizing and I think I can get back about another 2000 bytes. I still don't think that is going to be enough for another song when you take away the estimates of the other things I am adding.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

I've run out of steam again so need to take a few days break. Here is a UZE file of the fixes so far.

It has one special fix/improvement I have not mentioned in the post above.

Have a play and tell me what you think of the new feel.
Attachments
t2k.uze
(60.5 KiB) Downloaded 380 times
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

Another round of bug fixes.

I Think all the zooming bugs are fixed.

Demon heads now have a proper behaviour. They now chase you. I tried making them roll towards you smoothly (like fuseballs do) but it seemed a bit friendly and comical like a giant beach ball. They instead jump/teleport from lane to lane chasing you. It feels jarring and unnerving which I like. I am considering making them teleport a random number between 1 and 3 lanes towards you just to make them a little bit scarier.

It looks like no one really downloaded the last version to see what the special improvement was. So I will say what it was now anyway. There has been a massive improvement in the movement and collision detection routines. Which allowed me to get the speed/smoothness of the gameplay back up to the levels it originally had at the demo stage.

I feel it plays a lot lot nicer now.
Attachments
t2k.uze
(60.5 KiB) Downloaded 369 times
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Tempest is possible

Post by Artcfox »

It is super smooth, and I was able to almost get to 300000, with 6 lives but the demonheads just instantly killed me every time. I think they are already hard to kill when stationary (hit once to pop off horns, dodge the horns and then sneak in before they get to the top and shoot them again), I still think it would be impossible if they moved as slow as the fuseballs (rather than teleport), since if they make it to the top, you need jump enabled to kill them, but at least it wouldn't burn through all your lives immediately.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: Tempest is possible

Post by CunningFellow »

I think the problem with the demon heads is that they are generated too often.

They are meant to be scary, terrifying and very fatal. But you should not see them that often.

There are 4 ways to kill them
  1. As they come up the web shoot/dodge/shoot. This is hard and don't bother trying unless you are in the zone.
  2. Use a SuperZAP. You can do this once per level.
  3. If you have jump you can jump over them and shoot them twice. The horns are not dangerous to you when you jump so no need to dodge.
  4. If you have the AIDroid then let him take them out.
At present the generator makes all enemies available in a level be released with equal probability. I don't think you should suffer more than a few demon heads per level and I think the generator should randomly pick a number between 0 and 2 with it tending towards 2 as the levels get higher.

Also the generator should hold back on the demon heads till you have had at least the opportunity to collect 3 powerups. If you collect 4 powerups in a row you will always have an easy way to kill a demon head. I don't want to wait till you HAVE collected the powerups. Just that you have had the opportunity too. If you missed your powerups that's not the demon heads fault.

WRT to the graphical representation. I won't go back to rolling beach balls. I like the teleporting it instills fear. The teleporting also makes the idea of random jump sizes possible. I was thinking of making the random jump increase the longer you run away. Like the death dinosour in bubble bobble.

I MIGHT see about making the sprite break up and shimmer before the teleport.
Post Reply