Skip to content

Simulation of an autonomous Sim City using agent design and scheduling

Notifications You must be signed in to change notification settings

richy0101/SimCity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

team02

SimCity201 Project Repository for CS 201 students

How TO play/Grade(?):

  • Run Program
  • Use Create a Person to create people to interact with the city.
  • Poor people (0 money) will take out loans first
  • Rich people will want to deposit
  • Everyone's starting food amount is randomized
  • Read below for limitations and known bugs.

Running Normative Scenario

  • Create a person works. Select None for occupation to create an unemployed person to see how he interacts
  • Can only instantiate people who take the bus as their transportation method.
  • Initial funds sets their starting money.
  • Aggressiveness sets their personality for how long they work and sleep.
  • When selecting occupation, market 2 seller does not work.
  • Market Role1 and 2 have already set up person as its job. Do not reassign them in Create a person.
  • Only one restaurant.
  • Multiple people live in homes.
  • All guis for restaurants (other than functional Ryan Stack's designated restaurant) is using market GUI.
  • Potential inconsistencies w/ different computers
  • (Ex. Busses sometimes stop stopping after running a long time on Mac computers)

Missing functionality in V1

  • Only one market running.
  • No intersections.
  • No cars.
  • No collision detection.
  • No A*
  • No apartments.
  • Populate City does not work.
  • No animation for markets to deliver.
  • No walking as sole form of transportation.
  • No bank robberies.
  • No weekends.

Missing functionality in V2

  • Buying/Driving Car Scenario
  • Car Collisions
  • Richard Phillip's complete restaurant integration
  • Vehicles stop for pedestrians

Ryan Stack's Contribution:

  • Implemented restaurant with added shared data, market interactions, and payment from cashier
  • Implemented front-end GUI, created window and application, and actionListeners
  • Created graphics for city, restaurant, bank, and some agents (with Ryan Sheh)
  • Helped implement bank, bankGUI, and roles for bank
  • Created an XML reader to read in scripts for creating scenarios and populating the city (with Alex Huang)
  • Created initial setup for project with interfaces and stubs from all designs
  • Created initial global clock and role class (iterations followed from other team members)
  • Added animation speed changer to GUI
  • Added clock display and clock changer to GUI
  • Edited current buildings to take in opening and closing functionality
  • Created custom building panels for every building to include changing inventory functionality and closing functionality
  • Added log filter to clean up console and display proper log messages (2 clicks over from create person tab)
  • Implemented more script files to populate city with 50 people

Richard Phillip's Contribution:

  • Implementation for bank roles
  • Implementation for bank GUI
  • Unit testing for bank roles for norm/some non-norm scenarios
  • Unit testing for bank GUI for norm/some non-norm scenarios
  • Missing functionality for V2: no robber interaction, no database (EC)
  • Implemented Second Bank
  • Implemented Bank Robbery
  • Implemented LandLord Role w/ Ryan

Reid Nakamura's Contribution:

  • Implemented Market Roles
  • Implemented Market GUI
  • Implement Market Role Unit Test
  • Helped to debug Transportation GUI
  • Resolved issue with Ryan Sheh to set up CardLayout of building animation panels
  • Fully implemented personal restaurant w/ normal/shared waiter/cook interactions
  • Updated Market Role Agent to Handle Deliveries
  • Worked with other team members to integrate market interactions into restaurant
  • Implemented time (days/hours/weekends)

Ryan Sheh's Contribution

  • Main Window GUI (w/ help from Ryan Stack)
  • Bank GUI (w/ Richard & Ryan Stack )
  • Market GUI (w/ Reid)
  • Home GUI (w/ Alex)
  • Implemented CardLayout (w/ help from Reid)
  • Implemented Directory Class for References (w/ help from Alex)
  • Unit Testing Bank Roles (w/ Richard)
  • Helped Implement Bus Agent & GUI (w/ Ben Tan)
  • Implemented personal restaurant w/ normal/shared waiter/cook interactions
  • Traffic Agent Design Doc
  • Apartment implementation/GUI
  • LandLord GUI
  • Updated Sim City MacroAnimation Panel to incorporate intersections/signs/nighttime.
  • Helped Nakamura's restaurant GUI
  • Icon/Images have tracking information for references
  • Implemented LandLord Role w/ Richard

Ben Tan's Contribution

  • Design of Car Agent & interaction with Transportation Role
  • Design and implementation of Bus Agent & GUI (w/ Ryan Sheh)
  • Unit testing for Bus Agent scenarios
  • Helped update Directory & Bus Helpers classes and supporting files (w/ Ryan Sheh & Alex Huang)
  • Helped hook up Transportation Role with Bus Agent (w/ Alex Huang)
  • Missing functionality: Cars don't stop for pedestrians
  • Implemented restaurant
  • Traffic Agent
  • Car Agent
  • Implemented vehicles through intersections w/ Alex
  • Helped implement Transportation GUI

Alex Huang's Contribution:

  • Designed and implemented Person Agent AI and PersonGUI
  • Integrated all roles and gui animations with Person Agent(contributions from respective implementers).
  • Debugged all Bank roles and fixed interactions within it as they were broken initially during integration.
  • Fixed Bank Role GUI's for interactions (with help from Stack, Sheh, Phillips).
  • Implemented Directory class and its data(contribution from whole team)
  • Polish superNorm test with help from Reid and Sheh
  • Implemented Transportation Role and TransportationRoleGUI
  • Missing Complete Unit Tests for PersonAgent and PersonGUI because of sharedInstance issues in Directory.
  • Completed TransportationGUI upgrades and sidewalk pathing for all people(With help from Tan)
  • Integrated restaurant into city with a few bugs but for the most part functioning
  • Implemented conveyer loop for walking
  • Missing non norms for collision cases in city
  • Implemented workDetails and AI logic for workers to leave and start work

Pushing back this req for V2 delivery.

  • Implemented personal restaurant w/ normal/shared waiter/cook interactions
  • Transportation Role (Walking) GUI w/ Ben

About

Simulation of an autonomous Sim City using agent design and scheduling

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages