Multiplayer Software Engineering – Knock Out

KnockOutRelease: January 2015
Genre: Bumper Car Multiplayer
Made with: MonoGame with System.Net (C#)
Compatible with: PC

Download Here

Framework Source Code


My Multiplayer Games & Software Engineering assignment, the task was to demonstrate methods of handling data for games through a network. What I did was write a basic Server & Client library to send messages between each other, and I wrote a game with it.

I wrote the library (and named it GPNetwork :P) that has a server and client class for both TCP and UDP networks, the server and client in the program above uses the UDPServer and UDPClient respectively, where you can send messages between clients. One client can start a game, which opens up a game window for each client running.

The game, Knock Out, is a simple bumper car style arcade game. Each player controls a car that moves around the arena, and you much push off other players in the arena. Last one standing wins!

12 thoughts on “Multiplayer Software Engineering – Knock Out

  1. Hi, i downloaded your program…It works local…I have tried to send the Client to my friend.
    When he try to connect, i see him on the server,(client1 Connected ) , but he is not able to write to me?(the fields on his client are disabled) How do i make this work over the internet(nonLocal)? When i start the server i use 192.168.x.x as IP and port 20. When he connects he uses my External IP and port 20. I have some options on my router to trigger ports, and redirecting. but i’m not sure what write in all the boxes??? Is it save to upload some images of whats going on, and expose my external IP? I could put them on my homepage for u to see. if that would be of any use?

    • Hey there, sorry for the very late response, been preoccupied with work. Sorry to hear it’s not working for you at the moment, has the client seen any errors? The Chat Lobby Client should display any exceptions on the chat window. It’s been a while since I had a look at it. What happens if you use Loopback? Looking at the source code if you don’t check loopback it should use the Local IP Address.

    • It was built with an old version of MonoGame so I cannot be sure if it would work unless I get time to test it with a MonoGame setup. The examples should be fine as they are simply the client-server code that is used in the full game.

  2. Hello man! i had a question about your chat server. i am working on a chat program, and now i have a program that directly connects to your friend, but i also want the server. could you explain to me how that works? or send me the visual studio project of the server alone?

    • I have included a link to the framework’s source code, hopefully, it will help. Essentially, regardless of whether you set up a TCP or UDP server, once you call Start() it will start the listener and start a thread so it can wait for messages. How it will send and receive messages depends on the kind of server.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s