arti9m
I'm too young to die
Posts: 4
|
Post by arti9m on Apr 2, 2024 11:04:34 GMT -5
Hello!
I recently played/streamed Doom II thru k8vavoom and had a great time! I think this port does the lighting the best. Properly clips the lights, does the overall lighting job fairly tastefully. And thankfully it doesn't make it so every surface looks wet and reflect lights =) So, thank you, past, present and future devs of (k8)vavoom!
Now, to the bugs/feature requests, ordered by importance (descending). I apologize if some of this is already known, or if I missed a setting to do what I wanted.
- Trying to start a level with Doom3 style lighting enabled crashes the game for me. First time I got some error code, next time I got a generic "k8vavoom.exe has stopped working" error. Windows 7 32-bit (Core2 Duo E7500), GeForce 9500GT (OpenGL3.3 I think, latest available nVidia drives). Windows 10 64-bit with Intel Core i5 5200U (integrated gpu) works fine.
- Turning "Infinitely tall monsters" to "on" makes it so the pick-ups are also infinitely tall. You can fly over a rad-suit to pick it up. In vanilla, you have to actually drop to the item's height first AFAIK.
- Movement physics got me completely stuck inside level geometry at least twice: first inside an alcove with radsuit in MAP15 in the first yellow-door area (to the right right after you enter that area), and second was in some secret area in MAP26. I believe running fast enough into a small gap comprised of two corners is what makes you stuck (==> you <==)
- LightAmp Colormap = Fixed Light Amplification is not working at all when the lights are completely black in the map. For example, in MAP27 after you activate the first IMP "trap" and lights go black, even with LightAmp the area is completely black, while with other Colormaps it is lit up. I think it uses multiplication, and we all know what happens when you multiply zero by anything.
- I think it is impossible to enable any kind of anti-aliasing to level geometry, or at least I failed to. In PrBoom/GlBoom (for example) setting AA in nVidia control panel actually works.
- Icon of sin now requires hitting it 9 times instead of 3. That's quite a difficulty bump...
- The skybox now warps around like a sphere to accomodate for full mouselook i presume, but the City Levels bg looks way too warped, and many people play without vertical mouselook, so it would be nice to be able to switch the skyboxes to original rendering.
- Rockets now completely disappear when fired into moving lift floor. That's especially visible in MAP30 when rockets auto-aim at enemies, the lift moves, the rocket hits the floor and just disappears. It hits the floor and explodes in the vanilla.
- Sometimes the audio stutters (both music & sfx, while the picture is perfectly fine). This might be specific to my setup tho.
- It would be very nice to have a vanilla status bar (full-width), preferably scaled to vanilla ratio (the empty sides could be filled like it's done in DOOM Retro; and would be nice to have interpolation options for the status bar, eg. integer/nearest/*linear/whatever).
- It would be nice to have the sky not affected by Invuln pickup.
- In the OG vavoom the static lights from light fixtures were not smoothed (red lights on MAP05 looked more like a cone), while in the current k8vavoom such lights are always smoothed out. Is it possible to give us some control over how much to smooth them lights? Or just a switch whether to smooth them or not?
|
|
|
Post by ketmar on Apr 2, 2024 12:09:28 GMT -5
thank you for playing k8vavoom, and especially for bug reports! i LOVE bug reports! ;-)
1. dunno, sorry. i have nVidia GT720 on GNU/Linux, and it works. i mean, this is as much testing as i can do. there may be bugs in shaders or in other code, but unless it starts crashing on my PC, it is mostly impossible to debug. sorry. anyway, shadowmaps look better, sprites can cast shadows with them, and they are much faster than D3-style shadow volume lighting. the only reason i am keeping shadow volumes is because they give a non-blurred light edges, which may be something some people prefer over shadowmap smoothing.
2. yay. thank you, will fix that! i never actually played with this option turned on. ;-)
3. this is That Fuckin' Bug. i hit it ONCE, some of my friends are able to hit it very often, and i added several workarounds to prevent it… but it is still there. and i haven't the slightest idea how it could happen. it CANNOT happen at all… but it happens. ;-) i'm still looking for the solution. the problem is that i cannot properly reproduce it, and when it happened, it is too late to analyze anything.
4. yay. yep, i believe it is multiplication. thank you, i'll take a look!
5. this is, again, something i have no idea of. the engine has its own anisotropy filter settings, but that's all. i mostly brute-forced it until it worked on my PC, and called it a day. sorry.
6. oops. tbh, i never properly finished Doom2 (i consider reaching Icon as "i win!" sutuation), and i don't even know how much one should hit it. will take a look, thank you! this is definitely some bug on my side.
7. this is something i am leaving as is as a homage to the original Vavoom. (honest answer: i am too lazy to write new sky rendering code. ;-)
8. hm. it definitely shouldn't happen. thank you, i'll take a look!
9. i have the exact opposite situation: the video stutters sometimes, but the audio don't. ;-) i am using OpenAL to play audio, so it is prolly something with OpenAL. sorry.
10. if you try to shrink the screen with "-", you'll have a status bar. i removed side fillers, tho, because i believe they look ugly. i'm not playing with status bar, though, so this code needs some love.
11. sorry, but this is not possible. pickup effects are done in post-processing shader, when everything is rendered, and applied to the whole screen area. and i cannot use stencil buffer to mask the skies, because stencil buffer is already used for decals.
12. i believe they are. every light has a falloff, and i didn't changed the falloff formula. can you post a screenshot, please?
and thank you again for your reports! i really appreciate that you registered here to give me your feedback. even if i may reject some reports, i still value all of them, and i am happy that you liked k8vavoom!
p.s.: please, note that i don't even have Windows installed. Windows binary is cross-compiled from GNU/Linux, and i usually run it with Wine to check if it starts at all, but this is as much Windows testing as i can do. it is really a miracle that it works on the real Windows OS. ;-)
|
|
arti9m
I'm too young to die
Posts: 4
|
Post by arti9m on Apr 2, 2024 19:53:12 GMT -5
3. this is That Fuckin' Bug. i hit it ONCE, some of my friends are able to hit it very often, and i added several workarounds to prevent it… but it is still there. and i haven't the slightest idea how it could happen. it CANNOT happen at all… but it happens. ;-) i'm still looking for the solution. the problem is that i cannot properly reproduce it, and when it happened, it is too late to analyze anything. I'm fairly certain i'll be able to reproduce that in MAP15. What can I do to be of help? 7. this is something i am leaving as is as a homage to the original Vavoom. (honest answer: i am too lazy to write new sky rendering code. ;-) Well there's still another way for me, which is drawing my own better skyboxes 12. i believe they are. every light has a falloff, and i didn't changed the falloff formula. can you post a screenshot, please? I'm not talking about the falloff but rather about how sharp the sides of the cones are. --- Regarding the crash on level startup.. I'll probably install Mint and try using D3 lighting again. Something's telling me it's not my hardware but Windows' fault. p.s. I probably should get at least GT720 too ha-ha
|
|
|
Post by ketmar on Apr 2, 2024 20:11:37 GMT -5
that's what you get for lightmapped mode. sorry, i haven't realised that proper lighting isn't working for you. when you wrote about "D3-style", i immediately thought about shadow volumes, and forgot that it means both shadow volumes, and shadowmaps. switch Vavoom to lightmapped mode, and you'll get exactly the same picture.
too bad that you aren't able to run k8vavoom as it intended to be run — with shadowmaps. you will not only have something like the first screenshot, but monsters will cast shadows from light sources too! and you don't need 3D models for that, sprites can cast shadows.
|
|
|
Post by ketmar on Apr 2, 2024 20:15:11 GMT -5
that's how it SHOULD look: note the shadow from Zombie! ;-)
|
|
|
Post by ketmar on Apr 2, 2024 20:21:57 GMT -5
I'm fairly certain i'll be able to reproduce that in MAP15. What can I do to be of help? sadly, not much. i need to be able to reliably rerpo it myself, so i could compile a debug build and see what's going wrong. that's what makes this bug so nasty: no way to make a stable repro case. :-((
|
|
arti9m
I'm too young to die
Posts: 4
|
Post by arti9m on Apr 2, 2024 21:42:04 GMT -5
too bad that you aren't able to run k8vavoom as it intended to be run — with shadowmaps. you will not only have something like the first screenshot, but monsters will cast shadows from light sources too! and you don't need 3D models for that, sprites can cast shadows. Yeah I already saw those beautiful shadows on a newer laptop. Thanks for the screenshot, checked it on my newer machine - it indeed has sharper lights. I assumed that "D3 renderer" still used the same code for simple lightmaps but now I can see that it doesn't.
But even in "legacy" mode it is still better then most, if not all other ports IMO. Mainly because of proper light clipping. It's just that I have a pre-built PC for older mid-2000 stuff and wanted to use it for Doom as well, but alas.
Regarding that 'getting stuck' bug.. I suppose k8vavoom doesn't have any kind of DEMO support? Would be a nice way of reproducing a bug like this.
I might look into it myself but i'm kinda scared to dive into someone's source code when the project is this big
|
|
RastaManGames
Doomer
The taste of injustice is painfully disgusting. It tastes bitter and rotten.
Posts: 183
|
Post by RastaManGames on Apr 3, 2024 7:19:57 GMT -5
Кстати, есть ли какой свежий билд под "Шиндовс" этого года?
|
|
|
Post by ketmar on Apr 3, 2024 7:56:25 GMT -5
nope. i am working on Strife fixes yet.
p.s.: english, please. show some respect to other readers, don't force them to use google translate. even "engrish" (like mine ;-) is better than other languages.
|
|
|
Post by ketmar on Apr 3, 2024 8:03:39 GMT -5
Regarding that 'getting stuck' bug.. I suppose k8vavoom doesn't have any kind of DEMO support? Would be a nice way of reproducing a bug like this. k8v has demo support. but it won't be of much help: it is just a recording of network packets. and Vavoom is proper client/server system. so demo record is just a set of snapshots with entity positions, it is missing all other relevant info. so it would be "now you see me — and now i am in the wall". which i know already. ;-) that's why i need to reproduce this myself, so i can log everything and more. and i don't even know what to log yet. the biggest problem is that IT CANNOT HAPPEN. i added explicit checks to player movement code, and if the player ends up stuck, the whole move is aborted. there is no way you can go into the wall, program logic doesn't allow it. that's why i am so confused.
|
|
|
Post by ketmar on Apr 3, 2024 8:18:59 GMT -5
But even in "legacy" mode it is still better then most, if not all other ports IMO. Mainly because of proper light clipping. even in lightmapped mode the lights are dynamic (i.e. the engine recalcs lightmaps if necessary). there are also shadows from transparent textures. it is hard to notice, but you can see it in the end of E1M1. there is how it looks with shadowmaps: and this is lightmaps: you might notice that there is the same shadow from the texture, only very-very blured. ;-) also, i had converted Cheello monsters voxel pack. it looks amazing. but i don't have authors' permission to distribute it (it is heavily repacked and somewhat modified, so i don't know if i am allowed to upload it). and the feature i am most proud of (and which nobody'll notice, but it was designed this way): dead bodies will not stay suspended in the air, because hitbox corner touched some floor above. they will slide away. i.e. no mode cacodemons hanging from pillars! ;-) you may notice the effect by seeing bodies slowly sliding down the stairs. and not only bodies: pickups will slide down too. i think it is more fun this way. ;-)
|
|
arti9m
I'm too young to die
Posts: 4
|
Post by arti9m on Apr 3, 2024 9:35:47 GMT -5
also, i had converted Cheello monsters voxel pack. it looks amazing. but i don't have authors' permission to distribute it (it is heavily repacked and somewhat modified, so i don't know if i am allowed to upload it). From Cheello's moddb page: You may use my voxels in your own projects, as long as you give me, "Cheello" credit.
I think Cheello even stopped answering requests to reuse the work precisely because it is already stated in the "readme" that "YES YOU CAN"
|
|
|
Post by ketmar on Apr 3, 2024 9:47:24 GMT -5
the credits are there, of course. k8v even explicitly prints in the log that it is "Cheello Voxel Pack" loaded. ;-)
Init: checking digital signature... Init: PUBLIC KEY: mHYS^gckt0?f&7663u!Zz=zcNkFZPtFxEl*7Dh(4>?N^> Init: SIGNED BY: Ketmar Dark (genuine; fingerprint: 460d:0892:323a:fc41) Init: AUTHOR(S): Cheello (Daniel Peterson); Ketmar Dark (k8vavoom adaptation) Init: TITLE: Cheello's Voxel Doom v2.0, 01/08/2023; k8vavoom version 0.96
;-)
p.s.: don't be scared by "digital signatures" — there is no restriction of what you can load! ;-) they are used only to check if the package is "authentic" — i.e. created by the respective author, and not modified later. if signature check failed, k8v will still load the package.
|
|
|
Post by camper on Apr 3, 2024 9:59:28 GMT -5
don't force them to use google translate lol, this is exactly what I do all the time when I post on international forums "but there is a nuance..."
|
|
RastaManGames
Doomer
The taste of injustice is painfully disgusting. It tastes bitter and rotten.
Posts: 183
|
Post by RastaManGames on Apr 3, 2024 13:27:45 GMT -5
I've tried to load up "HFE" with "HFEG" today. Was really surprised that all worked w/o any problems. Might get some videos of "K8Vavoom" recorded in nearby future.
P.S.: If all possible problems with Cheello were settled up - where I can find this voxel pack for "K8Vavoom"?
|
|
|
Post by ketmar on Apr 3, 2024 13:44:44 GMT -5
I've tried to load up "HFE" with "HFEG" today. Was really surprised that all worked w/o any problems. this is definitely a bug! there should be some problems. a lot of problems! ;-) as for Cheello… they aren't "settled" per se… but i think i can publish the pack. so i'll create the topic for it now.
|
|
|
Post by ketmar on Apr 3, 2024 13:58:22 GMT -5
so, here it is. i hope Cheello won't have anything against it. ;-)
|
|
tdrr
Doomer
Posts: 68
|
Post by tdrr on Apr 4, 2024 16:45:15 GMT -5
Does K8Vavoom have a way for ACS to call VavoomC functions, as is the case for ZScript static methods with ScriptCall?
|
|
|
Post by ketmar on Apr 4, 2024 17:14:23 GMT -5
tdrr, no. the idea is that if you need to call VC code, then you'd better write your script in VC — because you had written some VC code anyway, otherwise what is there to call? ;-)
|
|
tdrr
Doomer
Posts: 68
|
Post by tdrr on Apr 4, 2024 20:05:08 GMT -5
tdrr, no. the idea is that if you need to call VC code, then you'd better write your script in VC — because you had written some VC code anyway, otherwise what is there to call? ;-) :( It was for compatibility with the Brutal Doom wad detection I improved a bit ago, which requires lump reading to work. I'm gonna use ScriptCall to more or less map the ZScript API to the Zandronum ACS equivalent, so the duplicate code could be minimized. Ah well, I'll take a look at writing a VavoomC version of that at some point after release. Thanks for the info!
|
|
|
Post by ketmar on Apr 4, 2024 22:23:28 GMT -5
sorry. prolly the only thing i can do for you is add "LOADVACS" k8v-specific lump, so you could use some IFDEFs to compile two versions of ACS code. then it would be possible to use VC and k8v-specific ACS for k8vavoom.
|
|
tdrr
Doomer
Posts: 68
|
Post by tdrr on Apr 5, 2024 18:22:57 GMT -5
At that point it doesn't really matter, I can use that light function you mentioned a while ago to check for K8Vavoom at runtime. Still thank you.
|
|
|
Post by ketmar on May 24, 2024 21:50:15 GMT -5
@ arti9m, btw, i added your reports to bug database. it mostly means that i can forget about them now (because they are in the db, why to remember anything anymore?), but i ocasionally fix some tickets too. ;-)
|
|
|
Post by edgelord on Jul 3, 2024 22:01:49 GMT -5
Hey Ketmar! I am completely new here - registered and joined because I saw that K8Vavoom left Doomworld. It's crazy that Edge did not even want to show this forum, I really had to dig for it but hey, I hope you have more freedom here! I am developing a total conversion project based on a dark medieval fantasy setting. I just discovered VkDOOM and its functions and I was blown away. Nash and DpJudas are amazing people, they helped me a lot in resolving bugs. Then... I came across THIS wonderful engine by accident, and man... I was blown away. The fact that it supports 3d models and Sprite shadows? And with Real-time Shadowmapping? I spent a whole night trying to figure out how to download this. I am at Crossroads regarding my project. I have been preparing the assets till now, and I have to option to either write my game in ZScript, or VavoomC (VkDOOM - K8Vavoom). I want to choose this one because of the model support, sprite shadows, and amazing lighting effects, but I bumped into a few small issues. (They might be just me being blind and not being able to find something in the settings - and also, some of them might already be resolved, because I downloaded the 2023, Dec 14 Public Build, as I am not that experienced in compiling.): 1 - There is no ultra-wide aspect ratio support (21:9). I am playing in 3440x1440 and I believe the screen is vertically stretched. I think we should be able to type our aspect ratios in if it's like the resolution. 2 - The engine does not seem to utilize my PC's resources very effectively. My CPU is being used 10-16 percent, and my GPU seemingly does not do anything, not even the CUDA cores (0%). - and I am getting (drastically) low FPS in some areas of well-lit areas. It should have no problem running at 120 or 144 FPS (correct me if I am wrong). (OS - Windows 10 pro, GPU - RTX 3070, CPU - i7 13700KF, RAM - 32GB DDR5 6000mhz, MOBO - Asus Prime z690-p) -I turned off VSYNC in the engine/game, it didn't do much. -I went into the Nvidia Control Panel and turned everything to favor maximum performance and to make the engine use the GPU. This seemingly also did not change anything. Are these fixed in the most recent non-public build? Will these be fixed? Or maybe is there something I missed? I am committed to making my project work with this engine, to let them shine together, and I want this engine to get continuous support, as it is AMAZING! Thank you, I hope the development of this engine proves as impressive as its already existing visuals, and that it will be used in many more projects to come! Ps.: I very much respect that you stood your ground for your opinion on Doomworld forums, someone who says what they mean and means what they say is a rare thing nowadays indeed.
|
|
|
Post by ketmar on Jul 4, 2024 0:57:43 GMT -5
edgelord, thank you for trying k8vavoom! I am at Crossroads regarding my project. I have been preparing the assets till now, and I have to option to either write my game in ZScript, or VavoomC (VkDOOM - K8Vavoom). but do you really need to use those instead of DECORATE? contrary to what GZ crowd believe, DECORATE is not obsolete, and it could do a lot. for examle, the whole Hedon game (which is nothing like Doom, except you can shoot there ;-) was created with DECORATE alone. by using DECORATE you might be able to support both engines. VavoomC is definitely NOT a preferred way to write mods/TCs. it has no documentation, and i'm not going to keep it compatible between releases, so your VC code might simply stop working one day. of course, you can use VavoomC (which is even slightly more powerful as a programming language than ZScript), and i'll try to help you with that, but… DECORATE may still be a better choice. 1 - There is no ultra-wide aspect ratio support (21:9). I am playing in 3440x1440 and I believe the screen is vertically stretched. I think we should be able to type our aspect ratios in if it's like the resolution. aspect ratios are kina "hacked in". i may implement manual aspect ratio control, but i need to remember how that whole thing works first. i wrote it long time ago, and ran away screaming. ;-) 2 - The engine does not seem to utilize my PC's resources very effectively. My CPU is being used 10-16 percent, and my GPU seemingly does not do anything, not even the CUDA cores (0%). - and I am getting (drastically) low FPS in some areas of well-lit areas. It should have no problem running at 120 or 144 FPS (correct me if I am wrong). (OS - Windows 10 pro, GPU - RTX 3070, CPU - i7 13700KF, RAM - 32GB DDR5 6000mhz, MOBO - Asus Prime z690-p) -I turned off VSYNC in the engine/game, it didn't do much. -I went into the Nvidia Control Panel and turned everything to favor maximum performance and to make the engine use the GPU. This seemingly also did not change anything. the playsim is single-threaded, and will always be single-threaded. this is the limitation of idTech1. huge shadowmaps (like emulating a sunlight, for example) are quite slow too: the engine basically need to render a lot of geometry several times, and it is costly. the rendering itself is rooted in old good OpenGL1/2 days: it uploads new geometry to the GPU on each frame (actually, on each render pass), so for detailed maps, or huge lights the limit is not the GPU itself, but data transfer bandwidth. that's how original Vavoom was written, and that's what i inherited. i have plans to completely rewrite the rendering code, uploading most of the data to the GPU once on map start instead of on the beginning of each frame. but this is quite a big change, and it's not implemented yet. i will definitely do the rewrite, but i cannot tell you when (considering the ongoing war here, power "blackouts", and other nice war-related things). that's also why the project is somewhat "on hold" now. i'm still working on k8vavoom, but i cannot devote as much time to it as i'd like to. actually, i have huge roadmap for the engine, just have no time and resources to implement everything. ;-) one of the k00l features i implemented was 3d polyobjects (so you can create moving platforms, and even trains a-la Half-Life ;-). i also have plans to implement special thing to create sunlight (so it won't be as slow as it is now), and combined lightmap/shadowmap lighting mode (so the engine could cache some lighting info instead of recalculating it each time). and way, way more features are planned. sadly, as i said, i don't have even rough estimates for them. I am committed to making my project work with this engine, to let them shine together, and I want this engine to get continuous support, as it is AMAZING! it would be great! and i'm not going to abandon the project. at least because this is the engine i am using to play Doom myself, and i LOVE playing Doom! ;-) but i am mostly the sole developer, "jack of all trades" for k8vavoom. GZDoom has more devs, and much better support. i'll be very happy if you'll choose k8vavoom as the base for your game, but please, keep in mind the fact that this is "one man project". i'll do my best to help you, but there is only so much i could do currenly. :-(
|
|