Jump to content
IGNORED

Minotaur (was TankMaze) (homebrew WIP)


vdub_bobby

Recommended Posts

15 hours ago, MateusSolo said:

Excellent! You changed the sound for the missed shots, right? It sounds better now (or is it just my imagination?).

Is there a way to make the player's tank the first one to enter the screen? Or is it something related to hardware limitations (or a designer's choice?). Because I always move my joystick when that first enemy tank appears at the upper corridor, and my brain instantly complains when there's no input response from that tank.

Yep, I did change the sound.  ;) And the player tank enters last by design, but ... I'm rethinking that decision 😄  Every time I play it my kids ask "why does your tank come in late?" 

  • Like 1
  • Haha 1
Link to comment
Share on other sites

8 hours ago, vdub_bobby said:

Yep, I did change the sound.  ;) And the player tank enters last by design, but ... I'm rethinking that decision 😄  Every time I play it my kids ask "why does your tank come in late?" 

Haha! So, it's not just me! How cool you have kids who enjoy Atari games! Mine still prefers his smartphone garbage.

Link to comment
Share on other sites

  • 2 weeks later...

Just a heads up, when I was checking out the game in Stella's Developer Mode the screen continuously rolls. This may not happen to all consoles when played on real hardware but it may affect some of them.

 

Great new updates to the game, looking forward to featuring it on ZPH again in the near future!

 

- James

 

image.thumb.png.c36935b38612228fe69702402b222aba.png

Link to comment
Share on other sites

6 minutes ago, ZeroPage Homebrew said:

Just a heads up, when I was checking out the game in Stella's Developer Mode the screen continuously rolls. This may not happen to all consoles when played on real hardware but it may affect some of them.

 

Great new updates to the game, looking forward to featuring it on ZPH again in the near future!

 

- James

Yikes!  Thanks for letting me me know.  I guess I need to focus on cleaning up the scanline count.

  • Like 1
Link to comment
Share on other sites

UPDATES:

  • Scanline count is (mostly) stable at 270 lines.  Occasional jitters as far as I can tell that I still need to track down and fix.
  • Added tank "explosion" graphic.  Can shoot through it but running into it is deadly (for you and enemy tanks).  Still fiddling with this.
  • Fixed small bug in enemy AI routine.
  • Assorted fiddling.
  • Interested in feedback on the difficulty, I think right now it starts off too easy.  I sped up the enemy tanks slightly to help this, but needs more work.

Besides bug fixing and assorted tweaking, the remaining major feature to implement is a sort of "power up" system.  RAM and screen real estate are very limited so still pondering how this will work.

 

Feedback welcome!

TankMaze.asm TankMaze.bin

  • Like 3
Link to comment
Share on other sites

26 minutes ago, vdub_bobby said:

UPDATES:

  • Scanline count is (mostly) stable at 270 lines.  Occasional jitters as far as I can tell that I still need to track down and fix.

 

Unfortunately it looks like there's still quite a bit of screen rolling when set to developer mode. I recorded a video showing what I'm seeing.

 

Ignore the menu I was in on the video, the option that you need to look at is under 'Developer Settings -> Video -> Jitter/Roll Effect -> Sensitivity  and set that to 8 or above. Again, this may only affect a small portion of people playing your game with sensitive televisions or upscalers.

 

- James

 

image.thumb.png.2ed1e92fdb659c9ca9112ed90a91ef74.png

 

- James

 

 

Link to comment
Share on other sites

Been playing Minotaur off and on during development, I'm really digging the improvements. Love the the new music, the way the playfield disappears and counts the score, and the enemy movement. Huge improvements over what I've been playing on some older builds. Like @ZeroPage Homebrew said, there some screen roll, not too bad though. My TV shows a twitch rather than a full roll during gameplay. Keep up the awesome work

  • Like 1
Link to comment
Share on other sites

14 hours ago, vdub_bobby said:

Interested in feedback on the difficulty, I think right now it starts off too easy.  I sped up the enemy tanks slightly to help this, but needs more work.

I think the difficulty is pretty OK as it is right now. Not too difficult, not too easy. Maybe the enemy tanks should be more agressive towards the player's base though?

Link to comment
Share on other sites

For the screen rolling in developer mode - I could be wrong, but I believe that it basically rolls the screen if you don't hit exactly 262 scanlines / frame (NTSC), how exactly determined by the sensitivity setting.

 

So it is (mostly) stable at 270 scanlines / frame, so if you set the sensitivity to 7 it doesn't roll at all.

image.png.c3cba99cb8aebd12d63db8c3783b892d.png

If you set it to 8 or higher, it rolls continuously, since right now it continuously is 8 or more scanlines away from  262/frame.

 

I'll keep working on this to get it closer to 262, but ... my understanding (mostly 20 years out of date!) is that TVs can handle 270 scanlines / frame without a problem.  E.g., I believe the Elevators Amiss final binary is 270 scanlines/frame and I've never heard of any issues.  Happy to be corrected on this for sure!  (Also, if I'm wrong about how that setting works in Stella, I'd love to know that also!)

 

Thanks, and absolutely really appreciate the feedback and playtesting!  You guys are the best :)

 

 

Link to comment
Share on other sites

7 hours ago, vdub_bobby said:

If you set it to 8 or higher, it rolls continuously, since right now it continuously is 8 or more scanlines away from  262/frame.

Nope. It checks that your scanline count and VSYNC lengths are constant and that the VSYNC length is large enough. The higher the sensitivity, the stricter the checks for unstable frame. Also, with higher sensitivity, less unstable frames are allowed before the screen starts to roll. 

