SimCity201

Software Engineer, Java
Fall 2013
GitHub: git.io/SimCity201

As a final project for an agent-focused multithreaded programming course, our team of 8 people created a city simulation that would run independent of human input. The city had many different facets:

  • Citizens who eat, sleep, pay their rent, have jobs, travel about the city, go to the market, visit the bank, and go to restaurants.
  • 8 restaurants that citizens may choose to eat at.
  • A market that citizens may buy food or cars at.
  • A bus system to traverse the city.
  • A control panel that controlled things like number of citizens and different real-world scenarios (e.g. a restaurant runs out of food).

My programming included implementing and integrating a number of these different parts:

  • Bank GUI
  • Bank Integration
  • Citizen Technical Design
  • Base and Citywide GUI Technical Design
  • Control Panel Design, Implementation, and Integration
  • Zoom-In View Functionality
  • Trace Panel Integration
  • Restaurant Integration Manager
    • Responsible for merging individual restaurant projects into one working city.
  • Weekend Behavior
    • Disabling/Enabling Workspaces
  • Role Switching (Events)
    • Citizens had the ability to change jobs.
  • Transportation Integration
  • Bug Squasher
    • Fun Fact: I was nicknamed Fix-It Felix for my mad bug squashing skills!

Skills Developed:

  • Java
  • Multithreading
  • Agent-based Design
  • Unit Testing
  • GUI Design

Comments are closed