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
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

Messages - trebor

#1
id Tech 4 Mods / Re: dmap in RBDOOM-3-BFG
November 03, 2018, 09:34:08 AM
I did this stuff years ago and never found time to document it.

You can convert any map from the old .map format to a new JSON based map format with the console command "convertMapToJSON game/<mapname>"

It will convert the brush and patch primitives to polygons that can be read into Blender. I wrote importers and exporters for Blender which are very very basic but allow to load the JSON file into Blender and export it back to RBDOOM without any los of data.
Converting brushes and patches to polygons is something that dmap already did. All I had to change was to tell dmap that it works with polygon based data.

Python supports JSON without the need of any libraries so getting this stuff into Blender was quite straightforward.

You can model maps in Blender and compile them with dmap in RBDOOM. Once they are compiled you can load them.
The only part that is still missing is that the AAS compiler has no clue about the new format as it still requires brushes.
It is something that could be fixed however I stopped working on RBDOOM because of lack of time.

Right now I'm porting RBDOOM to Vulkan with the help of the vkDoom 3 code by Dustin Land but this is more or less a learning excercise to get into Vulkan programming.

You can see how D3DM1 looks in Blender: https://imgur.com/a/GujrC8z

So instead of this brush data:

ersion 2
// entity 0
{
"classname" "worldspawn"
// primitive 0
{
brushDef3
{
  ( 0 0 -1 256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
  ( 0 0 1 -272 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
  ( -1 0.0000001344 0 -192.0000152588 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
  ( -0.0000001344 -1 0 -128.0000152588 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
  ( 1 -0.0000001343 0 -191.9999389648 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
  ( 0.0000001343 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27d" 0 0 0
}
}
// primitive 1
{
brushDef3
{
  ( 0 0 -1 -16 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
  ( 0 0 1 0 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
  ( -1 0.0000001344 0 -192.0000152588 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
  ( -0.0000001344 -1 0 -128.0000152588 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
  ( 1 -0.0000001343 0 -191.9999389648 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
  ( 0.0000001343 1 0 -256 ) ( ( 0.015625 0 0 ) ( 0 0.015625 0 ) ) "textures/base_wall/lfwall27b" 0 0 0
}
}
...
}
// entity 1
{
"classname" "info_player_start"
"name" "info_player_start_1"
"origin" "128 64 0"
"angle" "180"
}
// entity 2
{
"classname" "light"
"name" "light_2"
"origin" "-128 192 128"
"noshadows" "0"
"nospecular" "0"
"nodiffuse" "0"
"falloff" "0.000000"
"_color" "0.78 0.78 0.84"
"light_radius" "225 225 225"
}


it works with a format like this

{
"version": "3",
"entities":
[
{
"entity": "0",
"classname": "worldspawn",
"primitives":
[
{
"primitive": "0",
"original": "brush",
"verts":
[
{ "xyz": [192, -128, 256], "st": [-2, -2.998046875], "normal": [0.003921628, 0.003921628, -1] },
{ "xyz": [-192, -128, 256], "st": [-2, 3], "normal": [0.003921628, 0.003921628, -1] },
{ "xyz": [-192, 256, 256], "st": [4, 3], "normal": [0.003921628, 0.003921628, -1] },
{ "xyz": [192, 256, 256], "st": [4, -2.998046875], "normal": [0.003921628, 0.003921628, -1] },
{ "xyz": [-192, 256, 272], "st": [4, -2.998046875], "normal": [0.003921628, 0.003921628, 1] },
{ "xyz": [-192, -128, 272], "st": [-2, -2.998046875], "normal": [0.003921628, 0.003921628, 1] },
{ "xyz": [192, -128, 272], "st": [-2, 3], "normal": [0.003921628, 0.003921628, 1] },
{ "xyz": [192, 256, 272], "st": [4, 3], "normal": [0.003921628, 0.003921628, 1] },
{ "xyz": [-192, 256, 256], "st": [-4, -4], "normal": [-1, 0.003921628, 0.003921628] },
{ "xyz": [-192, -128, 256], "st": [1.9990234375, -4], "normal": [-1, 0.003921628, 0.003921628] },
{ "xyz": [-192, -128, 272], "st": [1.9990234375, -4.25], "normal": [-1, 0.003921628, 0.003921628] },
{ "xyz": [-192, 256, 272], "st": [-4, -4.25], "normal": [-1, 0.003921628, 0.003921628] },
{ "xyz": [-192, -128, 256], "st": [-3, -4], "normal": [0.003921628, -1, 0.003921628] },
{ "xyz": [192, -128, 256], "st": [3, -4], "normal": [0.003921628, -1, 0.003921628] },
{ "xyz": [192, -128, 272], "st": [3, -4.25], "normal": [0.003921628, -1, 0.003921628] },
{ "xyz": [-192, -128, 272], "st": [-3, -4.25], "normal": [0.003921628, -1, 0.003921628] },
{ "xyz": [192, -128, 256], "st": [-2, -4], "normal": [1, 0.003921628, 0.003921628] },
{ "xyz": [192, 256, 256], "st": [4, -4], "normal": [1, 0.003921628, 0.003921628] },
{ "xyz": [192, 256, 272], "st": [4, -4.25], "normal": [1, 0.003921628, 0.003921628] },
{ "xyz": [192, -128, 272], "st": [-2, -4.25], "normal": [1, 0.003921628, 0.003921628] },
{ "xyz": [192, 256, 256], "st": [-3, -4], "normal": [0.003921628, 1, 0.003921628] },
{ "xyz": [-192, 256, 256], "st": [2.998046875, -4], "normal": [0.003921628, 1, 0.003921628] },
{ "xyz": [-192, 256, 272], "st": [2.998046875, -4.25], "normal": [0.003921628, 1, 0.003921628] },
{ "xyz": [192, 256, 272], "st": [-3, -4.25], "normal": [0.003921628, 1, 0.003921628] }
],
"polygons":
[
{ "material": "textures/base_wall/lfwall27d", "indices": [0, 1, 2, 3] },
{ "material": "textures/base_wall/lfwall27d", "indices": [4, 5, 6, 7] },
{ "material": "textures/base_wall/lfwall27d", "indices": [8, 9, 10, 11] },
{ "material": "textures/base_wall/lfwall27d", "indices": [12, 13, 14, 15] },
{ "material": "textures/base_wall/lfwall27d", "indices": [16, 17, 18, 19] },
{ "material": "textures/base_wall/lfwall27d", "indices": [20, 21, 22, 23] }
]
},
...
{
"entity": "1",
"classname": "info_player_start",
"name": "info_player_start_1",
"origin": "128 64 0",
"angle": "180"
},
{
"entity": "2",
"classname": "light",
"name": "light_2",
"origin": "-128 192 128",
"noshadows": "0",
"nospecular": "0",
"nodiffuse": "0",
"falloff": "0.000000",
"_color": "0.78 0.78 0.84",
"light_radius": "225 225 225"
},
{
"entity": "5",
"classname": "light",
"name": "light_5",
"origin": "128 -64 128",
"noshadows": "0",
"nospecular": "0",
"nodiffuse": "0",
"falloff": "0",
"_color": "0.78 0.78 0.84",
"light_radius": "225 225 225"
}
]
}
#2
Strutt your stuff! / Re: RBDoom3-BFG VR experiement
July 17, 2016, 04:54:09 PM
Cool stuff.
#3
RBDoom uses FFMpeg so you can change the code easily by adding support for different file extensions to play pretty much any common video format you want.
#4
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.
#6
My first impressions with Doom was ... and that's it? I prefer a story telling shooter which really sucks me into another world where I can explore and discover an exciting adventure and relax from my daily routines.
Doom is a game that wants to be a game and it is like Q3A as single player and it also reminds me a lot of Quake 1.
I think Wolfenstein TNO is the best shooter in over a decade. Doom is good and I love the graphics but the absense of story is a bit weak IMHO.
#7
Some details about the tech:
#8
Friar you should try the D3 BFG edition. Loading times were reduced from 20 seconds to 3 in id tech 5 with the help of the binary formats.
#9
Strutt your stuff! / Re: Arx is close to release
April 18, 2016, 01:59:50 PM
:(
#10
Strutt your stuff! / Re: Arx is close to release
April 18, 2016, 03:52:28 AM
Nice. I can't wait to check this out.
#11
Strutt your stuff! / Re: fhDOOM (modernized idTech4)
April 12, 2016, 05:02:02 AM
Quote from: romulus_ut3 on April 12, 2016, 04:59:32 AM
Runs like shit on AMD cards as always. The Soft Shadow, specially.

I'm somewhat glad to hear that :P
#12
Strutt your stuff! / Re: fhDOOM (modernized idTech4)
April 11, 2016, 02:54:37 AM
Quote from: oneofthe8devilz on April 10, 2016, 05:38:27 PM
Back in the days we found a nice scene (also located in the mars_city1 intro level) which very nicely replicates that popping issue and both your engines still produce it.



So the solution was simply to always force BackFaceLighting to get rid of it in your engines.

I fixed this in my latest build.
#13
I uploaded new binaries so you can test the latest HDR implementation.

https://github.com/RobertBeckebans/RBDOOM-3-BFG/releases/tag/1.1.0-preview3
#14
Strutt your stuff! / Re: fhDOOM (modernized idTech4)
April 10, 2016, 03:28:51 PM
A Qt based light editor! Nice
#15
Strutt your stuff! / Re: Perfected Doom 3
April 08, 2016, 04:14:26 PM
Nice reminds me of Quake 3 Arena which I really loved.