Tank Fu

Use this forum to share and discuss Uzebox games and demos.
User avatar
D3thAdd3r
Posts: 2422
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tank Fu

Post by D3thAdd3r » Tue Nov 17, 2015 12:35 am

I got a chance to play this through single player and I can vouch that this is a thoroughly enjoyable title. Particularly the graphics and sound style I find agreeable, but beyond cosmetics, the core is deeper than it appears at first glance. Gameplay is perfect I think, down to the short shot delay when a tank gets hit that allows for decisive wins instead of a bunch of ties; and it is easy to pick up and play at the same time.

It would be cool to have Tank Fu Tu some time in the future, and there could certainly be extensions you came up with at that time, but this one has nothing that seems missing. Great variety with named arenas and I will definitely plan on finding a local opponent for some real neuron vs neuron deathmatch soon. I'd say BTN_A and/or BTN_B should shoot, which then allows NES controllers to work with no code change too. The final boss appearing was a cool unexpected thing that made me say "whoah!" and I don't think I ever saw such a thing on Uzebox :D He could be a bit more challenging perhaps. The AI could be a little more difficult even if it was some of that "cheap" perfect reflex type thing, or perhaps a skill setting? Still enjoyable at the current level however. Anyway, it is a very impressive finished product and I am looking forward to your next creation! :ugeek:

User avatar
D3thAdd3r
Posts: 2422
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tank Fu

Post by D3thAdd3r » Tue Nov 17, 2015 12:59 am

For the AI discussion, I find the whole topic very interesting. Best success I have had was with weight based systems using "intelligent design" hard coded rules and experimenting with cutoff values to decide what's most important at the moment. It also isn't so hardcoded cheap "mechanical perfection" that can be annoying to play against like completely rule based approaches. There is not enough horsepower on the '644 to go much further to the neuron anyway. It is interesting because some behavior seems to emerge or at least is unexpected. Frog Feast I experimented every weight value being randomly mutateable and then either wins and passes on or doesn't for unsupervised training and let it run for a few days as fast as Uzebox could simulate it without sounds/graphics/vsync waiting. In that case I saw them get pretty weird jumping patterns and being really defensive for whatever reason, but it was neat to see happen. I don't think my very simple digital choice of "genes" works since I was able to better pick values manually, but it is at least easy to setup and there behavior was not what I programmed originally. More advanced pickup from actual human gameplay might be much better, but I am not sure how much total time that would take to see improvements since I never tried it. If you did do something like that I'd be quite interested to hear your results.

User avatar
uze6666
Site Admin
Posts: 4449
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Tank Fu

Post by uze6666 » Tue Nov 17, 2015 3:00 am

A tank game at last!!! I played all levels through the end and was surprised by the end boss too. It's very responsive, no bugs founds and nice attention to all details. I like that there's many variations like bouncing, different bullets and score table. Some comments/improvements:
  • The white on cyan power ups are a bit hard to discern one of another a my TV monitor. I'd consider slightly more contrasted colors.
  • I'd consider adding the use of the Start button after selecting option since most are used to that.
  • When the enemy explodes its bullet freezes for a moment giving a small advantage to the other player in some cases.
In any cases, the above are small details. Tank Fu is very well done for a first game. :P

p.s.: I've created a wiki stub for you game. You can improve it if you wish.

User avatar
Artcfox
Posts: 944
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Tank Fu

Post by Artcfox » Tue Nov 17, 2015 5:33 am

I checked out the video, and it looks great! Work has been very busy so I haven't had time to play it for myself, but I hope to soon!

User avatar
uze6666
Site Admin
Posts: 4449
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Tank Fu

Post by uze6666 » Tue Nov 17, 2015 6:04 am

Btw, the video is very crisp, I assume it was made using the uzem140 branch recording feature?

User avatar
L4rry
Posts: 239
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry » Tue Nov 17, 2015 6:59 am

uze6666 wrote:Btw, the video is very crisp, I assume it was made using the uzem140 branch recording feature?
Yes, I used the uzem140 branch :) The video recording is a very cool feature. Thanks for adding the wiki stub, I'll flesh it out.

