Observer / Replay function

Moderators: GSH, VSMIT, Red Devil, Commando

Post Reply
Feldheld
Rattler
Posts: 61
Joined: Thu Mar 31, 2011 6:39 am

Observer / Replay function

Post by Feldheld »

Wouldnt it be mega cool if you could join a human strat as observer, able to watch from sattelite, or switch to 1st person view of any player, and fraps it? I like to watch strat videos but there are so little of them and only from a single pilots/commanders perspective.

edit: even cooler would be a replay function like in starcraft.
Last edited by Feldheld on Sun Sep 23, 2012 9:46 pm, edited 1 time in total.
User avatar
Zero Angel
Attila
Posts: 1536
Joined: Mon Feb 21, 2011 12:54 am
Contact:

Re: Observer

Post by Zero Angel »

Replay function would be awesome, for sure.

VSR has a camera pod unit that can be enabled in the vehicle lists whenever VSR modes are activated. The camera pod can fly around cloaked and observe the action from first-person without interfering (it cannot be targeted, cannot steal missile locks, cant run over pilots and when morphed is invisible even to AI). I tested and the only ways which you could possibly interfere while in a camera pod are (1) stealing AI attention (only when unmorphed/visible) (2) Blocking shots by getting in the way of them, or (3) classic cheating by painting targets and managing units while in a camerapod. Most strat players will avoid resorting to these kinds of cheats and you pretty much have to intentionally cheat in order to affect games if you are a camera pod.

VSR also has a comm vehicle selectable as a starting unit that can deploy into commbunker view and observe from a top-down perspective (if you have arrow keys set up for camera pitch and yaw controls you can capture some pretty dynamic angles), though it's much more fun to fly around in a camera pod.

VSR modes and vehicle lists cannot yet be enabled for FFA or MPI without running console commands (namely 'exec vsr12smart') but it will be available for these modes in the next release (although the Hadean and Icecream races will not work well in MPI due to AIPs not being written for them).
Regulators
Regulate any stealin' of this biometal pool, we're damn good, too
But you can't be any geek off the street
Gotta be handy with the chains if you know what I mean
Earn your keep
Feldheld
Rattler
Posts: 61
Joined: Thu Mar 31, 2011 6:39 am

Re: Observer

Post by Feldheld »

I read about your camera pods on bzmaps.us. Nice effort there. Whats the movement physics of this thing? Like a scout? Or do you just float to wherever you point?

Looking forward to some 1vs1 tournament videos.
User avatar
S.cavA.rmyG.en
Sabre
Posts: 296
Joined: Fri Mar 04, 2011 3:15 am
Location: ISDF Junk Yard
Contact:

Re: Observer

Post by S.cavA.rmyG.en »

can't you limet it even more then that with odf tags?
I think it could but I mite be wrong.
here is me trying to make a ghost ship.

Code: Select all

