One Minute Game Review by The Happy Friar:
Also on Rumble:

idTech 4 (aka Doom 3 tech) Discord Server!

Main Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - bitterman

id Tech 4 Needs Help / Methods to make cutscenes
May 06, 2021, 08:52:57 AM

Can you remind me what methods (witch is based on engine or prerendered movies) can be used in IDTech4 to make cutscenes?

And some related question - it is possible to create prerendered movie directly in engine (not in Maya or Blender)?

I remember only something about 'switch to cinematic camera' and 'recordDemo' but not remember any details.

Links to tutorials are heartly appreciated.

As I hope this mod can give a coop mode (when SP maps can be used in multiplayer game to walkthrough for few players).

I have original game "Jedi Academy" (based on idtech3) and OJP mod v1.2 from jkhub (dated ~2012, not 2020), and after launch it just freeze on mod's splash screen. It seems to reaction on Esc and Enter then just close splash screen and exit. Console is not present.

Looks like the mod system in idtech3 is the same as in idtech4, so what can I do to fix it (check for missing assets etc)?

And some related question - how it possible to edit SP map to able to use it for co-op?


Can it be realized for D3 with native AI script events or it is possible only via Code?

Resources from that game looks like binaries with "ARTWORK" signature and have .msh, .skn and .sgh file extensions.

Animation have an .an format.

Can't find any information about this formats. This is probably not gmesh because that plugin in Blender can not open .msh.

On youtube I seen only few videos from VirusPunk where the engine runs with level editor, but no more info about that.

Any suggestion?

id Tech 4 Scripting / Change player's model on the fly
December 19, 2019, 09:20:48 PM
I looking for how to do this thing e.g. if player takes a new armor or suit.
Then whole model or part of model must be changed to acheive this effect.

Not sure how it can be done.

I found some tuts about player customization, but these is not the same.

In base concept I can make one model with few armors/suits and shut off unused via setSkin"".
Is there a way to replace whole players model or part of model?

id Tech 4 Scripting / Waving plants
September 14, 2019, 10:46:12 PM
In some modern games which are newer than D3 (e.g. FarCry 2) plant models are interact with player.

When player coming close to medium sized plant then plant are slant in player's move direction.
And when player goes through plant then it is waving some time.

I think this behavior realised by script but don't know where to start.

Maybe someone has already done it.

Try to find a movie (named machinema or same). It's a long movie (cinematic scene) based on D3 engine about marines and zombies somewhere on military base.

I would like to see this movie again.

And how to make this movie (main concept)?

id Tech 4 Level Editing / About 'hellMap' flag
December 01, 2018, 10:14:43 PM
In D3BFG it can be possible to set this flag in mapDef.

It is affect to level loading, e.g. it will put the name of current loading map to 'txtHellName' instead 'txtName' for normal map (whithout this flag).

What is this flag for? What ID want to divide type of maps for?

Only one thing when it can be useful IMO - it is reuse one map in one time as normal map (mars city before invasion) and in other time as hell map (MC after invasion). But looks like it's not.

Content for Games/etc. / Can't open
November 20, 2018, 09:27:47 PM
Is there any mirror?
id Tech 4 Level Editing / How to work func_forcefield?
September 12, 2018, 02:00:25 AM
This feature also declared in code and func.def, but looks like not used in vanilla assets.

What is main idea of this entity?
Can  anyone explaine (in simple words or examples) how works these features?

Looks like "mtrVision" affects only on player's view.
Totally don't understand what they had in mind about "mtrWorld" "material to globally replace in the world"". Where in the world? On each model or brush?

Is this features will change view of each model or it will affected on whole player's view (as if we were just looking through colored glass)?


