Forgot What It Was...
#4718 posted by madfox on 2006/01/29 12:07:38
i got the alloc_hunc error again.
Thought it had something to do with too much textures in the wad file, but i forgot.
So I lowered the texture rate, but still got the same error.
Forgot the map ,and later played it with ordinairy quake batch -winmem 32 as proof and it played fine.
1616 polyhedrons 279 entities.
Packet Overflow :(
#4719 posted by Ankh on 2006/01/29 14:33:12
I have an serious problem with "packet overflow" warnings. I have run fullvis on my map and unfortunatelly there are some places where I get this warnings on higher skills. I have some questions:
1. Is this warning computer speed dependant?
2. Is it possible that it appears only in gl engine? (it appears in fitzquake but not in software joequake).
3. Since I can't reduce the visibillity in this part of the level I have to reduce the number of entities. What are the best things to remove? (torches, flames, monsters, anything else). I guess removing the GL would be most effective, but I won't do this :)
4. There is an big amount of lights (torches and flames) in that open area, can their sound cause problems with packet overflow? Is there a possibility to remove the sound from a light_flame?
I would test it all out by myself, but full vis takes too much time (25h) on my old comp. :(
I was using aguirRe's winquake during development, but it doesn't give any errors about packet overflow (even if it would I would ignore this since the level wasn't fully vised). I think now that it is better to always test the map with standard engines and use the enhanced versions only in case of crashes or problem hunting.
Packet Overflow
#4720 posted by aguirRe on 2006/01/29 16:11:52
1. It's not generally computer speed dependant, but I guess some variations could occur.
2. No, it's only engine protocol packet size dependant, std size is 8000 bytes. Fitz and Joe should have the same problems as both use the std size AFAIK. I don't know why you're seeing a difference.
3. Usually the problem is too many [active] entities in view. If you can't reduce visibility, you'll have to reduce entities. I don't know if there's a difference in various entities as such, but some entities spawn other entities (edicts, e.g. HK missiles), which makes removing them more effective.
4. I don't know if torches add up to the packet limit as they're static entities.
In any case, you can modify the entity section and just do qbsp -onlyents without redoing vis each time you test.
Btw, are you using std progs or a custom one? Using a custom progs could be the cause of packet overflow (e.g. ejecting many shell cases). OTOH, using a custom progs can also help you to reduce edicts by removing corpses, delaying spawns etc.
Let me know if you need help investigating this issue.
Thanks For Help AguirRe
#4721 posted by Ankh on 2006/01/31 13:13:38
At the moment I don't have the time to check out your suggestions. But thanks a lot.
Some additional info:
I don't use any special progs.dat. In software joequake there is no overflow, in joequake-gl the problem starts to appear and in fitzquake the problems are getting bigger.
If I kill all the monsters with genocide (it is an impulse command) then there is no packet overflow in any place. There are many gibs in this map because GL is the main weapon. Maybe using a progs.dat with corpse removal would solve the problem, but I don't like this idea. Is packet overflow in two places in a level a realy bad thing?
I remember that I was getting some warnings when compiling with -onlyents after some entities were removed/added, but I will check it out.
Ankh
#4722 posted by JPL "unlogged" on 2006/01/31 13:48:06
IMHO, having "massive" packet overflow warnings in some places in a map dicrease its quality. AguirRe helped me for CDA: there was a lot of packet overflow warnings at the very first release, and using a spawn64-like progs.dat helped to limit the number of entities the engine have to manage, and then help to avoid packet overflow... Believe me, it works fine, and furthermore you could add more monsters in the map... ;)
Ankh
#4723 posted by negke on 2006/01/31 13:48:27
you could of course have each monster in the concerning area fire trigger_relays that in turn killtarget the monsters. this way, at least their heads would be removed which might possibly reduce the packet overview a little (however, it would also remove their corpses if they are not gibbed, which probably looks weird. maybe delay values could help).
dunno if this would make much sense, just an idea...
Quake CD Music
#4724 posted by Mike Woodham on 2006/01/31 14:24:17
I remember asking a question about the Quake1 CD music and whether I could rip it off the CD and play it from my hard drive.
Because I used Fitzquake it seemed not to able to be done.
So anyway, there I am thinking more about this when I look at the Quake CD and cannot see any music files. Can anyone tell me how to extract the music files?
JoeQuake
#4725 posted by aguirRe on 2006/01/31 14:38:01
I just recalled that JoeQ has a custom filter mechanism; via cvars you can filter out gibs or corpses. I'd assume that if this was enabled, you might get less packet overflows in JoeQ.
Hmm, if I recall correctly, the filter was on the client side and packet overflows occur on the server side ... then maybe it doesn't make a difference after all in this case.
Mike
#4726 posted by negke on 2006/01/31 14:39:46
any cd-ripping program will do, like eac (exactaudiocopy) for example.
Hole Walking
#4727 posted by ijed on 2006/01/31 15:18:08
how do I trick the normal AI into believing that (eg.) a grate in the floor can be walked over by a monster? Can I do it when the grate is a func_wall? I tried a clip brush . . .
Easy Help For The Packet Overflows
#4728 posted by Preach on 2006/01/31 16:24:59
If packet overflows are only occuring when you start gibbing things, there are a few easy changes you can make to the progs that will reduce the problem. One is just to reduce the lifetime of the gibs, probably look in ThrowGib to do that. You could also alter the monsters to spawn fewer gibs when they die, or set a higher threshold for gibbing so fewer of them do so. The latter solution is more work though, as you have to alter such settings on a per monster basis.
A more sofisticated method would be to have a cap on the number of gibs there can be in the level, say 20, and remove the oldest one each time a new gib needed to be spawned. This would also be a much more substantial coding effort.
ijed: You can try filling the gaps with "skip" brushes, search through this thread on google or something for some details on how to use them/where to get the skippy program from. The problem with this method is it makes the floor truely solid, so you can't fire through it/drop grenades down the gap. If the grate is quite fine, and you don't need anyone to fire through, you should be alright. But if that's gonna cause problems with the combat, then you may be stuck, I don't know of a real fix for that one.
Ijed...
#4729 posted by distrans on 2006/01/31 18:23:10
...I had a similar problem recently. I eventually populated that area with flying and jumping enemy (scrag and fiend) and that got around the problem to a degree. I contemplated a matrix of monster_jumps but because of the architecture it all looked too meh! If the path to travel is simple enough (single grate and only two directions to travel) the monster_jump might work without looking naff.
On another note, I was pleasantly surprised the other day to find that Death Knights and Knights can cross the continuous moving platforms in DM2 with relative ease. (The moving plats just around the corner from the lava trap room) How can they do this but baulk at some grates that the player has no trouble traversing?
Yes aguirRe I'll send you the .map if you want :)
Fuckity Fuck Sticks.
#4730 posted by Tron on 2006/01/31 19:30:25
Last night I was doing some work on my D3 map and the computer froze up during a compile.
I waited a while in case it unfroze but that didn't happen so I had to hit the reset button.
The .map file was subsequently screwed, however I wasn't too worried as I simply went into the maps directory and pulled out the last .bak file.
It won't load. :(
Gives me this error when I try to load it into the editor:
"ERROR: file C:\Program Files\Doom 3\base\maps\abd3sp1\008_3_bak.map, line 45492: couldn't read expected floating point number"
At this point I start shivering uncontrollably. Due to foolishness on my part I have about two weeks worth of mapping unsaved since the last backup.
Basically, all I am asking is that if I get a text editor that shows you the line numbers, should I be able to simply delete the problamatic lines to get the map to load so I can salvage bits of it?
A Partial Huzzah!
#4731 posted by Tron on 2006/01/31 20:30:05
After some digging around I found that a chunk of the .bak file is missing as well, a fair bit of geometry information and all the entity listings. Luckily, when I copied and pasted out a few random chunks of the geometry text into a new file I was able to rescue much of what I thought I had lost.
I will have to reinsert all the models and lighting for the newer areas, however that isn't much compared to having to rebuild it all. :)
Neg!ke
#4732 posted by Mike Woodham on 2006/02/01 12:39:07
Thanks. Got them.
Cheers
#4733 posted by ijed on 2006/02/01 15:01:04
Preach - I�ll give tyrann�s skip creating program a try - don�t need to shoot through the grate so this should be perfect.
Distrans - I reckon skip�s are the way to go cos I�m using custom monsters and haven�t made one yet that flies. Also, monster jumps will mean that the grate will be a 1 way area for monsters - and my grate�s in the centre of an open gallery type room.
Additional Concerns
#4734 posted by Ankh on 2006/02/01 16:22:48
Can there be any connection between having too many func_walls in a level and packet overflows?
After I think about it, the packet overflow happens mostly after firing a weapon, even if all monsters are already dead. So there are no gibs flying around when the packet overflow occures (Preach sorry for misleading you). Only corpses and heads lying. The level doesn't have too many enemies (about 90 on hard skill), but the whole area could contain more than 1/3 of them.
Tried also standard winquake -> lots of packet overflow :(
JPL: I don't have any problems with entity count. Are you sure that using the spawning method you talk about can help with reducing packet overflow?
neg!ke: thanks for your input, probably I won't use it though :)
Ankh
#4735 posted by aguirRe on 2006/02/02 01:06:58
Func_walls are brush entites and as such add to the packer overflow limit. If the overflow is constant in an area where nothing dynamic is happening, then you've too many entities in view (typically corpses + other ents like func_walls).
Delayed spawning may not help here if there are no more monsters alive, but corpse removal will help substantially.
If you haven't already, use the r_draworder 1 command in WinQuake to see what the engines renders atm. This will especially reveal the entities in view.
Ankh
#4736 posted by JPL on 2006/02/02 04:45:03
Yes, CDA's progs.dat has been provided by aguirRe, and allow to make monsters appear, and then remove them when they die... As I understood, this is the "dynamic" entity count that generates packet overflow... As progs.dat It affect entity count, and also decrease what the engine have to render, it then avoid packet overflow if well used.. Ask aguirRe for further informations ;)
Some Further Info On Packet Overflow And The Like
#4737 posted by Preach on 2006/02/02 06:24:15
Static entities won't ever cause apacket overflow, as once they are made static the server never updates them. So wall torches are fine, and if you can change any of the func_wall ents to func_illusionary ents then they will also not have an effect. However, by my testing a func_wall shouldn't really cause a packet overflow either.
As an experiment, try putting into seperate large boxmaps 100 knights, 100 func_walls and 100 torches. You should find that the knights cause packet overflows but that the other two don't. There's no simple relationship between number of entities and whether you will get packet overflows. Things like monsters, that will be animating, changing direction and making sounds almost every frame will send lots of messages from the server to the client. A func_wall does almost nothing all the time, and will only generate a message if you trigger it to change its texture or killtarget it.
From what I've heard, it sounds like corpse removal may help you out here. I can't quite explain why a corpse seems to count towards packet overflows while something like a rocket launcher doesn't...but removing the corpses is probably the best way it fix it.
Eh?
#4738 posted by than on 2006/02/07 08:08:39
...will only generate a message if you trigger it to change its texture...
eh? run that one by me again?
From Misc.qc
#4739 posted by czg on 2006/02/07 08:59:13
void() func_wall_use =
{ // change to alternate textures
self.frame = 1 - self.frame;
};
I've never actually seen this work, though...
Never Tried It, But It Should Work
#4740 posted by metlslime on 2006/02/07 14:15:20
You need to use +0 and +a textures to make this work, i believe.
Yeah, It Works
#4741 posted by necros on 2006/02/07 17:17:02
tried it once, and yes, needs to be +0 and +a sequences. will swap between the two and animate them
File Selection
#4742 posted by R.P.G. on 2006/02/08 09:30:21
Will someone explain to me the logical reasoning why, when selecting a series of files in Windows, I must select the last file first in order to have the files be listed in sequential (alphabetic, numeric, etc) order? Shouldn't new selected files be appended to the end of the list?
|