Vehicle Development guidelines....

Discuss and provide feedback on Maps.
User avatar
pooty
Posts: 4354
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Vehicle Development guidelines....

Post by pooty »

So now that we have 3 developers on "staff" (Me, Snarf, ItsMeAgain)..

I want to make a thread on vehicle development guidelines. Please add/comment as needed. And you don't have to know the code to comment..

Vehicle appearance: Make them different than the vehicles they are based on (Sorry I was the big offender here with the Wraith that looked just like Cicada... the new textures often get confused with a dragon, but the colors are pretty different as is the shading/texture).

Vehicle Speed: See viewtopic.php?p=944&sid=b94d5b281d0b64e ... e05ad#p944
Avril rocket speed: 2800 UU (UU is the unreal unit its basically the unit of measurement)
Battery Rocket speed: 3000

Dragon: 1800
Raptor: 2000 (From what I can tell most of the raptor type fliers have this for maxspeed (Falcon, Wasp, etc.), their manuverability, including acceleration is vastly different though. Same with Mantas, and Predator/Reaper
Raptor Missle: 2000-4500
Wyvern Max Speed: 5000 (really too fast)
Starbolt 1.0 Max Speed : 4500 (should be the max fly speed )
Manta: 2000
FireManta: 2250
Missle Tank Rockets: 9900
Hurricane Ground Speed: 720
Badger: 850
Mino Ground Speed: 1000
Several of the HoverTanks (eg. Firebug 1800, but has no long range weapons at all) are faster.
Mino Tank Shell: 19000

So keep it reasonable, Wyverns and Starbolts will mostly outfly Avrils/Batteries and generally need hitscan (SHock/TwinBeams to kill). Both those die one shot from most TwinBeams.. So something that's fast and manuverable, and worse small (like the Fireblade) that has 650 health is too much.

Health:
Most flyers: 150-500 (Fireblade has more but its OP)
Most Tanks: 600-2000
MAS: 3000-10000 (Kraken is king at 10000, Levi has 5000,
On most I've tried to put in a "weakness" eg. Bio goo on Minos/MAS does extra damage. Some have resistance (most fire vehicles now has some degree of fire resistance (for example an Ifrit won't kill a FireTank in one shot, (maybe not even three)).

Weapons:
Mino is king here. Fast mostly accurate projectile, does ~1400 damage from blast, and momentum. This should be top of line except for stationary MAS. (Levi/Tiamat/Kraken/Pallas blasts).
Also, one thing to keep in mind is repeating projectiles (vs. hitscan) is harder on the server as it has to track each projectile...

Overall balance:
For Stationary Ground: Think Kraken is king
Tank types: Omnitaur (Minotaur) is king
Flyers: Varies.
Badgers: Varies, but less tough/powerful than most tanks, but faster/more manuverable.
Keep in mind tradeoffs. We don't want a flying MegaBadger, no matter how much McLovin argues for it.
Some of the newer vehicles might require tweaks...some examples to help:
Firebug - HoverTank - Fairly fast, jumps, but has one seat and no long range weapons
Moebreaker - Fast, powerful, 1600 health, but main cannon is less accurate than Goliath at range, about a half strenght mino shot. (Gunner seat is very accurate at range). Vulnerable to flyers, as the gunner seat is projectile based (so you have to lead them).

Lastly, developers
please update the vehicle name string when updating:
VehicleNameString="Firebug 2.0"
This allows players to see which version.

Also, if you're basing it on an existing vehicle rename the main class:
FireTankV2Omni vs. FireTank (players don't see this, but mappers do). The reason is in the Map Editor, the class namespace gets pushed together without package names. So often on lists myLevel.FireTank gets confused with FireVehiclesV2Omni.FireTank (UT doesn't like packages that end with a number why idk). This helps with Map Updating... its easy to replace things like Rhino (GPolice.Rhino) with CSRhino (CSGPolice.CSRhino).
You can also subclass it like this:

Code: Select all

class FireRaptorV2Omni extends FireRaptor
    placeable;
All the code stays in FireRaptor, but you can find the changed name easily in the editor.

This way we avoid the mess that some maps have with MyHoverBike (Book Manta), MyONSRV2 = Plasma Scorp (link gun primary)
MyONSRV3 = Shock Scorp etc. Some lazy coding there, IMO.
User avatar
McLovin
Posts: 1165
Joined: Sat Apr 03, 2021 12:54 pm
Location: Salt Lake City, Utah
Server Sponsor: Yes
Server Admin: Yes

Re: Vehicle Development guidelines....

Post by McLovin »

It might be more than any one is willing, but with 3 developers, I'd suggest peer code reviews. I'm sure there are plenty of on-line free tools available to do this with. At work we have small teams of developers, 3 at most many times. I'm always grateful for a 2nd set of eyes looking at my code before it's deployed. Plus I learn from the other team member's coding style. We use bit-bucket and code collaborator, I'm sure something free or for home-use is available which is similar.
User avatar
captainsnarf
Posts: 2631
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Vehicle Development guidelines....

Post by captainsnarf »

I'd definitely like to share all my code. Main problem is it's about 700MB at the moment and growing.

And yeah, class names need to be unique. There are no namespaces. The packages all load into the same global namespace. We've learned this the hard way. I've been prefixing all my classes with 'cs' (captainsnarf) when copying other files from other projects.

Max projectile speed shouldn't really be more than 15000. Higher than that and hits don't always register.

Check ut2004.log and make sure you aren't spamming it (guilty as charged :) ).

You'll save a lot of iterations if you setup a second machine running UT2004 to test network play. It never works right the first time.
ItsMeAgain
Posts: 35
Joined: Thu Nov 04, 2021 11:18 pm

Re: Vehicle Development guidelines....

Post by ItsMeAgain »

I agree, it would be nice to have a hosted git or mercurial repo. I created one local just for my own benefit ... so i can see what i screwed up and revert. I did not do a separate machine but did create a separate folder/drive, would hate to mess up my game time :) These guidelines above are very needed for any new stuff (maybe some existing needs changing as well). I will honor these for the new flyer experiment i have finished. Easy to create something, hard to make it fit nicely balanced in real game play.
ItsMeAgain
Posts: 35
Joined: Thu Nov 04, 2021 11:18 pm