[GameObjectClass]
classLabel = "morphtank"
DeployOnBuild = 1
geometryName = "null"
allowMDMCollisionDetonation = 0
CanAcceptPowerups = 0
ScanTeamLimit = 3 
isStealth = 1
candetect = 0
cancollide = 0
canselect = 0
isgrouped = 0
cantarget = 0
needgroup = 0
heatSignature = 0.0
imageSignature = 0.0
radarSignature = 0.0
collisionRadius = -5e6
maxHealth = 1200
maxAmmo = 2000
addAmmo = 0.0
addHealth = 1200
[CraftClass]
CanInteractWithTerminal = 0
CanUserBailout = 0
CanUserHopout = 0
CanBailout = 0
braccelFactor = 0.05f;
strafeFactor = 0.1f;
steerFactor = 1.5f;
omegaFactor = 0.28f;
velFactor = 0.2f;
avoidSpeed = 20;
topSpeed = 30;
[HoverCraftClass]
OverLandVelocFrontMult = 1.0
OverLandVelocSideMult = 1.0
OverLandThrottleMult = 1.0
OverWaterVelocFrontMult = 0.75
OverWaterVelocSideMult = 0.75
OverWaterThrottleMult = 0.8
airborneVelocFrontMult = 1.1 // *1.0
airborneVelocSideMult = 1.1 // *1.0
airborneThrottleMult = 1.5 // *1.0
airborneMinHeightRatio = 1.5 // *2.0
airborneMaxHeightRatio = 4.0 // *5.0
velocForward = 40.0 // [40]
velocReverse = 10.0 // [20]
velocStrafe = 15.0 // [20]
accelThrust = 30.0 //acceleration [50]
accelDragStop = 11.0 //how fast it stops once hands are off controls [13]
accelJump = 20.0 // [20]
setAltitude = 1.5 // how high off the ground
alphaTrack = 21.0 //springs speed it rights itself [21]
alphaDamp = 7.0 //shocks [7]
pitchPitch = 0.12 //nose up [.25]
pitchThrust = 0.12 //nose down [.1]
rollStrafe = 0.085 //rolls while strafing [.2]
omegaSpin = 3.5 //spinning in place speed [4.0]
omegaTurn = 3.0 //turning while moving speed [4.5]
alphaSteer = 4.0 //how fast it speeds up and slows down to steering [3.9]
rollSteer = 0.07 //rolls while steering [.25]
[MorphTankClass]
candetect = 0
cancollide = 0
canselect = 0
isgrouped = 0
cantarget = 0
needgroup = 0
heatSignature = 0.0
imageSignature = 0.0
radarSignature = 0.0
collisionRadius = -5e6
maxHealth = 1200
maxAmmo = 2000
addAmmo = 0.0
addHealth = 1200
CanScoutObjectifyWhenHidden = false
HiddenWhenMorphed = 1
CanUserDeploy = 0
[DeployableClass]
ScanTeamLimitDeployed =3
isStealthDeployed = 1
canAttackWhenUndeployed = 0
canAttackWhenDeployed = 0
4 THINGS TO REMEMBER:
1.Professionals are predictable,amateurs are dangerous
2.If you can't remember, the Big Gun is always aimed at you.
3.If it's stupid but works, it's not stupid,it's crazy.
4.Anything you do can get you killed,even if it's nothing
User avatar
Zero Angel
Attila
Posts: 1536
Joined: Mon Feb 21, 2011 12:54 am
Contact:

Re: Observer

Post by Zero Angel »

Camera pods have scout-like movement characteristics. This is partially because at kind of movement can capture the most action-packed views as well as only the morphTank class can become totally invisible to AI due to hiddenWhenMorphed=true.

