Tank Fu

Use this forum to share and discuss Uzebox games and demos.
User avatar
L4rry
Posts: 242
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry »

D3thAdd3r wrote: Wed Dec 19, 2018 6:49 pm This is awesome!!

Would you mind posting a video of multiplayer in action? I think there are many not in your position to easily set such a thing up at the moment; myself included! I am really curious what the latency plays out like in a real time game.
Good point! I can perhaps setup my dusty EOS 550D and tripod for an over the shoulder view. All I need is to convince a friend or sibling to have their ass kicked in Tank Fu! :mrgreen:

I'll try and make that happen soon.
User avatar
L4rry
Posts: 242
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry »

nicksen782 wrote: Wed Dec 19, 2018 4:43 pm Super excited! I'll be trying this tonight!

... of course, I'll need to build my second Uzebox and hook it up to another television. WORTH IT!

Job well done!

I totally intend to pick up two Uzebox portables when they become available just for this reason alone.

I can update the Online Emulator's copy with the new version 3. Are there any new features aside from the networking?

EDIT: I just read your other post. You've updated quite a bit. Awesome, I'll have this updated online by tonight.
Yeah I'm pumped for the portable as well :) I think it is the best thing for the longevity of the Uzebox platform. Apart from the convenience of not having to have to setup a lot of bulky AV equipment and tangled wires, I can't help but compare this to the evolution of classic consoles. Start big, then shrink it down as modern tech allows. ( NES -> Game Boy)

It will be so much easier to demo it to other people as well. Just take it to work in your backpack or leave it out on the table for whoever to pick it up at a BBQ.

Also, just moving house, or re-ranging your living room / bedroom can easily mean your TV + console get's stowed away in a closet somewhere never to be setup again.
User avatar
L4rry
Posts: 242
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry »

I've cut a minor new release, v3.1, and updated the top comment with the binary links and release notes. I've improved the sound effects a bit and added an extra ram tile.
D3thAdd3r wrote: Wed Dec 19, 2018 6:49 pm Would you mind posting a video of multiplayer in action?
Below is a short video demo of the LAN mode in action. Not the greatest game play demo as I'm playing against myself and swopping out controllers in my hands constantly, but it should serve nicely to demonstrate the latency you can expect.

User avatar
Jubatian
Posts: 1563
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Tank Fu

Post by Jubatian »

Wow, nice to see this game getting new features! This is a really good game, one of the bests realized for the Uzebox in my opinion (I will always have some preference towards original designs, so Lee, those ports are beautiful, but come up with something original at last! ;) ), especially for multiplayer, along with Bugz, but that's a really different experience.
Strela_17
Posts: 6
Joined: Wed Jan 23, 2019 4:57 pm

Re: Tank Fu

Post by Strela_17 »

Well that's something cool, I'll make sure to give it a try. I'm a sucker for tank/modern warfare games in general, so I can't gloss over that...
User avatar
nicksen782
Posts: 714
Joined: Wed Feb 01, 2012 8:23 pm
Location: Detroit, United States
Contact:

Re: Tank Fu

Post by nicksen782 »

Yeah, Tank Fu is awesome! It reminds me a bit of Atari 2600 Combat... but with color! I played the heck out of that game so Tank Fu has it's place for me right next to Combat. First multi-player game over wifi too!
User avatar
L4rry
Posts: 242
Joined: Sun Dec 28, 2014 7:19 am
Location: Cape Town, South Africa

Re: Tank Fu

Post by L4rry »

Release v3.2 has been created for a couple of bug fixes. The top post and wiki has been updated with the relevant links and release notes. The following has been fixed:
  • Fixed bug where game hangs after a 'Network Error' when joining a networked game.
  • Fixed animation bug where the tank explosion animation is played after player spawn at level start.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tank Fu

Post by D3thAdd3r »

