News | Forum | People | FAQ | Links | Search | Register | Log in
FTE Engine
This engine needs its own thread... also!

FTE's homepage: http://fte.triptohell.info/

This thread is for the discussion of using FTE's enhanced features, and/or drawbacks, for Quake level design/modding and/or gaming in general.

Discuss...
First | Previous | Next | Last
Spike 
I'm not sure what that command has to do with what I described, considering its always on 0 by default. 
-lux Light Question 
Ok, I've been testing with this since I started this thread. Here's something I'm curious about.

I have a completely stock install of FTE making sure that these are set in my autoexec.cfg, and are working as intended:

gl_load24bit 1
gl_specular 1
r_glsl_offsetmapping 1
r_deluxemapping 1

Compiling, Light gets this:

-lux -extra4 "$bspdir/$file"

Nothing else, as far as the engine and the mapping, is changed for this test.

I am of course using some replacement textures each with normal maps and one including a specular map(floor).

My issue is, you know how we use "muzzle flash" from the weapons to light up dark areas? Or even just general rocket/grenade usage that lights up areas as well...

That doesn't seem to work for me mapping like this. Or it's inconsistent.

The dark areas most of the time just stay really dark(black/unlit) or... for no reason will light up occasionally and then stop again.

This of course looks strange.

Any thoughts on what I can do to correct this? 
I Tried To Screenshot It... 
... but no matter what window mode I select, FTE writes only a transparent image and my Windows "Print Screen" button seems disabled(?) as well!

Hope the info I provided is enough. 
Screenshotted 
I used OBS to record and grabbed images from video:

https://i.imgur.com/mIOxyaA.jpg 
How Deep The Rabbit Hole Goes ... 
rabbit holes, explore 2 or 3 with an advanced engine ... eventually ... you don't return at all.

Quake is successful because of the limitations (256 colors, etc.) and the many things you cannot do force an author to limit the scope of their project.

With an advanced engine, what starts as a project morphs into exploration drift -- then you find bugs or limitations.

I mention this because it is very uncommon to find a completed project that targeted DarkPlaces or FTE.

The specs of the project increase and increase, exponentially growing the labor hours required for the result --- until the number of labor hours passes the event horizon ... never to return.

A paradox ensues --- offering more capabilities dramatically increases the possibilities but decreases the probabilities.

So planned projects that plan to target the engine capabilities increase, but completed projects that actually do target the engine decrease --- usually to a specific number --> zero.

/Thought of the day 
Yes And No 
Having an engine with more advanced capabilities seems a dubious problem. Evidently there are projects built on UE4, CryEngine, Source, etc that do get completed.

Having the capability to mod the engine is IMO more of a problem. But blaming the engine is only half the story. Mod teams need to exercise discipline and restraint too. 
Limits Didn't Define Quake 
quake defined the limits higher.

dork. 
#29 
This is accurate, in my limited experience. I have since imposed a set of limits on my project so that it will be coherent and actually make it to completion. IMO, setting limits was a great move both logistically and creatively. 
Weapon Bob In FTEQW 
Is it possible to change the weapon bob in FTEQW? Quake's default bob is annoying, the weapon just goes up and down, but it looks like it's stretching or some crap. Is it possible to change it to something like Doom, left and right?

I've noticed that DP has something similar:

cl_bobmodel
cl_bobmodel_up
cl_bobmodel_side
cl_bobmodel_speed 
 
FTE has cl_bob, cl_bobcycle, and cl_bobup. 
Fancy Weapon Movements 
If you're willing to write some CSQC code, you can just set cl_bob 0 and then implement whatever crazy viewmodel movements you want.

All you really need to do is avoid the MASK_VIEWMODELS flag in addentities and to then add an entity yourself using something like:

{
static entity ent;
if (!ent) ent = spawn();
ent.origin=[sin(time)*5,0,0];
setmodelindex(ent,getstatf(STAT_WEAPONMODEL));
ent.frame=getstatf(STAT_WEAPONFRAME);
ent.renderflags=RF_VIEWMODEL|RF_DEPTHHACK;
addentity(ent);
}

