2024-11-24, 13:56 *
Welcome, Guest. Please login or register.

Login with username, password and session length
 
Pages: [1] 2
  Print  
Author Topic: Pho: New ENT idea (... is this possible?)  (Read 17303 times)
0 Members and 8 Guests are viewing this topic.
Dicion
 

Team Member
Makron
*********
Posts: 353

WWW
« on: 2003-09-13, 21:41 »

Ok.. i had an idea..

since on some maps, item/weapon placement is better for one class then the others, or more limited... i suggest these:

Ent: variable_item & variable_weapon

Now each one of those would have like 5 fields.. one for each class
so you could specify that 'variable weapon #1' is a rocket launcher for doom, mortar for earth, railgun for arena and q3, and shaft for q1...

same principle for the variable item

I dont know if this is possible, but im sure mappers could have a field day with it, making the map flow different for each class.... could be interesting
Logged
Tekhead
 
Elite
*
Posts: 1110

« Reply #1 on: 2003-09-14, 06:55 »

Intreuging....
Logged
Tabun
Pixel Procrastinator
 

Team Member
Elite (3k+)
******
Posts: 3330

WWW
« Reply #2 on: 2003-09-14, 11:29 »

how would such maps work in vanilla Q3? Are unknown entities simply ignored?
Logged

Tabun ?Morituri Nolumus Mori?
Dicion
 

Team Member
Makron
*********
Posts: 353

WWW
« Reply #3 on: 2003-09-14, 22:13 »

yeha, well there would be errors, like 'no such ent' but they would just not be loaded... simple as that. the map would still load just fine Slipgate - Smile

But since pho's going to be releasing the shooter ents, and stuff soon, I think Gen maps will eventually become gen-only...

I think we've gone quite a long time with the backwards-compatible map types.. more then any other mod of this size, but in order to progress, i think we'll have to cut that out...
Logged
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #4 on: 2003-09-15, 18:58 »

Actually, I've got a better idea.. I think..

Instead of a separate entity, I think a better idea would be adding a number of keypair overrides to the weapon entity.

Example because I'm horrible at describing ideas:

weapon_plasma:
Earth = Single_Gat

Now, how this would work, is if you don't expressly define a class and weapon, it defaults to the generic Generations value. And in vanilla q3, it SHOULD I believe just ignore those keypairs and display a plasma gun.

If you want to get REAL picky, you could probably do that for items as well. A megahealth instead of a berserk pack for strogg, etc..

No need to add what you can fix, eh wot?
« Last Edit: 2003-09-15, 19:01 by Angst » Logged

"Who says a chainsaw isn't a ranged weapon?"
Dicion
 

Team Member
Makron
*********
Posts: 353

WWW
« Reply #5 on: 2003-09-15, 19:00 »

sounds good, as long as vanilla q3 rejects it and just continues...

we'll have to wait till pho gets back, or maybe bug ward on this one. maybe he'll know
Logged
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #6 on: 2003-09-15, 19:11 »

Hehe, yeah, ideas don't do any good unless you bug the coder Slipgate - Tongue. My anti-pho-wrath armor's getting a tad dinged Slipgate - Tongue
Logged

"Who says a chainsaw isn't a ranged weapon?"
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« Reply #7 on: 2003-09-17, 03:13 »

I'll try not to ding it up too much.  Sit back, relax, and enjoy the technical rant.  Earmuffs are available at the concession stand for $15 US. Slipgate - Grin

Quote from: Dicion
Now each one of those would have like 5 fields.. one for each class so you could specify that 'variable weapon #1' is a rocket launcher for doom, mortar for earth, railgun for arena and q3, and shaft for q1...

Ok, several problems with this, same ones with every attempt at proposing this so far.  The client doesn't know the difference between these items.  Item spawn info is not passed to the client.  The only info the client knows about the item is as follows:

spawnpoint
That it's an item
Item type (IT_AMMO, IT_WEAPON, etc)
Item tag (WP_GAUNTLET, WP_MACHINEGUN, etc, for ammo and weapons)