(see JitterEmulation::frameComplete() in Stella's source code)

7 hours ago, vdub_bobby said:

I'll keep working on this to get it closer to 262, but ... my understanding (mostly 20 years out of date!) is that TVs can handle 270 scanlines / frame without a problem.  E.g., I believe the Elevators Amiss final binary is 270 scanlines/frame and I've never heard of any issues.  Happy to be corrected on this for sure!  (Also, if I'm wrong about how that setting works in Stella, I'd love to know that also!)

CRTs have no problem. But since more and more people play using modern equipment (same for streamers like @ZeroPage Homebrew), it might be better to stick to 60Hz. E.g. if a game has flicker and does not do 60 Hz, you get problems on modern TVs. Frames will be merged or doubled, so the flicker becomes much more pronounced. And modern equipment can be really sensitivity to unstable frames and produce no output at all.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

On 11/10/2023 at 11:46 PM, Thomas Jentzsch said:

CRTs have no problem. But since more and more people play using modern equipment (same for streamers like @ZeroPage Homebrew), it might be better to stick to 60Hz. E.g. if a game has flicker and does not do 60 Hz, you get problems on modern TVs. Frames will be merged or doubled, so the flicker becomes much more pronounced. And modern equipment can be really sensitivity to unstable frames and produce no output at all.

Aha!  Thanks, that's good to know.

Link to comment
Share on other sites

On 11/10/2023 at 11:46 PM, Thomas Jentzsch said:

Nope. It checks that your scanline count and VSYNC lengths are constant and that the VSYNC length is large enough. The higher the sensitivity, the stricter the checks for unstable frame. Also, with higher sensitivity, less unstable frames are allowed before the screen starts to roll. 

That's interesting.  I'll look into this more, I'm not sure in that case why it would roll.  AFAICT the scanline count (on the title screen anyway) is completely stable, and VSYNC uses the standard routine... at least it was standard 10 years ago!  

    lda #%00000111
VSYNCWaitLoop
    sta WSYNC
    sta VSYNC
    lsr
    bcs VSYNCWaitLoop

Funny how much has changed - for 50 year old hardware! - in 10 years :D 

 

EDIT: I updated the VSYNC code to add one more scanline to the VSYNC routine and that fixed the rolling.  Stella code is looking for VSYNC of at least 3 scanlines:

myVsyncCorrect = abs(vsyncCycles - 76 * 3) <= 3; // 3 cycles tolerance

EDIT EDIT: Or to be specific, exactly 3 scanlines (+/- 3 cycles)

 

 

 

Edited by vdub_bobby
  • Like 1
Link to comment
Share on other sites

UPDATES:

  • Scanline count is a more or less stable 262 lines/frame.
  • Level-end routine slightly updated.
  • Can now run and shoot through explosion graphic.
  • Changed colors of tanks, this is very much in progress.
  • Powerups!  At the beginning of each level a random number between 1 and 7 is chosen.  If you kill that many tanks without dying, then a powerup (bull head icon 🐮) will appear.  Run over it to get a small speed boost.  The count resets to seven at that point, if you kill seven more (without dying!) another powerup icon will appear.  Collecting that will kill all tanks on the screen and give a point bonus.  And etc.  This is also very much in progress and feedback very welcome!
  • General code cleanup and optimization.

TankMaze.asm TankMaze.bin

  • Like 3
Link to comment
Share on other sites

14 hours ago, vdub_bobby said:
  • Powerups!  At the beginning of each level a random number between 1 and 7 is chosen.  If you kill that many tanks without dying, then a powerup (bull head icon 🐮) will appear.  Run over it to get a small speed boost.  The count resets to seven at that point, if you kill seven more (without dying!) another powerup icon will appear.  Collecting that will kill all tanks on the screen and give a point bonus.  And etc.  This is also very much in progress and feedback very welcome.

The powerups idea and execution are pretty good and a lot of fun! I also like the powerup icon being a little Minotaur head. Maybe there should be an option to turn them off to those who prefer their military action more realistic? For me, they're pretty great though. Bullseye!

Link to comment
Share on other sites

10 hours ago, Thomas Jentzsch said:

image.png.2a5c27b7301f72f662cdd446c9b42ea3.png

If you wonder about the bytes @ L3FF8/9: These are randomized by the coming Stella, because hotspots return more or less random bits.

Ahhhhh... thanks.  Too much I've forgotten.  Obviously (in retrospect) you can't have code running on the hot spots.  🙄

Link to comment
Share on other sites

1 hour ago, MateusSolo said:

The powerups idea and execution are pretty good and a lot of fun! I also like the powerup icon being a little Minotaur head. Maybe there should be an option to turn them off to those who prefer their military action more realistic? For me, they're pretty great though. Bullseye!

That's a really good idea, thanks!  :)

  • Like 1
Link to comment
Share on other sites

UPDATES:

  • Updated powerup graphic
  • Shooting the power up now destroys all bricks and tanks in an approx 1.5-brick radius
  • Other minor changes to how the powerups work and when they appear (notably, you can no longer get two - or three! - of them to show up on screen at the same time)
  • Added sound effect for power up
  • Updates to music
  • Updates to the attract screen/routine
  • Scoring update: for each subsequent tank you kill in a level without dying you get an extra 25 points.  In other words, if you kill all 20 tanks in a level without dying you will get these points:
    • 1st tank: 50 points
    • 2nd tank: 75 points
    • 3rd tank: 100 points
    • 4th tank: 125 points
    • ...
    • 20th tank: 525 points

Minotaur.asm Minotaur.bin

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