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.