Re: Vehicle Development guidelines....

Post by ItsMeAgain »

this is my current main class :

// ============================================================================
// Link Flyer ItsMeAgain
// Main Class
// ============================================================================
class ONSLinkFlyer extends ONSAttackCraft;

#exec OBJ LOAD FILE=..\textures\LinkFlyer_Tex.utx
User avatar
pooty
Posts: 4354
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Vehicle Development guidelines....

Post by pooty »

So I am going to take a look this weekend, and post up damage rates, values of various vehicles. I think its important to take pass at what weapons are too powerful.. Snarf and I have done this in sort of an ad-hoc way but I think its important to make sure things aren't too OP. I think for the most part health is good, speed is mostly good (but Wyvern and Saucers are too fast, maybe even starbolt).
User avatar
captainsnarf
Posts: 2631
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Vehicle Development guidelines....

Post by captainsnarf »

Falcon is too fast. It needs nerfed.
User avatar
pooty
Posts: 4354
Joined: Sat Apr 03, 2021 10:22 am
Location: Michigan
Server Sponsor: Yes
Server Admin: Yes

Re: Vehicle Development guidelines....

Post by pooty »

Enyo's eyes are gonna bulge reading about nerfing the Falcon.... :shock:

I think Falcon speed is the same as Raptor. Its maneuvering, strafe,climb are different though. Same with Wasp. Both those can maneuver quickly and avoid shots. In some ways those are harder than Starbolt which often has to "pause/stop" to turn or slow down.
What we should have on vehicles that get the OP complaint is a review to see what needs changed and if it needs changed.

Part of this is to identify vehicles that either break the engine (too fast, shoots too fast etc.) or breaks the game (eg. Omega could blast outside of avril/shock rifle range, even outside of laser turret range (20000), Omega has 20000 range with 2500 blast radius from point of impact)

Saucers can be very hard to hit with the speed, same with Wyvern. Those need nerfed.

Some need put in the bit bucket - eg. Windblade (maybe keep it if its as maneuverable as the Short Circuit).
Some need a tweak..IMO the Pulse Traitor has way too much health (600 I think).

So far here's my list:
Saucers - reduce speed, I get about 20-50% unreg on them (meaning it looks like I am hitting with Shock, but don't see the vehicle feedback)
Windblade - reduce health, maneuverability.
Pulse Traitor - reduce health
CSGPolice - increase VenomII primary fire duration (it has the timeout thing, but does I think a little less damage than a falcon which doesn't have it), also I'd like to increase some of the damage on the "other weapons" like the hypersonic railgun like thing, which doesn't do much. Same with Starburst missles..rather have them do a bit more and take longer to shoot again.
User avatar
captainsnarf
Posts: 2631
Joined: Tue Jul 06, 2021 1:51 pm
Location: Washington
Server Sponsor: Yes
Server Admin: Yes
Contact:

Re: Vehicle Development guidelines....

Post by captainsnarf »

It's too maneuverable. Add a little bit of lag and it's impossible to hit.

Lets be honest, Enyo wrecks everyone in the Falcon.

If he gets a falcon I want a troop carrier. Then we just keep escalating until we have OP vehicles everywhere. That's why it should be nerfed. Its too strong in Enyo's hands. Leon too. We shouldn't need a troop carrier to counter it.
User avatar
Enyo
Posts: 1624
Joined: Mon Apr 05, 2021 11:27 pm
Server Sponsor: Yes
Server Admin: Yes

Re: Vehicle Development guidelines....

Post by Enyo »

captainsnarf wrote: Fri Sep 30, 2022 2:13 pm Its too strong in Enyo's hands. Leon too. We shouldn't need a troop carrier to counter it.
Excuse me? Leon is nowhere near as good in the Falcon as I am. Anonymous is the only one that ever consistently gives me a run for my money Falcon vs Falcon.

And you guys quit talking about fucking up my Falcon! It's already nerfed from the original version. And it's creation was literally intended as a counter to the stupid OP Omnitaur with giant splash damage and 2000 health. Only way I'm ever on board nerfing the Falcon even more is if you nerf the mino too by getting rid of the one with giant splash damage and use only classic mino on the entire map roster.

Oh, and if you nerf the Falcon, particularly by reducing it's maneuverability, you MUST also nerf the Mirage Vulture/Warhawk, which are more maneuverable, AND have more health AND do more damage than the Falcon. And then just go ahead and remove the Starbolt, because the Falcon wouldn't stand a chance against it without its current maneuverability.

See you guys didn't think it thru... if you start nerfing the Falcon, Wasp and other flyers, you have to nerf everything. If you deescalate/nerf the thing that was built to counter the mino, you have to deescalate the mino and everything that's been built to counter the flyers, i.e. the Troop Carrier.
“Never argue with stupid people, they will drag you down to their level and then beat you with experience.”
― Mark Twain
Post Reply