I went nuts and good things have happened for CUzeBox ESP8266 support. Unfortunately I still can't run Tank Fu(the only full Uzenet game) as it utilizes a feature I hadn't got around to considering. Asking for thoughts or advice.

Situation:

For Deathmatch in Tank Fu, one side will be Host by using the ESP8266 Soft AP feature to broadcast a WiFi Access Point with a specific name. The password is fixed, the other side just needs to know the name of this Soft AP/WiFi SSID to join it. The Host also fixes it's IP address, so that both sides know the other ones IP if the join works. This is great since it's the most direct connection, and it works without any external access point/router or even Internet access required.

The other side will join the Host's Soft AP, by having the user specify the SSID/name(using the known fixed password). Something like:

Code: Select all

AT+CWJAP_CUR="TFABCDEF","T4nkFuN3t"
I need some input on what people would expect for emulation on this. Basically how should the soft AP work in CUzeBox?

I think I'm safe to assume no one would want CUzeBox to actually disconnect the WiFi hardware on the host machine running CUzeBox, and utilize it to host a WiFi AP. This is possible technically in Linux or Windows, but pretty nasty cross platform differences/caveats. Without this however, it's not obvious how emulated players can see the other side?

My initial thought is that if CUzeBox is instructed to host the Soft AP, it simply creates a periodic LAN broadcast to 255.255.255.255, containing details about the fake Soft AP, which can be interpreted by other CUzeBox instances on the network for CWLAP and CWJAP commands. Downside to this is that certain router/network settings will block this(WLAN/L2 isolation, fairly common default on a lot of equipment).

Even if the relatively complex setup of the LAN broadcast was made to work across all the various commands, it still wouldn't help CUzeBox play a game against a real Uzebox. This is because it would have to connect to the same WiFi/router that the host machine is. Tank Fu doesn't support that, as it uses fixed passwords and IPs. It would need to be able to handle arbitrary IPs with an additional menu. I really want CUzeBox<->Uzebox crossplay.

The last idea is to simply add full Internet direct connect(or Uzenet server)support to Tank Fu and any other game, and the Soft AP is just a hardware only option. This would imply direct connect AP mode doesn't work in CUzeBox, but cross platform play could still work in a LAN or over the Internet. I almost think this is the only realistic way, add a direct connect IP feature to any networked game(which assumes connection the the appropriate AP was already done somehow).

Does that makes sense? I think I answered my own question, because one is a better solution and easier(plus Tank Fu could be over the Internet), but I don't like certain features being hardware only.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Tank Fu

Post by uze6666 »

For Deathmatch in Tank Fu, one side will be Host by using the ESP8266 Soft AP feature to broadcast a WiFi Access Point with a specific name. The password is fixed, the other side just needs to know the name of this Soft AP/WiFi SSID to join it. The Host also fixes it's IP address, so that both sides know the other ones IP if the join works. This is great since it's the most direct connection, and it works without any external access point/router or even Internet access required.
So the case you mention here is for two Uzeboxes next to each other if I understand right? If so I didn't know Tankfu was working like this, I thought it was over the internet! Which seem to me as a more realistic and much easier case unless I miss something? Just pre-configure the wifi auto-connect and then from the point of view of games it's mostly just a generic wifi_connect(uart_speed) and then some plain tcp ip commands?
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Tank Fu

Post by D3thAdd3r »

Yes I really don't see a good way to make Tank Fu work due to that, or any game utilizing that technique. I could be missing something, but that's how it works as I understand it. Not that I'm against that technique(as an option), it seems smart for a hardware<->hardware game. But I don't think a direct IP connect over a LAN would have any more lag, so it's main benefit is it requires nothing but 2 Uzebox.

I think it's far more likely to find another player on the Internet, and I suspect no one would mind if they could play Tank Fu online(and still have direct option)! I don't know much yet, but seeing as I have exactly 0 other games that close to online play, I might investigate adding such a feature for testing unless L4rry is interested. How well it handles latency? Well...only one way to find out!
Post Reply