The only way this is passed to the client is in a struct called entitystate_s.  This is located in q_shared.h, and it cannot be modified.  There are a few empty flags for entitystate that Id did not use, but we already need those for other things.

The client only knows a railgun from a shotgun because the item tag is different.  Now, bear in mind that the only thing that separates a shotgun from a box of shells is the item type field.  Both shotgun and shells share thesame item tag:  WP_SHOTGUN, but the shotgun has an item type of IT_WEAPON whereas shells has an item type of IT_AMMO.  There are limits to both of these since, like the 16 weapon limit, we're limited to 16 bit fields.  We can't blindly add more WP numbers since player weapons use the same data.  It MAY be possible to add more IT numbers, but it's going to add more complexity to the item rendering code.  If it's not possible, well, that's another 16 bit field.[/color]

Quote
I dont know if this is possible, but im sure mappers could have a field day with it, making the map flow different for each class.... could be interesting

The other problem with this is consistency, which I've stated before.  The example of Shooter ents was used, and sure that's a neat, fun thing that Gen is getting, but remember that a shooter is a shooter no matter what class you are.  They don't change.  They're static items on the map.  Gettable items are completely different in their scope.  If you have an item that is only available to, say, an Earth Soldier and not a Strogg Trooper, then you end up with the following scenarios, depending on how you code it:

Case # 1, where the item is visible only to a specific class

Strogg guy sees Earth guy spawn in.
Earth guy runs over and grabs a flamethrower
Strogg guy doesn't see anything there because it's an Earth-only item
Strogg guy was incinerated by Earth guy
Strogg guy:  "WTF?  Cheating bastard!"
Strogg guy disconnected

Ok, so we make the items visible.  How to do this though?  Here's one option:

Case # 2, where one class sees items

Strogg guy sees Earth guy spawn in
Strogg guy gets to a hyperblaster, and finds he cannot pick it up
Strogg guy: WTF?

Earth guy runs over napalm launcher.

Strogg guy was torched by Earth guy.
Strogg guy: WTF?  This is BS!!  You sporking cheater!  This mod sucks!
Strogg guy disconnected


Ok, so let's keep them visible, but show what specific class they belong to.

Case #3, where the Earth-only items appear as Earth items

Strogg guy sees an Earth napalm launcher.
Strogg guy walks over to it.
Strogg guy:  Uh, wtf is this thing?  How come I can't pick it up?
Earth guy walks up to it, and picks it up.
Earth guy:  It's a flamethrower.
Earth guy picks it up.
Strogg guy:  WTF?  How come you can get that and I can't?  This is BS.
Strogg guy was set ablaze by Earth guy
Strogg guy disconnected

The last situation we have is where we don't have class-only spawns, but rather change the item pickup from one class to another.  Two problems here.  The first is showing the "alternate" item since the client can't see the "flag" used by the server to give something different.  The item would show up as one thing, and you'd get something completely different.  Ahem, bug report city.  Second situation is the following:

Case # 4

Arena guy runs over rocket launcher on platform over lava.
Arena guy runs the map a bit, and runs over rocket launcher on platform over water.

Arena guy was railed by Strogg guy
Arena guy became a Slipgater
Arena guy changed his name to Skippy
Skippy runs over rocket launcher on platform over lava
Skippy runs up to water platform, but unbeknownst to him the mapper thought he'd change the spawn to a double shotgun for Slipgate

Skippy:  WTF?  There was a rocket launcher here before...
Strogg guy does a backflip into the lava
Strogg guy respawns in front of Skippy.
Strogg guy runs over rocket launcher, which is still a rocket launcher to Strogg.
Skippy almost dodged Strogg guy's rocket
Skippy disconnected.


