Optimizing mods/speed

Talk about Quake, Doom, Wolfenstein 3D, or other DC first person shooting game ports and mods for those games in here.
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Optimizing mods/speed

Post by Moi » Sun Jun 22, 2003 12:21 pm

What tricks can be used to make large maps, increase loading speed etc?
What I do is:

-strech the texture by 2
-not using skys


In joymenu you could choose the sky quality. How does it work?
Are there any other ways to improve speed?
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Sun Jun 22, 2003 2:30 pm

If you want a FPS increase try not to use a lot of BSP geometry and AI at the same time. (Prydon Gate slowed down on Dreamcast due to all the monsters at once, we tried to fix this - however the PC version is flawless as expected)
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Contact:

Post by TheDumbAss » Sun Jun 22, 2003 8:32 pm

Models (.mdl) effect framerate much more than they should because Titanium forgot about a little thing called backface culling. What backface culling does is it checks to see what polygons are visible to the player and only draws those. Meaning the polygons on the backface (side the player cant see) arent drawn.

Titanium didnt work in backface culling so all the polygons for a model are drawn at all times... which is why some mods should work ok but slow to a crawl quickly if a lot of models are on screen at once.


Something to improve load times would be something most (licensed) developers did when creating images that became GDROMs... carefully arranging the files on the cd to reduce the back and forth tracking of the lazer.... Only for Quake you'd have to arrange the files within the pak. Very few pak editors have that ability and the one or two I found are very old (and dos).

Basicly you'd put the files in the approximate order inwhich they are loaded. It may only save half a second to maybe 2 seconds tops per level and it would only really be useful with stand alone mods where you can put every single file into one pak, arange it as needed, and upload it for use that way... then hope the end user doesnt use a pak editor on it that would alphabitize or otherwise rearange you file order. I had looked into doing this once when I thought about making toolkits to auto install some mods (like raptors) back when we still thought it best to remove the old model from the original .pak when it was replace in the mod's .pak (like the fiend was replaced by the raptor in raptors.) It turned out to be a major pain in the arse...

Of course you can get a slight loading speed increase by putting a dummy file on your disc to push the actual .pak tward the edge.

Something about .dem files (demos)... Man0y know there is a size limit for them. I havent tried any of them for some reason but there are several demo editors out there and a lot of them have ways to reduce the extra (useless) information stored in the .dem file. Getting rid of that data will of course reduce the size of the file. But like I said... for some reason I've never tried it so I dont know if a reduced size .dem will work on QuakeDC or not.
My old Sig was broken. Enter the new Sig!
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Post by Moi » Mon Jun 23, 2003 3:05 pm

ok thanks.
but how did fragger change the sky quality? maybe we shoud make it the standard setting in our mods?
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3696
Joined: Sun Nov 04, 2001 5:12 pm
Contact:

Post by mankrip » Mon Jun 23, 2003 10:08 pm

cvar: gl_subdivide_size

values set in JoyMenu:
1024 -min quality (faster)
128 -default
64
48
32 -max quality (slower)

I don't recommend values smaller than 32.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Post by Moi » Tue Jun 24, 2003 11:17 am

Fragger: ok. where do i put this command to? into the autoexec.cfg?

Just remembered another trick that improves the 3d view:

-if you rotate the walls by ~20 degrees they wont disappear if the player is too close to them.

rotating the wall following way: I to \
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Post by Moi » Wed Jun 25, 2003 1:09 pm

ok i talked about rotating a 90? wall to 120? ;)
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3696
Joined: Sun Nov 04, 2001 5:12 pm
Contact:

Post by mankrip » Wed Jun 25, 2003 10:41 pm

You can put this cvar in any .cfg file, but I suggest you to take a look in the JoyMenu config files (quake.rc and default.cfg) and use them in your mods. I put explanations in all variables and commands used by the .cfg files. Just remove the variables and commands you won't use, add any ones you want, and it's done.

Also, both the autoexec.cfg and the config.cfg aren't loaded by JoyMenu. To make them to be loaded, add the lines "exec config.cfg" and "exec autoexec.cfg" right after the "exec default.cfg" line in quake.rc. But, in my opinion, it's pointless to use them in QuakeDC, because you can get all you need from them and put in the default.cfg.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Post by Moi » Sat Jun 28, 2003 12:50 pm

ok ;)
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 590
Joined: Thu Mar 14, 2002 1:15 am

Post by Moi » Wed Jul 09, 2003 1:05 pm

a tip by TDA:
On mods where ram useage could be really high you could take the models from the mod and reduce their skin size using QME, StudioMDx or other model editor. The smaller the skin the smaller the total file size for the model and the lower the ram usage will be. The downside of this is it also lowers the visual quality of the model's skin... so things will be more grainy looking. This process was done to the models in Prydon Gate to get it to run more smoothly on Dreamcast.

