Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

k8vavoom: no good thing ever dies! (2019, Nov 06 build)

Recommended Posts

K8Vavoom is my favorite engine to use! It has really made me come back to mapping. Speaking of mapping, here are some more pics of Dissolution: Remastered Edition. Pic 1 is the Sacrificial Grounds, the rest are unnamed. This remaster should be done soon and is built for both K8Vavoom and GZDoom.







Share this post

Link to post

@Gunrock yay, looks absolutely great! and thank you!


i am also planning to bring bloom filter to k8vavoom, to make it look even better. and i'm looking into implementing voxel models too. this is among other, bigger plans. our great jorney is barely started, an oh, what wonders waits for us ahead?! ;-)

Share this post

Link to post

Man what doesn't this port do? Honestly, it is just incredible. Actually I can think of one thing it doesn't do, could you make it possible to load pk3 files? Aside from that it's bloody brilliant!

Share this post

Link to post
16 hours ago, Voltcom said:

could you make it possible to load pk3 files?

but k8vavoom supports pk3! ;-) it can both load pk3 directly, or load pk3 from zip archive w/o unpacking (idarchive loves to put pk3 into zips). it also supports lzma compression method for pk3. yet k8vavoom doesn't support pk7/7z: 7z sdk code is... not the best one. base k8vavoom data stored in pk3 too.


note that some people are using ".pk3" extension for 7z archives. k8vavoom will become angry about that, and will swear a little. ;-)


but if you mean some kind of launcher (like, window to select something at the start) -- that is not planned. even such simple UI is hard to build for several platforms, so i'd better leave that to dedicated launchers, like zdl.


16 hours ago, Voltcom said:

Aside from that it's bloody brilliant!

thank you! we also have alot to offer for modders (at least not less than GZDoom with zscript, maybe even slightly more), but i'm not yet sure that i want to document it.


also, for now k8vavoom doesn't support multiplayer. it is there, but i broke it. ;-) but MP will be restored soon (i hope).

Share this post

Link to post
12 hours ago, therektafire said:

hey @ketmar have you seen this yet?

wow, great news! software panents must die. k8vavoom already using "carmack's reverse", of course, but IANAL, and i just hoped that nobody will notice. ;-)


i am still planning to write some combined algo, though (maybe ZP+), because zpass can be somewhat faster for some cases.

Share this post

Link to post
6 hours ago, Voltcom said:

I'm dumb that's all

don't worry, it's ok. exactly the words i'm screaming at least several times a day, especially when reading the code i wrote yesterday. ;-)


also, your post is very valuable, because such posts gives me yet another opportunity to write about k8vavoom features! ;-)

Share this post

Link to post

my so-called vacation goes completely off-rails, so expect a new public build soon. ;-)


this time i made some improvements to lightmapping code. the most important thing is that the engine should not crash with "surface cache overflow" anymore, ever (previously, this may happen on maps with huge open spaces, and alot of lighting).


also, i am working on on-disk lightmap cache, so static map lighting will be calculated only once. currently, the engine does full static light recalc each time the map is loaded (this includes loading a saved game), which is obviously not so good for maps with alot of lights. i hope to finish this for the next public build (there are some problems to solve yet, but nothing really hard, i hope).

Share this post

Link to post

Sorry to hear about the vacation but hey having more improvements to K8Vavoom is also very good news.

Share this post

Link to post
27 minutes ago, Voltcom said:

Sorry to hear about the vacation

thank you. tbh, my "vacation" was just a try to take some rest, and stop coding k8vavoom for a little. and of course, i failed it -- the more i am trying to forget about engine coding, the more ideas i want to try RIGHT NOW, OH, IT ABSOLUTELY CANNOT WAIT! ;-)


the first draft of lightmap caching seems to work now. it is not as good as i want it to be, but at least it works sometimes, which is better than what we had before anyway. at least quickloads shoud be quick most of the time even on slow CPUs (i hope).

Share this post

Link to post

let there be light! this new build has alot of changes in lightmapping code, and the engine is able to cache built lightmaps now. that is, no more lightmap recalculation on each game load. also, no more engine crashes on big maps with alot of dynamic lights (this could happen, for example, on a map with open space and hordes of imps, all throwing fireballs).


the new code is experimental (as always), but hey, everything in k8vavoom is experimental anyway. ;-)


also, i switched to GCC 9.2, because GCC 5.4 is unable to build k8vavoom code (internal compiler error, no less!)



WARNING! networking code is completely broken for now. i know it, and i will try to restore it later.

* oops: "zmapinfo" was never used due to a typo
* partially implemented "sky_exmx" hack (thanks, steinkrauz)
* alot of meaningless code changes nobody will notice anyway (tech debts, cleanups)
* always sort weapon slots (otherwise overridden weapons can be put into the wrong place, regardless of Weapon.SlotPriority)
* added "DOOMWADPATH" envvar support
* it is now possible to change weapons after morphing/unmorphing
* the engine will prefer Shadow Volume Renderer for "autoselect" (if it is supported by GPU)
* added "am_show_keys_cheat" automap cheat cvar
* added "am_keys_blink_time" automap cvar (so known/cheat keys may blink for better visibility), and UI menu option
* added option to draw DoomGuy face in horizontal screen center in fullscreen HUD
* better masked wall rendering in lightmap mode (there should be no more occasional "fringes" on masked walls... i hope)
* more VavoomC gfx API (rects and lines! yay!)
* some small optimisations in shadow volume renderer code
* slightly faster lightmap chain rendering
* better lightmapped surface management; the engine should not bomb out with "surface cache overflow" anymore (experimental!)
* implemented first draft of lightmap cache (both for initial map loading, and for savegames); it is not finished yet, but sometimes it works ;-)
* added optional BSP lightmap tracer -- see Advanced Video Options (BSP lightmap tracing is ~3.5 times slower than blockmap, but produces less light leak artifacts) (thanks to TerminalHash for test maps)
* perform partial lightmap atlas updates (in theory, this sends less data per frame to GPU)
* fixed glitch with glowing walls in lightmap renderer (missed some glow parameter updates sometimes)
* made stealth fist and chainsaw modes optional
* added some more "compat_XXX" tokens to mapinfo parser
* some 3d floor rendering hacks (garden fences in Golden Soul MAP01 should not glitch now, for example)
* fixed dynamic sprite lighting bug for lightmap renderer and 3d floors

Share this post

Link to post

and of course right after i pushed the last build, i made D4V.wad work without hidden CLI args, and fixed "floating corpses" issue with it. maybe it worth a minor update. we'll see. ;-)

Share this post

Link to post

and some PR: two quite huge maps (WIP), k8vavoom version of the first map is lit mostly with dynamic light sources: topic. very impressive effort, especially for a novice mapper, i believe.

Share this post

Link to post

...and found some bugs in new lightmap update code. quickfix is coming soon. don't worry, i'll try to break texture mapping to compensate lightmap fixes.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now