This is an old revision of the document!
Entity-Parameter
Vollständige Auflistung der konfigurierbaren Parameter für Spielobjekte die einerseits in unserem Dateiformat gespeichert werden soll und andererseits in ein komponentenbasiertes Entity-Design abgebildet.
Entity
Map-Editor
Movement
Abilities
Physics
Interface
interface renderable
(various interface text elements(?)
enum mini-map-icon (robot, tank, building)
Sound
(not yet implemented) movement sound - Fahr- oder Schrittgeräusche.
(not yet implemented) production sound
(not yet implemented) sound set unit voice set
Building
Tank
Robot
Other parameters
renderable
object name(?)
maximum health
regeneration speed
armor type
build time
repair multiplier
flag destructible
wreckage fade out time - Ein an Shader übergebbarer Parameter leitet sich hieraus ab mit dem das Wrack sanft ausgeblendet werden kann.
flag vulnerable - Ein Gebäude könnte beispielsweise verwundbar, aber nicht endgültig zerstörbar sein.
(not yet implemented) unit classification(?) - Eventuell Klassifikation die unterschiedliches AI-Verhalten hervorruft? Oder besser das aus den Kanonen der Einheit ableiten?
(not yet implemented) formation priority(?) - Angenommen man hätte eine Option gruppierte Einheiten automatisch zu formieren so würden diejenigen mit höherer Priorität sich an die Spitze stellen.
target selection range - Ab welcher Distanz versucht eine Einheit eine feindliche anzugreifen, auch wenn sie nicht selbst beschossen wurde.
out of range movement buffer - Wie weit bewegt sich eine Einheit wenn sie selbstständig ein Ziel erfasst hat, es aber außer Reichweite ist.
flag fixed yaw - Neigt sich die Einheit auf dem Terrain, oder steht sie immer gerade?
list of cannons
Cannon
flag integrated - Kanone hat keine eigene Node und ist nicht drehbar.
turning point
turning axis
exit point
horizontal turning speed
horizontal maximum turning angle
vertical turning speed(?)
vertical maximum turning angle(?)
projectile renderable
projectile speed
hit effect/renderable
barrel effect/renderable
projectile angle - In was für einem Bogen wird das Geschoss abgefeuert.
flag homing missile - Zielsuchendes Geschoss?
list of base damage, dice number, dice side number
list of damage radius
(not yet implemented) list of firing sounds
(not yet implemented) list of hit sounds
(not yet implemented) projectile sound
delay between shots
shot duration - Schussanimationen werden skaliert um der Schussdauer zu entsprechen.
missile exit time - Zeitpunkt in der Schussanimation an dem das Geschoss austritt.
list of allowed target types
Renderable
Renderable Node
internal name - Zur besseren Übersicht ein Name der (nur) im Parameter/Objekt-Editor sichtbar ist.
position
orientation
scale
mapping between animation states and mesh animations
mapping between renderable parameters and shader parameters
mapping between renderable parameters and effect states
mesh, material, textures, effect
role - Welche logische Komponente wird durch die Node repräsentiert?
Beispiel
Entity testEntity
{
renderable = "test object renderable"
entityName = "test object"
maxHealth = 30.0
regenSpeed = 4.0
armorType = "test object armor"
buildTime = 90.5
destructible = true
vulnerable = true
wreckageFadeTime = 15.5
targetSelectionRange = 600
targetMovementBuffer = 200
fixedYaw = false
editorPlaceable = true
editorCategory = "Test Objects"
moveSpeed = 270
turnSpeed = 180
abilities = ("radar", "repair")
collisionRadius = 5.5
wreckageCollisionRadius = 0.0
interfaceRenderable = "test object interface renderable"
canProduce = ("grunt", "psycho", "rocket")
numTurrets = 2
turretPos = ((2.0, 4.0, 5.0), (4.0, 4.0, 5.0))
allowedTurrets = ("turret rocket", "turret gatling")
spawnPos = (1.0, 0.0, 2.0)
exitPos = (3.0, 0.0, 2.0)
gateOpeningTime = 2.5
hasDriver = true
driverVisible = true
hasHatch = true
allowedDrivers = ("grunt", "sniper", "laser")
passengersVisible = true
numPassengers = 3
passengerPos = ((1.0, 2.0, 3.0), (2.0, 1.0, 1.0), (2.4, 3.4, 1.3))
allowedPassengers = ("grunt", "sniper", "laser")
passengersShoot = true
Cannon cannon1
{
isIntegrated = false
anchorPoint = (1.0, 2.0, 1.0)
anchorAxis = (0.0, 1.0, 0.0)
exitPoint = (2.0, 2.0, 1.0)
horzTurnSpeed = 80
horzMaxAngle = 150
vertTurnSpeed = 50
vertMaxAngle = 40
projectileRenderable = "test projectile"
projectileSpeed = 1200
hitEffect = "test hit effect"
barrelEffect = "test barrel effect"
firingAngle = 45
steeringProjectile = true
damage = (15+1d3, 10+1d2, 5)
damageRadius = (3, 10, 15)
shootDelay = 2.1
shotDuration = 0.85
missileExitTime = 0.5
allowedTargets = ("robot", "tank", "building")
}
Cannon cannon2
{
isIntegrated = true
exitPoint = (3.0, 2.0, 1.0)
projectileSpeed = 0
hitEffect = "test hit effect 2"
barrelEffect = "test barrel effect 2"
firingAngle = 0
damage = (4)
damageRadius = (0)
shootDelay = 2.1
shotDuration = 0.55
missileExitTime = 0.2
allowedTargets = ("robot")
}
}