So I guess this divides into the following categories

Locational Properties -
   These are properties which describe where an object is on a starmap
(and where they are going). Things like wormholes could have multiple
positions.

Descriptional Properties -
   These are properties which are for the players information when
making decisions. As far as the client is concerned they don't have any
effect on the game.
   These would include things like "Name", "Description", etc.

Habitation Properties -
   These are properties which describe if a race can survive at an
object. Things like temperature, atmosphere, etc. They are most likely
to be found on planets. 

Resource Properties -
   These describe what is available to be used/mined/etc at a location.
Found generally on planets, asteroid fields, 

Goodness Properties -
   These describe how good X is at doing something. For example
production capability or population size.

Order Queues -
   Currently we only have one order queue. There is no real reason an
object couldn't have multiple order queue's. 
   This could be used for where you want a separate "Build Queue" to an
"Action Queue". It could also be used on ships where you have an "Battle
Queue" which specifies what the fleet should do in battle (IE Attack
hard for X turns, run away).

Properties also have a general type,
  Text Property - Just a string, HTML or some other Formatted String,
etc.
  Integer Property - Just a plan number.
  Range Property - Some type of range, for example the bars in Stars!
habitability.
  Gauge Property - Some type of thing which fills up, like the fuel bars
or the cargo bar in Stars!
  Reference Property - Refers to something else (for example a player, a
design, etc)
  List Property - Lists a bunch of other properties (IE Resources would
be a list of reference properties?)  
  Choice Property - Can make a choice of something.
  Graph Property - Some type of graph, with the location where the
current value is and where it is heading. This could be used for
production capability (which is likely to be non-linear).


Does this break down look sensible? I still think we need a bunch of
common arguments which all objects must have.

We could describe a planet in the following way,
  Temperature - Hab, Range (0K - 10,000K)
  Radiation   - Hab, Range (0Rad - 1000Rad)
  Gravity     - Hab, Range (0g - 1000g)
  
  Production  - Goodness, Graph (X - Value, Y - Production,
Points[(x,x), (x, x), (x, x)])

  Owners      - Description, List of (References to Players)
  Resources   - Resource, List of (References to Resources, List(Integer
- Surface, Integer - Mineable, Integer - Total))
  
  Build Queue - Order Queue
  Focus       - Choice ('Research', 'Production', 'Growth')

A planet would then be something like
  [100K, 10Rad, 10g, (89%, +10%), [ref('Mithro')], [ref('Tantilum'),
(100kt, 10kt, 115kt)], (10 orders), ('Research')]

What do you think? Anything which I have forgotten?

Mithro

_______________________________________________
tp-devel mailing list
[email protected]
http://www.thousandparsec.net/tp/mailman.php/listinfo/tp-devel

Reply via email to