Jump to content
The Dark Mod Forums

Leaderboard

Popular Content

Showing content with the highest reputation on 03/27/21 in Posts

  1. Ambient light setup It took me a while to figure this out, so I'm documenting it here. If there is a faster way to set the worldspawn lightgem_adjust arg per location than this or a technical mistake, please let me know. What this does: The location system allows to setup locations (areas), which enables each location to have unique settings like ambient sound, ambient light, etc. This setup here ensures that the ambient light for each location is adjustable and that the lightgem_adjust modifier of the global worldspawn gets adjusted for each area, instead of only setting this just once on map load. This solves a problem where guards in dark indoor areas don't recognize the player at normal distance and recognize the player far too soon when stepping outside in a moonlit street while the player is still in a "not active lit" place. It looks like a long act, but it doesn't take long and as soon as it is set up, the mapping for a new location is fast, as it is only setting up a few new entities and spawnargs/targets. ######## Definitions/needed objects, location system of TDM, this consists of: one atdm:location_settings entity (containing some definitions) several info_location entites (one in each location) several info_locationseparator entities (each sitting in the middle of a Visportal, so that all visportals which split off a location from another have one. Visportals within a location not leading to another location don't need this entity.) ######## I'm listing every property here, so some have just descriptive values. Worldspawn: Add the spawnarg lightgem_adjust: 0 to one brush (as usual, any worldbrush will then have it). ---- Create the ambient light by making a light entity (one per map). The _color (=intensity) gets set to zero. My ambient_light and ambient_light_dynamic definitions in the info_location entities otherwise would make the light far too bright (seems to get multiplied) and I define the light values solely with the info_location entities. Additionally this gives a nice effect at map startup, where the ambient is black first and then rises to the level of the current location, like as if the eyes are slowly adapting to the darkness. Entity Light: classname: light name: ambient_world _color: 0 0 0 light_center: 0 0 0 light_radius: scale, to cover your whole map nodiffuse: 0 noshadows: 0 nospecular: 0 origin: place, where you like parallel: 0 texture: lights/ambientlightnfo ---- Create the atdm:location_settings entity (one per map). You can define the sound definitions (property and value) as you like. Entity location_settings: classname: atdm:location_settings name: atdm:location_settings ambient_light_dist_scale: 1.0 ambient_light_dynamic_cap: 0.1 0.1 0.1 ambient_light_fade_time: 7 this is the it takes the ambient light to adjust when traversing to a new location and at map startup ambient_light_falloff: 1 origin: where you want to place it s_shader: silence snd_cellar: phantoms snd_inside: mansion_tense01a snd_outside: city_sleeps01 snd_placeholder1: desolation_loop snd_upstairs: derelict01 ... and so on with the sound definitions ---- In the middle of all Visportals, sealing one location from another, put a info_locationseparator entity. Entity info_locationseparator: classname: info_locationseparator name: info_locationseparator ..._1, ..._2, iterate, doesn't matter origin: middle of the according Visportal ---- Inside each location, put one info_location entity. Entity info_location: classname: info_location name: info_location ..._1, ..._2, iterate, doesn't matter ambient: snd_inside use a sound property-field defined in the adtm:location_settings entity ambient_light: 0.027 0.027 0.027 this is an example, use whatever light level you want to define for this location. 0.027 equals a light level of 7. Note, that if you use the color picker - red/green/blue of this field, the value might be automatically reduced each time you deselect/reselect, don't know if this is bug, so recheck the values. ambient_light_dynamic: 0 0 0 with an ambient_light of 7 = 0.027 this ambient_light_dynamic value of 0 gives a good shop indoor brightneess, if you set ambient_light_dynamic to 0.002 0.002 0.002 with ambient_light 7, this gives a much brighter moonlit street look, but you can also leave ambient_light_dynamic at 0 and just increase ambient_light. origin: in your location area volume: 0 loudest ambient sound call_on_entry: adjustlightgem the function name in yourmapname.script lightgemmodifier: -1 a custom spawnarg, read by the function adjustlightgem in yourmissionname.script For valid values for lightgemmodifier see this wiki page: https://wiki.thedarkmod.com/index.php?title=Virtual_Darkness For example an ambient_light value of 7 (with ambient_light_dynamic value 0) should have a lightgemmodifier of -1. ---- Create a textfile (replace yourmissionname everywhere): TDM/fms/yourmissionname/maps/yourmissionname.script with the content: #include "script/yourmissionname.script" ---- Create the folder: TDM/fms/yourmissionname/script And create the file (this looks a bit redundant here, but you can include several script files in the first file and reference them): TDM/fms/yourmissionname/script/yourmissionname.script and insert the content (extend as you like): void adjustlightgem(entity location) { string location_name = location.getName(); float lightgemmodifier = location.getFloatKey("lightgemmodifier"); // console debugging // sys.print ("Entering location: " + location_name + "\n"); // sys.print ("lightgemmodifier: " + lightgemmodifier + "\n"); $player1.setLightgemModifier("worldspawn", lightgemmodifier); } ---- Result: The ambient light transitions from location to location and the worldspawn lightgem_adjust arg gets set accordingly, and you have a nice effect at map startup.
    2 points
  2. been a while since i toyed with the source code but yeah it did do something in the past as well but maybe not what you would expect. The problem with it in stock doom3 was that even though it removed microstutter it also caused things to go out of sync, sound etc... also it made the game run way to fast as the original code was built around a capped tic of 62.5 (old quake 3 limit actually). This caused the game to actually run at 59 fps and not 60 which many people noticed after mucking about with this variable. In fact even after setting com_fixedtic if you used a framerate limiter to limit it to 60 fps with com_fixedtic on it would cause microstutter if you lowered it one frame more to 59 :). The code was fixed in darkmod and i been working on getting it ported back to doom3 but im mostly retired these days so it is slow going.
    2 points
  3. https://www.gog.com/game/shadow_warrior_complete This game has been free for a while actually, it went permanently free since the preorder of SW2. I hadn't bothered with it though because I had played it in DOS/DOSBox back in the day and wanted to use a source-port similar to EDuke32, but while there were a couple of ports they all had issues and/or were abandoned after a while. Well it turns out the EDuke32 folks were working on their own engine variant called VoidSW, and it appears that it entered public beta at some point in the sysnthesis builds of EDuke32: http://dukeworld.duke4.net/eduke32/synthesis/. All you need to do is downloaded the latest build (which will have a new voidsw.exe binary), dump the Shadow Warrior files into the directory you've extracted the build into (after installing the GOG game somewhere), and run it. It's not perfect (some issues with the menu for me), but it feels pretty robust and with the EDuke32 people working on it, it shouldn't be much of a surprise that it works well.
    2 points
  4. Type of mission: Mansion/Estate/Horror Story: Lord Blackgrove recently purchased a rare expensive artifact. The whole family has now disappeared leaving the manor empty. Time to check out the manor and see if the artifact can be found. Build time: My first map ever, 300 hours (5 months). Credits: Kingsal - Breaker script for light switches and elevator Dragofer - Ambience Track 'Intent' Springheel and Sotha - Video Tutorials (those videos really helped) Feedback and testing: Cambridge Spy, Dragofer, nbohr1more, Acolytesix, wesp5, Shadow, Zerg Rush, AluminumHaste, prjames The whole community. Download (1.03): https://drive.google.com/file/d/1wZc_nqHoX7kQvzfg08EpoRy2hyuH7mw3/view?usp=sharing Edit: Version 1.02 provides large performance improvements in the outdoor areas. Be sure to set TDM Object Details (LOD) to Normal (or lower) to take advantage of some of the optimizations. Edit: Version 1.03 further improves performance around hedges thanks to HMart's alternative hedge model. I’ve had a mission like this in mind for years. My main influences and inspirations are: Deus Ex - Chateau DuClare (https://youtu.be/9QLT_l8aH78) Clive Barker’s Undying - Main Mansion (https://youtu.be/t8PyXhCQB3Q?t=90) Thief Deadly Shadows - Shalebridge Cradle (Almost everyone should be very familiar with this one) (https://youtu.be/Rw4YZuRUgXA) In case anyone gets stuck and needs help, I’ve listed some questions and answers below that will hopefully help. FAQ
    1 point
  5. Hello, as others have done, I'd like to start my own mapping thread to provide content I create in one place. Feel free to use anything from this map in your maps or for TDM integration. There is a book in the map with more description of the contained content. OGDA_Demomap Version v3: https://das-kartell.org/files/thedarkmod/ogda_demomap/ogda_demomap.zip Installation: Extract the content of the zip-file your "TDM install dir/fms" folder, the folder "TDM/fms/ogda_demomap" should be present afterwards. I'll post new versions from time to time when I have new content ready. Current map contents: v1: New Paintings (for details see here: New paintings thread v2: TDM Fountain prefab expanded with base, water, light and particles Drainable/fillable bath with sounds and secret compartment only accessible when drained Moving bookshelf with hidden compartment, very failsafe, the setup ensures no clipping or false states will happen (with one tiny exception, see book) Buildings (TDM defaults) with lights, monster-clip ond some details added New Buildings, mainly created from Springheel's TDM modules v3: Ambient light setup Additional info for the current version: - Foutain still needs monsterclipping - the largest building on the right side has a working window where the candle is, you can fill the room with content or revert the window to a func_static - most of the content that belongs together is grouped for easier copying/moving - most of the content is created for A night of loot 2, but that map is still in extremely early stages, there's no guarantee or release date for that one Credits: Additionally to content created by me, this map contains content provided by: - The Dark Mod - Obsttorte (i.a. fog script, texture blending) - Springheel (modules shipped with TDM) - TDM community github repo (Thread) Please let me know if you find content created by you in this map in case there isn't a mention yet. Screenshots:
    1 point
  6. CPU: Intel Core i5-4570S 2.9 Ghz RAM: 8 GB Video Card: GeForce RTX 3060, 12 GB OS: Manjaro Linux xfce edition Load game from ssd
    1 point
  7. Yes, if you were making a cross-shaped corridor, you'd want cross-shaped worldspawn in order to visportal it properly. AAS isn't much of a problem because you'd have to monsterclip the model walls anyway, but the other things could be issues.
    1 point
  8. I saw it just I after I responded here... Well, maybe repetition helps
    1 point
  9. The problems might not be as hard as you described them, but at least pathfinding and sound propagation would suffer. However, you don't seal a cross-shaped corridor by creating a brush hollowed room around all of it. The brushes form the walls of the corridor. So if that is made out of models, you basically place caulk brushes right behind the walls. Also, using hollowed out rooms is only one way of building levels. I haven't build like that for years now. If you use world geometry mainly for sealing and culling purposes, you can create the walls as well as the ceilings and floors seperately once you need them, as they can be very rough (in terms of grid size) and therefore are unlikely to cause issues. Most of the time when I helped other mappers fixing their maps the root source of leaks (also internal ones) was, that they either created their sealing geometry on small grid sizes (the smaller the grid size, the smaller the gaps can be, and the more likely you'll going to overlook them) or that they used the hollowed out way of building and later on changed something, shifting a brush or resizing it in a way that cause a leak. This is especially bad if the leak created is internal, because it will take ages to even find out that there is an issue, not to mention the time it takes to find it. A good advice imho is to keep the detailing geometry and the one used for sealing as seperate from each other as possible. Make the detailing stuff out of models or stuff converted to func_static. Note that you can export func_statics as models which will help performance if reused (a copy of a func_static is handled as a seperate model, two instances of a model are not). And use caulk and portal_sky brushes, created on large grid sizes (8+) and axis-aligned if possible, for the sealing. This will spare you most of the headaches.
    1 point
  10. @Gadavre, please understand that despite what I think are genuinely good intentions, when someone come into a forum and their first posts are them beating their chests, boasting about their programming experience and shows an adversarial tone towards the project by calling it a beta when it's not and using phrases like "Only a competent programmer can help", do you really think is a good-faith means of eliciting help? You can catch more flies with honey than with vinegar. I hope you are able to resolve your problems.
    1 point
  11. I said almost the same thing to him Destined, in another thread, what I got in return was imo scorn. To me not a good start in this community.
    1 point
  12. Will it continue to work on translating the missions into Russian? I'm from Russia. today was my first training mission. I really liked the translation
    1 point
  13. A tiny bit of research would have told you the game was released in 2009, so no, it's not a beta version, nor "very early" to be adding graphic effects to an engine from 2004. Welcome to the forums.
    1 point
  14. Well, that's unfriendly. And IMO not even particularly accurate.
    1 point
  15. Space holder for further updates
    1 point
  16. Graphics are cool. I prefer gameplay though. I know, I'm of a dying breed.
    1 point
  17. nbohr1more, he's trolling.
    0 points
×
×
  • Create New...