SAG, your ODF resembles mine for the most part (though you have a lot of redundant entries, for example some of the stuff from [MorphTankClass] is already inherited from [GameObjectClass] so you don't need to set those ODF flags again). I've allowed camera pods to be 'blown' (ctrl+b) but you can't hop out of them. When they are blown they become a scout. This is so that players who would normally join and sit (ie: due to an uneven amount of players) can CTRL+B and enter the game as a normal player at some point.
Regulators
Regulate any stealin' of this biometal pool, we're damn good, too
But you can't be any geek off the street
Gotta be handy with the chains if you know what I mean
Earn your keep
User avatar
Red Devil
Recycler
Posts: 4398
Joined: Fri Feb 18, 2011 5:10 pm
Location: High in the Rocky Mountains

Re: Observer / Replay function

Post by Red Devil »

i could tweak things to add a bona fide spectator function
If given the truth, the people can be depended upon to meet any national crisis. The great point is to bring them the real facts - and beer.
Abraham Lincoln

Battlestrat, FE, G66, In The Shadows, Starfleet, Uler, & ZTV

Lifetime member of JBS and NRA
User avatar
S.cavA.rmyG.en
Sabre
Posts: 296
Joined: Fri Mar 04, 2011 3:15 am
Location: ISDF Junk Yard
Contact:

Re: Observer

Post by S.cavA.rmyG.en »

Zero Angel wrote:Camera pods have scout-like movement characteristics. This is partially because at kind of movement can capture the most action-packed views as well as only the morphTank class can become totally invisible to AI due to hiddenWhenMorphed=true.

SAG, your ODF resembles mine for the most part (though you have a lot of redundant entries, for example some of the stuff from [MorphTankClass] is already inherited from [GameObjectClass] so you don't need to set those ODF flags again). I've allowed camera pods to be 'blown' (ctrl+b) but you can't hop out of them. When they are blown they become a scout. This is so that players who would normally join and sit (ie: due to an uneven amount of players) can CTRL+B and enter the game as a normal player at some point.
the redundant entries are there becose I don't use morphtanks that much my self and as far as diing in to a scout that some thing I did not think of adding so I locked it.
the main thing is this.

Code: Select all

ScanTeamLimit = 3
allowMDMCollisionDetonation = 0
CanAcceptPowerups = 0
ScanTeamLimit = 3 
candetect = 0
cancollide = 0
canselect = 0
cantarget = 0
collisionRadius = -5e6
4 THINGS TO REMEMBER:
1.Professionals are predictable,amateurs are dangerous
2.If you can't remember, the Big Gun is always aimed at you.
3.If it's stupid but works, it's not stupid,it's crazy.
4.Anything you do can get you killed,even if it's nothing
User avatar
Zero Angel
Attila
Posts: 1536
Joined: Mon Feb 21, 2011 12:54 am
Contact:

Re: Observer / Replay function

Post by Zero Angel »

collisionRadius is an AI-only value, for example units with a bigger collisionRadius will be avoided more. Better to have an extremely small collision radius (like 0.1) than a negative one as a negative value may cause an undesired effect. Also since the cameraPods are equipped with a SITE camera only, I have set switchmask to 00000 to prevent the SITE camera from being greyed out during morphing.

Camera pod ODF looks like this

Code: Select all

// VSR Project
// Camera Pod (Spectator Vehicle)

[GameObjectClass]
classLabel = "morphtank"
baseName = "ivscout"
unitInfo = "ivcamrvsr.inf"
pilotConfig = "ivscout12vsr" // If blank, uses [if]spilo/[if]suser. Otherwise, pilot for craft
geometryName = "camerapodvsr00.xsi" // Model by General Blackdragon
geometryScale = 0.25

unitName = "Camera Pod"

aiName = "MorphTankFriend"
aiName2 = "MorphTankEnemy"

maxHealth = 1000
addHealth = 20
maxAmmo = 100
addAmmo = 100

armorClass = H

scrapValue = 0
// canSnipe = 0
// canCollide = 0

canSelect = 0
canDetect = 0
canInteract = 0
isStealth = 1

canAcceptPowerups = false // reject powerups (such as mines)

heatSignature = 0.0
imageSignature = 0.0
radarSignature = 0.0

Mass = 1 // If <= 0, uses default of Sphere(Width*Height*Breadth) * 800.0

provideCount = 0

UseVehicleCrashOnDeath = 0

NumChunks = 0
NumChunks1 = 0
NumChunks2 = 0
NumChunks3 = 0
NumChunks4 = 0
NumChunks5 = 0

scanTeamLimit = 3

/////// WEAPONS ////////////////////

weaponMask = 00001
weaponHard1 = "HP_SPECIAL_1"
weaponName1 = "gsitecam"
weaponAssault1 = 0
weaponHard2 = ""
weaponName2 = ""
weaponAssault2 = 0
weaponHard3 = ""
weaponName3 = ""
weaponAssault3 = 0
weaponHard4 = ""
weaponName4 = ""
weaponAssault4 = 0

////////////////////////////////////

lightHard1 = "hp_emit_1"
lightName1 = ""

[CraftClass]
/////// AI SETTINGS      ////////////
blastDist = 80
/////// GENERAL SETTINGS ////////////
CanInteractWithTerminal = true // default = true for all pilots/persons.
DoIdleDispatch = false
CanUserBailout = true // Human can exit craft w/ Ctrl-B if true
CanUserHopout = false
collideTerrainSound = "silence.wav" // Sound on collision w/ terrain
isFlying = 1 // probably does nothing

/////// PHYSICS SETTINGS ////////////
GROUND_ELASTICITY = -0.07 // -0.7 // -0.2
DAMAGE_SCALE = 0.0 // Scale in turning velocity into damage, on craft:ground or craft:building collisions
 // MIN_BOUNCE_VEL = 2.0 // 0.5
 // OBJECT_ELASTICITY = 0.0125


[HoverCraftClass]
setAltitude = 2.0
velocForward = 50
velocStrafe = 35

MoreLike12Physics = true

alphaTrack = 21.0 // *21 springs speed it rights itself 
alphaDamp = 12.0 // *8 +6 resists forces that change the pitch (and roll?) orientation of the craft, including terrain and pitchPitch

accelDragFull = 40

pitchPitch = 0.6 // +.3 Nose up/down speed
pitchThrust = 0.0 // Nose changes when craft is moving forward and backing up

accelJump = 18 // *18 Provides additional thrust to the upwards vector relative to the craft orientation.

rollStrafe = 0.04 // 0.14 // Rolls while strafing. Rolling combined with accelJump can increase single directional strafing speed.

omegaSpin = 4.5 // Turn speed when not thrusting 
omegaTurn = 3.5 // Turn speed while thrusting
alphaSteer = 8.5 // 10.5 // Turning responsiveness

OverWaterVelocFrontMult = 1.0 // *.75
OverWaterVelocSideMult = 1.0 // *.75
OverWaterThrottleMult = 0.8
airborneVelocFrontMult = 1.2 // *1.0
airborneVelocSideMult = 1.05 // *1.0
airborneThrottleMult = 1.2 // *1.0
airborneMinHeightRatio = 1.6 // *2.0
airborneMaxHeightRatio = 3.0 // *5.0

LIFT_SPRING = 2.5 // 6 // *25.0 Increases 
LIFT_DAMP = 0.1 // 0.1 // 5.75 // *6.25

// LIFT_SPRING = 6 // *25.0 Increases 
// LIFT_DAMP = 0.1 // 5.75 // *6.25

soundThrust = "silence.wav"
soundTurbo = "silence.wav"

[MorphTankClass]
HiddenWhenMorphed = true // if true, Vir+Red turned on when morphed
switchMask = 00000

LIFT_SPRING = 2.5 // 6 // *25.0 Increases 
LIFT_DAMP = 0.1 // 0.1 // 5.75 // *6.25

soundThrust = "silence.wav"
soundTurbo = "silence.wav"


[Lod1]

[Lod2]
Regulators
Regulate any stealin' of this biometal pool, we're damn good, too
But you can't be any geek off the street
Gotta be handy with the chains if you know what I mean
Earn your keep
User avatar
S.cavA.rmyG.en
Sabre
Posts: 296
Joined: Fri Mar 04, 2011 3:15 am
Location: ISDF Junk Yard
Contact:

Re: Observer / Replay function

Post by S.cavA.rmyG.en »

collisionRadius is an AI-only value
you sure?
I still don't see why you did not add

Code: Select all

ScanTeamLimit = 3 // nether player nor ai can see it on radar or see its name and ai will over look it till it attack them.
cancollide = 0 //ordence pass though
allowMDMCollisionDetonation = 0 //can't get hit by some ordence
cantarget = 0 //object can't be targeted
4 THINGS TO REMEMBER:
1.Professionals are predictable,amateurs are dangerous
2.If you can't remember, the Big Gun is always aimed at you.
3.If it's stupid but works, it's not stupid,it's crazy.
4.Anything you do can get you killed,even if it's nothing
User avatar
Red Devil
Recycler
Posts: 4398
Joined: Fri Feb 18, 2011 5:10 pm
Location: High in the Rocky Mountains

Re: Observer / Replay function

Post by Red Devil »

there is already a spectator ship in g66, but i commented it out until i round up another model to use.
If given the truth, the people can be depended upon to meet any national crisis. The great point is to bring them the real facts - and beer.
Abraham Lincoln

Battlestrat, FE, G66, In The Shadows, Starfleet, Uler, & ZTV

Lifetime member of JBS and NRA
User avatar
General BlackDragon
Flying Mauler
Posts: 2408
Joined: Sat Feb 19, 2011 6:37 am
Contact:

Re: Observer / Replay function

Post by General BlackDragon »

CollisionRadius is an AI only function. It tells other ships how "big" this unit is in the 2d collision planner, so they try to stay X meters from the ship.

Set CollisionRadius on a turret to 25, then build several from your recy. Watch how they spread out.

Basically, it's a way to control unit spacing in formation and how far away a unit will go around something. (a building with a radius of 25 appears bigger then a building with a radius of 10) Use Shift+F9 to view the effects.
Battlezone Classic Public Forums
*****General BlackDragon*****
User avatar
Ded10c
Recycler
Posts: 3815
Joined: Sun Feb 20, 2011 11:05 am
Location: Stoke-on-Trent
Contact:

Re: Observer / Replay function

Post by Ded10c »

If canCollide = 0, allowMDMCollisionDetonation can be left as default.
battlezone.wikia.com needs your help!
Post Reply