The maths your mod uses are then entirely up to you.
(RF_VIEWMODEL is responsible for sticking the ent to the view, which avoids the need for matrix stuff, RF_DEPTHHACK messes around with the ent's projection to prevent it from poking through walls.)
(note that the above code lacks interpolation, its .frame2+.lerpfrac for that, but it makes examples messy. use .frame1time and frame2time if you want control over framegroups.)

Shpuld's TurboQuake mod is a good example of the value of csqc controlling viewmodels:
https://www.youtube.com/watch?v=oCqhxekWn5M
That said, its worth noting that using the vanilla content for it is more painful than it otherwise should be - like spinning the SNG barrel (read: spinning the entire model around a point which is not its origin). 
 
Where's FTE irc located at now?
The quakenet one listed at the site is empty, not even a bot in there.
I needed some assistance with FTE cvars and can't reach out it's chat hangout place, bummer. 
 
“also make sure you don't have both vid_conwidth+vid_conheight lingering from other engines - those other engines tend to have screwed aspect ratios. As a general rule you should only use ONE of them, with the other set to 0. “
true if the engine does console sizing correctly it will
autoadjust the height based on the proper
aspect ratio 
@spike 
What's best place to find you for questions or documentation for FTE? Here? The Wiki seems pretty out of date. Is Sourceforge still the best place to report bugs?

5121 Win64 Dell Win10 laptop. I'm having keyboard input issues similar to buttons being held down. I confirmed the physical keys are fine and this behavior doesn't happen in other ports. I had changed some video settings prior to the issue. Restarting app had no effect. 
 
Is there any sane way to animate weapons and models from QC? Without having to tie frames and game logic and without having to declare each and every frame as a var and then as a function? 
 
@dumptruck
Best way to poke me is generally via #qc, if I'm on. Or if you're on discord I got harassed into joining the Quakeworld one.

I don't know what would be up with the keyboard input. you could try toggling in_rawinput (followed by in_restart) which may or may not help, but I've not seen similar issues in the windows builds. I also don't use win10, but hey.

@dfut
framegroups would be the obvious answer there.
however, animating with framegroups from ssqc is kinda messy as there's no way for the server to force a framegroup restart, which makes firing animations de-sync.
csqc has full control over the time into framegroups though, and because that's the answer to everything, you can use it to detect toggles of some bitflag and convert them into restarting whatever framegroup.
and if you're using csqc, you could also use it to position the various bones of eg an iqm via the skeletal objects extension, which allows things to spin independently of whatever animation they're otherwise meant to be playing, for smooth chainguns or whatever. 
 
Where i can find any examples of CSQC framegroups? Do they work normally with MDL and MD2? 
 
md2+md3 do not natively support framegroups, while mdl+iqm do.
csqc is quite explicit when it comes to animation, so there's about 5 fields that need to be updated each frame.
.frame+.frame2 define the two framegroups/animations to lerp between, eg when the animation changes.
.lerpfrac says how much of .frame2 to use (and thus how little of .frame to use). 0 uses excusively .frame, 1 uses exlusively .frame2, other values linearly interpolate.
.frame1time+.frame2time define the time into the two animations.

So, to switch from one animation to a new one, you copy .frame to .frame2 (and .frame1time to .frame2time), set .frame to the new animation (and .frame1time to 0), set .lerpfrac to 1, and then slowly decrement it over time (depending on how smooth you want the animation switch to be, probably lerpfrac=max(0,lerpfrac-frametime*10);
additionally, you need to increment both .frame1time and .frame2time by frametime. You can scale it or whatever if desired.

note that if you want to restart an animation, you will likely want to do it with lerpfrac (and .frame1==.frame2) instead of trivially resetting .frameNtime to 0, as this avoids sudden snaps.

when it comes to viewmodels, they're not really any different from any other entity. Just make sure MASK_VIEWMODELS isn't used, spawn a private entity with renderflags|=RF_VIEWMODEL|RF_DEPTHHACK, setmodelindex it to getstatf(STAT_WEAPONMODEL), and update its frame to getstat(STAT_WEAPONFRAME) as appropriate.
use some bit in the frame stat to signify animation restarts, and have the csqc restart the animation when its toggled by the ssqc or so.

So yeah, quite a bit of code that really needs some proper example code to fully understand. I don't really have easy-to-read code to link though, so I'm sorry about that. 
 
Thanks a lot for the information! I'll try to figure it out. Sounds very complex :D 
 
Does FTE support AD? The site says it doesn't, but I keep seeing people suggesting it... 
Mostly 
Should work for most AD maps. Might not work on sepulchre, swampy, or other megamaps. Spike can correct me, but I don't believe FTE has support for sv_protocol 999 even though it does support bsp2.

Spike could have done some updating though. I highly recommend he does since "can it play AD" seems to be the new standard for whether a Quake engine is "worthy" (initial AD release only specified Quakespasm as supported, leading to a lot of questions on other engines). Orl maps are a concern too since they are very very large as well. 
@idiot And @Qmaster 
use sv_bigcoords 1 for 999 maps (per Spike in a prior post in this thread) 
 
ad_sepulcher: worked okay last time I tried it.
ad_swampy: I really have no idea why anyone would think this map would have a problem.
999: sv_bigcoords 1; if its need isn't autodetected (if for some reason you want 999 specifically, also set cl_loopbackprotocol fitz;cl_nopext 1).

I'm not aware of any limits that are lower in FTE than QS, while I am aware of the reverse (even vs QSS).
That's not to say that there are no issues whatsoever, just that any issues are more likely to be due to qw-by-default player physics, or other such 'minor' incompatibilities that could affect ANY map...
And this is why you never fix what are obviously bugs. :(

But yeah, if I was aware of any issues with any of those maps that were mentioned, then I've either fixed them or just forgotten about them... Feel free to try them and shout at me should they somehow crash and burn. This is not a warranty - if it causes your computer to explode and destroy your entire city, then you probably shouldn't have been playing quake inside a nuclear reactor. or whatever. 
Spike 
Any advancement on the control pad issue that myself and Kinn were experiencing? 
@FifthElephant 
As I said in the other thread, I got PrimalLove to give me a list of changes on that front, which are now implemented in the latest build.
Most of it was just cvar changes, so you'll need to do 'cvarreset joy*' or to wipe that part of your config some other way. 
 
So... this is news for me... i've been playing quake with FTE for 6 months now and never experienced crackling sound :/ but when i play sm181_coce1 and sm181_coce2 i can hear some annoying cracklings... and if i go to "menu/audio options/restart sound" the cracklings stops, but if i load the map again, or just press F9, the crackling returns :(

Why is this happening? And why only in these two maps? :/ 
 
snd_restart doesn't restart static sounds.
there's a crackly static sound played near all wall torches.
I've no idea how you wouldn't have noticed that on other maps too though, maybe you've just been playing maps that use regular lights. 
I Suppose 
that in the first one the crackling comes from the torches, and in the second from light_fluoro or light_fluorospark (i don't remember which right now). But torches do a very different sound from the fluoro ... so maybe its another thing.

There is no logic gates or other sounds that repeat save the idle sounds from the enemies so it isn't from that, it can't be from performance as one is very open and the other took visibility seriously ... so I have no idea. 
 
Ok, i've made a video showing what i'm talking about =D

https://www.youtube.com/watch?v=0yJ5DR2eutY

I choose "coce2" because it doesnt have torches, so there will be no mistake here ;)

After 00:27 you can hear the crackling sound. At 00:50 i restart the sound, and the crackling is gone, but the "wind" sound is gone too... So, at 01:30 i've loaded the map again to show that if you reload the map the crackling is back, and this time i fought some death-knights to prove that the crackling has nothing to do with the "wind" sound, since you can hear it when i'm fighting...

And at 02:15 i loaded the same map with quakespasm to show that there's no crackling sound in this engine.

But, as i said before, coce1 and coce2 are the only maps that i heard this annoying crackling ;) 
No Idea 
but it is not from my maps, as it isn't any of the sounds Quake does. I also used a completely clean install (just FTE.exe and the two .paks) of the game to check and heard none of that in any of the two maps so maybe it comes from your configuration.

What i noticed and will be interesting for the developer is something on coloured lighting: i have coloured lights everywhere on the map, but there is only one not coloured. It's values are 1 1 1 to make a very dark light, so i suppose that FTE misunderstood it as a light with values between 0-1 instead of 0-255 and made it pure white. Look back on the spawning point on skill 1 and you'll see it.

I also noticed that on default config hell_knight projectiles don't leave a trail. Rechecked it with E2M5 and the same happens so its not from my map. Gotta check which option puts that well. 
 
sound:
try using directsound instead of openal.
snd_device dsound
(or pick an explicit outpur driver+device via the menus)
or wasapi or sdl2 or alsa... etc...

lights:
this is the problem when there's a complete lack of standards.
you may wish to provide an .rtlights file with your map, so that the engine doesn't have to guess at all.

missing trail particles:
QS rounds up - particles get thicker at high framerates, making it harder to see enemies.
FTE rounds down - particles get thinner. This is consistent with other QW engines. Unfortunately they can get so thin that they become invisible...
I need to do something about this, I'm just not entirely sure what. The scripted particles do not have this issue (they have working distance tracking).
In the meantime, cl_maxfps 150 (or vsync), or 'r_particledesc high' will 'fix' it, assuming a lax definition of fix. 
 
Thank you!! Changing to directsound did the trick! =D 
Noclip 
what's the command to get q2-style noclip movement? (fly in direction you are looking). For some reason this keeps going away and I end up back with sucky vanilla noclip style 
#57, Kinn 
that's nq player physics for you. oh, so NOW you don't want it faithful! pah! :P
sv_nqplayerphysics 0 will give qw physics, which don't have that annoyance (yes, there are a few mods that depend on the vanilla behaviour, which just makes things messy). its default varies by preset, which is awkward. 
 
Hehe, well I don't consider noclip as "part of the game", so how that works can be as unfaithful as I like :}

Is there anywhere I can read about the differences in player physics between qw and nq, because it sounds pretty interesting, and is something that I've never really come across before, having been a single player all my life, and never actually played qw. 
 
Stunting the player experience is faithful!

Fucking hell. 
 
missing trail particles:
QS rounds up - particles get thicker at high framerates, making it harder to see enemies.
FTE rounds down - particles get thinner. This is consistent with other QW engines.


It's a little more complex than this.

If you run your favourite Quake engine at 20-30 fps - which is the best that most people would have been getting in 1996 - you'll see that the intended behaviour of particle trails is not a straight, continuous trail of particles, but actually a trail that drops "clumps" of particles at discrete intervals.

There was a .plan or something from Romero back in the day that exactly describes this effect, but I don't have a link to it handy.

So both NQ and QW are actually behaving incorrectly at higher framerates.

The correct way to "fix" particle trails is to track an "ent->oldtrailorigin"; if a certain timespan has passed (something between 1/20 and 1/36 seconds works good) drop a clump (using standard R_RocketTrail from ent->oldtrailorigin to ent->origin) and update oldtrailorigin from origin. Add in some reset behaviour for when a new ent is spawned or an existing one is culled, and you're done.

This way works consistently at any high framerate and doesn't excessively spam particles in timedemos either. 
Crunchy Piskels 
Ok, so I can set 3d filter mode to "nearest" and 2d filter mode to "nearest" to make the world and the HUD cruncky pixels, but is there a way to make the console / text pixelly? Currently it's blurry and the text has some line artifacts around it, which seem to be a result of the filtering.... 
Kinn: QW Physics Vs NQ Physics: Everything You Ever Wanted To Know 
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2017 John Fitzgibbons. All posts are copyright their respective authors.