Global game jam 2025
Published on January 05, 2025
Hello!
I just participated, or rather, attempted to participate in this year's GGJ. It was me and my friend Jasper Falk, who is an artist. We decided to make a 3D online multiplayer game. Not only was it the first time I’ve attempted to code online multiplayer in Unity (which I only got to work thanks to Hamachi), but Jasper was also not fully comfortable with 3D modeling and animation.
I have to say, coding with Netcode for Unity Gameobjects makes me want to pull my hair out. It’s difficult to understand, and I find the documentation somewhat opaque, but I also know that had I programmed this in C++ it would probably be much much worse. In the end, I’m not sure I understand the whole “ClientRpc” and “ServerRpc” thing that Unity has going on. I read what I could understand and then threw stuff at the wall to see what stuck. The game is not in a very presentable stage, significantly lacking in assets.
But I am still proud that I managed to finish so many milestones within the time limit, and learned how to debug a multiplayer game. I also learned how to connect to another computer over the internet, even if it was only thanks to Hamachi. And through trying to debug this stuff, I learned what a port is, the difference between a public and a local IP, how to ping, use nmap, telnet, tracert and netstat, etc. I spent a lot of time pinging other IP addresses before I realised that whether I could ping someone or not didn’t matter to Unity, and the reason I had an issue connecting with Unity was because… I don’t really know. But Hamachi fixed it.
Clearly I need to investigate this further. But I at least got pretty far on the way.
I just participated, or rather, attempted to participate in this year's GGJ. It was me and my friend Jasper Falk, who is an artist. We decided to make a 3D online multiplayer game. Not only was it the first time I’ve attempted to code online multiplayer in Unity (which I only got to work thanks to Hamachi), but Jasper was also not fully comfortable with 3D modeling and animation.
I have to say, coding with Netcode for Unity Gameobjects makes me want to pull my hair out. It’s difficult to understand, and I find the documentation somewhat opaque, but I also know that had I programmed this in C++ it would probably be much much worse. In the end, I’m not sure I understand the whole “ClientRpc” and “ServerRpc” thing that Unity has going on. I read what I could understand and then threw stuff at the wall to see what stuck. The game is not in a very presentable stage, significantly lacking in assets.
But I am still proud that I managed to finish so many milestones within the time limit, and learned how to debug a multiplayer game. I also learned how to connect to another computer over the internet, even if it was only thanks to Hamachi. And through trying to debug this stuff, I learned what a port is, the difference between a public and a local IP, how to ping, use nmap, telnet, tracert and netstat, etc. I spent a lot of time pinging other IP addresses before I realised that whether I could ping someone or not didn’t matter to Unity, and the reason I had an issue connecting with Unity was because… I don’t really know. But Hamachi fixed it.
Clearly I need to investigate this further. But I at least got pretty far on the way.