Jump to content
IGNORED

Minotaur (was TankMaze) (homebrew WIP)


vdub_bobby

Recommended Posts

UPDATE: 

  • Fixed bug caught by Zeropage (thanks!) - can no longer shoot offscreen enemies. :D
  • Player tank and enemy tanks can no longer die until fully onscreen.
  • I *think* I fixed the screen rolling and got the framerate stable at 272 scanlines / frame.  Still a lot of work to do here.
  • Put in some very rudimentary "game over" logic.  If you or an enemy shoots the base the game ends (freezes).  Restart game with RESET or joystick trigger.
    • And as a note, at this point the plan is for the player to have unlimited lives; game over will be when the base is destroyed.  May revisit this decision.
  • RESET now sets level back to 1.  Use SELECT to pick a different starting level.

TankMaze.asm TankMaze.bin

  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

UPDATE:

  • Tank speed (at respawn) increases based on how many tanks are remaining to kill in the level (this was already happening, but I changed how it works).  This seems a bit buggy still.
  • All enemy tank speeds increase when tanks remaining <= 3 (i.e., when no more enemy tanks will respawn)

TankMaze.asm TankMaze.bin

  • Like 2
Link to comment
Share on other sites

Cool!   Silly n00b question, I've noticed some 2600 homebrews use interlaced graphics (is that the correct term for skipping every second line?); what is the benefit/purpose of that and how does it achieve that?  It obviously results in greater graphical detail in the games who use it so I'm guessing you save on cpu cycles by only drawing every second line and use the savings to achieve things otherwise not possible but figured I'd ask.

Link to comment
Share on other sites

Interlaced usually refers to a flickering technique, where on one frame you draw graphics on the odd-numbered scanlines and on the next frame you draw graphics on the even-numbered scanlines, and so on.  For example, the display in BASIC Programming, where it is used to display more characters on a line of text than would otherwise be possible.

 

In general, though, your guess is correct - drawing every other line gives you more time to do other things.  This is often used (at least by me!) when drawing an asymmetric playfield, like in this game or in Elevators Amiss! :)

 

EDIT: I will add though that in Elevators Amiss! I did play around with drawing the elevators on every scanline; I did manage to rewrite the kernel to do that but in the end decided I liked the way it looked better with the elevators drawn every other line.

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

On 9/21/2023 at 5:35 PM, vdub_bobby said:

Interlaced usually refers to a flickering technique, where on one frame you draw graphics on the odd-numbered scanlines and on the next frame you draw graphics on the even-numbered scanlines, and so on.  For example, the display in BASIC Programming, where it is used to display more characters on a line of text than would otherwise be possible.

 

In general, though, your guess is correct - drawing every other line gives you more time to do other things.  This is often used (at least by me!) when drawing an asymmetric playfield, like in this game or in Elevators Amiss! :)

 

EDIT: I will add though that in Elevators Amiss! I did play around with drawing the elevators on every scanline; I did manage to rewrite the kernel to do that but in the end decided I liked the way it looked better with the elevators drawn every other line.

Did you finish Elevators Amiss?

Link to comment
Share on other sites

Great version of a great Namco classic. I love the original, even its Famicom port. Bob, you're one of the best, a legend among legends. Been your fan since Go Fish, which may probably still be my favorite homebrew ever. I'm anxiously looking forward to seeing this one finished! The only thing that bothers me, though, is the quite misleading Minotaur title on the titlescreen (is it a nod to the M-1?). As for the rest, the graphics, the gameplay, the sounds, the controls, everything is top notch. Thank you so much for never giving up on the VCS!

Link to comment
Share on other sites

On 9/23/2023 at 4:46 AM, Yurkie said:

Did you finish Elevators Amiss?

Yup: Elevators Amiss - Atari 2600 (atariage.com)  😁

On 9/23/2023 at 7:37 AM, MateusSolo said:

Great version of a great Namco classic. I love the original, even its Famicom port. Bob, you're one of the best, a legend among legends. Been your fan since Go Fish, which may probably still be my favorite homebrew ever. I'm anxiously looking forward to seeing this one finished! The only thing that bothers me, though, is the quite misleading Minotaur title on the titlescreen (is it a nod to the M-1?). As for the rest, the graphics, the gameplay, the sounds, the controls, everything is top notch. Thank you so much for never giving up on the VCS!

Thanks!  I decided to not use the "Tank Battalion" name, basically (a) to avoid copyright/licensing issues and (b) it isn't a super faithful port.  I like the "Minotaur" name, at some point I'll rename the binary and this thread.  :)  

 

Goofy backstory will be something like ... 

 

As commander of the last Minotaur Class battle tank, you are all that stands between civilization and complete annihilation... blah blah blah 🤪

  • Like 1
Link to comment
Share on other sites

