Author Topic: Why so few uses of Id Tech 4?  (Read 2441 times)

0 Members and 1 Guest are viewing this topic.

ADV_MD5

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • Doom Newbie
    • View Profile
Re: Why so few uses of Id Tech 4?
« Reply #30 on: September 13, 2019, 05:51:33 PM »
Personally, for myself, I find it hard to justify using Id Tech 4. Quake 1/2 were fairly similar in terms of design and Quake 3 carried many similarities in the source itself. This helped pioneer development on these early idtech engines. Also when they were released we didnt have as many FOSS game projects so they carved a niche.

Doom3 (and id tech 4), has a few key shortcomings.
1) Multiplayer (or lack thereof)
2) When designing D3, the multiplayer code that was present was incorporated directly into the single player code, unlike Q3 with cgame/game. Although there is some simplicity gained from this approach, it sacrifices some security. Additionally, in my personal preference I prefer having two isolated code bases because it helps me separate the client and server logic clearly.
3) Engine. Many modders lack the tools/care to deal with high quality sprites/textures. I personally prefer a simple texture to having to deal with bump/normal maps.
4) I love Carmack to death, but the Physics in D3 did not age well. They are completely software based unlike PhysX or Bullet. You can find some QuakeCon talks on this subject.
5) The niche. D3 engine is very optimized for a very small subset of gameplay.
6) When released, it did not hold the spotlight for long. Gameplay/mod enthusiasts had gotten the UDK in 2009, and then right around D3s release, we also got Wolfenstein Enemy Territory, and the Jedi Academy/Outcast.

revelator

  • Newbie
  • *
  • Posts: 32
  • Karma: +3/-0
  • Doom Newbie
    • View Profile
Re: Why so few uses of Id Tech 4?
« Reply #31 on: September 14, 2019, 06:01:18 AM »
Agreed idtech4 is a niche product as it is, dependant on the work we put into expanding its capabilities.

Things that may make sense would be to expand the work done on fhDoom's tools to port and expand the toolset.
QT is excellent for that purpose :) as was shown with fhDoom.
Next would be to expand the engines uses by introducing virtual texturing (not nessesarily megatextures, there are other options we can use),
this would push it in a more all purpose direction, though we would still have to expand a few other areas to truely take advantage of the engine.
Physics could be changed to take advantage of bullet or the open dynamics engine ODE, not sure how much work it would take though.

Bump and normal maps can be produced by code but the generated images would lack certain details that artists making them by hand can, but its entirely possible to do.

As for the multiplayer part, idtech 1 and 2 also used this approach so it is not uncommon in id's engines,
however security concerns are definatly valid so maybe change the NET code to SSL based ?.

I admit most grievances i heard about idtechs NET code was about bad performance :P because it does not compress the stream (LAG galore).

ADV_MD5

  • Newbie
  • *
  • Posts: 4
  • Karma: +0/-0
  • Doom Newbie
    • View Profile
Re: Why so few uses of Id Tech 4?
« Reply #32 on: September 14, 2019, 09:05:22 AM »
Agreed idtech4 is a niche product as it is, dependant on the work we put into expanding its capabilities.

Things that may make sense would be to expand the work done on fhDoom's tools to port and expand the toolset.
QT is excellent for that purpose :) as was shown with fhDoom.
Next would be to expand the engines uses by introducing virtual texturing (not nessesarily megatextures, there are other options we can use),
this would push it in a more all purpose direction, though we would still have to expand a few other areas to truely take advantage of the engine.
Physics could be changed to take advantage of bullet or the open dynamics engine ODE, not sure how much work it would take though.

Bump and normal maps can be produced by code but the generated images would lack certain details that artists making them by hand can, but its entirely possible to do.

As for the multiplayer part, idtech 1 and 2 also used this approach so it is not uncommon in id's engines,
however security concerns are definatly valid so maybe change the NET code to SSL based ?.