entityDef target_setinfluence {

    "editor_var mtrVision"    "material to show during vision effects, if visionRadius is set the alpha channel of the material scales from 0 to 1 based on radius proximity of the player to the influence"

    "editor_var mtrWorld"    "material to globally replace in the world"
    "editor_var visionRadius"    "radius to effect vision effects with, mtrVision will always be used ( if it is set ) but this will also double the vision based on the radius"

Strutt your stuff! / Hand's viewmodel
May 06, 2018, 02:29:54 AM
At last a nice looking hand's model (up right corner).

It includes 1842 triangles and this is overkill I think.

QuoteThe following numbers are rough guidelines based on the numbers taken from the Quake 4 models. These numbers had been generated by importing different models and using the modelling software to list the amount of triangles.

    1st Person Weapon Total: 2000 - 2800
        Both Arms: 1300

Looking at UT3 I think "Perhaps this is a good solution when player see a only a weapon without hands, parts of body etc." (because it's easy for animation and modeling).
E.g. I have a skeleton with "pistol_attacher" bone and pistol model with "joint_attach" "pistol_attacher" in .def.

Is will be "origin" bone of pistol oriented same as "pistol_attacher" in skeleton?

Or, in other words, will the "origin" have same values of loc/rot/scale as "attacher"?

On the picture below one asset loaded in BFG and RB.

For BFG com_showFPS 1 shows 60, for RB - 15. Here a .cfg which created after run RB:

<some binds>
set com_engineHz "60"
set r_motionBlur "0"
set r_forceScreenWidthCentimeters "0"
set r_exposure "0.5"
set r_useSSAO "1"
set r_useSSGI "0"
set r_forceAmbient "0.2"
set r_useFilmicPostProcessEffects "1"
set r_useHDR "1"
set r_useShadowMapping "1"
set r_useVirtualScreenResolution "1"
set stereoRender_deGhost "0.05"
set stereoRender_swapEyes "0"
set stereoRender_enable "0"
set r_debugArrowStep "120"
set r_debugLineWidth "1"
set r_debugLineDepthTest "0"
set r_useHalfLambertLighting "1"
set r_lightScale "3"
set r_skipShadows "0"
set r_skipBump "0"
set r_skipSpecular "0"
set r_skipNewAmbient "0"
set r_brightness "1"
set r_gamma "1.0"
set r_swapInterval "1"
set r_lodBias "0.5"
set r_useTrilinearFiltering "1"
set r_maxAnisotropicFiltering "8"
set r_useSRGB "0"
set r_windowHeight "720"
set r_windowWidth "1280"
set r_windowY "14"
set r_windowX "169"
set r_customHeight "720"
set r_customWidth "1280"
set r_fullscreen "0"
set r_vidMode "0"
set r_antiAliasing "0"
set r_displayGLSLCompilerMessages "1"
set popupDialog_debug "0"

Main game assets are not loaded so system settings can't be changed via menu.

And looks like  "machineSpec" commands are not supported in BFG and RB.

How to increase fps in RB (and BFG) via console?

And second question: what means these parameters showed by com_showFPS (rs-off, G+RF, RB etc.)?

There is a room with mirror.

That's going on:

- open in BFG. Mirror is fine.
- copy map's files into D3 mod folder. Don't change anything.
- in D3 type in console: editor -> open map -> bsp.
- copy map's files into BFG mod folder.
- remove 'generated' from BFG mod folder and load the map. The mirror is black.

'Dmap' does same thing.

What can I do?


This is ai_player.script with some additions.

The string "sys.println( "^3 idle loop" );" does get control.
But looks like string "sys.println( "^3 ai_forward" );" does not.

void player::Torso_Idle() {

playCycle( ANIMCHANNEL_TORSO, "idle" );

eachFrame {

// added by me ************************

        sys.println( "^3 idle loop" );

if ( AI_FORWARD ) {
//                      animState( ANIMCHANNEL_TORSO, "Torso_Walk", 4 );
//                      Torso_Walk();
                        sys.println( "^3 ai_forward" );
// end of modification ************************

if ( AI_TELEPORT ) {
animState( ANIMCHANNEL_TORSO, "Torso_Teleport", 0 );
animState( ANIMCHANNEL_TORSO, "Torso_Fire", 2 );
if ( AI_ATTACK_HELD && start_fire ) {
animState( ANIMCHANNEL_TORSO, "Torso_Fire_StartFire", 2 );
if ( AI_PAIN ) {
animState( ANIMCHANNEL_TORSO, "Torso_Pain", 0 );

Same native block on legs channel is works with AI_FORWARD fine.
I trying to acheive playng walk anim not only for legs but for torso too.

Why this is happens?

Now works with 2nd method. Is the 1st has any advantages?

This box with no entry/exit have an trigger_relay and some weapons and ammo.

What for it is?
Is it possible?

I mean all anim states controlled by ai script. But what if I want to send playAnim outside of ai script?

id Tech 4 Scripting / Multiple running script
January 25, 2018, 10:04:18 PM
Let trigger_multiply call a script which begin some actions with some entity.

What happen if the player still stand in trigger zone?
Is this script will be started again?
But if entity is already in action? Is script must set some flag and prevent multiply instances?

Is there a native flags/commands like "isTriggered" etc?