UPDATES:

  • More color fiddling, tried to make it match the arcade game a little more closely
  • Updated title screen.
  • Collision routines all now use the hardware collision registers, which ... mostly works.  Sometimes bullets pass completely through a tank (oops).  Might have to switch that one back to the way it was.
  • Enemy tanks will now try to avoid running into each other.   
  • Enemy tanks that collide will both die.
  • Enemy tank respawn points updated completely, the old method was unworkable and sometimes they would respawn at the same point at the same time.

All this blew my scanline count and consistency to heck so probably the next big push is to tighten up the code.

 

TankMaze.asm TankMaze.bin

  • Like 4
Link to comment
Share on other sites

  • 2 weeks later...

UPDATES:

  • bunch of back-end code clean up and bug fixes.  
  • all collision routines now use hardware collision registers.  This meant I needed to ...
  • redesign tank graphics so there wasn't so much blank space in the middle of the graphic.
  • and also still occasionally had bullets passing through tanks, updated bullet movement code to use fractional positioning and slowed them down by 10%, which seems to have mostly solved that problem.
  • the above plus some other general code cleanup and algorithm rewrites has the scanline count down to a sort of stable 266 lines per frame.  

TankMaze.asm TankMaze.bin

  • Like 4
Link to comment
Share on other sites

UPDATES:

  • Rewrote enemy tank AI routines.
  • Fixed bug that caused "ghost" bullets coming from the top of the screen occasionally
  • Fixed a few enemy tank movement bugs
  • Fixed bug that caused enemy tanks to crash into each too often
  • Changed random seed so initial maze is different, the first maze was too difficult with a long vertical corridor.

Getting happier with the core gameplay, and would appreciate any feedback on gameplay:  too hard, too easy, ways to "break" the AI, etc.  😁

TankMaze.asm TankMaze.bin

  • Like 2
Link to comment
Share on other sites

Wouldn't it be better if all the enemy tanks were the same dark color (if possible)? I sometimes mix mine with the other lightly colored tanks. As for the difficulty, I think it's ok, just slightly more difficult than the Famicom version. The only thing I noticed is that the enemy tanks are too trigger happy, and usually end up taking most of their fellow tanks down before I can even reach them.

Link to comment
Share on other sites

18 hours ago, MateusSolo said:

Wouldn't it be better if all the enemy tanks were the same dark color (if possible)? I sometimes mix mine with the other lightly colored tanks. As for the difficulty, I think it's ok, just slightly more difficult than the Famicom version. The only thing I noticed is that the enemy tanks are too trigger happy, and usually end up taking most of their fellow tanks down before I can even reach them.

It isn't possible for the enemy tanks to be the same color, because of how the graphics work.  That is on my list, though, to fiddle with the tank colors.

 

Also, yes, the enemy tank shooting routine is basically random and they do end up killing each other too often.  Also on my list to try to improve.

 

Thanks!

  • Like 1
Link to comment
Share on other sites

UPDATES:

  • Enemy tanks' fire is a little more directed; they shouldn't kill each other quite as often.
  • However, this meant that they got stuck more often, since they wouldn't fire haphazardly - freeing themselves - as often.  So fiddled with the maze generation routine.
  • Fixed a bug that caused errant "ghost" collisions between tanks starting at level 20.
  • Consolidated all sound effects in channel 1, which freed up channel 0 for ... ?   (Music?)
  • Added a sound effect for when bullets hit the outer wall of the maze.
  • A bunch of back-end stuff, moving code around between banks and cleaning up this and that.

TankMaze.asm TankMaze.bin

  • Like 4
Link to comment
Share on other sites

On 3/27/2022 at 11:58 PM, ZeroPage Homebrew said:

Thanks so much Bob, we did have fun playing the game. Thank you so much for making it and I'm looking forward to seeing how it develops.

 

When a game I'm going to play on the show doesn't have a label, I usually whip one up and sometimes I have a decent idea for it! Hahah

 

- James

 

1738524327_TankMaze.thumb.png.0c5075cfb87a84d82d0d11785a3517f2.png

AN other tank game. HUUUMMMMMM

Link to comment
Share on other sites

Great version! The tanks really don't shoot each other as frequently as before. I like the fact the missed shots make a sound when they hit the outer walls, but I am not sure if I like this "Pong-like" sound you chose for them. It is too upbeat, makes me think of pinball, of scoring huge points. I think the missed shot sound should be more depressing. As for the rest, the game just keeps getting better and better!

Link to comment
Share on other sites

On 10/21/2023 at 11:25 AM, Bomberman94 said:

Great progress - I played it after a while on my PAL Atari. I only experienced wrong colors but no flickering like before. I like this game!

Great to hear.  Thanks!

22 hours ago, MateusSolo said:

Great version! The tanks really don't shoot each other as frequently as before. I like the fact the missed shots make a sound when they hit the outer walls, but I am not sure if I like this "Pong-like" sound you chose for them. It is too upbeat, makes me think of pinball, of scoring huge points. I think the missed shot sound should be more depressing. As for the rest, the game just keeps getting better and better!

Thanks for the feedback!  I agree on the sound when shots hit outer walls; it needs work. :)

  • Like 1
Link to comment
Share on other sites

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.

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...