News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

fhDOOM (modernized idTech4)

Started by eXistence, April 10, 2016, 12:35:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

bitterman

#45
Raynor's code don't has .sln and (as I think) still unfinished. Sadly.

But now I think this idea (D3 plus GLSL) is overdue.

Only few things may discourage to use BFG code (SWF, resources, etc).

And now with help of few mens (trebor, motorsep and others) these problems are almost resolved.

Since the advent of guidelines for working with these things the potential of new code is open for modders.

Sorry for little offtop.


EoceneMiacid

#46
Hmm.

I'd love to try this.

I'm trying to compile it for Linux. According to the readme, the scons command must be run in the /neo folder, but that returns "scons: *** No SConstruct file found."

The project doesn't seem to contain any SConstruct file when I look for it. The closest I could find was a subdirectory /neo/sys/scons, which contains a bunch of SConscript files.

Has this file been omitted or am I just an idiot?

eXistence

#47
@0x29a(and @bitterman to some extend):

It's not possible to integrate SikkMod's (ARB2-based) interaction shaders into (GLSL-based) fhDOOM, you simply cannot mix these things. Some of SikkMod's (ARB2-based) post processing shaders might be technically capable of being integrated into fhDOOM, but i am not sure about that. Even if it is possible, i would need to put an uncertain amount of extra work into fhDOOM for that, drop OpenGL core profile and probably apply some changes to SikkMod's shaders. I simply don't want to take that route, especially because all those changes have to be maintained and i fear that this kind of backward compatibility hinders future changes.

Playing with a couple of new rendering features is next on my ToDo list and some of those features are implemented in SikkMod as well. I already did something like that with Parallax Occlusion Mapping. POM in fhDOOM is not ported from SikkMod, it's the same feature just implemented from scratch in a more modern way (but it suffers from the exact same problems, that's why it's off by default and the option to enable it is not exposed in the game's main menu). A future release of fhDOOM might suit your needs better, but don't count on it. If you need SikkMod you are stuck with vanilla Doom3 (or dhwem3?).

fhDOOM was never meant to replace one of the existing engines or revive Doom3 modding or something like that. I never cared very much about these things (i even dropped support for mods of the original game, that alone is a huge disadvantage compared to vanilla 1.3.1). fhDOOM is tailored to my particular needs and interests.

@EoceneMiacid:

Linux is supported, but since i am currently focussed on Windows, the linux build is not maintained very well and the game is not tested regularly on linux. I did a quick test on a fresh Xubuntu 16.04 (64bit) machine yesterday and it compiles and runs fine (at least with proprietary nVidia drivers, not sure about the different AMD drivers). See http://www.facinghell.com/fhdoom/fhDOOM-1.5.1-1413-linux.png Keep in mind, fhDOOM is still 32bit only at this point. So if you are on a 64bit machine, you need to install 32bit versions of some libraries. Better linux support is on my ToDo list, but priority is very low.

Here is a crude little script that i use to install all dependencies on an ubuntu machine to compile fhDOOM:

#!/bin/sh
# installs required packages on Ubuntu to compile fhDOOM.
# most packages will install additional dependencies that are also required but are not explicitly listed here.

echo "installing basic stuff..."
sudo apt-get install git cmake g++

echo "installing dev packages..."
sudo apt-get install freeglut3-dev libalut-dev libasound2-dev

MACHINE_TYPE=`uname -m`
echo "machine type:"${MACHINE_TYPE}
if [ "$MACHINE_TYPE" = "x86_64" ]; then
echo "installing 32bit libraries..."
sudo apt-get install g++-multilib freeglut3-dev:i386 libalut-dev:i386 libasound2-dev:i386
fi

EoceneMiacid

Hi,

Thanks for your help. Cmake works now, and I have installed all dependencies except this one:

g++-multilib :
Depends: gcc-multilib (>= 4:5.3.1-1ubuntu1) but it is not going to be installed
Depends: g++-5-multilib (>= 5.3.1-3~) but it is not going to be installed

Of course trying to run make regardless returns a whole lot of errors.

If the dependency problem isn't easy to fix, I'm going to have to wait until 64bit support for Linux has been added.

To be honest, I'm a bit miffed to read that you chose to deliberately withhold proper mod support, if I understand correctly. It's your project and it's up to you what you do with it (I guess I could fork the project but my programming skills aren't quite up to that level yet), but it kind of seems strange to me that you chose to implement a number of very attractive features and then remove a crucial one, especially since you're actively developing a mod project yourself.

The Doom 3 scene already is fragmented enough as it is, and various source ports taking it in different directions will only make it worse.










eXistence

I am not working on a mod project.
Mod support is still there and fully functional, you just can't load dll/so files that have been compiled for vanilla Doom3 1.3.1 (but thats for true for dhewm3 as well, afaik).

It's not the jack-of-all-trades-uber-idtech4 engine that some seem to expect. It's just a personal research and learning project, and i have said that many times.
Sorry, but that's the way it is. I am tired of explaining myself for that. Take it or leave it :)

