Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 7 and Version 8 of content/BigShip


Ignore:
Timestamp:
May 7, 2014, 4:03:43 PM (10 years ago)
Author:
noep
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • content/BigShip

    v7 v8  
    11= Big Ships =
    22
    3 A BigShip should consist of multiple parts which can be individually destroyed, and the state of the individual parts should alter the behaviour of the entire vessels systems, such as shield, weapons or engines.
     3[[PageOutline(2-3,CONTENT,pullout)]]
     4
     5A BigShip (aka !ModularSpaceShip) should consist of multiple parts which can be individually destroyed, and the state of the individual parts should alter the behaviour of the entire vessels systems, such as shield, weapons or engines.
    46
    57[http://www.orxonox.net/ticket/356 Ticket #356: Big Ships][[br]]
     
    8688=== !BigShip ===
    8789
     90Note: As of PPS FS14, this has been implemented as "!ModularSpaceShip".
    8891The !BigShip class could be an extension of the existing !SpaceShip class.[[br]]
    8992Additionally to a normal spaceships functions, it has a list of !ShipParts which are attached to it. The !BigShips engines, weapons etc. can be modified by its subparts.
     
    107110[[br]]
    108111
    109 == Current implementation ==
     112== Implementation ==
    110113
    111114Currently the HeavyCruiser ship created in the HS13 PPS provides a model for such a large spaceship.[[br]]
    112115In a demonstration level the vessel can be flown, and all its parts are individually destructible. This was achieved by literally hooking multiple Pawns together using collisionboxes hidden inside the spaceship.
    113116However the destruction of parts does not influence the ships systems behaviour at all.
     117
     118As part of PPS FS14 a system allowing parts to be attached to !SpaceShips and being destroyed individually is being developed.
     119
     120In order to implement this for a spaceship, it needs to be a "!ModularSpaceShip". To assign an attached !StaticEntity to a !ShipPart, give it the same name as the !ShipPart you want it to belong to (c.f. example below). (Note: Multiple !StaticEntities can be assigned to the same ShipPart.)
     121
     122{{{
     123<ModularSpaceShip . . . >
     124
     125    <attached>
     126        <StaticEntity name="wing"  . . .  />
     127        <StaticEntity name="tail" . . . />
     128    </attached>
     129
     130    <parts>
     131        <ShipPart name="wing" . . . />
     132        <ShipPart name="tail" . . . />
     133    </parts>
     134
     135    <engines>
     136        <Engine />
     137        <Engine />
     138    </engines>
     139
     140</ModularSpaceShip>
     141}}}
     142
     143Now hits received on !StaticEntities assigned to a !ShipPart will forward their damage to the corresponding !ShipPart instead of to the main !SpaceShip. Every !ShipPart has multiple parameters to customize its behaviour, which can be defined in the XML files:
     144||health||Same as for a normal Pawn||
     145||initialhealth||Same as for a normal Pawn||
     146||maxhealth||Same as for a normal Pawn||
     147||damageabsorption||Value ranging from 0 to 1. Defines how much of the damage received is absorbed by the part, while the rest is forwarded to the main Spaceship.[[br]]This can be used e.g. to create "physical" shields which get destroyed after getting too damaged (high absorption value)||
     148
    114149
    115150[[br]]