another tip by TDA:
With sounds you will want to go through most mods and make sure the sounds are set to the quake standard of 8bit mono with an 11khz sample rate... many mods use a 22khz sample rate which usually makes the filesize about double that of 11khz. 22khz samples do work ok on QuakeDC but I'm not sure if they are downsampled to 11khz on the fly or if they are played at 22khz which would actually offer a bit better sound quality. A few mods even try to toss in 16bit and/or stereo .wav files which cause problems with stock winquake and GLquake and (though I've not tested) shouldnt work on QuakeDC either.
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Wed Jul 09, 2003 5:40 pm

"This process was done to the models in Prydon Gate to get it to run more smoothly on Dreamcast." What? No, that's not true.

Also stereo sounds aren't included at ALL in quake mods because quake will just not play them unless it's a custom engine.
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3696
Joined: Sun Nov 04, 2001 5:12 pm
Contact:

Post by mankrip » Sun Sep 05, 2004 1:18 pm

I turned this topic into a sticky :).
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Contact:

Post by TheDumbAss » Mon Sep 06, 2004 10:56 pm

Thanks Fragger. This topic was getting kinda lost.

Only problem is this stuff was aimed at the GLquake based QuakeDC not the current software ports. So a couple minor things dont work (like sky quality)...

Overall most of this stuff is true for any engine though and can be looked at as possible optimizations a modder can make if things start running rough.
My old Sig was broken. Enter the new Sig!
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Tue Sep 07, 2004 3:50 pm

Perhaps the topic name could renamed "QuakeDC - Optimizing mods/speed" as to lower possible confusion?
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
Rand Linden
bleemcast! Creator
bleemcast! Creator
Posts: 882
Joined: Wed Oct 17, 2001 7:44 pm
Location: Los Angeles, CA
Contact:

Post by Rand Linden » Tue Sep 07, 2004 4:15 pm

Apologies for the not-on-topic post here, but we're still looking for Mod authors who own their work, are willing to license it, and would like to see it on Mobiles...

Rand.
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Mon Oct 18, 2004 3:53 pm

Quake 1 mod authors?
Sounds... interesting.
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
Rand Linden
bleemcast! Creator
bleemcast! Creator
Posts: 882
Joined: Wed Oct 17, 2001 7:44 pm
Location: Los Angeles, CA
Contact:

Post by Rand Linden » Mon Oct 18, 2004 4:02 pm

Q1 or Q2.

Our website has more info.

Rand.
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Mon Oct 18, 2004 4:09 pm

It'd be interesting to see The Ascension of Vigil on mobiles :D
Except I'm borrowing sounds from other places, the textures aren't mine, etc. :'(
Vigil is free though, the sprites I made, and the textures would need replacing..
Codewise, I wrote it all! :P
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1677
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Contact:

Post by Tyne » Sun Nov 14, 2004 10:29 pm

Here's a tip for reducing load times in your mods, saving ram and to keeping your Dreamcast around longer at the same time!

Normally in QuakeC people tend to precache EVERYTHING. models, sounds, 2D sprites etc.. well I've found out that if you edit the precache list so it'll only load the required files for running each individual level you'll be able to decrease load times and more.

Normal Precache List (taken from TAoV before it was fixed):

precache_model ("progs/plyr.mdl");
precache_model ("progs/zom_gib.mdl");
precache_model ("progs/icef.mdl");
precache_model ("progs/grounded.mdl");
precache_model ("progs/shadow.spr");
precache_model ("progs/hit.spr");
precache_model ("progs/hit2.spr");

Optimized Precache List (taken from TAoV present version):

// Only precache these files when you're not in the title screen or introduction
if (world.model != "maps/intro.bsp" && world.model != "maps/start.bsp")
{
precache_model ("progs/plyr.mdl");
precache_model ("progs/zom_gib.mdl");
precache_model ("progs/icef.mdl");
precache_model ("progs/grounded.mdl");
precache_model ("progs/shadow.spr");
precache_model ("progs/hit.spr");
precache_model ("progs/hit2.spr");
.. etc

Glad I could help. ;)
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
Mr.INSANE
DCEmu Crazy Poster
DCEmu Crazy Poster
Posts: 35
Joined: Sun Sep 04, 2005 1:41 pm

Post by Mr.INSANE » Sun Sep 04, 2005 2:18 pm

Woot first post aint i special

Mapping Optimizations

-Instead of using hundreds of light ententies *cough* ajay *cough* set a minimum ambient light level this will give you a good boost depending on how many light ententies you used to have
-Dont box maps this is a genereal noob mapper thing todo if your map leaks you put a box around it. This shoots the vis level through the roof and can make considerable slowdowns.
-Keep clean brushwork. Pretty simple dont make a tree out of five hundred brushes when i could make one out of 8.
-Dont use windows trasnparent water etc. this will give you a good boost if you use a window texture instead of being able to see into the building or whatever your looking into
-for complex brushes dont sink them into the ground situate these slightly higher than the ground that way the map compiling tools wont have to set the brush up
-if levels get to big starting chaining them this is a good way to keep high framrates.


thats pretty much all and woot first post
Post Reply