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 Up, Replacement Textures And Lighting. 
Shaders not included ;)

Playing thru Fallout: New Vegas I really liked the subtle use of surface materials. Normals, gloss, reflections etc. I basically know what Darkplaces expects for replacement textures(files/names) but cannot find the information for FTE.

Or is it the same?

I know they share some commonality of certain features but I also know FTE has it's own extensions/capabilities as well.

If anyone has a link or can post the information I would appreciate it.

As far as lighting, to use surface materials, what in the menu's are the bare minimum I need to enable? Lighting Mode: Realtime and Offset Mapping? Or does Dynamic Lighting have to be used also?

My purpose here is to use the bare minimum solely for texture effects. Not complete RT rendered and shadowed Quake.

That's a start ;) 
 
Yay! It would be nice if FTE were discussed more.

1) Single player modern maps. Runs them all.
2) Co-operative play is an option because it has Spike's superior form of the Quakeworld protocol ...
3) -- which is backwards compatible, so it can online deathmatch also.
4) Conservative in appearance by default.
5) Compatibility and expected behavior. (Sorry, DarkPlaces).
6) Extended capabilities available -- support for more model formats, Q3 maps, is the source of the effects available in Quakespasm Spiked, QuakeC extensions.

Weakness: No Mac build, although there are only 15 Mac users in all of Quake. It is understandable since it almost requires a Mac to compile for a Mac.

Minor gripe ... the useful "apropos" should be renamed "find" modelling after the (successful and user-friendly) Half-Life 2 engine (Source) -- instead of mirroring the goofy name for a (unsuccessful with average people and not user-friendly) Linux operating system command that DarkPlaces chose (lemmings, cliff, and all that). Why not mimick winners instead of user unfriendliness?

If there were one engine that can do the most things that Quake/Quakeworld can do and do it right, it is FTE.

FTE has a wiki with documentaton:

http://fte.triptohell.info/wiki/index.php/Main_Page

(Link to wiki on FTE page is broken? Or is there a new wiki?) 
 
dynamic light aspect is interesting, i was thinking about making a map with the level of destructibility of hexen 2 but have concerns with how with how pre-baked is going to play with things like that.

Also if i made a map exclusivly using dynamic lights i think you may actually have to take geometry complexity and map size into consideration.

maybe... it runs pretty well for all the graphic addons usually ports like this have all kinds of input problems and just dont feel like the original. 
 
that was my post, weird forum 
I've Been Testing FTE 
...this week on my new/old map. I found an issue last night but I will be damned if I can recall what it was... it was at the end of the night and not a crash. I will go back later tonight and see if I can jog my memory.

maybe physics? I dunno. I was swapping between engines last night.

I do know I would love FTE to have FF and REW of demos. 
 
@damage_inc
gl_load24bit 1 // otherwise you get no high-res textures.
gl_specular 1 // enables specular (aka: gloss)
r_glsl_offsetmapping 1 // uses the height values in the alpha channel of the normalmap
r_deluxemapping 1 // combines the normalmap with pre-baked lighting directions (light your map with -lux). No RT lights needed.