The results of this, in all 4 cases, would be a rash of bug reports and flaming the forums.  It may sound all fine and dandy from a mappers perspective to have separate item spawns for each class, or alternate item spawns, but it breaks consistancy.  Where this sort of thing is fine is in a single player game where you have different classes achieving goals in different means.  In multiplay, you can't really step outside of certain rules.  Items have to be spawnable to everyone, gettable to everyone, and visible to everyone.  They can have different effects based on class, as in Gen, but that has to be consistant for each class, level-by-level, or any shred of cross-class strategy goes out the window.

The Arena system of weapons is the heart of our game system.  We can't add more weapons without adding more weapons to the Arena class (single shotgun spawns, etc), and we can't switch weapon spawns, code constraints not withstanding, without breaking the "What does the Arena class weapon translate to?" system.  I remember how bloody confusing it was in Quake 2 Generations trying to figure out what I'd get when I ran over a Nailgun as a Quake 2 Gumby, then ran over a Doom shotgun as a Wolfguy.  Our "What you see is what you get" system works very well, but part of strategy is knowing "What will this be if I change classes?"  All a player has to do is run the map as Arena and he/she will know exactly what the weapon will be for every class every time, and know that weapon will always change to the same thing for each class, regardless of what map they play on.

I know it's a tempting idea for mappers, believe me, variety is something I like, but in the end the only test of any idea is how it will be seen through the player's eyes.  Sure, Doom will dominate some maps, Earth will dominate others, down the line, same for all classes, but do we really want to ruin what makes Gen solid?
Logged


I fly into the night, on wings of fire burning bright...
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #8 on: 2003-09-17, 17:09 »

And there's the answer Slipgate - Tongue. Thanks for clearing that up pho, I had thought it would have potential but I keep forgetting about how this could unbalance the game Slipgate - Tongue
Logged

"Who says a chainsaw isn't a ranged weapon?"
Dicion
 

Team Member
Makron
*********
Posts: 353

WWW
« Reply #9 on: 2003-09-17, 18:28 »

yep.. thats why it was just an idea, and not a demand Slipgate - Tongue
heh
oh well...  Slipgate - Smile
Logged
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« Reply #10 on: 2003-09-18, 06:46 »

Hey, I'm all for floating new ideas.  No harm in asking, right?  You don't know if you don't try.  Slipgate - Wink
Logged


I fly into the night, on wings of fire burning bright...
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #11 on: 2003-09-18, 15:28 »

Heh, no harm in asking unless the bird's on a deadline Slipgate - Tongue
Logged

"Who says a chainsaw isn't a ranged weapon?"
games keeper
 

Elite
*
Posts: 1375

« Reply #12 on: 2003-09-19, 16:21 »

ok , asking .

1) rotating doors . 90 degrees and back .
2) somekind of force that  pulls you to a wall (see quake 2 space level = secret level  )
3) somekind of way that you can stand on the ceiling so that the ceiling becomes the floor , and the floor the ceiling .
4) sa bu with walls  (I have seen these 2 things and trust me its the weird and funny .
5)triggable lights .
Logged
Tekhead
 
Elite
*
Posts: 1110

« Reply #13 on: 2003-09-19, 18:51 »

in Q2, I only remember low-gravity and wind tunnels...
Logged
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #14 on: 2003-09-19, 20:06 »

Triggerable lights are not really feasible in q3. Triggerable DYNAMIC lights.. maybe, we'll have to bug pho about that.. I'll outright state that there are a number of problems with dynamic lights, #1 being that they bleed through walls..

There will be no walking on walls or ceilings, q3 doesn't support that very well.

Variable gravity brushes.... Hmm... POSSIBLY feasible, I think I know how it could be done, but again, I need to bug the bird on that.

I DO like the idea of triggered rotating brushes, I miss those..
« Last Edit: 2003-09-19, 20:07 by Angst » Logged

"Who says a chainsaw isn't a ranged weapon?"
games keeper
 

Elite
*
Posts: 1375

« Reply #15 on: 2003-09-19, 22:16 »

ok wintunnels , thats it , thx tekhead . /me kisses tekhead .
for 3 and 4, wel its something from  sin . serious sam also had a level like that . I think its on the new deja-review . the one that dna is hosting .
Logged
Phoenix
Bird of Fire
 

