Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Incorporate a Simulation Engine
- You must add a notion of time to your game, which will allow the state of the game world to evolve without interaction.
- We ended up implementing a discrete event simulation using the Simulation class available from SqueakMap. When the simulation is turned on, an update method gets called every few seconds that will "update" all people in the game with a random event.
- In addition to including a concept of time, our simulation needed to have random events occur that give it a feel of being closer to what might actually occur in reality. The easiest thing to do was to have a person tend to follow "desires" when determing the type of random event that they will do. These desires are based on attributes that are low or high. For example, if a person's hunger level is high, he will tend to seek out food items and use those items to satisfy his hunger. If their fun level is low, the person will tend to seek out fun items that will raise his fun level.
- Also, when the update method gets called, it will sometimes place random items in rooms throughout the game. As time goes on, the number of items that appear randomly will decrease. This makes the game a little more interesting with more objects for people to interact with.
Advice to future students:
- Continue to file out your code often.
- Once again, keep your SUnit tests updated. I can't stress this enough. It's much easier to write them with your method code instead of going back at the end to write them all.
- Make sure all of your classes include documentation. Make sure you write this as you write your classes. We also had to go back after coding and write all of this at the end... another pain.
Included in this turnin:
- Updated Scenarios
- Updated CRC Cards
- Updated Test Plan
- Updated UML Class Diagram
- UML Sequence Diagrams
- Updated SUnit Tests
- Code and graphics
Link to this Page