Thanks everyone for your encouraging and helpful feedback and I'm happy that you find Tank Fu enjoyable. I'll see what I can come up with for improved AI (I'll definitely have a look at Frog Feast D3thAdd3r. Yes, AI is a fascinating field indeed in gaming!) and adding some polish to the assets and controls.

I think my next task is going to be to assemble my second Uzebox kit and hopefully this time I won't butcher the SD card interface :mrgreen:
It will be nice if I actually have the full game library available instead of having to flash a game every time I want to play ;)

Soldering is hard!
Last edited by L4rry on Tue Nov 17, 2015 4:00 pm, edited 3 times in total.

User avatar
D3thAdd3r
Posts: 2422
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tank Fu

Post by D3thAdd3r » Tue Nov 17, 2015 9:15 am

In the current published state for FF in the AI stuff any time you see a hardcoded value like "steerweight[0] += prng()&1" just imagine it like "steerweight[0] += prng()&pgm_read_byte(&aivar[x]) like it was during development. Meh, it might not be too useful actually.

I guess for controls/collision I notice it might be nicer if it was easier to navigate through tight quarters. Currently you have to be dead aligned with the opening it seems like. If it's easy, when the player is trying to move in a direction that is blocked you might have the tank continue moving laterally(whichever direction is closest to aligning) to align with the opening, and when aligned actually go in the direction the player is pushing. It seems a pretty common technique in games where players move through corridors and obstacles.

User avatar
L4rry
Posts: 239
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry » Tue Nov 17, 2015 10:18 am

D3thAdd3r wrote:I guess for controls/collision I notice it might be nicer if it was easier to navigate through tight quarters. Currently you have to be dead aligned with the opening it seems like. If it's easy, when the player is trying to move in a direction that is blocked you might have the tank continue moving laterally(whichever direction is closest to aligning) to align with the opening, and when aligned actually go in the direction the player is pushing. It seems a pretty common technique in games where players move through corridors and obstacles.
I never really thought of that! That's been annoying me throughout development. I think that solution will work perfectly and shouldn't be too taxing to implement. Thanks.

User avatar
Gosma
Posts: 66
Joined: Thu Oct 24, 2013 7:31 pm
Location: Santos, Brazil

Re: Tank Fu

Post by Gosma » Wed Nov 18, 2015 2:05 am

Another cool game in just few months! Its a good year for Uzebox! 8-)

I'll play this one as soon as i get my PC with uzem :D

User avatar
L4rry
Posts: 239
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry » Thu Nov 19, 2015 8:48 am

Hey Guys,

I've performed some post release fixes based on your helpful feedback. I list the changes here.
I would be grateful if you can verify this provides a better overall experience. If so, I'll do a
formal release. The hex and uze files are attached at the bottom of this post:

- START button can now be used alongside A button for selecting in UI
- B button can now be used alongside A button for shooting
- Power ups have a new color scheme providing better contrast
- If less then 1/4 of your tank hits a corner, it will slide around it. Very helpful for those tank wide alleys :) (Thanks D3athadd3r!)
- Bullet pause bug has been fixed. This should allow for a slightly more competitive AI as well.
- Slightly improved difficulty in boss fight.

I played around a bit but could find no real way of improving the AI difficulty with either it coming off wonky or running out of flash space (Right now I'm on 61244 bytes).
Sorry about that in advance. It's chiefly to do with the tentacled text monster that is my code. It's mutated, not unlike a cancer, over the period of time I've learned
the Uzebox platform and making this game. ;)

Here you go!

*See my subsequent comment for another build that includes an increase in AI speed*
TankFu.hex
(168.24 KiB) Downloaded 142 times
TankFu.uze
(60.31 KiB) Downloaded 138 times
Last edited by L4rry on Thu Nov 19, 2015 4:07 pm, edited 1 time in total.

Post Reply

Who is online

Users browsing this forum: No registered users and 15 guests