r_shadow_realtime_dlight controls whether to attach rtlights to stuff like rockets and explosions. should not normally be used at the same time as r_dynamic (ie: lightmap-based dynamic lights, doesn't affect lightstyle animations).
r_shadow_realtime_world controls whether most static rtlights should be used. note that each static rtlight has a 'mode' field that allows it to be enabled by either rtdlight OR rtworld (or if either is enabled).
r_shadow_realtime_world_lightmaps controls the strength of the lightmaps when rtworld is on.

texture naming is basically the same as DP, except more permissive for fuhquake/ezquake compat reasons.
q3-shader is compatible with q3 instead of dp, if you want to use shaders made for DP then you can try r_programmify 2, but its a global setting. That said shaders that don't specify any glsl probably shouldn't be used anyway.
Here's an example shader that explicitly names all the textures to use:
foo
{
program defaultwall //the glsl to use to draw this surface. use defaultskin for mdls/iqms.
diffusemap foo
normalmap foo_norm //alpha should be height values for offsetmapping
specularmap foo_gloss //alpha is an exponent multiplier
fullbrightmap foo_luma
//uppermap foo_upper //not normally needed for walls
//lowermap foo_lower //not normally needed for walls
reflectmask foo_mask //mask for cubemap reflections
reflectcube somecubemap //better to set VF_ENVMAP in csqc than use this
width 64 //explicit sizes avoids weirdness with .maps (which lack the size info from embedded mips)
height 64
}
You may wish to throw in an explicit pass if you want the shader to work properly in DP or without glsl, or if you want to specify a blend mode.
The program term can be used to load custom glsl code for your surface (eg altwater that samples from reflection/refraction fbos for 'pretty water' type stuff). You can pass args by appending #foo=bar onto the program's name (or adding #foo onto the texture name in the map, if you can avoid q1bsp's 16 char limit).
Custom glsl can do lots of stuff, but is more likely to break (eg: with the d3d renderers).

@sgtstabs
r_shadow_realtime_dlight can enable static dlights without affecting static lighting. When combined with a few spotlights, the result should be much more efficient than trying to light the entire map with omnilights.
Or stick to fence textures for your destructables, and flag them as not casting shadows.
The real issue with rtlights is that mappers have no idea which setting the user is actually using, which means either lots of work, or users complaining that its bugged or whatever.
sidenote: if you want authentic hexen2, then remember that hexen2 has a habit of just forcing absolute light levels, ignoring the prebaked lighting entirely on various bmodels. 
@dumptruck_ds 
demo rewind is _far_ from trivial once you have proper delta compression and sporadic stuff like player updates (or worse...). While it would theoretically be possible to create a 'reverse' copy of the demo, that sort of thing would be a _lot_ of work, and probably be buggy more often than not.
That said, demo_jump -10 will jump 10-secs backwards by restarting the demo(when jumping backwards) and instantly replaying it up to that target point, or you can give timestamps.
cl_demospeed can be used to provide fastforward or slow motion stuff. You just can't set it to a negative value.

regarding physics, fte defaults to qw physics for prediction to work. set sv_nqplayerphysics to 1 if you want nq physics instead, but its probably best avoided in multiplayer. note that one or two of the presets also set this. 
@spike 
Glad to have the option for the physics and that was what I was trying to remember after all! I recall trying to make some very specific jumps to a very narrow ledge and slipping off a bit. I am so used to NQ with QS that it's extremely noticeable. I have quite a few jumping puzzles in the map I am testing.

thx 
Sgtstabs 
mmmm thats bad how the lighting setting would need tweaking to look right in the first place for users .

I did some experiments with breakable furniture, i guess it dosnt look to bad when its not casting a shadow, the AO these new compilers have kinda helps it not look to shitty.

Its always fun to play with new toys tho, especially all the render option this one has, is there an FGD file for the entitys i wouldnt mind playing around with it. 
@Spike - Thanks For The Info 
I'm not concerned with DP, just wanted to know what translated that I already knew. This would simply be for FTE only mapping. 
@Sgtstabs 
.fdg files are a human-friendly and easily editable. It's very to edit a .fgd file to add what you want.

Beginner level mapping stuff, really. Open one and look. 
Great Job! 
Just wanted to say that r_softwarebanding is a seriously awesome feature, very similar to gl_tonemap=5 in GZDoom (https://forum.drdteam.org/viewtopic.php?t=7097).

Just wish it would be ported to Quakespasm (maybe the "Spiked" fork?) someday. It's the only "feature" that's still missing from DOS/WinQuake.

On another note, how did you fix the texture seams when upscaling the HUD in Hexen 2? It's still broken in Hammer of Thyrion after all these years. Did you change GL_CLAMP to GL_CLAMP_TO_EDGE or what was it? 
Surprisingly Good 
I've heard positive things about FTE, so i decided to put it to the test. Not only did it load both really large maps shib3 and shib5, it performed really well, marginally better than Quakespasm. Of course FTE does have it's minor problems.

Many distant scenery had details missing, and there were odd holes in the cliff side wall. In addition, at some point transparent textures and static entities disappear. Could this be hitting an efrags limit?

Shib 5 had less visual issues, but more prominent ones. The mountains in the background disappear completely until you get fairly close to them, which you typically cannot do, so the scenery looks really bland.

Despite these visual defects, the maps themselves run fine with no gameplay issues

The other odd issue that can be game breaking is every so often, the player will just spontaneously warp to a completely different spot in the map, either inside or outside. It just happens randomly without rhyme or reason.

But despite these small setbacks, it appears to be a terrific engine with lots of customizable options to suit the needs of any players. 
@KenChennar 
Shib requires gl_farclip 256000, which FTE doesn't seem to support. 
SgtStabs 
all that jazz and no VR support?

these older games play really well in VR for some reason if VR is modded in correctly the new quakespasm sdl2 works great.

hacky injected forced VR however is poison 
Mirrors, True Rotation, Etc. 
Spike once said FTE has recursive mirrors. (99% on this).

FTE also has true rotation available and ericw-tools map compiling tools true rotation as an option. (To get the most out of true rotation -- like doors and drawbridges and such -- requires QuakeC, the Remake Quake game code QuakeC has that available http://svn.icculus.org/remakequake/src/ ). 
@Baker 
Am I reading that right?

Just need to add RMQ's rotation QC code to a progs compile and all the pieces(ericw tools + progs + FTE) are in place for true rotation? 
Re: #17 
I already tested this so, it worked. No need for a reply.

Such an easy setup. Only downside left is the "choppiness" of the rotation. But every Quake rotation has this as well. 
 
That is correct. Should work in DarkPlaces as well. DarkPlaces also supports true rotation.

Rotation particularly is required for, say, func_door. You have to modify the door code.

As I understand it, it's probably a notch or 2 above novice level -- so if you are completely QuakeC clueless/coding adverse you'll either need to commit to doing a QuakeC tutorial or 2 to move yourself above novice --- or find a QuakeC literate friend and either bribe him/twist his arm to doing the task or helping you along the way.)

If you use something like WinMerge (a user-friendly file app to compare files or whole folders) to compare versus vanilla progs 1.06 source code to the below, you may find this useful as a start ...

http://forums.insideqc.com/viewtopic.php?f=12&t=2376 (ignore all the engine code on that page like world.c, sv_phys.c -- that ain't QuakeC).

Nothing about it is "hard". But will require a medium commitment to detail.

I, in fact, was quite newbie writing that tutorial and used WinMerge to extract the door rotation QuakeC from Avirox's source code. I doubt I understood much about the actual QuakeC -- but I didn't need to. Then I made a test map with Rubicon wad setting angle and such.

The QuakeC source is included with the sample map. 
 
Choppiness of the rotation should be able to be fixed. It needs higher precision angles.

I would expect that in DarkPlaces it may be smooth as silk because I believe DarkPlaces protocol 7 uses precise angles by default.

FTE may need some kind of "hint" to cause smooth angles.

I don't know how to do that.

Hopefully Spike notices your angle precision needs. FTE has protocol extensions (etc.), but I am not versed on those. 
 
You might be able to do "sv_protocol 999" in FTE. It may immediately resolve it if it is available, although if 999 is available in FTE, I'm not sure that FTE doesn't have something better available that would be a better choice in the long run. 
 
Spike can confirm, but I think it's "sv_bigcoords 1" 
Silly Me 
I had vsync enabled(hate screen tearing), it is smooth as silk now.

Thanks Eric, Baker, Spike and the RMQ peeps. 
 
@KenChennar
gl_maxdist 0 will give you an infinite projection matrix, at the cost of depth precision.

@damage_inc / Baker
sv_bigcoords 1 is equivalent to sv_protocol 999, but also applies to fte's qw protocol too (and is required for the server to use dpp7, also).
this setting provides both 32bit coords and 16bit angles.
enabling vsync or setting cl_netfps lower, or making the thing rotate faster can avoid two sequential snapshots with the same angle (ie: the rotation periodically stops), giving better use of the precision that's already there. 
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. 
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.