We were working on a networked physics solution and wanted to test it inside the Unity island demo, which ended up being far too big. So we reworked things, stole a bit of 3d from our good friends at UT (sorry, we’re all programmers) and ended up wasting many hours on inter-office frag sessions. Since it seemed fun, we fixed things up and after some late nights and annoyed girlfriends, put the game in FaceBook, Apple and our site.
Here’s a few interesting points:
Networked physics solution
Highly optimized dead-reckoning algo for avatars
Auto-foam generator, just put islands in the water, it does the rest
Underwater is a bit special, have a look and listen
FaceBook integration including Tab, Profile, FB Friends ranking plus invite
Really cool network synced laser sniper
Neat trick for floating boats on water - try shooting it
We’re working on getting NAT working better, but it’s quite a black art - just ask Larus
This is strange - is it when you enter, or exit, or just randomly when you’re under?
We do some trickery to make the surface distortion, but this only happens on entry and exit.
The game crashed 3 times:
My first game I took a dive, it was OK, I took a second dive (looking down) and it crashed right away.
The second and third time I tried the game it crashed on the first dive.
My fourth and last time I kept looking up underwater breathe…this seemed to help:P
Before a crash, I could hear the audio playing the underwater sound.
About the NAT: I’ve put my whole day in it…and yea its black magic. I’ve added some custom code to improve the suces of an connection attempt. E.g.: When the masterservers forces Network.useNat=true (because the host is registered as so) and the clients connection attempt fails…my code will also try a connection with useNat=false. (And after this, restore useNat to its tested value).
This fix enabled me to host on my LAN, and have people connect from outside (it needs port forwarding on in my router AND this fix)
You’re the first with this particular case. Will look into it tomorrow.
Also, the master server automatically turns off UseNAT for games that are local, this is done dynamically on the client regardless of the UseNAT property specified by the host. We run LAN + Internet games all the time.
That was amazing! The first two servers got NAT error, but hopefully there were a lot more joinable there. I didn’t encounter any problems/crashes etc. Played 2-3 games. Really nice…
Wow, really cool and fun. Played a few games and didn’t feel like there was any lag even with 7 of us in there.
There was one powerup that looked like an old man with a crutch… not sure what that does…
I was racking up the points thanks to camping :roll: but I didnt realize you could snipe, now that I do… back to play
The NAT thing is a pain in the but, and I don’t know that there is much you can do about it. Seems like a problem with how raknet handles some routers.
It basically finds the intersection between the terrain and the water plane, and generates a triangle strip around the exposed land masses with the standard foam material applied. We also move the water plane up and down slightly to improve the effect.
There’s a special power up that turns your opponent upside down for 10 seconds - it’s sitting on the water near the plane - you need a walk-on-water power up to grab it
notice rank on apple/downloads 4 or 5 nice work I lost about 1 hour playing before I left. really nice work. But one bug, took me 20 minutes to join a server on a T1 connection, 2.5mbs a second supposedly.