Team Member
Elite (7.5k+)
*********
Posts: 8814

WWW
« Reply #16 on: 2003-09-20, 06:54 »

Sam has multiple gravity zones built in.  Q3 does not support this, and even if possible to code is beyond the scope of our mod.

Rotating doors?  I don't remember Q1 or Q2 having these.  I know just about every game had doors that moved up and down.  Non-shootable doors come to mind that are proximity and button-triggered only.

Spawning dynamic lights in does have the bleed through problem.  It makes it impossible to do.  Q3 has no provision to add funcs to alter the lightmap to my knowledge.  You can do shader lights for flickering sector-ish lights, Mykul was experimenting with that, but it doesn't light the player so a tradeoff has to be made somewhere on the light level.  It also doesn't work with vertex lighting methinks.

As for windtunnels, well, what about bounce pad triggers?  Can those be made invis/silent?  The vortex portals have to work something along this line.  Maybe that's worth looking into?
Logged


I fly into the night, on wings of fire burning bright...
Lilazzkicker
 

Beta Tester
Quad God
**********
Posts: 571

WWW
« Reply #17 on: 2003-09-20, 07:28 »

hmm, i think there may be a way to block light bleed threw
Logged
Angst
Rabid Doomer
 

Team Member
Elite
***
Posts: 1011

WWW
« Reply #18 on: 2003-09-20, 19:01 »

Quote
Rotating doors? I don't remember Q1 or Q2 having these. I know just about every game had doors that moved up and down. Non-shootable doors come to mind that are proximity and button-triggered only.
Quake 2, level 2, sewers entrance. Push the button, and the two halves of the cap rotate open. There's more, but that's the quickest easiest demonstration. There are also rotating levers. Again, shown off in that wonderful hub that level 2 is..

I'm not aware if there's a way to make the bouncepads silent.. It'd be nice though.

The gravity zones, while an interesting thought, I agree aren't necessarily part of gen. Feasible yes, but maybe something to be added later if ever. I'd imagine it'd be a simple vector add while in the brush, similar to water.

As for light bleeding through, you MIGHT want to try caulk, or.. I think there's a clip_light brush of sorts.. but I think that's only for lightmap rendering, it's worth a try, I'll poke at that a little bit today.

Edit:
After testing I can fairly safely say that there is no entity I've found that can clip dynamic light, and if I remember that bit of code properly, it's because the dynamic light is.. not exactly what I'd consider "good" code.. Just a radial blend, something like that.. Anyhoo, if it's done properly, mappable dynamic lights could be decent, but the fact of the matter is: If it's implemented, people are going to complain to the mod team because the mappers don't understand why they've got these funky lights on the wrong sides of the wall..

Personally, I'll admit I'd like to see it, but it may also not be worth the hassle..
« Last Edit: 2003-09-20, 19:22 by Angst » Logged

"Who says a chainsaw isn't a ranged weapon?"
ReBoOt
Mean ol Swede
 
Team Member
Elite
****
Posts: 1294

WWW
« Reply #19 on: 2003-09-20, 19:45 »

In "theory" there might be way to switch external lightmaps ( Styled lights) and to trigger them by using a simple trigger and vertexremapshader.. In that way we don't have to use dynamic lights.

however the current q3map2 don't have the vertexremapshader function for switching external lightmaps but the next version will, i read something about this beeing changed in the next version of q3map2.

Btw i have a request for ya pho: It whould be neat if a mapper could change the sounds on the ents.. sometimes you don't want a ent to make noise eg. doors, or the sound is just bad and you want to use another one.

And trains that damages the player whould be neat too Slipgate - Smile
Also i whould want an ent that damages the player with a custom amont of damage, which is triggerable there is a q3 ent called trigger_hurt but you can't trigger a trigger..

If the mapper could set the damage on lava/slimes whould also be helpfull.
« Last Edit: 2003-09-20, 19:47 by ReBoOt » Logged
Pages: [1] 2
  Print  
 
Jump to: