It’s been along time since posting on here. This game has gone thru a complete rewrite of the code since last year. I took a cue from Leif’s 2nd network game made on the C64, NetRacer, after his 1st C64 network game Artillery Duel. Also, I made it so it runs with a C64 Server with with the SuperCPU cart plugin this time to get the extra horsepower to manage the server tasks.
Basically, I switched everything over to using Raster Interrupt Service code. As done with a lot of other computer games. But this time built into a Network Game. This is still using the TCP/IP stack from NetLib64 Library as in Artillery Duel and NetRacer. So all of the tasks used in the game are scheduled with different priorities using a round-robin technique. I managed to get 8 players to connect now [screenshot below]. But It seems its not 100% reliable yet — not sure why at the moment. Whether it’s because I’m using the VICE emulator or not running on actual hardware yet, still not sure why. This phase of the game still needs some more debugging.
BTW, the guys who developed NetLib64, have just released a new beta version of the current release. I haven’t used this one yet, mainly because the software interface is a little different form their previous version. Also the code was built using their new assembler, TMPx, Turbo Macro Pro cross-assembler. I’m still using the DASM macro assembler. So there’s going to be some conversion necessary to get this new TCP/IP stack plugged into my code.
The network connection is determined by a status byte in the packet message sent from each Player to the Server. I tried to have the players connect to the server in diff ways. The new server code will allow players to connect in any order now. So I tried with player 1 to connect first, another time with player 6 to connect first, etc. You can see the ‘X’s beside the ‘READY’ message for players 3 to 8. That’s the ‘No-Connect’ message. That wouldn’t go away even after those players connected to the server. As if it would lose connection for a split second and then connect again That’s why you see both the ‘X’ and the ‘READY’ message. Some of the ‘X’s on the screen would actually blink. This is from the action of printing the ‘READY’ message after a successful connection to the Server. That same Print message would erase the ‘X’ No-Connect message.
The extra columns of white characters in the far right of the screen are my debug codes. I use this to help debug the game-code together with the network library in real-time. I can view all of the functions called by the game and network library. This is used to supplement the VICE debugger.
Comments are disabled on this post