SimCiv Project Proposal
This design is obsolete. See the new one.
|
|
| Game Name: |
SimCiv |
| Development Team: |
John Davin (jdavin AT cmu.edu) |
| Game Description: |
An alien species on a distant world has just begun to evolve,
and you are a visitor (or "god") who can impart your many
skills to these naive new creatures. But it will take time to teach
new skills and concepts, and you have to choose which qualities
you would actually like to promote in this new civilization. The
aliens are completely autonomous agents and will behave according
to the skills and principles they learn.
As the civilization acquires more knowledge and some level of
direction (ie, towards industrialization, or warfare, or enlightenment),
the game will announce turning points when the civilization evolves
into a new level of advancement. |
| Development Goals: |
- Create a diverse and evolving world that is different every
time the game is played.
- Develop emergent behaviors. The characters in the world should
exhibit learning, evolution, and should have "personalities"
(or unique skillsets).
- Replayability - since the game has many possible strategies
and emergent civilizations, it will provide new experiences every
time.
|
| Game Features: |
- Character level development:
Individual characters will evolve independently of each other
and will develop unique abilities. They will be autonomous and
will have the ability to teach their skills to fellow aliens (in
the same way that the god character can teach skills). Their knowledge
and skill set will determine their behavior and possible interactions
with their co-habitants.
- World level development:
Evolution of the civilization to different stages of advancement
(eg, Stone age, industrial age, enlightenment, etc). These advancements
will take time, and will be considered the main "reward"
of playing the game (with the informal goal of the game being
to advance your civilization - but as with all sim games, you
will be free to sidetrack your civilization or even damage it).
- Graphics:
Since this is an alien world, the graphics should be somewhat
artistic+unique, and certainly unlike any Earth type environments.
Model objects will be used for the aliens and the world may have
static objects.
The appearance (color, size, shape?) of characters will change
to provide visual feedback for their level of knowledge or type
of ability set. It will be important to have some way of uniquely
identifying the characters (eg, names floating above their heads)
so that the user can identify with them and keep track of goals.
Graphics should look nice, but will obviously have less priority
than the AI.
|
| Technical Features: |
- Artificial Intelligence:
Including:
- behavior selection,
- flocking (maybe)
- learning (possibly genetic, or RL based).
- large set of behaviors and character attributes
- graphics: only what is necessary to make the game playable and
visually stimulating. (aliens will be simple models roaming on
a plane, possibly with static objects in the world (water, acid
pools, food, buildings?)). Collision detection between aliens
so that they can approach each other and interact.
- Qt-based
GUI to provide easier user input, and world state feedback.
|
| Implementation Plan: |
Original development:
- All AI code, though techniques will likely be based on research
in the AI field.
- Graphics code - object collision, camera control, billboard
objects maybe.
- GUI code (but Qt OpenGL wrapper may be based on code that I've
written in the past).
Outside Code:
- Model loading from 3D Studio Max using code posted to class
dlist by Ben Hollis, and models obtained from web (maybe).
- Sound files and texture images will be obtained through Google.
|
| Schedule: |
- March 2: Project proposal completed
- April 6: Milestone 1 due - world rendered,
with characters wandering around, and controls for the player
to navigate. Basic GUI in place, along with controls for selecting
actions. Characters should have basic AI - pathfinding, and simple
behavior selection.
- April 20: Milestone 2 due - characters should
have more advanced AI, should be able to interact with other agents,
and civilization advancements should be operational. All of the
skills should be implemented.
- April 31: All major features completed. Begin
testing/tweaking.
- May 3: Project Launch and demo
|
| Gameplay strategies: |
There will be virtually unlimited strategies possible, both in
terms of what the user teaches the aliens, and who
it is taught to. For example, it would be possible to build a warring
civilization by teaching warfare skills and emotions such as hostility.
Or an intellectual civilization could be built by teaching literacy,
artistry, philosophy, etc.
In terms of who is taught, the game user is free to only
teach skills to one alien, who acts as a mediator to the rest of
the civilization and propagates the knowledge autonomously. Or the
game user can individually tutor the aliens, custom tailoring different
personalities.
|
| Relevant past work: |
This is similar to SimLife,
but is different because SimLife only
simulated life, not the development of civilizations. It is sort
of like a cross between SimLife and Sid
Meier's Civilization.
However, there will be major differences from both of those games:
- 3-D graphics, with 1st person exploration (SimLife was a 2-D
overhead view).
- Civilization was more of a strategy and world-building game.
My game will be more of a character building game, with more nondeterministic
behavior.
- Superior AI (I think SimLife was relatively basic, using genetic
algorithms primarily).
- smaller world - there will be <20 characters; must less
than SimLife's hundreds. In SimLife you would of course never
identify personally with any particular entities, while this should
be possible in my game.
The 15-493 fall 2002 game "Spheres",
by Justin Truman (jbt) is slightly similar in that it also focused
on behavior-based AI. But my design will be much more open-ended
and use different AI algos. The Spheres agents also did not evolve
or change during the game I think. |
|