Overview

Dr. Robert Beiko is seeking proposals to develop the networking and
operational aspects of a computer game that will be used to teach basic
principles of population and sequence evolution. The purpose of this game
will be to introduce students from a primarily computer science background
to the ideas of biological populations, fitness of individuals, and
changes in DNA and protein sequences that occur over time. The game will
be played in a classroom setting, where students choose basic properties
of a population of organisms. The starting populations will then compete
against one another in a changing environment. When the simulation is
completed, the teacher will be able to show summaries of the proceedings,
including evolutionary trees and sequence comparisons.

The basic architecture of the game will be a client / server format, where
each student runs an instance of the client application, and the teacher
manages the server. The game will proceed as follows:

(1) The clients connect to the server.
(2) Each student selects starting parameters for their population,
including resource usage, preferred habitat, and rate of mutational
change. Based on these parameter choices, a population is created, with
each individual containing DNA sequences that influence their habitat
preference, etc. 
(3) The teacher defines the initial environment (for
instance available resources, habitat parameters)

Turn procedure:

(4) In each turn of the game, minor random changes are made to the
underlying DNA sequences, which may change the fitness of a students
population in a given habitat, or change their preferred resource.
Populations increase or decrease in size based on their survival: if a
students population reaches zero, they are eliminated. 
(5) While the mutation process is random, the student can modify the
mutation rate of their population to increase or decrease the number
of changes that occur.  They can also try to migrate their population
to a location with better resources or a more suitable habitat.
(6) Environmental parameters change:
temperatures increase or decrease, resources become more abundant or
scarce, etc.

The game ends after a predefined number of turns, or at the discretion of
the teacher. Recorded sequences and population histories can be compared
to illustrate how sequences have changed over time, particularly in
response to changing environmental conditions.

Proposal details

Four elements of this game will ultimately need to be developed: network
operations, turn procedure, parameterization and implementation of
evolutionary phenomena, and graphical representation. The current RFP is
focused on the development of the networking and turn procedure aspects of
the game, and (potentially) classes to represent elements like DNA
sequences and habitats. Although biological knowledge would be an asset,
it is not necessary for the basic development of this program.

Applicants should provide the following information in their proposal:
- An outline of the proposed architecture of the game 
- A justification for the choice of language to be used 
- A brief overview of relevant code libraries that will be used 
- A work plan, indicating the steps in implementation and estimated time 
for each step

Applicants do not need to develop a plan for game elements that are not
covered by the proposal, but the proposed implementation should be
developed the final goals of the software in mind.