User Tools

Site Tools


game_design_main

Rewrite the following text into an overall model of a game (strategic action).

SWARM WARS

Overall game design:

In order to make any entity in a game simulaton perform according to a set of rules a ticker method needs to be implemented. This ticker method is an internal clock each entity has which it holds up against either a central ticker ticking away throughout the game/simulation or it carries the equivalent of an internal clock that it can hold up against the Each tick of the entity

An entity.

Definition: An entity – Either player controlled or an NPC, a non player character.

Attributes common for all characters:

Attribute: String unique id number # This number is used for object which have identical names but exist in multiples. For instance a stone could be called rock and have a unique ID of 4567. Thus we could have 4566 other rocks that could serve different purposes if that was the number of rocks in our game simulation and rock 4567 could be transformed into pebble 1, 2, 3, 4, 5, 6 etc. should we decide to use it to some purpose which transformed the objects properties. i.e. a Mutation process is nesceseary to change the properties of an entity. Attribute: String name This is the name under which an entity can be referred to during a game simulation

Attribute: int currentLifePoints (entity lifespan while currentLifePoint > 0 Evt. gera sjálvnidurleggjandi objektir i.e. setObject Null;

Attribute: maxLifePoints (maimum life energy available for entity ever) maxLifePoints = (Value is set for each PC or NPC according to some higher plan for each game).

startLifePoints available are set at the creation of our characters be they player entities or NPC's.

currentLifePoints is determined upon the value of startLifePoints available + lifePointChangingEventResult;

lifePointChangingEventResult is a value from N^n-1 ⇐ 0 ⇐ N^n – i.e. going toward infinity bothways set by for instance attack – food intake – walking - or whatever other things we choose is to affect the player entities or the NPC's.

Cause of enity termination – expiration of lifepoints. That means all our ways to shorten an entity's life must somehow afflict currentLifePoints.

example: if (kollisionstest true deduct attackers kollisional yield from lifePoints) {

  if playerLife = 0; 
  System.out.println("Game over!"); 

} Getting an extra life if (playerScore > 9999) {

  playerLives++; 
  System.out.println("Extra life!"); 
  difficultyLevel = difficultyLevel + 5; 

} Adds a life and increases difficulty

Entity rememberence: Remembered – Unremembered

Time span entity is remembered

Entity hostility level: 0 = benign pacifist - non reactive 1 = benign pacifist - reactive 2 = benign neutral – reactive 3 = hostile – reactive 4 = hostile - aggressive

Cooperation willingness With whom, under which conditions and for how long

Communication willingness With whom, under which conditions and for how long

AI level 00: Simple, able to proceed and carry out orders. Will not deviate from course regardless of conditions and will commence with assigned task immediately upon arrival.

Follow route

AI level 01: Average, capable of some command decisions, avoiding weather fronts, stealth approach, pulling back if attacked, waiting to receive new orders etc.

Deviate from route, take new route, take new order

AI level 11: Advanced, capable of self repair and self replicatipon from materials scavenged en route and on site. Capable of command decisions and will inform nanobots average and above to converge on attackers if strenght estimate calls for attack or to pull back if enemy is deemed to strong.

Deviate from route, take new route, take new order, issue orders to nano's select new target if within sensor range

Entity behavior pattern: If attacked

If left alone

Helper Classes: LifePointCalculator – an account class that can add or subtract lifepoints from an objects LifePoint “account”

Game Objective: Build nanobots Give nanobots tasks Conquer rival territories

An area can be defined by a polygon – This polygon can in turn be selectable I suspect making it possible to have jagged edged object that are clickable.

Music in swarmwars – available to be used for demo I'm a guitarist/bassist (have been for some time) and these are tunes I wrote that you can have for free. Of course they're copyrighted by me, but feel free to distribute them with appropriate credit (John Selvia).

Entity Mutation. In a game simulation it might be nesceseary to mutate an object into another. We must do this by creating a mutation setting for an object. a simple way could be that an object with a higher value could mutate an object.

Something else to consider is the combination of objects into new objects – Perhaps the mutation thing should be tied into a tool factor as well.

In the DNSL project we created a multitude of commands to send back and forth in the protocol, the following should be looked at and discussed to see what is general information sent back and forth in games. For discussion

Minimum requirements - A discussion on minimum requirements

game_design_main.txt · Last modified: 2012/03/13 13:57 by einarpetersen