Biophage logo

After a good three months of hard work, I completed and submitted this pet project of mine to Microsoft's 2009 XNA Dream-Build-Play competition (http://www.dreambuildplay.com).

Video

Game Description

What is the game?

You must take on the role of a highly intelligent virus as you help it infest and multiply. But your virus is not alone; it must compete against the immune system, medication, and other viruses. Time is of the essence for the player to gain dominance in the game.

This game is played in a third person perspective with a control interface similar to a Real-Time Strategy (RTS) game. Although the game can be played single player, it is aimed more towards multiplayer action.

 

Where does the game take place?

Biophage takes place from within the innards of an unknown host body of some animal.

 

How is the game played?

At the start of the game session the player will only be able to control one virus capsid. This is the introduced virus particle that the host has picked up somehow. This capsid has limited movement, limited lifespan, and can infect only one cell.

When the player infects a nearby cell with this capsid, they will now be able control this infected cell.

An infected cell can divide into more cells of the same type by the phenomena of mitosis. The player can divide their infected cells provided that the nutrient store in the cell is adequate to a specific threshold of that cell's type; the number of cells the cell can divide into, the nutrient threshold needed to achieve this act, and the maximum nutrient store capacity are all valued attributes unique to the cell type. An infected cell can latch on to a healthy cell and infect the healthy cell.

Cells will constantly gain nutrient from the surrounding plasma (the watery stuff that all cells reside in) as a function of time and surface area; the bigger the cell, the more nutrients it can hold and faster it can induce them (note that the larger a cell is the more nutrients it requires to divide).A cell also has a combat attribute for use in battles against competing virus infections and the immune system.

The immune system is represented by white-blood cells; these cells will act similar to Non-Player Controlled (NPC) viruses but are considered heavy weights in battle. They cannot divide or be infected and only the host can introduce them into the bloodstream. They have very limited intelligence as they will only attack an infection within a certain proximity area from itself. White-blood cells will be administered periodically with every new administration consisting of more white bloods.

When two or more cells are conjoined together they form a cluster that can give the player more powerful control over their virus. A cluster is effectively a group formation that acts as a single entity to simplify the management of the virus. Cells and other clusters can be joined to the cluster or branch off from the cluster as new clusters or individual cells. All the cells in the cluster share their nutrients and battle attributes allowing the player to form unique battle formations.

If there are at least two unique cells in a cluster, those cells can be spliced together into one hybrid cell. A hybrid cell can be characterised similar to a normal infected cell, but the shape will be a morph of the two previous cells. Hybrids cannot divide like regular cells, but are immune to medication (discussed in the next paragraph).

The host will eventually react to an infection after a certain amount of time has elapsed with medication. This medication will flow throughout the entire bloodstream targeted at the most prevalent infected cell type. Medication will kill all infected cells of the targeted cell type. Hybrid cells have an advantage over medication as they are immune to medication.

 

Game play options

  • Three game types can be selected at the start of each game:

    • Timed match – The player with the greatest virus infection rate after a certain amount of time (as set in the game-play settings) is declared the winner.

    • Illness – The first player to have their virus infection reach a certain infection rate (as set in the game-play settings) is declared as the winner.

    • Last standing – The player with the last virus infection still alive is declared as the winner.

  • Single player game session where the player is pitted against non-player controlled virus AIs.

  • Multiplayer (via System Link or Player Match) game sessions. Maximum of 8 players in one session.

  • Non-player controlled bots can be added to provided an extra bit of challenge to single and multiplayer sessions.

  • A slow paced, step-by-step, tutorial eases the player into the game. At the end of the tutorial the player is free to explorer the features of the game without danger. This game play sandbox allows the player to developer a better understanding of the game without stress.

 

Technology

  • Biophage has been developed solely for the XBOX360 using Microsoft's XNA framework (programmed in the C-sharp language).
  • The game engine is totally developed in house. It is a cleanly designed engine that forces games to be developed with a high concurrent granularity. This makes games highly optimised for multi processor machines.

    • A thread pool is used with a low count of worker threads to minimise pre-emption.

  • Asynchrous loading decreases the time it takes before the player enters the game.

  • A unique resource management system. Resources can be safely loaded and unloaded with usage checks. Resources are accessed in the game via resource handles.

  • AI of the bots uses Fuzzy Logic that is implemented to take full use of the concurrent game engine system.

  • Networking is handled by a server / client setup, with my own unique network prediction algorithm (limits the network packet size to each client to less than 5Kb for the positions and orientation of up to 100 entities (this can be further reduced via a token ring system when implemented)).

  • Bloom visual effect for that extra bit of eye-candy.

  • XACT sound for tutorial playback (audio is in XMA format) and WAVE sound instances for sound effects.

  • JigLibX physics engine for collision detection and segment intersection testing.

 

SCREENSHOTS

In game, Virus capsid

In game, White blood cell attacking

In game, Cursor over White blood cell

In game screenshot

In game, Enemy cluster

In game screenshot

In game screenshot

Game over

Main menu