Rubilacxe
|
I noticed Tab has a website which lists all the types of ammo throughout the classes, and their Quake 3 equivilant (what Quake 3 item is in place, and what Quake 2 sees insted of it).
However, I was curious about certain aspects of the Weapon Drop system, in relation to what each class sees when a weapon is stumbled upon or dropped. Heres a list I compiled...correct me if I'm wrong.
-Side note: Melee weapons and Pistols cannot be dropped, so they are not included-
Single-Shotguns, Machineguns, and Nailguns:
Slipgate Boomstick = Doom Shotgun = Strogg Shotgun -Earth and Arena recieve a Machinegun
(Just to use the above as an example for an explanation......if Slipgate drops a Boomstick, Doom and Strogg see a Shotgun, whereas Earth and Arena see a Machinegun. Comparitively, if Doom drops a Shotgun, Slipgate sees a Boomstick, Strogg sees a Shotgun, etc.)
Earth MP-40 = Slipgate Nailgun = Strogg Machinegun = Arena Machinegun -Doom recieves a Chainsaw
Double-Shotguns:
Doom Combat Shotgun = Slipgate Double Shotgun = Strogg Super Shotgun = Arena Shotgun -Earth recieves a Gatling Gun
Grenade Launchers:
Grenade Launchers apply to Slipgate, Strogg, and Arena, and interchange as such. Earth and Doom recieve Mortars and Rocket Launchers respectively. Earth and Strogg can use "grenade ammo" as a weapon in their own.
Rocket Launchers:
All Classes recieve Rocket Launchers; For Earth, in the form of the Mortar (which always produces a Rocket Launcher for other classes).
Lightning Guns:
Slipgate Lightning Gun = Arena Lightning Gun -Doom recieves Chaingun -Earth recieves Gatling Gun -Strogg recieves Chaingun
Railguns:
Earth Sniper Rifle = Strogg Railgun = Arena Railgun -Doom recieves Chaingun -Slipgate recieves Super Nailgun
Plasmaguns:
Earth Napalm Launcher = Doom Plasma Rifle = Strogg Hyperblaster = Arena Plasmagun -Slipgate recieves Super Nailgun
BFGs:
Earth Dual Gatling Guns = Doom BFG 9000 = Strogg BFG10k = Arena Q3BFG -Slipgate recieves Lightning Gun
I'm a little confused on certain instances that could happen in the game, based off of this list.
For example, lets say Sarge picks up a Napalm Launcher (plasmagun in Quake 3). Ranger frags him and takes it, resulting in a Super Nailgun for him. If Doom frags Ranger, will Ranger drop a Plasma Rifle or a Chaingun?
Or if Visor has the Lightning Gun, Doom frags him and takes a Chaingun, and then Sarge frags HIM, taking a Gatling Gun. Doom respawns and frags Sarge back. Does Sarge drop a Chaingun or a Combat Shotgun?
Sounds like some weapons could be "lost in translation" so to speak, if multiple class types are running around. Doom's precious Combat shotgun could be stolen by Sarge (who turns it into a Gatling Gun), who procedes to be killed by Doom, where he picks up a Chaingun insted. Am I getting this all correct, or has my brain been completely scrambled at this point?
EDIT: I've figured it out I believe.
-Slipgate Super Nailgun (if dropped) will always = Arena Plasmagun (and its translations to other classes) -Doom Chaingun (if dropped) will always = Arena Lightning gun (and its translations to other classes)
I think I understand this one: -Earth Gatling Gun (if dropped) will always = Arena Shotgun (and its translations to other classes).
Is that correct?
|
|
« Last Edit: 2007-09-07, 19:26 by Rubilacxe »
|
Logged
|
-JL
|
|
|
Thomas Mink
|
EDIT: I've figured it out I believe.
-Slipgate Super Nailgun (if dropped) will always = Arena Plasmagun (and its translations to other classes) -Doom Chaingun (if dropped) will always = Arena Lightning gun (and its translations to other classes)
I think I understand this one: -Earth Gatling Gun (if dropped) will always = Arena Shotgun (and its translations to other classes).
Is that correct?
That is correct, sir. Is a bit confusing at first, but it all eventually comes around after playing for a bit.
|
|
|
Logged
|
|
|
|
Phoenix
|
The weapons translation system can sometimes seem a little confusing like that, especially when there's, say, no plasma gun on a map and a Slipgater runs over a railgun (which gives him the Super-Nailgun), and the Slipgater gets killed. The rule to remember is this: This is the Arenas Eternal, so all weapons that other Generations receive are based on what the Arena Gladiators would get. That's the starting point. Also, if a Generation has more than one item pickup for which they may receive a weapon, only one of those will be considered the primary slot (the Arena Gladiators' weapon that it will translate to when the player is killed).
For example, consider the Earth Soldiers. Earth's Gatling Gun's primary slot is the same as the Arena Shotgun. When he's killed, that's what he'll drop. Now Earth can pick up a gatling gun (or a second gatling gun) by running over a Lightning Gun spawn, or a BFG spawn (he gets two for those). Now if he's using a single gat he will ALWAYS drop an Arena Shotgun. If he's using the dual gats he will ALWAYS drop an Arena BFG.
The same thing works for the Doom chaingun. Doom's primary slot for the chaingun is the Arena Lightning Gun. He can also get a chaingun by running over a railgun spawn. If he's killed with the chaingun in use, he'll drop a Lightning gun and not a railgun because the Lightning Gun is the primary slot for the weapon.
The reason for this is twofold. First, there's a code requirement. I can translate any item spawn into any other item for a Generation, however when that Generation is using a weapon it must have one explicit number that it's assigned to. In the code for the above example, WP_SHOTGUN is what the code sees for Earth when he's firing a gatling gun, and thus that's what is dropped. This is then translated to the other classes. If he touches a lightning gun, which is WP_LIGHTNING to the code, he's given a WP_SHOTGUN. Earth never actually carries anything in the lightning gun slot.
The second is for consistency and balance. Some weapons "fit" certain categories better than others owing to their function and behavior. Others are slotted into certain categories because of their availability. For example, we chose to put Earth's gatling gun as a Shotgun-class weapon instead of a Lightning gun-class weapon (whereas all the other chainguns are lightning class) simply because Earth depends on his gatling gun a lot, and it's very common. It would be a balance concern if, when Earth was killed using a single gatling gun, he always dropped a Thunderbolt/Strogg Chaingun. The same applies to Slipgate getting a super nailgun for the Railgun pickup. It may not translate well as a long range weapon, but putting in a Rocket Launcher causes horrible balance problems.
That's part of the reason I coded the "What you see is what you get" system. Whatever your opponent drops when he dies is exactly what you'll pick up, so while it's good to learn what Ranger will drop when he's using that Super Nailgun, it's more important that you'll pick up exactly what you see when he does drop his gun. Eventually I'll include an entire conversion chart in the manual when it gets an overhaul. Until then, if you would like I do have a conversion chart I can post, but it's old so I'll need to proof-read it first.
|
|
|
Logged
|
I fly into the night, on wings of fire burning bright...
|
|
|
Kingu
|
What is starting rate of fire of Strogg chaingun? Sorry for a little offtop.
|
|
|
Logged
|
|
|
|
Rubilacxe
|
This all makes a lot more sense now, thank you!
I must ask, though. Will it ever be possible in the future to have class specific slots? In other words, you said that Doom's Chaingun is under the slot for Arena Lightning Gun...could he have his own set of slots that don't follow Quake 3's weapon slots? (Doom Chaingun being in the Doom Chaingun slot)
|
|
« Last Edit: 2007-09-08, 16:04 by Rubilacxe »
|
Logged
|
-JL
|
|
|
Phoenix
|
Short version is "no". Click the Spoiler to read the long, more ranty-version. Hmm... maybe we need Rant tags. Why would I need to do that? You see chaingun, you get chaingun. That's all a player really needs. You're a mapper and you want a Doom chaingun on the map, you can either put a weapon_lightning or weapon_railgun on the map and Doom will get a chaingun... of course you'll need to keep in mind what the other classes will get depending on which one you used. You want ammo? Put ammo_lightning or ammo_railgun for a green ammo box. You want a small bullet clip? Then item_bullets will do the trick. Trying to make a dedicated slot in the code for something that already has a slot wouldn't do any good because it, like I said, already has a slot. The Doom Chaingun functions fine using WP_LIGHTNING to reference it in the code. Technically the code just sees it as "6" - WP_LIGHTNING is just an ENUM label so us coder types can know what we're dealing with. Why does it matter how the accesses it if it looks, sounds, and behaves like a Doom chaingun?
Basing all the guns and ammo on what Q3A item spawns on a map has two reasons. First... if you've ever played Generations Q2 it's @!#!@# confusing as all hell as to what you get when you see a Slipgate Grenade Launcher spinning in place on a Q1 map and you run over it as a Doomer. Seeing another class's gun makes absolutely ZERO sense unless they're shooting at you with them - then you kind of want to see what they're toting around. That's why I coded the "WYSIWYG" system in Gen Arena. If the player is ever iffy on what he will get when he offs another player, he just has to wait for their gun to drop. He will never, ever see the wrong gun as a pickup item (provided I don't spork something up in the code). As well, almost all weapons are divided up by type - Rocket launchers spawn Rocket Launchers, Grenade Launchers spawn Grenade Launchers (or otherwise explosives), Shotguns spawn Shotguns, Railguns spawn long-range guns (or a reasonable equivalent for classes lacking them), etc. This flattens the cross-class learning curve immensely. Second, Generations needs to be able to work on stock Q3 maps. This means all items on the maps will be restricted to what's normally available in Q3A. The only logical decision available when we started was to make all conversions based on the Q3 item spawns because those and only those will spawn on maps that ship with Q3. The same goes for custom maps. Most maps made for Q3 are made for Q3, not for Gen. A logical conversion method that's 100% consistent from map to map was not only a good idea, there was no other way to do it. The logic for picking up and dropping weapons does not ever change. Sometimes you get three-way changes in weapons when you kill other players and they drop their guns - Railgun to Slipgate SNG to Doom Plasma Rifle; Railgun to Slipgate SNG to Earth Napalm, Railgun to Doom Chaingun to Thunderbolt - but that behavior, again, never changes. An Earther will ALWAYS get a napalm launcher if Slipgate dies while the SNG is out. The BFG-wielding classes know damned well they'll ALWAYS get a BFG if Earth dies with dualgats out. Earth Soldiers are also painfully aware of this fact, which adds some edginess to the game. Sure you can easily get two gatling guns, but there's a risk in hauling them out to offset this ease of acquisition.
There would be only two possible reasons I'd need to make dedicated slots. One would be single-player maps where I would want to explicitly define what class would receive what weapon at what point in the game. Generations is not a monster shooter, nor can it be a classic FPS monster shooter - we'll get foxed like Reborn or GenQ2 and have to shut down. I will not allow that and it will be too much work coding old-school monsters anyway. I know someone will mention Resurgence, but it's taken so freaking long to perfect the multiplayer component by itself I may not ever get time to do it, and I don't know how much compatibility I've broken with the Hunt source already so it may not even be possible at this point. It wasn't even my idea in the first place and seeing that I'm the only one coding the mod at the present I have to prioritize, and before anyone asks NO I am not asking for coding help with this statement! It's just a fact that ALL other code logic must be 100% in place and 99.9% bug free before I'm willing to even try to add elements from another codebase into Gen. Two reasons for that. First, it's stupid trying to debug weapons code while trying to add in customized logic for controlling pseudo-monsters. Second, say Id changes their mind on Resurgence and says "take it out". I won't have to rip code out or disable it and leave unused code in the executable. I can just recompile a clean, older codebase without the monster stuff and merge in any bugfixes in my change log from the newer codebase. Id's never had a problem with the multiplayer portion, and I'm going to make damned sure that, should we pursue Resurgence and a problem develop, we don't lose the multiplayer along with it. I've worked too hard on this. So has everyone else that's worked on the project.
The second scenario would be if I wanted one class to be able to use another class's weapons - something I absolutely will not do. Besides that, I cannot do it. Quake 3 Arena is limited to a maximum of 16 weapon slots. Trying to change this to allow any class to access any gun means changing the network code in the executable and completely rewriting about 40,000 lines of code to affect the change in how weapon data is stored and accessed. Keep in mind as well this all has to work both server and client side. What gun model you see someone hauling around is determined by two things - the weapon slot number (limited to 16), and their class number index. Projectiles work largely in the same way. I have five classes of projectiles which correspond to the player classes. This combination (weapon slot index AND class slot index) is what makes Generations work. It's a very simple logic, but it's embedded all through the Q3 Source now and I'm not about to rewrite it just so someone can toss Slipgate rockets around as a Doomer. Kingu: Strogg chaingun starting fire rate is 10 bullets a second, same as the machinegun. After about the fifth shot it doubles to 20 (assuming you're holding the trigger down) then when it hits full speed it fires 30 rounds per second.
|
|
|
Logged
|
I fly into the night, on wings of fire burning bright...
|
|
|
Rubilacxe
|
sorry, was just curious. no big deal.
|
|
|
Logged
|
-JL
|
|
|
scalliano
Elite
Posts: 1095
Yup, that's me
|
Pho: Amen on the Q2Gen bit: Doomguy + Slippy map + GL = CHAINSAW??? No thanks ...
|
|
|
Logged
|
PSN ID: scalliano
The Arena knows no gender, colour or creed, only skill.
|
|
|
~Va^^pyrA~
|
What are the ammo conversions like? I seem to recall noticing the Slipgaters rockets being a little low in count. I imagine, if I'm thinking back clearly enough, that such would be done for balancing purposes...
|
|
|
Logged
|
|
|
|
Phoenix
|
They're actually not low, there were two types of rocket boxes in Quake 1 - a smaller box with 5 rockets, and a larger box with 10 rockets. I stuck with the smaller box for two reasons.
First, Slipgate shares ammo between the grenade launcher and rocket launcher. With these weapons - especially the rocket launcher - being fairly common and Skippy having double pickups, he can get rockets from either weapon spawn or either ammo spawn. Running rocket launcher, grenade launcher, and an ammo box of each quickly puts you at 20 rockets, plus Slipgaters tend to drop backpacks. Doom is the only other class that shares both ammo and weapon spawns. Earth shares weapon spawns but not ammo spawns for his mortar. Strogg, Arena, and Earth all have only one ammo pickup for the Rocket Launcher, with Strogg and Arena only having one weapon pickup as well. For our current test version Doom's grenade ammo pickup has been reduced to a single Doom rocket (the smaller pickup in Doom) as a balance tweak.
Second, no other class has a 10 rocket pickup except for Arena Gladiators when they run over their gun. Their ammo boxes give you 5 rockets. Earth, Doom, Strogg, and Arena all have a maximum of 5 rockets on pickup of a rocket box. Giving Slipgate the larger rocket pickup would make him way too powerful as he'd almost never run out of explosives. We found this out when we tried using the railgun as an alternate rocket launcher spawn, I think back in .99b or so.
Now in contrast, in Quake 1 there were two types of cellpack for the Thunderbolt - smaller packs of 6 cells, and larger packs of 12. We opted to go with only the cellpack of 12 seeing that the lightning gun is rare and Slipgate can only get it for the lightning gun pickup and the BFG (which is even rarer). All the other classes have a boatload of ammo for this gun. Arena gets something like 60 cells per box and 100 on pickup of the weapon. Earth gets a gatling gun and can get bullets for just about anything, Doom's chaingun has ammo shared with the railgun and machinegun bullet boxes (small pistol clips in his case) and isn't his strongest weapon choice anyway plus he spawns with 50 that almost never get used until a chaingun is picked up, Strogg's bullets are also shared with the machinegun and come in packs of 50 (which he also spawns with). Slippy's shaft is very powerful but has a short range and is tricky to use, and not giving him any cells for it just wasn't fair so we opted to stick with only the larger ammo box there.
So it was certainly a balance concern, and where there were two types of ammo available for a class it was kind of hard to figure out where we wanted to stick with smaller or larger boxes. If a gun could only get ammo from one source - say the shotgun - we typically went with a larger box so long as it wasn't an insane amount. Some weapons were more complex to factor in. Slipgater's nailguns have two weapons and three ammo spawns, but it's not a terribly effective weapon and very ammo hungry, so two of the ammo spawns are for larger boxes, and one for smaller boxes. Strogg was the easiest to convert since each gun only took one kind of ammo box in Q2 and the pickups were well balanced to start with. We're still doing some minor tweaking on things but overall the ammo pickup behavior is pretty much set up about where we'd like it and seems to balance out pretty well we think.
|
|
|
Logged
|
I fly into the night, on wings of fire burning bright...
|
|
|
|