I admit most grievances i heard about idtechs NET code was about bad performance :P because it does not compress the stream (LAG galore).
Yes. From an engine perspective, I have seen good progress from some devs. Ultimately, I plan on observing the scene before deciding because you have the benefits of dhewm3 being 64bit, fhdoom for the engine, TDM for some improvements and then RBDoomBFG. I plan on observing for awhile longer before making a list and porting the features wanted to the engine of choice. Megatextures are a dead end imho. They were kinda present in d3, but until we would have a way to compress the files and use them effectively, they are a dev trap.

My first project d3 related is actually to work my way through trying to replace the physics with a 3rd party library. Rather than ODE/Newton I had been looking into either Bullet or PhysX due to the fact that they can run some calculations on the GPU (afaik) rather than being purely software. Based on a preliminary glance last night, the physics is rather tightly integrated with the actual game (physics code is built into the game dll on d3). As a result, there is no way to add physics to the engine and have it work with existing mods as a drop in solution.

Yeah. I have seen some tools that will do that, I had previously used Unity3D, and I was using one. It was just an extra level of complexity.

Well, pretty sure that the D3 server model is authoritative. I more meant along the lines of ease of end user use/separation of logic.

That and also, I noticed something when I was looking through the physics. The way that they are synced through the network appears to be quite heavy. Especially if you are using a UDP/snapshot based network and have to worry about fragmentation.
« Last Edit: September 14, 2019, 09:08:08 AM by ADV_MD5 »

revelator

  • Newbie
  • *
  • Posts: 32
  • Karma: +3/-0
  • Doom Newbie
    • View Profile
Re: Why so few uses of Id Tech 4?
« Reply #33 on: September 14, 2019, 11:51:48 AM »
Unfortunatly physx will only run on the GPU with nvidia cards since it relies on the cuda core,
so bullet would be a better choice i reckon ?. It would probably break existing game code as you noticed,
but might come in handy for new games developed using it.

We also have a plethora of different idtech4 projects that each have there strengths like you noticed.
It would be a nice move to consolidate the work on those into a shared project i think.

The goal for my little side project is in fact similar since im consolidating work from various ports into an all purpose engine.
So far i have added the SMP changes from darkmod as well as newer CPU intrinsics like AVX and AVX2.
Still in progress is porting the OpenAL Soft implementation from dhewm as well as 64 bit support.
Engine uses a hybrid GLSL ARB assembly backend which allows use of old shader mods like sikkmod,
but that might change if someone can port sikkpins shaders to GLSL.

But its a huge undertaking so it will take a while.

motorsep

  • Hero Member
  • *****
  • Posts: 1,076
  • Karma: +76/-134
  • Artist
    • View Profile
    • Kot in Action Creative Artel
Re: Why so few uses of Id Tech 4?
« Reply #34 on: September 15, 2019, 08:26:37 PM »
@revelator:

It's been said many times that one of the reasons latest games from EA suck is due to Frostbite engine being used. Had they used Unity or UE4, they'd had less issues on launch. The only reason some companies still roll with their own engine is that they sank a lot of money into development and they don't want to write it off, re-train staff (or fire them and hire UE4/Unity devs) and also pay royalties to Epic/Unity. Not because in-house engines are somehow better.

As for PhysX, well, you'd be surprised to know it runs on AMD as well as on Nvidia, since like long time ago :)

revelator

  • Newbie
  • *
  • Posts: 32
  • Karma: +3/-0
  • Doom Newbie
    • View Profile
Re: Why so few uses of Id Tech 4?
« Reply #35 on: September 16, 2019, 01:02:42 AM »
Eh yes ?!?.

What i meant with physx is that it will only run with "GPU acceleration" on nvidia cards.
It runs fine on AMD but with lower performance as a side effect.
Bullet runs with hardware accelleration on both AMD and Nvidia.

Frostbite is actually a pretty good engine but as was the case with idtech4 it was a niche product since it could not handle an RPG out of the box (it was mostly used for shooters and car games).
Bioware had to implement a facial animation system as well as several other elements like inventory and whatnot.
Sadly this coupled with a troubled development cycle, with problems with procedurally generated environments and starting over on a totally different engine,
ment a 5 year project suddenly had to be finished in 18 months.

Anthem makes use of the new frostbite developed for mass effect andromeda, though it has had a bit more polish now:).