Search the Community
Searched results for '/tags/forums/frob/' or tags 'forums/frob/q=/tags/forums/frob/&'.
-
Might this not be better suited to https://forums.thedarkmod.com/index.php?/forum/58-tdm-tech-support/ or failing that make the text collapsable.
-
A Winter's Tale By: Bikerdude "One of the few pleasures I have as a man of the thieving profession is to return to my old home town for the holidays and relax in the company of friends and relatives. But a local lord has been going out of his way to making the lives of the locals a miserable." Notes: - TDM 2.12 or later is REQUIRED to play this mission. - This is my entry for the speedbuilding jam. - This FM should play on the vast majority of systems. I have perf tweaked this map with low end players in-mind. And have moved the globale fog/moon lights to the ‘ better’ LOD level. - min recommended spec (as per beta testing) Intel Core i7(3rd gen), nvidia 1030 4gb (GDDR5), will get you 60fps inside and 45fps outside. - Various areas will look better with shadow maps enabled (SoftShadows set to medium/high, Shadows Softness set to zero and LOD set to 'better'), at the possible expense of performance depending on your system specs. - this mission continues the imperial theme, with this being a border town slightly further out from the main imperial lands than Brouften. - build time roughly 130hrs. Download Link: - (v1.4) - https://discord.com/channels/679083115519410186/1310012992867405855/1310022631415746632 v1.4 changes: I have been tweaking the LOD levels through-out the map - - Snow fall has been moved to LOD low/normal. - world fog moved to LOD better. - fireplace grills to LOD better. - world moonlight moved to LOD high. Other tweaks - - reduced light counts in all the fireplaces. - reduced the length of the looping menu video background. - Some new assets Gameplay: - added more ways for the player to get around. - tweaked existing routes to make some easier or more of a challenge. - and added an additional option objective. Credits: Special thanks go to - - Nbhor1more, flashing out the briefing and creation of readables. - Amadeus, Help w/custom objectives, script work, proof reading, mission design & testing. - Dragofer, for custom scripts and script work for the main objective. - Baal, for additional tweaking of the main objective and script work,. - Beta testers: Amadeus, Nbhor1more, Mat99, DavyJones, S1lverwolf, Baal & Dragofer. - Freesound.org, for ambient tracks, further details in sndshd file. Speed Jam Thread: - https://www.ttlg.com/forums/showthread.php?t=152747
- 33 replies
-
- 18
-
-
-
EDIT: This topic was initially named "Frob Helper madness". ----------------------------------------------------------------------------- While working on something I analyzed the Frob Helper. The Frob Helper was enabled by default in 2.11. The options were: Show Frob Helper: Yes [Default] No [Tip] Makes interacting with small objects easier by temporarily displaying a white dot. ------------------------------------------------------------------ In 2.12 the Frob Helper remains enabled by default but things changed: Show Frob Helper: Always Hover Fade In [Default] Fade In Fast No [Tip] Makes interacting with small objects easier: Always = Show crosshair dot at all times Hover = Instantly show dot on highlight Fade In = Gradually show dot on highlight Fade In Fast = Same as Fade In but faster ------------------------------------------------------------------ If I was new to TDM I would expect a "Frob Helper" to help me identify frobs: you can interact with this, here is the helper so that you know it and you know where the center of the screen is in case you need it. The Frob Helper however was designed to compensate for the shortcomings of other mechanics of the game, and as such, the Frob Helper is flawed by design: it only shows up if the size of the object is smaller than the arbitrary value of 40. I will say at this point that I am well aware of the tdm_frobhelper_ignore_size cvar but this isn't the point. This game isn't a shooter and "Always on" is not required unless we are talking motion sickness, in which case it belongs in a hidden cvar, for the few that may need it. The starting point of the Frob Helper should have been: On (the helper shows up whenever you can interact with something) Off From this point we can expand with more options, of course: Always on (not recommended based on the nature of the game) On for all items - Hover On for all items - Fade In On for all items - Fade In Fast [Default] On for small items - Hover On for small items - Fade In On for small items - Fade In Fast Always off
-
Double topic. See also topic: https://forums.thedarkmod.com/index.php?/topic/22754-thief-vr-legacy-of-shadow-announcement/
-
i am having a hard time searching for specific keyword in bug tracker so i decided to wade into google search and found similar thread with similar issue : https://forums.thedarkmod.com/index.php?/topic/13723-key-drop-melee-animation-glitch/
-
Or, just get in contact with the owners of the IP and ask them since just because an IP lawyer in one jurisdiction says it would be okay, doesn't mean it would be okay globally. There are several packs out there of scripts/definition files which are licenced under free licences (CC0 and WTFPL mostly) and claim their freedom by recreating them using "clean-room way". In fact, I used them in getting TDM running with mostly free licenced files by selectively choosing which had clearly been written from scratch albeit with reference to the originals, and which were just direct copy and paste with claimed free licences (I didn't use them). Then it was a case of finding/replacing the core engine textures, sounds, etc. the engine required to launch with free alternatives (again checking the packs since some were just copied direct from the game files and claiming to be free). In the end, the only non-free licenced files that were still required were those from TDM itself. The result of this TDM version is the screenshot I posted some posts ago here: https://forums.thedarkmod.com/index.php?/topic/22346-libre-version-of-tdm/page/3/#findComment-500642 However, you will notice the giant cursor on the screen in the screenshot, why? because the only reference to hiding the cursor is within the UI files which come under the game eula, so I didn't add in the command to hide it in game. In the case of the script/def files, this "clean-room" approach has stood up in a court of law when I looked online, however you wouldn't really want to end up being in the position of ending up in court defending yourself in the first place. The flaw in the def/scripts that were recreated are that they all wrote their files using the originals as reference. So if the originals are under the game eula, and if the information contained is in some way protected, then all these "clean-room" files revert to the original game eula, as the authors didn't have the right to change the licence. I believe (with a pinch of salt )that if the core scripts/files were made GPL by idSoftware/Microsoft then as files based off of or using them as parents (basically all TDM scripts/defs as far as I can make out) then all of the TDM scripts and def files would automatically become GPL as their authors could also not claim their work was NC-BY since it was then based on GPL work.
-
Mandrasola is a small sized map in which aspiring thief Thomas Porter steals some herbal products from a smuggler. The mission was created by me, Sotha and I wish to thank Bikerdude, BrokenArts and Ocn for playtesting and voice acting. Thanks goes naturally to everyone contributing and making TDM possible. This mission occurs chronologically before the Knighton's Manor, making it the first mission in the Thomas Porter series. Events in chronological order are: Mandrasola, The Knighton's Manor, The Beleaguered Fence, The Glenham Tower and The Transaction. The winter came early and suddenly this year. Weeks of strong blizzards and extremely harsh cold weather hit Bridgeport hard. With the seas completely frozen, a rare occurence indeed, most of the City harbor commerce has stopped completely. Vessels are stuck in the ice and no ship can leave or enter the City, resulting in the availability imported goods declining and their prices skyrocketing. One of these imported items is Mandrasola, a rare herbal product, which is imported overseas from the far southern continents. Mandrasola has its uses in alchemical cures and poisons, but mostly this substance is used for its narcotic qualities by commoners and even the nobility. The problem with Mandrasola is that excessive use is extremely addicting and the withdrawal effects are most grievious. Many are utterly incapable of stopping using Mandrasola and are transformed into quivering human ruins if they do no get their daily dose. And now this expensive and rare substance is running out from the whole City. Me and my fence, Lark Butternose, would love to grab this monopoly to ourselves: selling the last few doses in the City would probably be worth a fortune. According to Lark's sources, there remains only one smuggling lord who still has Mandrasola in stock. The problem is that this individual maintains an exclusive clandestine operation and only supplies a few nobles. Despite our best information gathering efforts we couldn't learn who the smuggler is and where he or she operates. Luckily we have an alternate plan. While searching for Mandrasola related information, we learned that a noblewoman called Lady Ludmilla is addicted to the substance and has paid high prices for small amounts of it. We also know that she has visited frequently someone in the Tanner's Ward waterfront, and since she goes to the area personally we believe she is visiting the smuggler. The plan is simple: I must monitor Ludmilla's most likely entryway to the Waterfront and then follow her to the smugglers hideout. I'd better be very careful around Ludmilla. She must not realise I'm following her or she probably won't lead me to her dealer. Hurting her is also out of the question. After she leads me to the smuggler's hideout, I can take my time to break in carefully and steal all the Mandrasola I can find. While I'm there it wouldn't be a bad idea to grab some loose valuables as well. I've now waited in the blistering cold for a few hours already. Looks like there are a few city watch patrols in the area to complicate matters... I think I heard a womans voice beyond the north gate. That must be lady Ludmilla, I haven't seen many ladies in these parts. I'd better get ready.. Links: Use the ingame downloader to get it. WARNING! Someone always fails to use spoiler tags. I do not recommend reading any further until you've played the mission.
-
While looking through the config I found a setting for door control. I can't find it anywhere in the in-game settings menu, so I will assume its an unfinished gameplay feature that may have been abandoned. Door control works similarly to Amnesia: the Dark Descent, ie. you can manually move a door with the mouse while holding frob on it. A few main differences that can probably be explained by it being unfinished: -Only up and down mouse movements can control the door. -The maximum speed that you can move the door is capped to the same very slow speed that doors open with an unheld frob. -When you slowly close the door, there is also a minimum speed. -Seemingly, when using manual control, the door stops just short of being officially closed. It looks closed, and it suddenly stops as though it has been closed. No sound effect plays, and guards will still see the door as opened. Supposing this is more fully implemented, we could see one or a few of these improvements: -A variant of the door sounds that aren't so easily heard when you open and shut them slowly. (Probably should just be the sound of the knob turning and the latch clacking much more quietly.) -The ability to much more quickly open doors, for instance you would want this while on the run, and it wears less on some player's patience than the current default speed. -The ability to slam doors shut, either to create a noisy distraction, or to put a little distance between you and a pursuing guard. -Creaking door and trunk variants that are more stealthy to open quickly than slowly. In addition, for players who don't want to enable manual door control, these stealthy variants should still be accessible through the Held Frob mechanic, and lucky for us there is already an example of this mechanic in gloomwood. (as an aside, wouldn't we also like a customizable frob highlight color, which was also implemented there? I'd gladly set it to a nice blue color for Deadly Shadows nostalgia.) Possibly, we could also use the Attack key during a held frob to do give non-manual players an auto-slam. It would be great if a guard could be knocked out this way. If he's fully alerted and following too closely, he'd probably brace the door and push through pretty fast, though.
-
This sounds like the kind of thing that would happen after you frob an invalid readable. However, all such errors should've been fixed after I fixed all causes of console warnings in this FM.
-
Thought it would be a good idea to collate a useful list for new and old mappers alike and this post will update as we go. Abandoned works: Any WIP projects that were abandoned by the original author - http://forums.thedarkmod.com/topic/12713-abandoned-works/ Darkradiant & Darkmod shortcut settings: Some example settings for new mappers - http://forums.thedarkmod.com/topic/15152-darkradiant-and-darkmod-shortcut-folder-settings/ Darkradiant howto, must knows, tips and faqs - http://forums.thedarkmod.com/topic/12558-usefull-important-editing-links/?do=findComment&comment=272581 Info for Beginners: Newbie DarkRadiant Questions - http://forums.thedar...iant-questions/ Dark Radient Must Know Basic Intro - http://wiki.thedarkm...now_Basic_Intro Editing Tips for Beginners - http://wiki.thedarkm...s_for_Beginners Editing FAQ (Troubleshooting & How-To) - http://wiki.thedarkmod.com/index.php?title=Editing_FAQ_-_Troubleshooting_%26_How-To Sotha's excellent Mapping Tutorial series: http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheel's New Mapper's Workshop: http://forums.thedarkmod.com/topic/18945-tdm-new-mappers-workshop/ Inspiration: Collection of screenshots and images people have found online - http://forums.thedarkmod.com/topic/11610-darkmod-inspiration-thread/ Mapping Resources: List of Voice actors available for voice recording - http://modetwo.net/d...6-voice-actors/ Lengthy collection of city reference pictures - http://modetwo.net/d...rence-pictures/ Collection of texture resource sites - http://modetwo.net/d...ture-resources/ Free Ambient Tracks - http://skeksisnetlabel.wordpress.com/2009/12/30/10-songs-for-free-download-vol-10-full-moon-over-noricum/ Mapping Tools: 3 useful tools for texture creation - http://forums.thedarkmod.com/topic/18581-must-have-tools-for-the-descerning-mapper/ Modular Building: What is Modular building - http://forums.thedarkmod.com/topic/14832-modular-building-techniques/ Working example tutorial on modular building - http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheels new modular models - http://forums.thedarkmod.com/topic/18683-using-springheels-205-modules/ Some related mapper recipies - Easy Vaults - http://forums.thedarkmod.com/topic/14859-easy-vault-recipe/?hl=%2Beasy+%2Brecipe Easy Outdoors - http://forums.thedarkmod.com/topic/16159-easy-outdoors-recipe/?hl=%2Beasy+%2Brecipe Easy Caverns - http://forums.thedarkmod.com/topic/14469-quick-caverns-recipe/?hl=recipe Easy Alert Ai - http://forums.thedarkmod.com/topic/17157-easy-alert-ai-recipe/?hl=%2Beasy+%2Brecipe Easy Alert Ai Custom Behavour - http://forums.thedarkmod.com/topic/17160-easy-alert-ai-custom-behavior-recipe/?hl=recipe Tutorials: Collection of video tutorials for DR - http://modetwo.net/d...in-darkradiant/ Using Lighting and detail effectively: - http://forums.thedar...l-and-lighting/ Voice Actors list: List of available voice actors - http://forums.thedarkmod.com/topic/12556-list-of-available-voice-actors/ Usefull Console commands: A list of console commands for testing in-game - http://wiki.thedarkm...Useful_Controls
- 21 replies
-
- 3
-
-
- inspiration
- tools
-
(and 4 more)
Tagged with:
-
For the people eager to play with the latest state of development, two things are provided: regular dev builds source code SVN repository Development builds are created once per a few weeks from the current trunk. They can be obtained via tdm_installer. Just run the installer, check "Get Custom Version" on the first page, then select proper version in "dev" folder on the second page. Name of any dev version looks like devXXXXX-YYYY, where XXXXX and YYYY are SVN revision numbers from which the build was created. The topmost version in the list is usually the most recent one. Note: unless otherwise specified, savegames are incompatible between any two versions of TDM! Programmers can obtain source code from SVN repository. Trunk can be checked out from here: https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ SVN root is: https://svn.thedarkmod.com/publicsvn/darkmod_src Build instructions are provided inside repository. Note that while you can build executable from the SVN repository, TDM installation of compatible version is required to run it. Official TDM releases are compatible with source code archives provided on the website, and also with corresponding release tags in SVN. A dev build is compatible with SVN trunk of revision YYYY, where YYYY is the second number in its version (as described above). If you only want to experiment with the latest trunk, using the latest dev build gives you the maximum chance of success. P.S. Needless to say, all of this comes with no support. Although we would be glad if you catch and report bugs before the next beta phase starts
- 2 replies
-
- 15
-
-
-
The body picking up on frob is a new 2.13 feature.
-
Hi folks, and thanks so much to the devs & mappers for such a great game. After playing a bunch over Christmas week after many years gap, I got curious about how it all went together, and decided to learn by picking a challenge - specifically, when I looked at scripting, I wondered how hard it would be to add library calls, for functionality that would never be in core, in a not-completely-hacky-way. Attached is an example of a few rough scripts - one which runs a pluggable webserver, one which logs anything you pick up to a webpage, one which does text-to-speech and has a Phi2 LLM chatbot ("Borland, the angry archery instructor"). The last is gimmicky, and takes 20-90s to generate responses on my i7 CPU while TDM runs, but if you really wanted something like this, you could host it and just do API calls from the process. The Piper text-to-speech is much more potentially useful IMO. Thanks to snatcher whose Forward Lantern and Smart Objects mods helped me pull example scripts together. I had a few other ideas in mind, like custom AI path-finding algorithms that could not be fitted into scripts, math/data algorithms, statistical models, or video generation/processing, etc. but really interested if anyone has ideas for use-cases. TL;DR: the upshot was a proof-of-concept, where PK4s can load new DLLs at runtime, scripts can call them within and across PK4 using "header files", and TDM scripting was patched with some syntax to support discovery and making matching calls, with proper script-compile-time checking. Why? Mostly curiosity, but also because I wanted to see what would happen if scripts could use text-to-speech and dynamically-defined sound shaders. I also could see that simply hard-coding it into a fork would not be very constructive or enlightening, so tried to pick a paradigm that fits (mostly) with what is there. In short, I added a Library idClass (that definitely needs work) that will instantiate a child Library for each PK4-defined external lib, each holding an eventCallbacks function table of callbacks defined in the .so file. This almost follows the idClass::ProcessEventArgsPtr flow normally. As such, the so/DLL extensions mostly behave as sys event calls in scripting. Critically, while I have tried to limit function reference jumps and var copies to almost the same count as the comparable sys event calls, this is not intended for performance critical code - more things like text-to-speech that use third-party libraries and are slow enough to need their own (OS) thread. Why Rust? While I have coded for many years, I am not a gamedev or modder, so I am learning as I go on the subject in general - my assumption was that this is not already a supported approach due to stability and security. It seems clear that you could mod TDM in C++ by loading a DLL alongside and reaching into the vtable, and pulling strings, or do something like https://github.com/dhewm/dhewm3-sdk/ . However, while you can certainly kill a game with a script, it seems harder to compile something that will do bad things with pointers or accidentally shove a gigabyte of data into a string, corrupt disks, run bitcoin miners, etc. and if you want to do this in a modular way to load a bunch of such mods then that doesn't seem so great. So, I thought "what provides a lot of flexibility, but some protection against subtle memory bugs", and decided that a very basic Rust SDK would make it easy to define a library extension as something like: #[therustymod_lib(daemon=true)] mod mod_web_browser { use crate::http::launch; async fn __run() { print!("Launching rocket...\n"); launch().await } fn init_mod_web_browser() -> bool { log::add_to_log("init".to_string(), MODULE_NAME.to_string()).is_ok() } fn register_module(name: *const c_char, author: *const c_char, tags: *const c_char, link: *const c_char, description: *const c_char) -> c_int { ... and then Rust macros can handle mapping return types to ReturnFloat(...) calls, etc. at compile-time rather than having to add layers of function call indirection. Ironically, I did not take it as far as building in the unsafe wrapping/unwrapping of C/C++ types via the macro, so the addon-writer person then has to do write unsafe calls to take *const c_char to string and v.v.. However, once that's done, the events can then call out to methods on a singleton and do actual work in safe Rust. While these functions correspond to dynamically-generated TDM events, I do not let the idClass get explicitly leaked to Rust to avoid overexposing the C++ side, so they are class methods in the vtable only to fool the compiler and not break Callback.cpp. For the examples in Rust, I was moving fast to do a PoC, so they are not idiomatic Rust and there is little error handling, but like a script, when it fails, it fails explicitly, rather than (normally) in subtle user-defined C++ buffer overflow ways. Having an always-running async executor (tokio) lets actual computation get shipped off fast to a real system thread, and the TDM event calls return immediately, with the caller able to poll for results by calling a second Rust TDM event from an idThread. As an example of a (synchronous) Rust call in a script: extern mod_web_browser { void init_mod_web_browser(); boolean do_log_to_web_browser(int module_num, string log_line); int register_module(string name, string author, string tags, string link, string description); void register_page(int module_num, bytes page); void update_status(int module_num, string status_data); } void mod_grab_log_init() { boolean grabbed_check = false; entity grabbed_entity = $null_entity; float web_module_id = mod_web_browser::register_module( "mod_grab_log", "philtweir based on snatcher's work", "Event,Grab", "https://github.com/philtweir/therustymod/", "Logs to web every time the player grabs something." ); On the verifiability point, both as there are transpiled TDM headers and to mandate source code checkability, the SDK is AGPL. What state is it in? The code goes from early-stage but kinda (hopefully) logical - e.g. what's in my TDM fork - through to basic, what's in the SDK - through to rough - what's in the first couple examples - through to hacky - what's in the fun stretch-goal example, with an AI chatbot talking on a dynamically-loaded sound shader. (see below) The important bit is the first, the TDM approach, but I did not see much point in refining it too far without feedback or a proper demonstration of what this could enable. Note that the TDM approach does not assume Rust, I wanted that as a baseline neutral thing - it passes out a short set of allowed callbacks according to a .h file, so language than can produce dynamically-linkable objects should be able to hook in. What functionality would be essential but is missing? support for anything other than Linux x86 (but I use TDM's dlsym wrappers so should not be a huge issue, if the type sizes, etc. match up) ability to conditionally call an external library function (the dependencies can be loaded out of order and used from any script, but now every referenced callback needs to be in place with matching signatures by the time the main load sequence finishes or it will complain) packaging a .so+DLL into the PK4, with verification of source and checksum tidying up the Rust SDK to be less brittle and (optionally) transparently manage pre-Rustified input/output types some way of semantic-versioning the headers and (easily) maintaining backwards compatibility in the external libraries right now, a dedicated .script file has to be written to define the interface for each .so/DLL - this could be dynamic via an autogenerated SDK callback to avoid mistakes maintaining any non-disposable state in the library seems like an inherently bad idea, but perhaps Rust-side Save/Restore hooks any way to pass entities from a script, although I'm skeptical that this is desirable at all One of the most obvious architectural issues is that I added a bytes type (for uncopied char* pointers) in the scripting to be useful - not for the script to interact with directly but so, for instance, a lib can pass back a Decl definition (for example) that can be held in a variable until the script calls a subsequent (sys) event call to parse it straight from memory. That breaks a bunch of assumptions about event arguments, I think, and likely save/restore. Keen for suggestions - making indexed entries in a global event arg pointer lookup table, say, that the script can safely pass about? Adding CreateNewDeclFromMemory to the exposed ABI instead? While I know that there is no network play at the moment, I also saw somebody had experimented and did not want to make that harder, so also conscious that would need thought about. One maybe interesting idea for a two-player stealth mode could be a player-capturable companion to take across the map, like a capture-the-AI-flag, and pluggable libs might help with adding statistical models for logic and behaviour more easily than scripts, so I can see ways dynamic libraries and multiplayer would be complementary if the technical friction could be resolved. Why am I telling anybody? I know this would not remotely be mergeable, and everyone has bigger priorities, but I did wonder if the general direction was sensible. Then I thought, "hey, maybe I can get feedback from the core team if this concept is even desirable and, if so, see how long that journey would be". And here I am. [EDITED: for some reason I said "speech-to-text" instead of "text-to-speech" everywhere the first time, although tbh I thought both would be interesting]
- 25 replies
-
- 3
-
-
I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
-
Story: "Sir Barrington, as he likes to be known, enjoys a prestigious reputation of having lavish yet intimate dinner parties. I've heard the tales about what goes on in the noble's dining room, but I believed none of them 'till now. Orbach, a local shop-keep who makes special deliveries to the people of 'high stature' heard Sir Henry Hughbellow raving about Sir Barrington's special 'Elixir', It cures your ails and gives you vigor... By the Hammer, it extends your very life! he exclaimed. Orbach begged Sir Henry for a small sample, and after one sip he was sure that the potion was nothing more than mineral water and spirit. He asked Sir Henry if other folks were as fond of the elixir as he was, and he found out that folks are paying handsomely for these small vials on a weekly basis. Some lords pay for exclusive treatments and bathe in the tonic. Lord Barrington even brings in an occult expert every month, where supposedly the power of the elixir is renewed by the full moon. Never one to pass up the opportunity for a good scam, Orbach has decided to take a cut of this 'elixir' business. He has made an elixir of his own, but needs to convince Sir Henry that it's really the same as the 'magical' tonic that Lord Barrington has been selling. And that's where I come in. Its rumered that Sir Barrington's prized possession is a painting of the revolutionary inventor 'Guillermo de Sohase' the day after he won the Battle of Billinsdune. If I can steal this painting, Orbach can use it to 'prove' that he also got the elixir from Sir Barrington. Once Sir Henry tells all his friends that Orbach's stolen elixir is healing his heart, soothing his pains, and igniting his libido, they'll be lining up at his shop. Its time to go." Build Time: Version 1.0 was speed build of sorts, to build upon Springheels video's with the new modules. Took roughly 20hrs to build but this ended up happening over the space of a few months.http://forums.thedarkmod.com/topic/18808-bikerdudes-speedish-build-using-the-new-modules/?hl=%2Bspeed+%2BbuildThanks: Co-auther: Obstortte for all his custom entities, scripting and showing me a thing or two about perfing.Resource: Springheel - new modulesReadables: nbhor1moreTesters: Bienie, Judith, Abusimplea, Cambridge Spy, Gerberox, MayheM, Amadeus, Goldwell, nbhor1more.Download: - mega Info: Repeat after me, "Read and explore, Read and explore"Known issues: This mission has been heavily tweaked and worked on to provide a playable experience for even low end machines.For very low end PC's please make use of the in-game LOD slider, as not only are details reduced, but the ambient_world fog is removed at the lowest setting.The medium difficulty is partially broken, the mission wont end when the player gets to the exit location. As this is the only issue with that difficulty level, I will fix this when I next update it to include the intro.
- 105 replies
-
- 20
-
-
Is there something wrong with the forums lately, or is it my browser? I've been having trouble formatting posts, and just now I couldn't format anything at all.
I'm using Vivaldi.
Usually I have to: select text, click bold, nothing happens, select again, click bold, then it works.
Same for other stuff, like creating spoilers, bullet points, links. Nothing works the first time.
-
I have no problem. I use Firefox. @Zerg Rush also uses Vivaldi. Have you tried without extensions, or in another browser?
(btw. bold, italic and underline have shortcut keys: Ctrl B, Ctrl I and Ctrl U, you could try that)
-
-
Here is an alternative way to simplify extinguishing candles and shouldering bodies. Player can double-press / double-click frob button to do a mixed frob + use action. The test build is available in tdm_installer as "test-frob-stgatilov". Attached the source code patch too: FrobUse_By_DoubleClick.patch The original TDM controls are left unchanged. The difference starts only when double-click is registered (which unfortunately can happen accidentally). Also, the double-click action always continues the single-click action. So when you grab a body/candle, the single-click action happens immediately: there is no need to delay it. The maximum time between double-clicks is controlled by cvar in_doubleClickDelay, default is 200 ms. In principle, you can set it to zero to return to the old behavior: then double-clicks won't be registered. Here is how it works internally. There is an utility class which tracks held buttons (which are called "impulses" --- Doom 3 has too few "buttons"). I have extended it to also register double-click. So whenever player clicks frob and this is registered as double-click, then: If there is nothing grabbed, then do ordinary "frob" to grab item (this allows to double-click on already grabbed item). If there is nothing grabbed now, then fall back to normal single-click frob (this happens for ungrabable stuff like doors). If there is something grabbed, then "use" it (that's the main part: it shoulders/extinguished/eats the thing). Unless we have a body shouldered, release currently grabbed item (we want to ungrab extinguished candle). And there is also a special case: If there is something equipped at the moment of double-click, the just "use" it instead of anything else (this allows to unshoulder body by double-click).
-
There are two ways to change frob controls proposed for TDM 2.12. Both approaches have test builds, which you can install in tdm_installer. Just set "Get custom version" on the first page, then choose either test-frob-daftmugi2 or test-frob-stgatilov there. The goal of this voting is to quantify current opinion about these ways. ATTENTION: Please vote only if you have installed and tried both test builds! Note also, that only one controls scheme will survive. Even if there is a switch in a test build, it will not be supported and will naturally die out. The approaches are also described and discussed in their threads: daftmugi approach (aka "hold-frob"): stgatilov approach (aka "double-click"):
-
Author note: It's hard to believe it's already been a year since Act 1 came out! Well during this mission the player will be following Corbin into the Grimwood district to followup on a lead from last night (Act 1) .. the mysterious tablet! This mission is my first time including full EFX support as well as a HD briefing video file, additionally a new script has been added crafted by the talented Obsttorte which has loot flying towards the player when you pick it up. On a level design front I have tried to change things up a bit by really catering towards a number of play styles, this mission can be completely ghosted or you can use the tools at your disposal to wreak havoc on the citizens of Northdale. For the first time I have tried to create more sandbox environments which don't offer clear answers handed directly to you, so if you're having trouble figuring something out try a different method. This mission takes between 1 - 2 hours to finish depending on the difficulty you play on and how thoroughly you explore. I hope you enjoy your night in Northdale! - Goldwell Voice actors Fen Phoenix Goldwell Random_taffer Yandros Beta testers Amadeus Boiler's Hiss Cambridge Spy Chakkman Crowind Epifire Kingsal SquadaFroinx Custom Assets Andreas Rocha DrK Epifire Grayman Kingsal MalachiAD Obsttorte Sotha Springheel SquadaFroinx Purgator With special thanks to Epifire for creating a large collection of custom models, Grayman for helping out with coding, Kingsal for drawing the ingame map and Moonbo for his script revision on the briefing video. Available via in-game downloader MIRROR File Size: 417 mb EDIT: If you are having performance issues please consult this post by Nbohr1more which may address your issue http://forums.thedarkmod.com/topic/19936-fan-mission-shadows-of-northdale-act-ii-by-goldwell-20190320/page-2?do=findComment&comment=436271
-
To clarify, I don't mean to suggest that the held frob mechanic would have to apply for the fast mechanics (slamming shut and throwing it open). That 300 ms would be awful to wait for while mid sprint. It would only be required that frob be held first while attack is pressed to throw a door open or slam it. Like the melee and parrying system, the mouse should only need to be already be moving in the intended direction while the frob and attack combo is pressed in order to slam in the player's intended direction. The non mouse option to could probably be a check of which movement key is being held? The player can still let go within a reasonable time to use the old fire-and-forget mechanic where the door continues opening while the player moves on to other things. I believe it pisses the fewest people off to add rather than replace. And that's why we would have to include non-mouse mechanics for everything that's possible just so that nobody feels left out.
-
The Dark Mod 2.13 has been released! A new era in accurate AI Vision! When id Software released the Doom 3 modding SDK, The Dark Mod team saw the potential for something more than a multi-player cops vs robbers game like Thievery UT. The sheer amount of access to essential game-play systems meant that a true Thief style experience could potentially be created. One of the first things the team did was to investigate how a light-gem system could be implemented. Having a good way for both the player and AI to know when the player is visible to others is a crucial part of the Thief experience so if we couldn’t build it then the dream of a Thief style experience was over. Fortunately, there were enough parts of the AI visual logic and more than a few stub pieces of the Render code that gave us the ability to build a robust system. The downside of the light-gem system was performance. Even though we did our best to limit the viewport and resolution of the light-gem image captures, often the light-gem would cut FPS in half ( or less ). This was pretty painful, especially since most computers could just barely run vanilla Doom 3 at acceptable FPS. After this system was fully functional, other aspects of AI vision were investigated. Obviously, we could not afford to run the light-gem render for every object or body the AI might see so it was decided that the AI would do a more simplified light-gem calculation for things other than the player. This meant that ( to the AI visual scan ) all light volumes would be either cubes or pyramids with perfect exponential falloff. We would run a line-of-sight check to the objects then ( if it hit ) calculate the pixel brightness by the location of the spot in relation to the center of the light(s). This was far cheaper than rendering the whole scene but heavily impacted accuracy. Many solutions were proposed to improve things but a solution evaded us for years. 2.13 changes things! Now we have a "stochastic sampler" model that does regular measurements of the actual light volume pixels and builds a "running average" of how illuminated different entities are. The days of seeing knocked-out AI in the middle of a bright spotlight get ignored are over. Now all AI and loot entities (etc) essentially have their own light-gem and it performs excellently! Magnificent Mission Management! Daft Mugi has drastically improved the GUI menus for mission management. The Dark Mod mission list and in-game downloader now have a search filter window that follows modern conventions of reducing the listed items as each new letter eliminates a possible matching mission name. Both lists can be sorted by actual name ( The Rats Triumphant ) or Chicago Style ( Rats Triumphant, The ). Additional mission details ( readme data ) can now be scrolled so players can see more information about the mission without having to navigate to the darkmod/fms folders. The menus have also been tuned with smaller font sizes for more practical mission listing and have been hardened against buggy order of operations issues so that you will be far less likely to encounter strange issues or crashes when downloading and installing missions. Parallax Occlusion Mapping! Stgatilov has added the oft requested POM feature to the latest Dark Mod release! WellingtonCrab has coordinated with him to provide examples and check the functionality and quality. Now The Dark Mod is ready to offer a quantum leap in perceived geometric detail with all sorts of surfaces realistically showing 3D parallax rather than the flatter looking normal maps we usually offer. WellingtonCrab also created many texture variants that are tuned to look better with POM enabled. Other Graphics Goodies! Now cubemaps \ environment maps respect more stage keywords. This means that faked reflections on water shaders can now move in relation to the water texture movement offering a more convincing illusion! Subviews ( cameras, portals, mirrors, xray, etc ) can now be nested. You can now have a skybox render in a camera view, etc. Volumetric lights and particles now render in mirrors! Alpha-tested surfaces get alpha shadows in Shadow Maps mode. Tone-mapping now supports range compression to prevent unwanted overbright areas. Arcturus has introduced some new metal materials that use improved cubemaps as well as skyboxes with clouds that use POM! Stability and Performance! The console variable system ( CVAR ) has been improved to be thread safe. This should resolve some rare crashes that involve weapon scripts that rely on CVAR values. We now automatically detect the number of CPU cores and allocate Jobs based on the detected specifications. Level loading has been given more parallel execution optimizations including optimizations for loading audio samples in parallel. Uncapped FPS is enabled by default so Linux players will not have a poor first time experience and many audio and video playback timing bugs that occur only in classic capped mode are avoided. Finally, Linux vsync support has been greatly improved. Improved Training Mission! The Training Mission is supposed to help players understand the basics of Dark Mod game-play and controls. It was created to coincide with The Dark Mod v1.0 and was not significantly altered until TDM v1.08 ( when Bikerdude did some texture replacement for 2.0 standalone and improved the overall visuals ). As such, many new game-play features that were added since 1.0 were never included in the mission. Now the mission has been upgraded to include more game-play features such as the Vine Arrow as well as getting further visual upgrades and EFX Reverb! Drunken AI! Now that the AI have better visual accuracy, Amadeus decided to balance things out by fixing many of the broken behaviors of Drunken AI so that they are more reliable and consistent for use in missions by default ( no need to extensively customize the defs or use scripting to improve them ). Potions! Dragofer and Amadeus have completed the work on the Slowfall potion originally prototyped by VanishedOne. They also incorporated the invisibility potion by Kingsal ! These now have pre-defined slots in the gameplay menu as well as the default shop menu design. Assets Galore! Along with new POM textures, we now have: A new modular pipe set A new Lampion entity Some new Factory Machine entities Ornate wood and stone relief textures A new AI praying animation A new AI smoking animation And many fixes or improvements to existing assets EFX Reverb Location Preset! Frost_Salamander took some time away from his continued work on the excellent “The Lieutenant” series missions to make EFX reverb setup easier for himself and other mission authors. You can now add EFX preset spawnargs to location entities rather than having to use the EFX def file. Translation Packs! Between TDM 1.06 and 2.0 Tels and the translating community started translating many missions but these translations required that the original mission be altered in a way that made it harder for the mission authors to revise. That meant that translation packs were in limbo being hosted by 3rd party sites \ forums along with their orphaned old missions. The translators over at the Darkfate forums came up with an solution by including not only the translation strings in the translation pack but also the altered map files, GUI defs, etc that had translation work done to them. This would leave the original mission untouched but allow translation packs to override some parts. We have gone through the old archives of these translations and have reworked them to work with the latest version of TDM (and the associated missions). Most of the translations are Russian ( due to the continued work of the Darkfate people ) but many of the early TDM missions also have German, Italian, French, etc translations too. Also Nolok contributed a brand new Catalan menu translation! Subtitles! Datiswous has been creating story subtitles for many of the existing missions in the TDM mission database. Most authors have incorporated these into their official releases, otherwise players can still add them to the FM folder. A detailed list of changes can be seen here: https://wiki.thedarkmod.com/index.php?title=What's_new_in_TDM_2.13 To UPDATE, simply run the tdm_installer.exe file in your darkmod folder. Note that tdm_update.exe is no longer supported, but you can download the new installer from the Downloads page if you don’t have it yet. Please be aware that old saved games will not be compatible with 2.13, so finish any missions you might be in the middle of first! Also, some missions created prior to 2.13 may need to be updated so they will be playable in 2.13. Before upgrading, set TDM to use one of the built-in missions ( Training Mission, A New Job, Tears of St Lucia ) then use the in-game mission downloader to check for updates
-
- 33
-
-
-
Here's an interesting question. If you apply a clip texture, like monsterclip, to a non-brush entity, does it/should it act like a clip in-game? Certainly, DR filtering treats it as just like any other clip object. This arose in the context of thinking about atdm:target_set_frobable, and whether mappers will need to deploy it "defensively" and more widely if the new 2.10-dev frob highlight default is not changed. There is no special texture for a target_set_frobable, and a clip texture is traditionally used. In the wiki "Containers, Chests, etc.", Fidcal said: Giving target_set_frobable a standard clip texture if its not actually performing that clip function (which I don't know) is misleading. Maybe NoDraw would be a better choice? Of maybe it could benefit from its own custom texture, with text, say "Frob Control"?
-
I think it's time to replace the frob material stages with a shader (probably add a param to the existing ambient shader) There is more than one angle to this issue but I am mainly concerned about too many stages in materials that are somewhat taxing in terms of performance. Imagine rendering of 3K surfaces interacting with 3 lights in average and using materials with 7 stages in average. The renderer loops through every stage for every surface making it ~ 20K checks per loop. It has to happen during the depth stage, then each light and then the ambient pass resulting in 100K checks. It makes sense to try to reduce this load, especially considering that the frob stage is relatively rarely invoked and the checks happen on the backend making it hard to parallelize the computation. I am thinking adding a top-level material keyword that would apply as frob color and get passed to the ambient shader when the surface is a part of a frobable entity. I would like to hear your thoughts from the mapper/designer POV.
-
Fm Down by the Riverside crash to desktop
covert_caedes replied to datiswous's topic in TDM Tech Support
By the way, if the "Frontend Acceleration" setting in the advanced video menu is supposed to disable running the Frontend in a thread, then that setting is broken. However, setting com_smp 0 in the console works and after restarting I can frob the picture without a crash, but the following messages are printed: -
The "external argument about exact duration" is not removed with double click. There is a setting in OS preferences for setting double-click speed, is there not? The challenge of setting the exact duration is the same for both long-press and double-click frob. Therefore, the confusion is not removed with double click. I tuned the long-press frob to be somewhere between "unintentional long-press frob" and "it being too sluggish." Early player feedback guided the current default value of 200ms -- it was originally 300ms. During more play testing, if players are having trouble, the default can be increased and tested. We need to follow the data from actual play testing. The player can adjust the tdm_frobhold_delay cvar to their liking as well. It's more likely that a player will hold frob while moving an item, because for most items, nothing different or bad happens. It's less likely that a player will unintentionally double-click frob an item during pick up, because they know that would cause them to drop it. Therefore, players are more likely to discover long-press frob to extinguish than double-click frob to extinguish, which is a good thing. We want the player to discover it (if they didn't read the manual or play the tutorial mission). Also, long-press frob is used in other games, such as Fallout 4. Getting double-click frob to extinguish to work well along with drop item would be troublesome, because there would always be a double-click delay before a single-click drop initiates. Long-press frob does not have a drop issue, because the player can long-press frob until they see the candle extinguish or quick-press frob to instantly drop it. To be clear, long-press frob also "does not change existing controls, only adds new meaning for" a longer frob press. This long-press frob proposal has already been play tested and agreed to be a good control scheme by several players. Double-click frob would need new code written, would need to be play tested, and would need to be fine tuned based on player feedback. Another rewrite of the code would be a distraction and may not bring us closer to the goal of "providing a better experience for new players as well as longtime players," especially since one has already been found and proven: long-press frob. For longtime players who are not satisfied with this new control scheme, "tdm_frobhold_delay 0" restores TDM 2.11 behavior. After 7 months of player research, code experiments, early player feedback, adjustments, rewriting code, and more player feedback, I believe long-press frob is good enough, given all of the compromises, imperfections, and its iterative design. It solves the problems stated in the proposal on the first page, and its design goals are met.