macro Posted August 12, 2023 (edited) 2 hours ago, dasho said: voxel_test.zip This is about the simplest example I can think of. I was testing voxels a while back and used the Voxel Doom Imp to replaced the skewered person decoration. You'll see in the file, but a basic DDFTHING entry would look like this: [SKEWERED_BLOKE2:26] RADIUS=20; HEIGHT=64; MODEL_BIAS=0; SPECIAL=SOLID,PASS_MISSILE; MODEL_ROTATE=-90; STATES(IDLE)=TROO:@1:-1:NORMAL:NOTHING; The "TROO" in this case is the voxel name; @1 means to use the first frame (which for a voxel is going to be the only frame). It will look for either a lump named TROOVXL or a pack file named TROO.vxl, TROO.kv6, or TROO.kvx. I'll warn you the voxels are going to tank performance when you start adding enough of them. Thanks a lot. Yes, it works as perfectly. Edit: besides adding voxels, I noticed that dynamic lights impact the performance greatly. I lose around 30 or 35 FPS by shooting the plasmagun through a voxel standing alone in a room. I won't use weapons with such lights so it won't affect me in my project, but just to let you know. Edited August 12, 2023 by macro 0 Quote Share this post Link to post
dasho Posted August 12, 2023 6 hours ago, macro said: Edit: besides adding voxels, I noticed that dynamic lights impact the performance greatly. I lose around 30 or 35 FPS by shooting the plasmagun through a voxel standing alone in a room. I won't use weapons with such lights so it won't affect me in my project, but just to let you know. I would say it is the combination of dynamic lights AND voxel modes; not just dynamic lights. Since we are still essentially using OpenGL 1.3, it is all fixed-function/immediate mode stuff. I know that in reality this is being transformed into modern paradigms on the backend by a driver's compatibility profile, but since the program is 'unaware' of this it is doing a lot of work on the CPU that would normally be done via shaders. As such, it will absolutely hit bottlenecks once triangle-dense voxel models (or even a lot of MDL/MD2/MD3 models) come into play. 0 Quote Share this post Link to post
dasho Posted August 12, 2023 Just a quick update; making some progress towards having proper sector fog exposed to the end user. Still need to test a few things and add the appropriate DDF/UDMF stuff but I'm hoping to get it into the next minor release so it can be put through the paces. 2 Quote Share this post Link to post
SiFi270 Posted August 12, 2023 (edited) QDoom (or more specifically, the version listed under "Edge Classic add-ons" on ModDB) doesn't seem to work properly in the current version. After you kill the initial wave of enemies in QD04, nothing else happens. Edited August 12, 2023 by SiFi270 0 Quote Share this post Link to post
dasho Posted August 12, 2023 (edited) 43 minutes ago, SiFi270 said: QDoom (or more specifically, the version listed under "Edge Classic add-ons" on ModDB) doesn't seem to work properly in the current version. After you kill the initial wave of enemies in QD04, nothing else happens. I can't seem to replicate this issue. With a copy of 1.34.1, when I kill the first wave, the surrounding walls lower and I can drop down to fight subsequent waves and ultimately the boss sequence with the floor switches. Edited August 12, 2023 by dasho 0 Quote Share this post Link to post
CeeJay Posted August 12, 2023 (edited) We could do with a little more information to identify and solve the issue. What version of EDGE-Classic are you using and is it 32 or 64-bit? Are you loading anything else other than QDoom? Do you have anything in your autoload folder, and if so, what? Edited August 12, 2023 by CeeJay 0 Quote Share this post Link to post
SiFi270 Posted August 12, 2023 1.34.1, 64-bit, nothing in autoload and the only other wad loaded is a widescreen status bar. When I tried warping to the map from the console just now, it worked fine, but I ran into the same problem after reloading my continuous run. Here's the save and some other relevant files. 0 Quote Share this post Link to post
dasho Posted August 12, 2023 Gotcha; yeah warping was how I tested so that makes sense. If I save/load then it does indeed have an issue. Not sure (yet) as to exactly why, since things like Dead Simple use similar death triggers and don't seem to be affected. Will look into it. 1 Quote Share this post Link to post
macro Posted August 13, 2023 (edited) 9 hours ago, dasho said: I would say it is the combination of dynamic lights AND voxel modes; not just dynamic lights. Since we are still essentially using OpenGL 1.3, it is all fixed-function/immediate mode stuff. I know that in reality this is being transformed into modern paradigms on the backend by a driver's compatibility profile, but since the program is 'unaware' of this it is doing a lot of work on the CPU that would normally be done via shaders. As such, it will absolutely hit bottlenecks once triangle-dense voxel models (or even a lot of MDL/MD2/MD3 models) come into play. That fog effect looks really gorgeous in your screenshot. Interestingly enough, about performance, I noticed several things. Just reporting them here: 1) There is something wrong with that original imp voxel model in your wad. It seems it is not optimized, i.e. made hollow. The original model has around 10k individual voxels/cubes. If you make it hollow it becomes 3k, basically 3 times less. 2) I noticed that it seems the engine keeps loading all the voxels in the same room, even if they are not rendered directly in front of the player's field of view. Even if the imps are behind the player, they are also affecting the performance as if they were actually being shown in from of you. I am not sure about the terminology or how to describe this better, hopefully you can understand what i mean. 3) In the next map (see attached image), if the imps are inside the field of view of the player and also the corridor is visible, the FPS is reduced even more, from 16 to 7. If the corridor leaves the field of view of the player, the FPS go back to 16. This happens in that room that is filled with the non-optimized voxels. All the imps in that room are 10k voxels models. There is another room (not in the images) with 3k voxels imps and even looking at a corridor or another room, the FPS are stable at 16. Edited August 13, 2023 by macro 0 Quote Share this post Link to post
macro Posted August 13, 2023 (edited) In fact, I just discovered something. If the imps are in the same "room" but in a different sector, then as soon as the player leaves the sector where the imps are and also they are not in the field of view, the performance goes back to normal (i.e 70 FPS). So it seems that if you want to use voxels as static decorations, the best way to improve performance is: a) Place the voxel models in their own sectors, so the FPS won't go down unless the player is directly looking at them b) Make them hollow and remove voxel/cubes that the player will never see, for example a column or something similar, remove voxels/cubes that are facing directly towards the linedef, as these will never be seen by the player. c) Voxels and corridors seem to affect performance sometimes and somehow. There is a possibility that having a corridor and voxels in the field of view will affect the performance. d) Voxels are like vampires, they don't like dynamic lights. Edited August 13, 2023 by macro Typo 0 Quote Share this post Link to post
dasho Posted August 13, 2023 Are you getting your cube/triangle counts from the raw model in the WAD, or from an in-game value? There is a certain amount of hollowing/processing that occurs when a voxel is loaded so I'm curious. As far as being rendered when not in FOV, I'll have to look into that. About the corridor issue, that sounds like more of a symptom than a problem. I have no ideas on that at the moment. 0 Quote Share this post Link to post
dasho Posted August 13, 2023 6 hours ago, SiFi270 said: 1.34.1, 64-bit, nothing in autoload and the only other wad loaded is a widescreen status bar. When I tried warping to the map from the console just now, it worked fine, but I ran into the same problem after reloading my continuous run. Here's the save and some other relevant files. Lobo tracked down the issue and this should be fixed as of https://github.com/edge-classic/EDGE-classic/commit/b20afefda05b7c454c5301bba0c3ab1aac1e1a48. The next release package will contain the fix, or if you are able to view the Github actions for our repo there are MSYS build artifacts for Windows that stick around for (IIRC) 48 hours. 2 Quote Share this post Link to post
macro Posted August 13, 2023 58 minutes ago, dasho said: Are you getting your cube/triangle counts from the raw model in the WAD, or from an in-game value? There is a certain amount of hollowing/processing that occurs when a voxel is loaded so I'm curious. As far as being rendered when not in FOV, I'll have to look into that. About the corridor issue, that sounds like more of a symptom than a problem. I have no ideas on that at the moment. I am getting the triangle count from the raw model in the wad. Is there a way to check that in-game? No wonder that my hollow models had the same performance than the non hollow ones. I will attach a test wad if you ever need it. There are three rooms: The red one has my hollow imps. The green one has your original non-hollow imps. Performance is affected by looking at the north-west corridor in this green room (this also happens in the blue room). The blue one has your non-hollow imps and each one in its own minisector. If you stay in the center of this last blue room or walk around the imps, the imps that are not in the FOV do not affect the performance because they are in their own minisector. voxel_test2.zip 0 Quote Share this post Link to post
dasho Posted August 13, 2023 (edited) 3 hours ago, macro said: I am getting the triangle count from the raw model in the wad. Is there a way to check that in-game? No wonder that my hollow models had the same performance than the non hollow ones. The debug log (debug.txt) will have statistics on loaded models. Here is an example from the original voxel: Loading voxel model from lump : TROOVXL VXL_LoadModel: loading KVX... frames:1 points:19548 tris: 6516 verts_per_frame:19548 Looking at the code, it seems that models are for some reason purposefully excluded from being skipped if they are not in the FOV. When I comment this part out, FPS returns to expected levels if none of the voxels are in view, regardless of being in the same sector or not. I need to keep testing to see if there is some downside to allowing this. Edited August 13, 2023 by dasho 1 Quote Share this post Link to post
macro Posted August 13, 2023 I checked the bug with that QDoom savegame mentioned by SiFi270, and I found out that with vanilla EDGE 1.35 it works fine. I saved the game right after entering QD04 from QD03 (i.e. i didn't warp directly to QD04), and the walls always lower as expected even after reloading from the savegame. Let me attach the savegame for you. ZIP containing slot000 folder with corresponding files. Also, if you use this vanilla edge 1.35 savegame with EDGE-classic, you can load the game but the bug happens again. A message on screen will appear saying "You failed" instead of the usual mission brief. So it feels that the problem might not be in the savegame file itself, but somewhere else. I might be absolutely wrong, though. EDGE-classic savegames cannot be loaded into vanilla EDGE. Edge1.35_Savegame.zip 0 Quote Share this post Link to post
dasho Posted August 13, 2023 (edited) 2 hours ago, macro said: I checked the bug with that QDoom savegame mentioned by SiFi270, and I found out that with vanilla EDGE 1.35 it works fine. I saved the game right after entering QD04 from QD03 (i.e. i didn't warp directly to QD04), and the walls always lower as expected even after reloading from the savegame. Let me attach the savegame for you. ZIP containing slot000 folder with corresponding files. Also, if you use this vanilla edge 1.35 savegame with EDGE-classic, you can load the game but the bug happens again. A message on screen will appear saying "You failed" instead of the usual mission brief. So it feels that the problem might not be in the savegame file itself, but somewhere else. I might be absolutely wrong, though. EDGE-classic savegames cannot be loaded into vanilla EDGE. Edge1.35_Savegame.zip Appreciate you looking into it; the issue is currently fixed in the main repo and should be resolved in future releases. We had to make changes to how the "wait until dead" trigger scripts worked due to a problem where multiple scripts would not reliably execute when waiting for the same monster type to die. This bug was likely introduced when handling of said scripts was reworked. As far as EDGE-Classic savegames not being backwards compatible with EDGE, I've never actually tried that but it is not surprising. We have added fields and structures (inventory, etc) that were not present in EDGE's savegames, as well as changing the format in which some existing values were stored. It is good to know that the older saves are forward-compatible to a degree, though. Edited August 13, 2023 by dasho 1 Quote Share this post Link to post
Lobo Posted August 14, 2023 This is the current build artifact for windows if you want to get the fixed version: https://github.com/edge-classic/EDGE-classic/suites/15056377459/artifacts/859777191 0 Quote Share this post Link to post
macro Posted August 14, 2023 4 hours ago, Lobo said: This is the current build artifact for windows if you want to get the fixed version: https://github.com/edge-classic/EDGE-classic/suites/15056377459/artifacts/859777191 404 page not found. Or do I need a github account to access it? 0 Quote Share this post Link to post
dasho Posted August 14, 2023 You may need a Github account; it seems to download when I click it. 0 Quote Share this post Link to post
Lobo Posted August 14, 2023 Try this one instead if you really need it now: https://www.mediafire.com/file/tb4zdzd50jt5v9f/edge-classic.zip/file 0 Quote Share this post Link to post
macro Posted August 15, 2023 9 hours ago, Lobo said: Try this one instead if you really need it now: https://www.mediafire.com/file/tb4zdzd50jt5v9f/edge-classic.zip/file The changelog included in this package is the latest changelog or it is an old one that was left there somehow? It says July 2023. 0 Quote Share this post Link to post
macro Posted August 18, 2023 (edited) I found that colours of individual boxes in voxels seem to be smoothed or blended in the horizontal plate, even in smoothing is not activated in EDGE. Compare the in-game image with the editor view image. I used Goxel 0.12 but the same result happens with VoxelShop. Also the same if I use KVX or KV6. Unfortunately, SLAB6 doesn't want to run in my PC so I don't know if the problem comes from how modern editors export to KVX/KV6 or it is somewhere else. If needed, I can create a simple voxel for testing purposes. EDIT 1: I didn't use DOOM palette when creating the Voxel. Maybe that thing affects the result? I used InkScape palette instead. EDIT 2: Same result when you do not scale the voxel. Also dynamic lights do not seem to affect this thing here. EDIT 3: Using Doom palette colours only, also gives same result. Edited August 18, 2023 by macro Typo 0 Quote Share this post Link to post
Lobo Posted August 18, 2023 Can we get the wad? FYI, our voxel code comes from k8vavoom. 0 Quote Share this post Link to post
Redneckerz Posted August 18, 2023 @dasho @Lobo my typical nitpick request returns, but i am just keeping the lights on it because i really want to promote EDGE as a engine capable of this: Standalone support for games. What is the current status? Because it would be awesome to see Alien: Stranded and Operation Artic Wolf be legit standalone titles (And then i can update said relevant thread for it, + wiki). Please do not incinerate me for keeping tabs on this. :P 0 Quote Share this post Link to post
Lobo Posted August 18, 2023 Status is the same as before: engine has full support for standalone games. Now we just need some standalone games ;) 1 Quote Share this post Link to post
Jayextee Posted August 18, 2023 10 minutes ago, Lobo said: Now we just need some standalone games ;) Might see what I can do, given that I made one once and it's vaporware -- I probably still remember a thing or three about EDGE modding. One question though, is uncapped FPS implemented at all yet? 0 Quote Share this post Link to post
Lobo Posted August 18, 2023 No. But you do have double the usual frames: give it a try, you'll feel the difference :) 0 Quote Share this post Link to post
Jayextee Posted August 18, 2023 Oh, y'see, I don't mind the 35fps refresh rate of the original; I play and test my maps with Choco enough to feel really comfortable with it. My lookout here is that I make games to sell on Steam, I have a couple (not DOOM-related) on there already. Gamers™ being how they are, if a game doesn't run at the absolute maximum framerate their monitor can output then apparently it's shit and unplayable. I disagree vehemently, but that's the way things be. Regardless, I *do* like how EDGE DDFs work and whatnot; tried modding for GZDOOM but it really doesn't grab me the same way. I may well just bear the slings and arrows and make a more-conventional shooter with it in the future (last attempt was something of an arcade-style game). 0 Quote Share this post Link to post
Redneckerz Posted August 18, 2023 1 hour ago, Lobo said: Status is the same as before: engine has full support for standalone games. Now we just need some standalone games ;) Well crap, then i have asked the wrong question: When is Aliens: Stranded and @CeeJay's Artic Wolf stuff go standalone? :P 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.