Project 1: A Grid Based Soccer Simulator

Assignment Day August 18, 2015
Check Point 1 August 19, Port ASCII Soccer from nice to work on laptop (should be straight forward).
Check Point 2 Final August 27 (Demonstrate Java Version on Laptops in Class)
Team Competition September 02 (project 2 submit teams)

 

 

Collaboration Policy - Read Carefully

You must work on this project individually, but you may discuss this assignment with other students in the class and ask and provide help in useful ways, preferable over our email list so we can all benefit from your great ideas. You may consult (but not copy) any outside resources you including books, papers, web sites and people.

If you use resources other than the class materials, indicate what you used along with your answer.

Objective

    Your job is to create a soccer simulator in Java where competitor can create their own soccer teams and use your simulator to compete. You should also provide a graphical interface displaying the teams process. If you are curious what such a simulator would look like take look at ASCII soccer which is a simple simulator implemented in C. Your implementation should provide the same functionality as ASCII soccer, but with graphics.

    ASCII soccer is provided, but it is not guaranteed to work in your environment, it has been tested on earlier version of redhat, Solaris and it works on the current C/Mac environment (snow leopard and lion).

Questions/Answers:

  1. Question: What is the environment like?

    Answer: The world should be a grid based world -- were there are only specific locations that the players can inhabit.

  1. Question: How far should the ball go?

    Answer:

    The direction should be a bit noisy -- i.e., the ball may not go exactly away from each player.

    The distance should be a bit noisy -- sometimes the ball goes further sometimes it goes shorter

  2. Question: Can players be on top of another?

    Answer: This should be prohibited (this is also what ASCII soccer does).


Other Specifics:

    In addition to develop a soccer simulator you will also need to implement two example teams A1 & A2 (different from the teams provided).

    A1: One team that uses some brute force technique (but a variation of the existing team) such that each player goes directly towards the ball.
    A2: One team that you design yourself.

      You need to write your simulator and teams so that it can easily be distributed and used by other people. Here are some HINTS: B

      Be careful how you define your team API

      Look at the README file provided in ASCII soccer for hints or an updated README file here:

     

Other Information:

    Make sure you environment sees the following executables:

    g++
    ranlib
    ar

    How to get the ASCII soccer and run it on atlas:

    get the ASCII soccer software at
         project1soccer/ASCII_soccer.zi

    go to unzipped directory, then

      cd soccer

      Check out the README file at README

      see Quickstart in README file to run server and teams.

      Run the script:
               contest example wall

Other Requirements

Submitting (more details coming soon):

You need to name the directory of your source code "project1/". You must to include a README.txt file describing how to run and compile your program. You also need to include a Makefile, you can find an example Makefile in the directory of the shell helper files directory accessible from the schedule web page.

Create a directory project1

Submit your file via the submit command:

submit project1 cs8220

For your team project, create directory project2 and submit via the submit command.

submit project2 cs8220

 

source files in Java needed that compiles and runs on nike.

Put all the materials needed in the project 1 directory (including a README.txt file)

README.txt
REPORT.txt (you may change the extension .txt if not plain text e.g., .doc, .pdf) should include minimally:
A description of your simulator (about 1 page)
A description of your teams and
Screenshots of your simulator.
User documentation, i.e. instructions for a new user on how to use your simulator (email the report to instructor).

     

 

 

 

 

 

 

 

 

 


Acknowledgements

The course may use materials from previous game programming courses taught at other universities.