We wanted to do something cool with multiplayer and so we decided to make a duck jousting game with multiple players. We wanted to understand how servers work so we developed a Low-level API (LLAPI) for our game to run instead of unity's High-Level API (HLAPI).
What it does
Right now, you run the server and then you can either run multiple clients on one computer and have them all play with each other or give your friends your local IP and have them connect to your server. Just launch the server.exe and then launch client.exe.
How we built it
We used unity and visual studio. The clients communicate with the server and get and receive each other's positions every update frame.
Challenges we ran into
We did not have enough time to make it into the jousting game we wanted to. You also can't see the other players rotate and can't really interact with each other beyond seeing each other. We had multiple problems with getting the clients to communicate with the server properly and then getting the server to tell the client's each other's positions.
Accomplishments that we're proud of
We have multiple clients that can communicate with each other while running on one computer. We are very happy with how you can see the other player's move around and how you can have more than two clients run together. We also have made the framework for it to work online, we just need an open port and set it up so the client can enter what the IP they want to connect to.
What we learned
We learned a lot about how servers work on both High and Low end. We learned a lot about multiplayer video games and how they operate.
What's next for Server Ducks
We want to finish the project by getting it to work over multiple wifi and add some actual gameplay. We are also hoping to learn about how linear interpolation is used to make the movement smoother and add actual gameplay.