Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 4 and Version 5 of content/BigShip


Ignore:
Timestamp:
Dec 9, 2013, 8:35:53 PM (10 years ago)
Author:
noep
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • content/BigShip

    v4 v5  
    22
    33A 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.
     4
     5[http://www.orxonox.net/ticket/356 Ticket #356: Big Ships implementation]
    46
    57== Example ==
     
    2426== Detailed Specification ==
    2527
    26 There is two kind of objects needed to create a big ship:
     28We assume there is two kind of objects needed to create a big ship:
    2729 * The main ship body (subsequently referred to as ''!BigShip''), which is controlled like any other spaceship by a player or AI.
    2830 * Sub-parts of the ship (subsequently referred to as ''!ShipPart''), which are attached to either a !BigShip or a !ShipPart. They can interact with their parent-part in many ways.
     
    6466}}}
    6567
    66 The parameters of !BigShip and !ShipPart describe how the parts interact with each other. This requires many different functions, here's a few examples:
    67  * Damage-sharing
     68=== Possible interactions of parts ===
     69
     70The parameters of !BigShip and !ShipPart describe how the parts interact with each other. This requires the objects to support a wide range of functions, here's a few examples:
     71 * Damage-sharing: Hits received by a !BigShip or !ShipPart can be shared to other parts attached to it
     72 * Variable-modification: Destruction of a part can e.g. reduce shield reload rate
     73 * Destruction events: If a part is destroyed, it can destroy objects like weapons or engines
    6874
    6975=== !BigShip ===
    7076
    7177The !BigShip class could be an extension of the existing !SpaceShip class.[[br]]
    72 Additionally to a normal spaceships functions,
     78Additionally 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.
    7379
    7480=== !ShipPart ===
    7581
    76 
     82In order to make a !ShipPart attachable, it has to be a static entity.
    7783
    7884== Problems ==
    7985
    80 With the current implementation of Pawns, it is impossible to nicely implement such a big ship into the game. This is due to the only destructible entities being Pawns, which are dynamic entities, which again cannot be attached in XML. Therefore the structure of Pawns needs to be changed, in order to create destructible static entities.
     86With the current implementation of Pawns, it is impossible to nicely implement such a big ship into the game. This is due to the only destructible entities being Pawns, which are dynamic entities, which again cannot be attached in XML. Therefore the structure of Pawns needs to be changed, in order to create destructible static entities, which Bullet (the physicsengine) can attach to a spaceship.
     87
     88Another problem is how to attach turrets. They need an AI controller and they need to be able to move (rotate), yet they need to be attachable.
    8189
    8290A discussion on this topic can be found on the [http://orxonox2.vseth.ethz.ch/phpBB3/viewtopic.php?f=1&t=1104 Forum].
    83 
    84 [http://www.orxonox.net/ticket/356 Ticket #356: Big Ships implementation]
    8591
    8692== Current implementation ==
     
    8995In 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.
    9096However the destruction of parts does not influence the ships systems behaviour at all.
     97
     98== More Ideas ==
     99
     100!BigShips could use an own HUD, to show individual parts health.
     101
     102Systems of the !BigShip could be controlled, e.g. power can be manually directed to engines, shields or weapons.