EoceneMiacid

Hmmz, I ended up on the Facing Hell website which clearly states that somebody with both your real name and your nickname is the lead level designer for the project.

What are the odds huh ;)

Well, for now, I guess I have little choice but to leave it. Once again, you're free to spend your own free time as you want.

I'm honestly not trying to guilt-trip you here, but the lack of an industry standard Doom 3 source port across all OS's is at this point probably the largest obstacle to growing our numbers.


eXistence

Quote from: EoceneMiacid on June 29, 2016, 12:19:50 PM
Hmmz, I ended up on the Facing Hell website which clearly states that somebody with both your real name and your nickname is the lead level designer for the project.

What are the odds huh ;)

I might have known it. That project is dead since ~10 years or so, there is no work being done on it :)

Quote from: EoceneMiacid on June 29, 2016, 12:19:50 PM
Well, for now, I guess I have little choice but to leave it.
Thats very understandable and i am totally fine with it :)

Quote from: EoceneMiacid on June 29, 2016, 12:19:50 PM
I'm honestly not trying to guilt-trip you here, but the lack of an industry standard Doom 3 source port across all OS's is at this point probably the largest obstacle to growing our numbers.
I always thought of dhewm3 of beeing exactly that, since it stated on the github wiki: The goal of dhewm 3 is bring DOOM 3 with the help of SDL to all suitable platforms.

Bladeghost

@eXistence, I for one would like to thank you for sharing this, as it works well enough with my stand alone Phantasm mod. (not fully tested but works)
also I'd like to see what it can do for other projects as well. Again Thanks for sharing! I for one greatly appreciate it! as it offers some new possibilities in building projects with. Great Stuff!

EoceneMiacid

Quote from: eXistence on June 29, 2016, 01:36:18 PM

I always thought of dhewm3 of beeing exactly that, since it stated on the github wiki: The goal of dhewm 3 is bring DOOM 3 with the help of SDL to all suitable platforms.

It's definitely the closest thing we have to it so far. Dhewm3 is great, it works as advertised. I'm experiencing some glitches with dmap, something that doesn't seem to happen in id's official build, but that one is over 10 years old now and becomes increasingly difficult to run on modern systems.

However, until we get active mod developers to publish the source code of their library under the GPL, dhewm3 is currently only able to play two mods: Classic Doom and Denton mod. 'Soft' mods generally work of course, but typically not without a lot of hacking and fixing first.

That's really such a huge pain in the ass about Doom 3 modding - the precompiled C++ library aspect.


trebor

I also appreciate your efforts with fhDOOM even if you don't support mods. It is very nice to see new code and innovations in the id Tech family.

0x29a

Quotedhewm3 is currently only able to play two mods: Classic Doom and Denton mod.

Well, I'm not sure about Classic Doom, but DentonMod brings lots of changes to the SDK:
- Changin projectile types
- Attaching particles to weapons
- Better dynamic damage zones
- Toggle weapons
- And some other things too, can't remember now...

I made this SDK pack from the combination of DentonMod and SikkMod a while ago, so I'm pretty certain of what I'm saying... DentonMod won't run without custom gamex86.dll/so, backed by custom doom_events.script. 

bkt

One thing worth noting about Sikkmod is that -- outside of the gameplay modifications -- is essentially a collection of post process effects.  If someone was to integrate the same effects into any branch at the engine level, it would be essentially the same. 

Something very useful that Sikk did was making sure that all of the variables for each effect were visible as cvar's.  He also implement multiple solutions for various effects (eg. Crysis SSAO vs HBAO or Tone mapping vs UE3/Cryengine 2 style LUT colorgrading).  In the case of working with him and a custom build of Sikkmod on my last mod, I was able to customize the visual style of the mod while balancing the quality of various effects for performance (eg. Bilinear DoF or Bokeh DoF).

The majority of the implementation of the various effects were simply standards available online that he'd managed to integrate in an intelligent (and versatile) way.

The custom version he developed with me for False Dawn had a number of very cool additions not available in Sikkmod V1.2 for D3.  Sadly he went MIA right before I completed the project and got the final source off him :(


oneofthe8devilz

The updated fhDoom version features a very solid and efficient shadowmapping solution. Delighted to see that you implemented parallel lights which work remarkably well with my outdoor test maps with good light bleeding and contact shadow results.

Noticed that the default Doom3 ambient lights seem to not render properly in fhDoom (having a directional shading instead of lighting up all geometry evenly) since I use huge ambient lights in my outdoor scenes as a very rough approximation of radiosity.

I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

nbohr1more

Is the shading hard-coded to a direction or does it follow the light_center value?

motorsep

Quote from: nbohr1more on July 06, 2016, 04:16:38 PM
Is the shading hard-coded to a direction or does it follow the light_center value?

Good news is that you could probably port all the goodies directly to The Dark Mod!!!