Internet Programming Lab 1
Summary:
In this lab you will take an existing simple 'game'-like graphical
application and turn it into a multi-player/user client server
application.
details
You will take the simple game like graphical program that I give you to
start with and tear it into two applications. The system will start out
looking something like this:
Your job is to:
- Take the client module and turn it into a stand alone program
- Take the server module and do the same.
- Design a network protocol between the two.
- The client should be able to send its movement requests to the server
- the server should be able to send locations of objects to the client.
- The server will decide where each object is at any given time.
- The client of course has to do all of the drawing for the user.
- other than these requirements you may move, add or remove elements from my initial design that you need to.
- The server should be able to accept at least 4 clients at a time.
Once you have an implementation of this separation you need to do a write up of your solution:
this can be done as a text file in your zipped submission folder. In your writeup you need to cover
- The major design decisions you made
- why did you do things the way you did?
- in particular any major code changes from my original should be
explained. Its fine to do so - and many improvements are possible, but
I want to know your reasoning.
- What is your network protocol?
- describe how it works/ what data do you send
- What mechanism do you use to deal with multiple clients? why did you choose it?
- did you useTCP or UDP and why?
- conclusions - did your approach work? would you recommend it for a small casual game?
As usual, the writeup will be worth a significant portion of your grade.
get the starter code here
Note that this is an updated version of the code with player tomato throwing worked in.
This lab will be due Tuesday Oct 7th at 11:59pm via online submission.
To submit please zip up your entire lab1 folder including all code and
your writeup. Include your last name somewhere in the name of your zip
file. (you might need to rename the file if you forgot while zipping up
the folder.)
Now move into the directory with the
submission system. (I'm looking into a way to skip this step)
cd
/home/bscstaff/jsantore/submission/g2/oss
run
./submit.sh
at that point. This will bring up a
graphical submit window.
use the menu to select the correct
section of comp427 to submit to (COMP427-1 for day students and
COMP427-2 for night students). Then select the file to submit and press
submit. if you get a message that says submitted sucessfully then you
are done.