Assignment Day           Thursday, October 9, 2017
Due Date See schedule page [updated]

 


Project 2: Discrete Event Simulation: Time Stepped - Soccer Teams

  1. Supporting Framework:
    ASCII soccer, and Java Soccer Server must run. ASCII soccer must run on nike.
    Zip file ASCII soccer: here.
    Zip file Java soccer: here
  2. Port ASCII soccer teams to Java soccer server teams:
    Port 3 teams from the ASCII soccer server to the Java soccer server.
    (1) rollers (described in header),
    (2) gboone (a captain on a team, and other players follow the captains. Captain is the player closest to the ball, and the role of captain changes to the player closest to the ball). Other players are behind the captain, or lined up behind the ball so they can capture the ball in the event that the ball passes the captain). (board sketch here)
    (3) wall (wall of players). The general ideas is that the players spread out into a wall of players, in "offensive mode" as the ball heads towards the goal player 2 spreads out by moving up (NW), and player 3 spreads out by moving down (SW), while players 1&4 continues straight (W) towards the goal. Similarly if ball themoves in an angle but still towards the goal, i.e., NW/SW, players 1&4 heads W - straight towards the goal, while the other players heads in the same direction as the ball. Some caveats - when ball moves up (S) player 1 moves E pending relative y position of player 2, and when ball moves (N) player 4 moves E pending relative y position of player 3 (schematic here for 'wall' in offensive mode).
    For defensive mode - see code/and imagine 'wall of players.'
  3. Create 2 new team strategies:
    Suggestions/Requirements : both must beat the (provided) brute force team.
    (1) both must beat the brute force team
    (2) teams must be different
    (3) write a paragraph describing your strategy.
  4. Extend, or Evaluate/Experiment) the Java Soccer Server (simple extensions, select 1-3 items, scoring based on effort).
    (1) Study the impact of adding more players (11 per team). [5 - 10 pts depending on the depth of the study]
    (2) Study the impact of designated players vs. player that changes roles (e.g., a goalie becoming an offensive player).
    (3) Implement variable power / direction of kicks [10 pts]
    (4) Add soccer rules into the game, such as rules concerning (intentional)
    (5) Study the server and make suggestions on how to improve it [1-10 pts]
    (6) Propose an extension or a study that you find interesting.

    For "study" set up experiments to study an issue and write about the results.


    Caveats: Need JDK for the batfile to compile. Make sure you still have JDK if you upgraded your computer after 1301.

    Grading will focus more on implementting the strategies, rather than porting the exact syntax.

Submission Guidelines

Submit code, write-up(s) on nike, and a readme file describing what you did.

Grade Criteria

10 pts - supporting framework - clean ports
60 pts - teams ported (20 points each, bulk of project)
20 pts - 2 new teams (10 points each), teams need to be different.
10 pts - java soccer extensions (5-10 points each)