|
Post by ketmar on Aug 25, 2021 17:37:40 GMT -5
this topic is about my fork of excellent Doom sourceport Vavoom ( original site). officiall Fossil repository is here. git mirror is here. DOWNLOADfor impatient people, the latest public build info and link: build from 2023, Dec 14downloadFUCK ALL WARS!PLEASE NOTE that public builds are not "stable releases". while i am pushing out new builds when i consider everything "working good enough", and not by random, the builds are still developement versions. so expect occasional bugs here and there. sorry.
also, please note that k8vavoom is NOT Vavoom! i am trying to keep the spirit alive, and stick close to the original Janis' intent (as i understand it), but k8vavoom and Vavoom are not interchangeable!now some words about the sourceport. k8vavoom is advanced Doom sourceport with GPU-based renderer (you will need at least OpenGL2.1 and GLSL120 to run it). it supports DECORATE (so many ZDoom mods will work), and has some unique features. the first k8vavoom unique feature is lighting: it has three dynamic lighting modes. the first is Quake-like lightmapped lighting. the second is Doom3-like shadow volumes. and the third is shadowmap-based (but not 2D shadowmaps, as in GZDoom). pictures are better than words here, so here are some pictures of shadowmap-based lighting: the second k8vavoom unique feature is decals. oh, yeah, other sourceports have decals too, but only k8vavoom can put decals on transparent textures, floors and ceilings! here's the picture: ah, yep, this is built-in (optional) Gore Mod on "bloodbath" settings. the third k8vavoom unique feature is 3d polyobjects. yes, you can create polyobjects with floors and ceilings, and walk on them! youtube video of simple polyobject platformsalso, there is the oficially supported way to "link" several polyobjects and move them as one, so you can build things like half-life trains and such. suck it, Duke! of course, k8vavoom has more features, like built-in minimap, separate autoaim control for hitscan and projectile weapons, skill overrides (you can adjust ammo/damage multipliers, force fast monsters, change their projectile attack chance, and so on), built-in options to force pistol start, and much, much more! what are you waiting for? go and download The Best Doom Sourceport Evar now! SOME USEFUL THINGS AND INTERESTING MAPS FOR K8VAVOOMopen this spoiler if you have money and don't know what to do with that money. ;-) you can give me some money via bitcoin: bc1qwrt5t2vnhqnkzmtl725l4h8lnf9n0ed0uwa4mj why? becase i barely have money to buy food, so your donations will allow me to eat regularily, so my brain cells will work better. it may sound fun, but it is still a literal truth. it is not for buying better GPU or something, so i can run modern AAA titles. ;-)
i don't have a bank account, so BTC is the only available way to accept donations for me. if you have some free money ;-), and think that my work on k8vavoom worth it -- please, make a donation.
also, please note that this is not a demand of any kind. i won't stop working on k8vavoom if nobody will donate (or if donates won't hit some number, or...), i am working on k8vavoom because i love it. if you don't want to donate -- it is completely ok: play the game and don't worry! ;-)
if you want to make a donation and be mentioned in project credits -- drop me a PM, and we'll find a way. ;-)
thank you for reading this, and have fun with k8vavoom!
|
|
|
Post by ketmar on Aug 25, 2021 17:38:03 GMT -5
here i want to warn you, that strict vanilla compatibility is not a goal of k8vavoom project. i want to try various things nobody tried yet, and while k8vavoom is and will always be the engine to play Doom wads, strict bug-to-bug compatibility is not there. yet i usually try to fix game-breaking bugs, so please, report them right in this thread. and all other bugs too. ;-) also, we have the official IRC channel: #k8vavoom on OFTC IRC. you can use WebChat interface to connect to OFTC if you don't have IRC client. there aren't many people there, but if you want to ask something, and don't want to register here (or just want to have some live chat about k8vavoom and (un)related things), feel free to join.
|
|
|
Post by ketmar on Aug 25, 2021 17:38:45 GMT -5
and this one is reserved too. sorry. i will add more info here: links to maps, changelogs, and such. 2023, Dec 14, brief changelog: highlights: * corpses will slide off the ledges now. no more handing cacos! * damage dealing code expects the default actor to not have Death state. workarounded with a dirty hack. * added Weapon DECORATE properties: `Weapon.PlayerSpeedScale walk [run]`, `Weapon.PlayerJumpScale scl`, and `DisablePlayerRun` flag * added DECORATE actions: `A_PlayerWeaponSpeedScale(walk, [run])`, `A_PlayerWeaponJumpScale(scl)`, `A_PlayerWeaponDisableRun(flag) * added DECORATE functions: `GetPlayerWeaponSpeedScaleWalk()`, `GetPlayerWeaponSpeedScaleRun()`, `GetPlayerWeaponGetDisableRun()`, `GetPlayerWeaponJumpScale()` * fixed (i hope) the long-standing bug that caused occacional bad clipping; it is harmless, the engine simply rendered more linedefs than necessary * new t-junction fixer (Space Ants eliminator); all rendering modes should have no Space Ants anymore (at least when there are no 3d floors) * added DECORATE function `IsPlayerRunning()` (checks if run button is pressed, and the player is moving fast enough) * implemented `CHF_DONTIDLE` DECORATE flag for `A_Chase()` * fixed some bugs in lightmapped renderer (needlessly strict asserts ;-) * minimap can show "blocking things" (it is a kind of cheating, but meh...) * added option to clamp minimum light level for Doom (Vanilla-like) lighting (might help with ZDoom maps) * implemented LOD levels for voxel models (turned on by default); this can significantly improve FPS with monster voxel packs * completely reworked out-of-water jump code: it should really perform jumps now ;-) * implemented experimental corpse sliding, to avoid "hanging corpses" effect (pickup drops will slide too) * implemented more flags for `A_Explode()` DECORATE action (some new flags from recent GZDoom) * fixes in `DoChase()` (leave `bInChase` flag set only if we branched) * slightly faster DECORATE runtime label jumps (most jump targets are cached instead of re-evaluating them each time) * fixed VERY NASTY bug in compiler; everything worked by sheer luck before (MANY-MANY THANKS to TDRR for help and patience!) * hitscan missiles should activate lines as `LineAttack()` does (thanks, Steinkrauz!)
|
|
40oz
diRTbAg
Posts: 6,107
|
Post by 40oz on Aug 25, 2021 17:45:46 GMT -5
wow that lighting is superb
|
|
dmdr
Doomer
is this how I add a title under my avatar?
Posts: 588
|
Post by dmdr on Aug 25, 2021 17:49:53 GMT -5
ooh nice, great to see source port updates over here (that being the main thing I go to DW for). FYI 40 has expressed willingness to host port-specific DBPs. Hint hint.
|
|
|
Post by ketmar on Aug 25, 2021 17:50:27 GMT -5
thank you, 40! and it's fully dynamic too. i.e. you can move light sources, opening doors will cast proper shadows, and so on. even sprites can cast shadows in shadowmap mode!
|
|
|
Post by ketmar on Aug 25, 2021 18:01:31 GMT -5
ooh nice, great to see source port updates over here (that being the main thing I go to DW for). FYI 40 has expressed willingness to host port-specific DBPs. Hint hint. tbh, i have a mixed feelings on port-specific community projects. of course, maps made for k8vavoom lighting won't look good in other sourceports, and 3d pobjs is k8vavoom-exclusive thing (yet, i hope others will implement it too). so to fully utilize such features, the project has to be port-specific. but… it will mean that people will have no choice of sourceport to play. and i don't believe in "one size fits all" motto. so… i'd love to see k8vavoom community project, of course. but… dunno. mixed feelings, as i said. anyway, i'll be glad to answer any questions, and such project will have my full support (not that it gives anything besides putting a promo link to the top posts, but… ;-)
|
|
id0
Registered just to make one post
Posts: 1
|
Post by id0 on Aug 25, 2021 23:42:21 GMT -5
Hi chat, i'm one of the codevs, I'll post some funny screens:
|
|
|
Post by ketmar on Aug 25, 2021 23:49:30 GMT -5
please, note: our dev team don't have spare eyeballs replacements.
|
|
Lobo
Doomer
Posts: 594
|
Post by Lobo on Aug 26, 2021 1:01:43 GMT -5
Saw interesting changes in the k8vavoom log: any idea when you'll be releasing a new build?
|
|
|
Post by ketmar on Aug 26, 2021 1:11:32 GMT -5
Saw interesting changes in the k8vavoom log: any idea when you'll be releasing a new build? this or next week, i hope. there are alot of changes in renderer and shaders, i need to test them slightly more. that is, at least 3-5 days of playing Doom non-stop. ;-) p.s.: i keep forgetting that people can read commit log on repo.or.cz, and always wonder "how do they know?!" ;-)
|
|
|
Post by Giomancer on Aug 26, 2021 3:26:28 GMT -5
Looks like I'm going to have to give Strife, Hexen, and Heretic playthroughs to make sure your rendering changes are safe for everyone!
|
|
|
Post by ketmar on Aug 26, 2021 3:45:01 GMT -5
that will be great! i'm mostly testing Doom, and other games need some more love. they are officially supported, and will always be supported, but i'm rarely playing them, so any help is welcome!
but please note that most HUD development is done for Doom now, so HUDs for other games may miss some features. currently, HUD code for each game is copy-pasted, so it's hard to sync it. i'm planning to factor that code, so changes will be automatically used in all games.
the plan is to make modular HUD, so players will be able to visually build the HUD they want from various widgets (and switch between different HUD "presets"). it's not there yet, but i'm working on it.
bug reports are welcome, as usual. to show visual bugs, you can use "mypos" console command, it will print map hash and commands to teleport to your current place. all console output is automatically logged in "conlog.log" file (but note that the file will be overwritten on each .exe run).
if you'll have any questions, feel free to ask.
of course, it is better to wait a little, and start playing with the new build, but if you want to start right now… go on! ;-) most of the time saves are compatible between versions. you will also get quick autosaves on each map start (press "tab" in load menu to switch between normal and autosaves).
p.s.: new build will also have a new lighting, that is much closer to vanilla. current lighting is standard OpenGL "linear fog", but vanilla lighting is not really linear, and has more contrast.
|
|
|
Post by Giomancer on Aug 26, 2021 4:59:36 GMT -5
Oh, and if I may say/beg one thing: Don't forget those of us that don't (or won't) use UDMF map format! =P
|
|
|
Post by ketmar on Aug 26, 2021 5:07:00 GMT -5
no problems here. k8vavoom supports Doom-in-Doom, Doom-in-Hexen, and UDMF, with Boom and MBF specials. to create 3d polyobjects you will need Doom-in-Hexen, tho, because spawners' Z coordinates, and other args matters, there is no other way to do it. of course, you can use line specials or things with special ids to create slopes and 3d floors.
tl;dr: no problems, with some GLDEF/vavoom magic it is possible to use most features (including dynamic lighting) with any map format. you don't even need prebuilt GL nodes, the engine will create nodes by itself.
p.s.: some EDGE specials are supported too, and Lobo helps us to improve EDGE support. and there are no plans to declare any map format as "obsolete", don't worry. ;-)
|
|
dmdr
Doomer
is this how I add a title under my avatar?
Posts: 588
|
Post by dmdr on Aug 26, 2021 7:44:36 GMT -5
would you consider adding something like vanilla essence as an inbuilt option (or perhaps it works already idk)?
|
|
|
Post by ketmar on Aug 26, 2021 7:58:31 GMT -5
would you consider adding something like vanilla essence as an inbuilt option (or perhaps it works already idk)? it requires full-featured preset support, because first, i don't think that people will be happy to re-setup all options after experimenting with that, and k8vavoom has ALOT of options; and second, there should be a list of cvars and values to set anyway, which already looks like a partial preset system implementation. it can be done with VavoomC mod, but the code will be a mess. and it should be built-in, because this is the only way to be sure that it will be kept in sync with engine changes. i'm ok with the idea, but haven't decided the best way to implement it yet. with such system in-place, it would be logical to allow people to create "config snapshots" too, but snapshotting the whole config is not really useful, i believe. so there prolly should be a way to create "video config snapshot", "gm options snaphot", "cosmetic options snapshot", and so on. so i have to think alot before implementing it. short answer: yes, i will prolly add something like this in the future. but i cannot tell when yet.
|
|
dmdr
Doomer
is this how I add a title under my avatar?
Posts: 588
|
Post by dmdr on Aug 26, 2021 20:31:02 GMT -5
awesome -- although I have now searched through the menus and it turns out that I can do 90% of what I want just using the internal settings. Thanks also for providing actually useful gamepad options. I have a couple of questions and a statement. 1) the splash noise when moving through water is very annoying. How do I turn it off? 2) I like dynamic lights but would like to turn off the ones emanating from flats -- this changes gameplay and the lights are too strong anyway (take a look at Underhalls with tonemap palette and dynamic lights on and you'll see what I mean) statement: 'a lot' is two words. Actually I have two feature requests that may be easier to implement: first, COMPLVL lump support. From DSDA-Doom's patch notes: in the context of k8vavoom this would simply set the appropriate gameplay settings with minimal effort from the mapper or player (setting all that shit in ZMAPINFO can get fucked tbqh and I don't even know if k8vavoom supports that anyway). Secondly, a 'set all config options to vanilla' setting in the menu would be awesome and cool, rather than making me look for everything myself.
|
|
|
Post by ketmar on Aug 26, 2021 21:21:40 GMT -5
1) the splash noise when moving through water is very annoying. How do I turn it off? it's in "gameplay options" menu gm_footsteps 0 ("footstep sound") you will still have a splash sound when stepping into the liquid first time with this, tho. gm_optional_terrain 0 ("optional terrain") this will turn off vanilla terrain definitions, so no sounds at all (but no bootprints too). 2) I like dynamic lights but would like to turn off the ones emanating from flats -- this changes gameplay and the lights are too strong anyway (take a look at Underhalls with tonemap palette and dynamic lights on and you'll see what I mean) r_glow_flat 0 ("glowing flats" in video options) as for "too strong"… maybe i simply used to it. ;-) or maybe i should remove water from the default glow definition, leaving only lava there. i'll think about it, thank you. that's what one gets by learning English with irc chats and imageboards. i never ever even though about checking it. thank you! but don't ask me to start using capitals, please. ;-) Actually I have two feature requests that may be easier to implement: first, COMPLVL lump support. From DSDA-Doom's patch notes: in the context of k8vavoom this would simply set the appropriate gameplay settings with minimal effort from the mapper or player (setting all that shit in ZMAPINFO can get fucked tbqh and I don't even know if k8vavoom supports that anyway). yep, k8vavoom supports huge subset of ZMAPINFO. tbh, i don't like cryptinc complevels. maybe for PrBoom people it's crystal clear what they mean, but for me… i simply don't know. i need proper specs to implement that. specs in sense "we're writing Doom-compatible engine completely from scratch, and can use that description to write that feature from scratch too". because this is basically what i'll be doing. ;-) oh. if you have ZMAPINFO settings for each complevel, that may help too. ;-) Secondly, a 'set all config options to vanilla' setting in the menu would be awesome and cool, rather than making me look for everything myself. this is kind of presets i was talking about above. but i'll think about it, it is prolly better to have at least something while "everything" is not ready yet. as you may guess, i'm not a fan of strict vanilla gameplay (i'm not even sure that i can configure it properly ;-), so i simply never thought about one-click option to "vanilise" the engine. if you mind sharing your "vanilized" config with me, i'll use it as a template. (English is very hard. especially when you woke up and found that you have no coffee in the house.)p.s.: as for gamepad, i mostly implemented it "in blind" (i don't even own one), so if you have any suggestions…
|
|
dmdr
Doomer
is this how I add a title under my avatar?
Posts: 588
|
Post by dmdr on Aug 26, 2021 23:29:00 GMT -5
alrighty I went through and changed every option I understood to a more vanilla-version. So no particles, lights, shadows, etc. etc.
I prolly missed some stuff (couldn't figure out how to reenable the default blood splats, disabling freelook doesn't get saved in the config file??? Pls fix if that's a bug) but it's a start. I did leave infinite height monsters off and item tossing on even though those are anti-vanilla in every way but I wasn't happy with the options available; eg infinite height monsters has options for 'map default or no', 'never' and 'always'. A 'map default or yes' option would be appreciated (item tossing has 'map default or yes' instead and should have a 'map default or no' option).
The ZDoom compatmodes stuff is found here. In ZMAPINFO any of those options would be added by prepending 'compat_' to the cvar and placing it in the map block. If you want an example, I made a ZMAPINFO for DBP39 which enabled the Doom (Strict) compatmode by default, except for a couple settings that caused errors in the console, which you can find here (40 took all that stuff out for the release).
|
|
|
Post by ketmar on Aug 26, 2021 23:51:54 GMT -5
thank you, this helps alot!
i'll add other "map default or" too. it's done this way because it fallbacks to Vavoom defaults if no mapinfo setting was specified. i.e. zero value for those cvars is what used when no mapinfo option is there. and zero coincidentally is default Vavoom setting, of course. ;-) as those cvars are called "compat_nopassover" and "compat_notossdrops", 0 means "no infinitely tall monsters" for the former (so "map default or no"), and "allow toss" for the later (so "map default or yes"). it was the easiest way to implement it.
as for not saving freelook… no "sv_disable_*" cvars are saved, for the reason… i don't remebmer why, actually. as a workaround, you can create "autoexec.cfg" file and put
sv_disable_crouch 1 sv_disable_jump 1 sv_disable_mlook 1
there. i'll check why i decided to not save them, but for now, the workaround will do the trick.
btw, you can reset any option menu item to default with "backspace". also, if you press "?" (exactly that, shift+/), the engine will dump cvar name that current menu item controls to the console.
|
|
|
Post by ketmar on Sept 4, 2021 4:19:11 GMT -5
heartbeat note: don't worry, everything is ok. i'm a little distracted by some side-projects, tho (this time it is a web-server instead of a Forth system ;-), so the new build prolly won't come this or next week. technically it is ready, but i want to fix some small things, and add some small things too, and test some things more. and play DBP39. ;-)
|
|
|
Post by ketmar on Sept 10, 2021 15:44:10 GMT -5
to keep both thread more-or-less in sync, some news. the next build will add support for Legion of Bones. that's how good mod should be done, btw: use ZScript to add several required DECORATE code pointers, and then use DECORATE for everything else. as VavoomC can do the same, i simply replicated that base actor with VavoomC, and everything else Just Works (well, had to add two more standard GZDoom code pointers, but it worked even without them).
|
|
Lobo
Doomer
Posts: 594
|
Post by Lobo on Sept 10, 2021 15:52:28 GMT -5
Can you port k8vavoom to Gzdoom?
😂
|
|
|
Post by ketmar on Sept 10, 2021 15:57:50 GMT -5
Can you port k8vavoom to Gzdoom? sure, it's very easy: we should simply throw away all GZDoom code, and replace it with k8vavoom code, and call that new fork Brand New GZDoom Version. ZScript will be declared obsolete and not supported anymore, of course, but i myself won't miss it. ;-)
|
|