Independent Study Proposal
(Revised to add Black-and-White-style AI)
Goal: An attractive prototype that demonstrates the basic elements of an original Facebook game.
Having a visually interesting, ‘feature-complete’, and relatively polished client-side demo that could be presented to recruiters will take priority over having the game actually working on Facebook.
Tasks and anticipated time frames:
Task 0: Formulate Initial Design (January)
0.1: Study Actionscript 3.0
0.2: Check out other virtual pets, order a copy of Black & White
0.3: Initial high-level design, draft up proposal
Task 1: Investigate Decision Trees and Quinlan’s ID3 AI system (February 1 – February 7)
0.1: Research Decision Trees
0.2: Research Quinlan’s ID3 AI system
0.3: Diagram out an example of creating and using a decision tree,
in the context of the game
0.4: Design an algorithm for the game to use
Task 2: Investigate Facebook SDK (February 8 – February 20)
0.1: Read through tutorials
0.2: Implement or find source code for a bare-bones application
e.g. sending friends gifts, etc.
0.3: Implement or find source code for incorporating Flash into an application
0.4: Decide on a language to use (if not ActionScript 3.0)
Task 3: Finalize Game Design (February 21 – February 28)
0.1: Design Document, a la CIS 564 and Stone Librande’s class,
Including specific details on the sample mission, specific behaviors, etc.
0.2: Digital concept art
0.3: Get lots of feedback from other people, possibly send to Maxis people,
redesign as needed
Task 4: Implement core client-side code (March 1 – March 20)
0.1: Implement decision trees with Quinlan’s ID3 system abstractly
0.2: Adapt code for the game, decide on specific behaviors and how to train them
0.3: Implement a test creature
0.4: Design and setup basic UI
Task 5: Art Assets (March 21 – March 31)
0.1: Integrate creature ‘model’
0.2: Background art
0.3: Make UI look ok
Task 6: Client-side testing and redesign (April 1 – April 15)
0.1: Get at least three people to play around with it,
reworking the game between each
0.2: Test out a player-vs-player battle with real people, on the same machine
0.3: Compare again to existing Facebook games, and what makes them addictive
Task 7: Implementing a specific mission as a demo (April 16 – April 30)
0.1: Design all specifics of the mission
0.2: Implement a framework to create missions from
0.3: Implement the specific mission
0.4: More playtesting and reiteration
Task 8: Facebook integration (May)
(depending on the findings of the Facebook API investigation, this may start sooner)
Concept: Players each raise one or more creatures, and use them to battle each other for fun and to benefit charitable causes. Raising a creature involves providing positive and negative reinforcement to a system implemented with decision trees. Quinlan’s ID3 system may be used to make the trees as organized as possible (reducing entropy produces better AI).
Conflict: Training creatures is the core task; these customized pets are then used in standard leveling-up missions, player vs. player asynchronous battles, charity missions. Mostly using the trained abilities and resource management, but perhaps some real-time minigames as well.
Incentive: Pokemon-style competition and creature collecting/nurturing appeals to a wide audience. The point of this game is to take the resources this attracts and combine and direct them at positive causes.
Key features: The main technological feature is that the creatures can be trained.
Combat takes elemental alignment and various stats/special abilities of the creatures into account.
Players will be able to trade creatures with other players, or raise them from eggs → hatchling → adult → specialized adult.
If this were turned into a full game, bonus missions, possibly requiring a band of active players, could be released – with holiday themes, etc. Ideally charity missions could be launched as well, where the players battle some real-life issue and all the real money put into the game for that mission goes to actually solving it.