Search the Community
Searched results for '/tags/forums/folder paths' or tags 'forums/folder pathsq=/tags/forums/folder paths&'.
-
Hello, everyone! In this multi-part, comprehensive tutorial I will introduce you to a new light type that has been available in The Dark Mod since version 2.06, what it does, why you would want to use it and how to implement it in your Fan Missions. This tutorial is aimed at the intermediate mapper. Explanations of how to use DarkRadiant, write material files, etc. are outside of its scope. I will, however, aim to be thorough and explain the relevant concepts comprehensively. Let us begin by delineating the sections of the tutorial: Part 1 will walk you through four, distinct ways to add ambient light to a scene, the last way using irradiance environment maps (or IEMs). Lighting a scene with an IEM is considered image-based lighting. Explaining this concept is not in the scope of this tutorial; rather, we will compare and contrast our currently available methods with this new one. If you already understand the benefits IBL confers, you may consider this introductory section superfluous. Part 2 will review the current state of cubemap lights in TDM, brief you on capturing an environment cubemap inside TDM and note limitations you may run into. Three cubemap filtering applications will be introduced and reviewed. Part 3 will go into further detail of the types of inputs and outputs required by each program and give a walkthrough of the simplest way to get an irradiance map working in-game. Part 4 will guide you through two additional, different workflows of how to convert your cubemap to an irradiance map and unstitch it back to the six separate image files that the engine needs. Part 5 will conclude the tutorial with some considerations as to the scalability of the methods hitherto explained and will enumerate some good practices in creating IEMs. Typical scenes will be considered. Essential links and resources will be posted here and a succinct list of the steps and tools needed for each workflow will be summarized, for quick reference. Without further ado, let us begin. Part 1 Imagine the scene. You’ve just made a great environment for your map, you’ve got your geometry exactly how you want it… but there’s a problem. Nobody can appreciate your efforts if they can’t see anything! [Fig. 1] This will be the test scene for the rest of our tutorial — I would tell you to “get acquainted with it” but it’s rather hard to, at the moment. The Dark Mod is a game where the interplay between light and shadow is of great importance. Placing lights is designing gameplay. In this example scene, a corridor with two windows, I have decided to place 3 lights for the player to stealth his way around. Two lights from the windows streak down across the floor and a third, placeholder light for a fixture later to be added, is shining behind me, at one end of the corridor. Strictly speaking, this is sufficient for gameplay in my case. It is plainly obvious, however, that the scene looks bad, incomplete. “Gameplay” lights aside, the rest of the environment is pitch black. This is undesirable for two reasons. It looks wrong. In real life, lights bounce off surfaces and diffuse in all directions. This diffused, omni-directional lighting is called ambient lighting and its emitment can be termed irradiance. You may contrast this with directional lighting radiating from a point, which is called point lighting and its emitment — radiance. One can argue that ambient lighting sells the realism of a scene. Be that as it may, suppose we disregard scary, real-life optics and set concerns of “realism” aside… It’s bad gameplay. Being in darkness is a positive for the player avatar, but looking at darkness is a negative for the player, themselves. They need to differentiate obstacles and objects in the environment to move their avatar. Our current light level makes the scene illegible. The eye strain involved in reading the environment in these light conditions may well give your player a headache, figurative and literal, and greatly distract them from enjoying your level. This tutorial assumes you use DarkRadiant or are at least aware of idtech4’s light types. From my earlier explanation, you can see the parallels between the real life point/ambient light dichotomy and the aptly named “point” and “ambient” light types that you can use in the editor. For further review, you can consult our wiki. Seeing as how there is a danger in confusing the terms here, I will hereafter refer to real life ambient light as “irradiant light”, to differentiate it from the TDM ambient lights, which are our engine’s practical implementation of the optical phenomenon. A similar distinction between “radiant light” and point lights will be made for the same reason. Back to our problem. Knowing, now, that most all your scenes should have irradiant light in addition to radiant light, let’s try (and fail, instructionally) to fix up our gloomy corridor. [Fig. 2] The easiest and ugliest solution: ambient lights. Atdm:ambient_world is a game entity that is basically an ambient light with no falloff, modifiable by the location system. One of the first things we all do when starting a new map is putting an ambient_world in it. In the above image, the darkness problem is solved by raising the ambient light level using ambient_world (or via an info_location entity). Practically every Dark Mod mission solves its darkness problem1 like this. Entirely relying on the global ambient light, however, is far from ideal and I argue that it solves neither of our two, aforementioned problems. Ambient_world provides irradiant light and you may further modulate its color and brightness per location. However, said color and brightness are constant across the entire scene. This is neither realistic, nor does it reduce eye strain. It only makes the scene marginally more legible. Let’s abandon this uniform lighting approach and try a different solution that’s more scene-specific. [Fig. 3] Non-uniform, but has unintended consequences. Our global ambient now down to a negligible level, the next logical approach would be hand-placed ambient lights with falloff, like ambient_biground. Two are placed here, supplementing our window point lights. Combining ambient and point lights may not be standard TDM practice, but multiple idtech4 tutorials extol the virtues of this method. I, myself, have used it in King of Diamonds. For instance, in the Parkins residence, the red room with the fireplace has ambient lights coupled to both the electric light and the fire flame. They color the shadows and enrich the scene, and they get toggled alongside their parent (point) lights, whenever they change state (extinguished/relit). This is markedly better than before, but to be honest anything is, and you may notice some unintended side-effects. The AI I’ve placed in the middle of the ambient light’s volume gets omnidirectionally illuminated far more than any of the walls, by virtue of how light projection in the engine works. Moving the ambient lights’ centers closer to the windows would alleviate this, but would introduce another issue — the wall would get lit on the other side as well. Ambient lights don’t cast shadows, meaning they go through walls. You could solve this by creating custom ambient light projection textures, but at this point we are three ad hocs in and this is getting needlessly complicated. I concede that this method has limited use cases but illuminating big spaces that AI can move through, like our corridor, isn’t one of them. Let’s move on. [Fig. 4] More directional, but looks off. I have personally been using this method in my WIP maps a lot. For development (vs. release), I even recommend it. A point light instead of an ambient light is used here. The texture is either “biground1” or “defaultpointlight” (the latter here). The light does not cast shadows, and its light origin is set at one side of the corridor, illuminating it at an angle. This solves the problem of omnidirectional illumination for props or AI in the middle of the light volume, you can now see that the AI is lit from the back rather than from all sides. In addition, the point light provides that which the ambient one cannot, namely specular and normal interaction, two very important features that help our players read the environment better. This is about as good as you can get but there are still some niggling problems. The scene still looks too monochromatic and dark. From experience, I can tell you that this method looks good in certain scenes, but this is clearly not one of them. Sure, we can use two, non-shadowcasting point lights instead of one, aligned to our windows like in the previous example, we can even artfully combine local and global ambient lights to furnish the scene further, but by this point we will have multiple light entities placed, which is unwieldy to work with and possibly detrimental to performance. Another problem is that a point light’s movable light origin helps combat ambient omnidirectionality, but its projection texture still illuminates things the strongest in the middle of its volume. I have made multiple experiments with editing the Z-projection falloff texture of these lights and the results have all left me unsatisfied. It just does not look right. A final, more intellectual criticism against this method is that this does not, in a technical sense, supply irradiant light. Nothing here is diffuse, this is just radiant light pretending the best it can. [Fig. 5] The irradiance map method provides the best looking solution to imbuing your scene with an ambient glow. This is the corridor lit with irradiance map lights, a new lighting method introduced in The Dark Mod 2.06. Note the subtle gradients on the left wall and the bounced, orange light on the right column. Note the agreeable light on the AI. Comparing the previous methods and this, it is plainly obvious that an irradiance environment map looks the most realistic and defines the environment far better than any of the other solutions. Why exactly does this image look better than the others? You can inform yourself on image-based lighting and the nature of diffuse irradiance, but images speak louder than words. As you can see, the fact of the matter is that the effect, subtle as it may be, substantially improves the realism of the scene, at least compared to the methods previously available to us. Procuring irradiance environment maps for use in lighting your level will hereafter be the chief subject of this tutorial. The next part will review environment cubemap capture in TDM, the makeIrradiance keyword and three external applications that you can use to convert a TDM cubemap into an irradiance map. 1 “ Note that the color buffer is cleared to black: Doom3 world is naturally pitch black since there is no "ambient" light: In order to be visible a surface/polygon must interact. with a light. This explains why Doom3 was so dark ! “ [source] Part 2 Cubemaps are not new to The Dark Mod. The skybox materials in some of our prefabs are cubemaps, some glass and polished tile materials use cubemaps to fake reflections for cheap. Cubemap lights, however, are comparatively new. The wiki page linked earlier describes these two, new light types that were added in TDM 2.05. cubicLight is a shadow-casting light with true spherical falloff. An example of such a light can be found in the core files, “lights/cubic/tdm_lampshade_cubic”. ambientCubicLight is the light type we will be focusing on. Prior to TDM 2.06, it acted as a movable, on-demand reflection dispenser, making surfaces in its radius reflect a pre-set cubemap, much like glass. After 2.06, the old behavior was discarded and ambientCubicLight was converted to accept industry standard irradiance environment maps. Irradiance environment maps (IEMs) are what we want to make, so perhaps the first thing to make clear is that they aren’t really “handmade”. An IEM is the output of a filtering process (convolution) which requires an input in the form of a regular environment cubemap. In other words, if we want to make an IEM, we need a regular cubemap, ideally one depicting our environment — in this case, the corridor. I say a snapshot of the environment is ideal for lighting it because this emulates how irradiant light in the real world works. All radiating surfaces are recorded in our cubemap, our ambient optic array as it were, then blurred, or convoluted, to approximate light scatter and diffusion, then the in-game light “shines” this approximation of irradiant light back to the surfaces. There is a bit of a “chicken and the egg” situation here, if your scene is dark to begin with, wouldn’t you just get a dark irradiance map and accomplish nothing? In the captured cubemap faces in Fig. 6, you may notice that the environment looks different than what I’ve shown so far. I used two ambient lights to brighten up the windows for a better final irradiance result. I’ve “primed the pump”, so to speak. You can ignore this conundrum for the moment, ways to set up your scenes for better results, or priming the pump correctly, will be discussed at the end of the tutorial. Capturing the Environment The wiki has a tutorial on capturing cubemaps by angua, but it is woefully out of date. Let me run you through the process for 2.07 really briefly. To start with, I fly to approx. the center of the corridor with noclip. I then type “envshot t 256” in the console. This outputs six .tga images in the <root>/env folder, simply named “t”, sized 256x256 px and constituting the six sides of a cube and depicting the entire environment. This is how they look in the folder: [Fig. 6] The six cube faces in the folder. Of note here is that I do not need to switch to a 640x480 resolution, neither do I need to rename these files, they can already be used in an ambientCubicLight. Setting Up the Lights For brevity’s sake, I’ll skip explaining material definitions, if you’ve ever added a custom texture to your map, you know how to do this. Suffice it to say, it is much the same with custom lights. In your <root>/materials/my_cool_cubemaps.mtr file, you should have something like this: lights/ambientcube/my_test_IEM_light { ambientCubicLight { forceHighQuality //cameraCubeMap makeIrradiance(env/t) cameraCubeMap env/t colored zeroClamp } } We’ll play with the commented out line in just a bit. Firstly, let’s place the actual light in DarkRadiant. It’s as simple as creating a new light or two and setting them up in much the same way you would a regular ambient light. I select the appropriate light texture from the list, “my_test_IEM_light” in the “ambientcube” subfolder and I leave the light colored pure white. [Fig. 7] The corridor in DR, top view, with the ambient cubic lights highlighted. I can place one that fills the volume or two that stagger the effect somewhat. Remember that these lights still have a spherical falloff. Preference and experimentation will prove what looks best to you. Please note that what the material we defined does is load a cubemap while we established that ambientCubicLights only work with irradiance maps. Let’s see if this causes any problems in-game. I save the map and run it in game to see the results. If I already have TDM running, I type “reloadDecls” in the console to reload my material files and “reloadImages” to reload the .tga images in the /env folder. [Fig. 8] Well this looks completely wrong, big surprise. Wouldn’t you know it, putting a cubemap in the place of an irradiance map doesn’t quite work. Everything in the scene, especially the AI, looks to be bathed in slick oil. Even if a material doesn’t have a specular map, it won’t matter, the ambientCubicLight will produce specular reflections like this. Let’s compare how our cubemap .tga files compares with the IEM .tgas we’ll have by the end of the tutorial: [Fig. 9] t_back.tga is the back face of the environment cubemap, tIEM_back.tga is the back face of the irradiance map derived from it. As you can see, the IEM image looks very different. If I were to use “env/tIEM” instead of “env/t” in the material definition above, I would get the proper result, as seen in the last screenshot of part 1. So it is that we need a properly filtered IEM for our lights to work correctly. Speaking of that mtr def though, let’s not invoke an irradiance map we haven’t learned to convert yet. Let’s try an automatic, in-engine way to convert cubemaps to IEMs, namely the makeIrradiance material keyword. makeIrradiance and Its Limitations Let’s uncomment the sixth line in that definition and comment out the seventh. cameraCubeMap makeIrradiance(env/t) //cameraCubeMap env/t Here is a picture of how a cubemap ran through the makeIrradiance keyword looks like: [Fig. 10] Say ‘Hi’ to our friend in the back, the normalmap test cylinder. It’s a custom texture I’ve made to demonstrate cubemap interactions in a clean way. Hey now, this looks pretty nice! The scene is a bit greener than before, but you may even argue it looks more pleasing to the eyes. Unfortunately, the devil is in the details. Let’s compare the makeIrradiance keyword’s output with the custom made irradiance map setup seen at the end of part 1. [Fig. 11, 12] A closer look at the brick texture reveals that the undesired specular highlighting is still present. The normal map test cylinder confirms that the reason for this is the noisy output of the makeIrradiance keyword. The in-engine conversion is algorithmic, more specifically, it doesn't allow us to directly compare .tga files like we did above. Were we able to, however, I'm sure the makeIrradiance IEM would look grainy and rough compared to the smooth gradient of the IEM you’ll have by the end of this tutorial. The makeIrradiance keyword is good for quick testing but it won’t allow you fine control over your irradiance map. If we want the light to look proper, we need a dedicated cubemap filtering software. A Review of Cubemap Filtering Software Here I’ll introduce three programs you can produce an irradiance map with. In the coming parts, I will present you with a guide for working with each one of them. I should also note that installing all of these is trivial, so I’ll skip that instructional step when describing their workflows. I will not relay you any ad copy, as you can already read it on these programs’ websites. I’ll just list the advantages and disadvantages that concern us. Lys https://www.knaldtech.com/lys/ Advantages: Good UI, rich image manipulation options, working radiance/specular map filtering with multiple convolution algorithms. Disadvantages: $50 price tag, limited import/export options, only available on Windows 64-bit systems. cmftStudio https://github.com/dariomanesku/cmftStudio Advantages: Available on Windows, OSX and Linux, free, open source software, command line interface available. Disadvantages: Somewhat confusing UI, limited import options, missing features (radiance/specular map filtering is broken, fullscreen doesn’t work), 32-bit binaries need to be built from source (I will provide a 32-bit Windows executable at the end of the tutorial). Modified CubeMapGen https://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ Advantages: Free software, quickest to work with (clarified later). Disadvantages: Bad UI, only Windows binaries available, subpar IEM export due to bad image adjustment options. Let’s take a break at this point and come back to these programs in part 3. A lot of caveats need to be expounded on as to which of these three is the “best” software for making an irradiance map for our purposes. Neither of these programs has a discreet workflow; rather, the workflow will include or exclude certain additional programs and steps depending on which app you choose to work with. It will dovetail and be similar in all cases. Part 3 The aim of this tutorial is twofold. First, it aims to provide the most hands-free and time-efficient method of converting an envshot, environment cubemap to an IEM and getting it working in-game. The second is using as few applications as possible and keeping them all free software that is available for download, much like TDM itself. The tutorial was originally going to only cover IEM production through Lys, as that was the app I used to test the whole process with. I soon realized that it would be inconsiderate of me to suggest you buy a fifty dollar product for a single step in a process that adds comparatively little to the value of a FM, if we’re being honest (if you asked me, the community would benefit far more from a level design tutorial than a technical one like this, but hey, maybe later, I’m filling a niche right now that nobody else has filled). This led me to seek out open-source alternatives to Lys, such as Cubemapgen, which I knew of and cmftStudio, which I did not. I will preempt my own explanations and tell you right away that, in my opinion, cmftStudio is the program you should use for IEM creation. This comes with one big caveat, however, which I’m about to get into. Six Faces on a Cross and The Photoshop Problem Let’s review. Taking an envshot in-game gives you six separate images that are game-ready. Meaning, you get six, split cubemap faces as an output, you need six, split irradiance map faces as an input. This is a problem, because neither Lys nor cmftStudio accept a sequence of images as such. They need to be stitched together in a cube cross, a single image of the unwrapped cube, like this: [Fig. 13] From Lys. Our cubemap has been stitched into a cross and the “Debug Cube Map Face Position” option has been checked, showing the orientations of each face. In Lys only panoramas, sphere maps and cube maps can be loaded into the program. The first two do not concern us, the third specifically refers to a single image file. Therefore, to import a TDM envshot into Lys you need to stitch your cubemap into a cross. Furthermore, Lys’ export also outputs a cubemap cross, therefore you also need to unstitch the cubemap into its faces afterwards if you want to use it in TDM. In cmftStudio you can import single map faces! Well… no, you can’t. The readme on GitHub boasts “Input and output types: cubemap, cube cross, latlong, face list, horizontal and vertical strip.” but this is false. The UI will not allow you to select multiple files on import, rendering the “face list” input type impossible.2 Therefore, to import a TDM envshot into cmftStudio you need to stitch your cubemap into a cross. Fortunately, the “face list” export type does work! Therefore, you don’t need to unstitch the cubemap manually, cmftStudio will export individual faces for you. In both of these cases, then, you need a cubemap cross. For this tutorial I will use Adobe Photoshop, a commercial piece of software, to stitch our faces into a cubemap in an automated fashion (using Photoshop’s Actions). This is the big caveat to using cmftStudio, even if you do not want to buy Lys, PS is still a prerequisite for working with both programs. There are, of course, open source alternatives to Photoshop, such as GIMP, but it is specifically Photoshop’s Action functionality that will power these workflows. GIMP has its own Actions in the form of Macros, but they are written with python. GIMP is not a software suite that I use, neither is python a language I am proficient with. Out of deference for those who don’t have, or like working with, Photoshop, I will later go through the steps I take inside the image editor in some detail, in order for the studious reader to reconstruct them, if they so desire, in their image editing software of choice. At any rate, and at the risk of sounding a little presumptuous, I take it that, as creative types, most of you already have Photoshop on your computers. 2 An asterisk regarding the “impossibility” of this. cmftStudio is a GUI for cmft, a command line interface that does the same stuff but inside a command prompt. I need to stress that I am certain multiple faces can be inputted in the command line, but messing with unwieldy prompts or writing batch files is neither time-saving nor user-friendly. This tutorial is aimed at the average mapper, but a coder might find the versatility offered in cmft interesting. The Cubemapgen Workflow You will have noticed that I purposefully omitted Cubemapgen from the previous discussion. This is because working with Cubemapgen, wonderfully, does not need Photoshop to be involved! Cubemapgen both accepts individual cubemap faces as input and exports individual irradiance map faces as output. Why, then, did I even waste your time with all the talk of Lys, cmftStudio and Photoshop? Well, woefully, Cubemapgen’s irradiance maps look poor at worst and inconsistent at best. Comparing IEMs exported from Lys and cmftStudio, you will see that both look practically the same, which is good! An IEM exported from Cubemapgen, by default, is far too desaturated and the confusing UI does not help in bringing it to parity with the other two programs. If you work solely with Cubemapgen, you won’t even know what ‘parity’ is, since you won’t have a standard to compare to. [Fig. 14] A comparison between the same irradiance map face, exported with the different apps at their respective, default settings. Brightened and enlarged for legibility. This may not bother you and I concede that it is a small price to pay for those not interested in working with Photoshop. The Cubemapgen workflow is so easy to describe that I will in fact do just that, now. After I do so, however, I will argue that it flies in the face of one of the aims of this tutorial, namely: efficiency. Step 1: Load the cubemap faces into Cubemapgen. Returning to specifics, you will remember that we have, at the moment, six .tga cubemap faces in a folder that we want to convert to six irradiance map faces. With Cubemapgen open, direct your attention to these buttons: [Fig. 15] You can load a cubemap face by pressing the corresponding button or using the hotkey ‘F’. To ensure the image faces the correct way, you must load it in the corresponding “slot”, from the Select Cubemap Face dropdown menu above, or by pressing the 1-6 number keys on your keyboard. Here is a helpful list: X+ Face <1> corresponds to *_right X- Face <2> corresponds to *_left Y+ Face <3> corresponds to *_up Y- Face <4> corresponds to *_down Z+ Face <5> corresponds to *_forward Z- Face <6> corresponds to *_back ...with the asterisk representing the name of your cubemap. With enough practice, you can get quite proficient in loading cubemap faces using keyboard shortcuts. Note that the ‘Skybox’ option in the blue panel is checked, I recommend you use it. Step 2: Generate the Irradiance Map [Fig. 16] The corridor environment cubemap loaded in and filtered to an irradiance map. The options on the right are my attempt to get the IEM to look right, though they are by no means prescriptive. Generating an IEM with Modified CubeMapGen 1.66 is as easy as checking the ‘Irradiance cubemap’ checkbox and hitting ‘Filter Cubemap’ in the red panel. There are numerous other options there, but most will have no effect with the checkbox on. For more information, consult the Sébastien Lagarde blog post that you got the app from. I leave it to you to experiment with the input and output gamma sliders, you really have no set standard on how your irradiance map is supposed to look, so unfortunately you’ll have to eyeball it and rely on trial and error. Two things are important to note. The ‘Output Cube Size’ box in the red panel is the resolution that you want your IEM to export to. In the yellow panel, make sure you set the output as RGB rather than RGBA! We don’t need alpha channels in our images. Step 3: Export Irradiance Map Faces Back in the green panel, click the ‘Save CubeMap to Images’ button. Save the images as .tga with a descriptive name. [Fig. 17] The exported irradiance map faces in the folder. These files still need to be renamed with appropriate suffixes in order to constitute a readable cubemap for the engine. The nomenclature is the same as the table above: “c00” is the X+ Face, to be renamed “right”, “c01” is the X- Face and so on. Right left, up down, forward and back. That’s the order! This is all there is to this workflow. A “cameraCubeMap env/testshot” in the light material will give us a result that will look, at the very least, better than the inbuilt makeIrradiance material keyword. [Fig. 17] The map ended up being a little bright. Feel free to open Fig. 4 and this in seperate tabs and compare the Lys/cmft export with the cubemapgen one. A Review of the Workflow Time for the promised criticism to this workflow. I already stated my distaste for the lack of a standardised set of filtering values with this method. The lack of any kind of preset system for saving the values you like makes working with Cubemapgen even more slipshod. Additionally, in part 2, I said that Cubemapgen is the fastest to work with, but this needs to be qualified. What we just did was convert one cubemap to an irradiance map, but a typical game level ought to use more than a single IEM. Premeditation and capturing fake, “generic” environment cubemaps (e.g. setting up a “blue light on the right, orange on the left” room or a “bright skylight above, brown floor” room, then capturing them with envshot) might allow for some judicious reuse and keep your distinct IEM light definition count down to single digits, but you can only go so far with that. I am not arguing here for an ambient cubic light in every scene either, certainly only those that you deem need the extra attention, or those for which the regular lighting methods enumerated in Part 1 do not quite work. I do tentatively assume, though, that for an average level you would use between one and two dozen distinct IEMs. Keep in mind that commercial games, with their automated probe systems for capturing environment shots, use many, many more than that. With about 20 cubemaps to be converted and 6 faces each to load into Cubemapgen, you’ll be going through the same motions 120 whole times (saving and renaming not included). If you decide to do this in one sitting (and you should, as Cubemapgen, to reiterate, does not keep settings between sessions), you are in for a very tedious process that, while effective, is not very efficient. The simple fact is that loading six things one by one is just slower than loading a single thing once! The “single thing” I’m referring to is, of course, the single, stitched cubemap cross texture. In the next part, I will go into detail regarding how to make a cubemap cross in Photoshop in preparation for cmftStudio and Lys. It will initially seem a far more time-consuming process to you than the Cubemapgen workflow, but through the magic of automation and the Actions feature, you will be able to accomplish the cubemap stitch process in as little as a drag-and-drop into PS and a single click. The best thing is that after we go through the steps, you won’t have to recreate them yourself, as I will provide you with a custom Actions .atn file and save you the effort. I advise you not to skip the explanations, however. The keen-eyed among you may have noticed that you can also load a cube cross in Cubemapgen. If you want to use both Cubemapgen and Photoshop together to automate your Cubemapgen workflow, be aware that Cubemap gen takes crosses that have a different orientation than the ones Lys and cmftStudio use. My macros (actions) are designed for the latter, so if you want to adjust them for Cubemapgen you would do well to study my steps and modify them appropriately. For the moment, you’ve been given the barebones essentials needed to capture an envshot, convert it to an irradiance map and put it in your level at an appropriate location, all without needing a single piece of proprietary software. You can stop here and start cranking out irradiance maps to your heart’s content, but if you’re in the mood for some more serious automation, consider the next section.
-
============== -= IRIS =- ============== WELLINGTONCRAB TDM v 2.11 REQ Ver. 1.3 *For Maureen* -=- "Carry the light of the Builder, Brother. Unto its end." -Valediction of the Devoted "What year is this? Am I dreaming?" -Plea of the Thief Dear Iris, I am old and broken. When we were young it felt like the words came easily. Now I find the ink has long dried on the pen and I'm as wanting for words as coin in my purse. I can tell we are nearing the end of the tale; time enough for one more job before the curtain call... ============== -Installation- Requires minimum version of TDM 2.13 -Iris does not support mods or the Unofficial Patch- Download and place the following .pk4 into you FMs directory: Iris Download ============== Russian Language Translations by @kalinovka Mirror #1: yandex.ru Mirror #2: Google Drive ============== *Thank you for playing. Iris is a large mission which can either take as quickly or as long as you are compelled to play. I hope someone out there enjoys it and this initial release is not completely busted - I tried the best I could!* *Iris both is and isn't what it seems. If commenting please use spoiler tags where appropriate. If you are not certain if it would be appropriate a good assumption would be to use a spoiler tag* *Support TDM by rating missions on Thief Guild: https://www.thiefguild.com/* ============== WITH LASTING GRATITUDE: OBSTORTTE - Whose gameplay scripts from his thread laid the foundation which made the mission seem like something I could even pull off at all. Also fantastic tutorial videos! DRAGOFER - Who built upon that foundation and made it shine even brighter! And whom also provided immeasurable quantities of help and encouragement the past couple years on the TDM discord. ORBWEAVER & GIGAGOOGA - For generously offering their ambient music up for use. EPIFIRE - Who lent me his fine trash and trash receptacle models. AMADEUS - Who was the first person who wasn't me to play the damn thing and provided his excellent editorial services to improving the readers experience playing TESTERS AND TROUBLESHOOTERS: AMADEUS * DATISWOUS * SPOOKS * ALUMINUMHASTE * JAXA * JACKFARMER * WESP5 * ATE0ATE * MADTAFFER * STGATILOV * DRAGOFER * KINGSAL * KLATREMUS - What can I possibly say? Playing this thing over and over again could not have been easy. Deepest thanks and all apologies. -=THANKS TO ALL ON THE TDM DISCORD AND FORUM=- ==SEE README.TXT FOR ADDITIONAL ATTRIBUTIONS & INFORMATION== HONORABLE MENTION: GOLDWELL - If I hadn't by chance stumbled into Northdale back in 2018/2019 I would probably still be trying to get this thing to work in TDS, which means it probably would not exist - though more details on that in readme. ============== Boring Technical Information: *Iris is a performance intensive mission and I recommend a GTX 1060 or equivalent. I find the performance similar to other demanding TDM missions on my machine, but mileage may vary and my apologies if this prevents anyone from enjoying the mission.* *Iris heavily modifies the behavior of AI in the game, how they relate/respond to each other and the player. So they may act even stranger than they do typically in TDM. Feedback on this is useful - as it can potentially be improved and expanded upon in future patches.* -=- This is my first release and it has been a long time coming! If I forgot anything please let me know! God Speed. 2.10 Features Used:
- 450 replies
-
- 25
-
-
-
I think that a forum is always better for communication and interaction in is random access structure, not possible this way in social networks wit sequencial structure, where it is easy to loose the theme and you have to scroll up kms to find it. Yes, its mainly for socializing. Forums are dying, despite it is way better and feature rich than a chat, but it was killed by smartphones. In a smartphone the handling of a forum is a toothache, there a chat or social network is easier and more direct. But for an tech support, there exist nthing better than a forum. Respect Markdown, which I like a lot, would be nice to have instead of the BBcode. But here is needed to maintan the automatic insetion of YT videos, because In Markdown it don't exist like in the BBcode.
-
Welcome to the Snatcher's Workshop. Come on in, we may have something for you today. Feel free to look around. We trade everything here. --------------------------------------------------------------------------- We realize new ideas and take existing ideas for a spin. For fun. Somewhere in this post you will find a download with mods. Good care was put to make all mods as little intrusive as possible to make them compatible with as many missions as possible. This set of mods will never break your game but some features won't be available in a handful of missions (the reasons are known). Feel free to report here what works and what doesn't. TDM Modpack 5.1 Compatible with The Dark Mod 2.13 or later (2.14 or later recommended) A lightweight, stable, non-intrusive, mission-friendly Modpack for The Dark Mod that includes many enhancements and a new set of tools and abilities for our protagonist: peek through doors, blow and ignite candles, whistle to distract enemies, mark your location, an invisibility-speed combo and more. Mods included in the pack do not alter your game or any of the missions in any relevant way. The pack includes enhancements to the core game and additions that can be used in missions but at the same time respects the vision of the mission creators. It is up to you to make use of any of the new tools and abilities or not. Please note that sometimes authors include in their missions their own versions of core files and as a result, some mods are not available in some missions. All missions will play fine regardless. Release posts: v5 series: v5.0 | v5.1 v4 series: v4.0 | v4.2 | v4.5 | v4.6 v3 series: v3.0 | v3.2 | v3.3 | v3.4 | v3.5 | v3.6 | v3.8 v2 series: v2.0 | v2.2 | v2.4 | v2.5 | v2.6 | v2.7 | v2.8 v1 series: v1.0 | v1.2 | v1.4 | v1.6 | v1.8 What's included in the pack? -:- APP: GENERIC MOD ENABLER -:- Credits: JoneSoft License: Free for unlimited time for Home users and non-profit organizations. Description: A portable, freely distributable Mod enabler/disabler. This application is required to run mods safely and it is included in the pack. At the heart of the Modpack resides JSGME (JoneSoft Generic Mod Enabler), an application that allows players to enable and disable mods with one click. JSGME has been around for more than a decade and it is to be fully trusted. Refer to the install instructions section at the bottom for full details. -:- MOD: CORE ESSENTIALS -:- A pack that includes a variety of mods from the best modders of TDM: ~ FAST DOORS Credits: Idea and programming by Obsttorte. Treatment by snatcher. Availability: All missions except Noble Affairs, Seeking Lady Leicester, Shadows of Northdale ACT II, Snowed Inn, The Imperial Sword, Volta 3: Gemcutter and a handful of lesser missions. Description: Being chased? In a rush? No problem: doors open and close faster when running. Topic: Slam doors open while running ~ QUIET DOORS Credits: An idea by SeriousToni (Sneak & Destroy mission). Mod by snatcher. Availability: All missions except Noble Affairs, Seeking Lady Leicester, Shadows of Northdale ACT II, Snowed Inn, The Imperial Sword, Volta 3: Gemcutter and a handful of lesser missions. Description: A vast number of doors play more subtle, sneaky sounds for a quieter, stealthier experience. This applies to doors that come with default sounds but only when manipulated by the player. Topic: Decrease volume of open/close door sounds triggered by player ~ LOOT ANIMATIONS Credits: Original idea by Goldwell (Noble Affairs mission). Programming by Obsttorte. Treatment by snatcher and wesp5. Availability: All missions except You Only Fly Thrice and a bunch of missions that come with their own implementation (tdm_frobactions.script). Description: Moves the loot towards the player before putting it in the inventory, underlining the impression of actually taking it. This mod comes with a subtle new loot sound that goes along nicely with the animation. ~ DYNAMIC INVENTORY Credits: snatcher. Availability: All missions. Description: When picking up loot this mod displays the loot info in the inventory and shortly after reverts back to the last non-loot item selected. The mod in addition, remembers the last item selected when shouldering and unshouldering a body. ~ SMART CONTAINERS Credits: Obsttorte (source code updates), Dragofer (similar attempts), snatcher. Availability: All missions. Description: To facilitate looting, the bottom of many containers (chests, jewellery boxes, etc...) gets automatically disabled at the beginning of the mission and only the lid remains frobable. ~ STEALTH MONITOR Credits: kcghost, Dragofer, snatcher. Availability: All missions. Description: Display some stats (Suspicions / Searches / Sightings) and the Stealth Score during a mission. Just bring up the "Loot" inventory icon and press "Use" (or setup a dedicated key). ~ STEALTH ALERT Credits: snatcher. Availability: All missions. Description: Completing a mission without being seen is something that can be done with some practice and patience. This mod will play an alerting chime whenever you are seen so that you don't have to monitor the Stealth stats all the time. ~ BLINKING ITEMS Credits: snatcher. Availability: All missions. Requisites: Console command r_newFrob must be 0, which is the game default. Description: Items within frob distance that go into the inventory (plus static readables) emit a subtle blink. This pulse can help you identify some valuable items that otherwise are difficult to detect. Topic: New Frob Shader ~ SMART OBJECTS Credits: snatcher, Dragofer. Availability: All missions. Description: Display actor and object names whenever you grab an entity with a name. In addition, objects (except AI entities) do not make or propagate sounds on impact while being manipulated. Topics: No impact sounds while holding an object / Nameless objects... a missed opportunity ~ ALT FOOTSTEPS Credits: SeriousToni. Availability: All missions except Hazard Pay, Noble Affairs, Shadows of Northdale ACT I and ACT II, Snowed Inn, Volta 2: Cauldron and a handful of lesser missions. Description: Alternative sounds of walk/run/land footsteps on water and landing sounds on squeaky wood for our protagonist. Topic: New Footstep sounds ~ MISCELLANEOUS Alternative high mantle sound for our protagonist. Removed two anticlimactic player dying sounds Revamped and extended "Mission Complete" audio theme. Standardization of frob distances for some doors. Decreased brightness of the Objectives, the Inventory and stock newspapers. Player weapons are a tad visually visible in the dark (to player only) -:- MOD: PLAYER SKILLS -:- A new "Skills" category is added to the inventory on mission load and the category includes the below abilities: ~ SKILL: PEEK Credits: Dragofer, snatcher, wesp5 Availability: All missions. Description: When the item is selected the player can peek through any regular door. Select the item in the inventory and "Use" it on a door. Topic: Peek through (almost) every door ~ SKILL: BLOW / IGNITE Credits: Dragofer, wesp5, Obsttorte, snatcher. Availability: All missions. Description: When the item is selected the player can blow out and light up candles and oil lamps. Select the item in the inventory and "Use" it on small flame sources. Topic: Extinguish small lights with a blow ~ SKILL: WHISTLE Credits: snatcher. Availability: All missions. Description: When the item is selected the player can whistle and draw the attention of nearby AI. The more you whistle, the more attention it draws. Select the item in the inventory and just "Use" it. Keep a safe distance. ~ SKILL: ALCHEMY Credits: OrbWeaver, MirceaKitsune, datiswous, wesp5, snatcher. Availability: All missions. Description: When the item is selected the player can alter the properties of broadhead arrows by applying different reagents. Select the item in the inventory and "Use" it repeatedly to cycle through the different arrow types. Topic: Alchemy to alter arrow properties? Arrow types: Shadow arrow compound or "Darkdust": Widely believed to be a myth, little to nothing is known about anti-light matter. Where did our protagonist get his formula from? When this substance is subject to strain the particles implode and the residual component absorbs light until it dissipates completely. Flare arrow compound or "Starlight": A recipe based on luminescent mushrooms and other exotic herbs. The resulting powder produces, for limited time, a dim but steady blue-ish glow when mixed with the right reactive. A high concentration of the active mixture can cause a burning sensation to the eyes. ~ SKILL: LOOP Credits: snatcher. Availability: All missions. Description: When the item is selected the player can teleport between two points. You can activate the loop any time and use it to quickly travel back to a safe location, to explore two different areas in parallel or to ambush AI. If the loop fails keep trying, you should be able to get to your destination eventually. If your path forward is blocked you can break the loop by pressing the "use" key for 10 seconds, just make sure you are on the correct side of the loop... ~ SKILL: PENUMBRA Credits: VanishedOne (speed potion), kingsal (invisibility potion), snatcher (alchemy). Availability: All missions. Description: When the item is selected the player can avoid light sources and run faster than usual for limited time. Health consumed will gradually be restored. Penumbra doesn't muffle the noise you make and it doesn't work when in contact with water. THE PATH TO UMBRA: How to become one with the shadows Did you know? You can set key bindings for the skills by clicking on the Modpack banner in the Main screen: -:- MOD: ADVANCED BOW -:- Credits: snatcher. Availability: Most missions (a few missions do things differently but you should never notice). Description: Nock and draw arrows at a faster rate. Extended radius of gas arrow effect. Chance to retrieve rope arrows when missing a shot. -:- MOD: CLASSIC BLACKJACK -:- Credits: Obsttorte, snatcher. Availability: All missions except A House of Locked Secrets. Description: A straightforward approach to blackjacking with new rules and mechanics inspired by the original Thief games. Never miss a KO again! - No indicator required. "Classic Blackjack" rules: Some AI are KO-immune and cannot be KOed: * Undead, creatures... * Guards wearing heavy helmets (to respect TDM vision) * Other: set by mission authors for the plot, in example The rest of AI can be KOed, just aim for the head: * Civilians: Can always be knocked out from any direction * Combatants: Can always be knocked out (including when fleeing) from any direction except when in high alert state (normally in combat mode) As reference, you can find in the Wiki the set of rules of the non-modded TDM: https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay#Blackjacking -:- MOD: FLASH GRENADE -:- Credits: snatcher, kingsal. Availability: All missions except Displacement, Hazard Pay and Moongate Ruckus. Description: Flashbombs are clumsy and loud but as effective as ever. Instead of throwing Flashbombs like a cannonball we now toss them. Instead of exploding on impact Flashbombs now have a fuse. The chances of blinding have been greatly increased. -:- MOD: FRAGILE BOTTLES -:- Credits: Idea by MirceaKitsune, snatcher. Availability: All missions except Displacement (custom bottles but no custom broken fragments) and few items in A Reputation to Uphold and Shadows of Northdale ACT I & ACT II. Description: No stealth game is complete without some good bottle smashing! There are hundreds and hundreds of bottles in our mission catalogue: head to your nearest tavern or kitchen, grab a bottle and throw it to distract AI, extinguish fires... -:- MOD: HEALING BOOST -:- Credits: snatcher. Availability: Most missions (a few missions do things differently but you should never notice). Description: Food and Health Potions provide an extra recovery boost. Here is a table with the new health points (player max health is 100): 24 -> 50: Health potion 06 -> 20: Cheese Wheel 06 -> 10: Fish Mackerel 03 -> 10: Bluefish 03 -> 10: Bread 03 -> 10: Cake 03 -> 10: Cheese Wedge 03 -> 05: Muffin 01 -> 05: Apple 01 -> 05: Pear 01 -> 05: Carrot 01 -> 05: Turnip -:- MOD: INVENTORY PANELS -:- Credits: snatcher. Availability: All missions. Description: More compact. Items can be sorted. Adjust ambient volume, brightness, gamma and saturation directly from the Inventory grid. -:- MOD: LIGHT STONES -:- Credits: Idea by Zerg Rush, snatcher. Availability: All missions. Requisites: Lightgem enabled in Gameplay > General settings. Description: Splits the Light Gem into smaller stones with unique light detection levels. -:- MOD: PREMIUM LANTERN -:- Credits: snatcher. Availability: All missions except Flakebridge Monastery, Hazard pay, Moongate Ruckus, Snowed Inn, Vota 1, 2 & 3. Description: The mod replaces the light of the player lantern with a less intense, forward facing version. In addition, the lantern icon is always displayed when the lantern is on. Also, on and off sounds have been added. -:- MOD: RING HELPER -:- Credits: snatcher. Availability: All missions but the ring is dimmer when using the x-ray glasses or other overlays. Requisites: Frob Helper enabled in Gameplay > General settings. Description: The mod replaces the white dot pointer (Frob Helper) with an advanced ring-shaped aimer. The main difference is that the helper is now available for all objects you can interact with, large or small. Topic: Frob Helper discussion Options in Gameplay > General > Show Frob Helper: Always: Pointer and Ring Hover: Instant Ring Fade In: Ring delayed by one second Fade In Fast: Ring delayed by half second No: Off -:- MOD: SHADOW MARK -:- Credits: snatcher, Obsttorte. Availability: All missions. Description: Our protagonist's lucky deck! When the item is selected the player can drop and throw playing cards to mark a location. Cards can be retrieved. AI will not normally mind a single card lying around but cards can sometimes be noticed. Topic: Find more details in this post -:- MOD: SHOCK MINE -:- Credits: wesp5, snatcher. Availability: All missions. Description: This mod replaces the Flashmines with portable contraptions originally intended to store energy that have been altered to deliver a non-lethal electric shock to those who step on them. Remember: mines can be disarmed with the lockpicks! -:- MOD: SIMPLE SUBTITLES -:- Credits: Geep, stgatilov, snatcher. Availability: All missions. Description: A minimalist, imperfect approach to subtitles (you can set the scope of the subs in the audio settings). Topics: Subtitles - Possibilities Beyond 2.11 / English Subtitles for AI Barks Go to the audio settings and set the scope you prefer: Story: Story only On: Story and general speech (Give it a try!) Off: Disable subtitles Features of the mod: Background replaced with a font outline. Audio source widget replaced with a text transparency based on distance (volume) to the source. Yellow font color for story subs for best contrast, light grey font color for anything else. Non-story subs limited to a single instance, so that players aren't bothered too much with non-relevant subs (barks). --------------------------------------------------------------------------- DOWNLOADS / INSTALL / UNINSTALL So, how do I install and play with all this? Quite easy, but pay attention. I don't want you to break your game so we will be using a "Mod Enabler". A Mod Enabler allows you to enable and disable mods at will, with a few clicks. Before moving forward you must know a couple of things: The moment you enable a mod, previous saves will not work. If you want to load previous saves then you will have to disable the mod. If you play a mission with mods, the saves will only work when that exact set of mods are enabled. This above is important in case you deem your current saves precious. Consider yourself informed. DOWNLOADS You can download the TDM Modpack from Mod DB: INSTALL INSTRUCTIONS Download the zip, unzip it, and move contents to your TDM root folder: Folder "MODS" File "JSGME.exe" Go to your TDM root folder and double click on JSGME.exe (yellow icon). The first time you launch JSGME, it will ask for the "Mods Folder Name". Leave "MODS" and click OK. Now to your left you will find a list of mods available. To your right you will find a list of mods currently enabled. To enable a mod, select a mod on the left, and click on the arrow pointing to the right. To disable a mod, select a mod on the right, and click on the arrow pointing to the left. Go and enable the mods you want: UNINSTALL INSTRUCTIONS Quit the game (to unblock files) Go to your TDM root folder and double click on JSGME.ese (yellow icon) Disable all mods found on the right Close JSGME Delete the following: Folder "MODS" File "JSGME.exe" File "JSGME.ini" --------------------------------------------------------------------------- I hope you enjoy the mods. No coin? then leave a like for pirate's sake!
-
How you can help depends a lot on what skills you have. I can Record Video Recording "Let's Play" videos or simple walkthroughs of existing missions and posting them to Youtube is great exposure for the mod (see example .) Be sure to let us know so we can link to them. If you have some editing ability, Video tutorials, where you explain how the mod works, or how to use specific tools, would also be great. Video trailers, showcasing interesting places and features, are also great for publicity. An example is . I can Write Writing reviews for missions are always nice, especially if they include good screenshots. Not only does it give us something to post on other forums, but it makes mappers feel good when their mission gets attention (especially if it's positive). We have a collective thread to post reviews in: http://forums.thedar...s-walkthroughs/ Writing reviews of the mod as a whole, targetted an an audience that doesn't know much about TDM, is also very useful. You could also try offering your services to mappers to create interesting readables, or to proofread for their mission. I can Act and Record Audio We are always on the lookout for good quality audio recordings for vocal sets. If interested, you can pick a few different lines from this script: http://wiki.thedarkm...t:_Average_Jack and send the recordings to Springheel, who then writes a script based on the type of voice you have. I can Translate We could always use translations of our menu/hud into more languages. Also, only a few FMs are aavailable in more than one language, so there is a lot of work there, see the I18N Translator's Guide in the Wiki. I can Model Great! Take a look at the model request thread:http://forums.thedar...-requests-here/ and pick something that interests you. Or just post a, "Hey, anybody want a model?" thread in this forum and I'm sure mappers will get back to you. I can Animate Fantastic. We can always use more good animations. Our current character rigs use a Maya skeleton. PM Springheel for more info. I know C++ Have a look at our coding section in the wiki, pick an issue or feature from the bugtracker of the mod or the leveleditor, download the recent sourcecode release (or better ask for an SVN checkout) and get cracking. Make sure nobody is already working on that specific issue and feel free to ask questions. I can Edit Images We can always use completely new textures and/or improved versions of older textures. How to get started and how to import them into the mod. I can Take Photos Good quality photos of useful textures (medieval-ish building facades, dirt, rocks, wood, etc) are always welcome. The fewer directional shadows and higher resolution, the better. I don't have any skills Even if you can't do any of the above, you can still help out. Talk about TDM in other forums; share your (preferably positive) experiences with other gamers you know. Last, but not least, compliment people when you like their work. Saying "thanks", to a developer or, "I really enjoyed your mission" to a mapper will make their day. -------------------- I'll update this further as more things occur to me.
-
Fan Mission: Scroll of Remembrance, by MirceaKitsune (03/11/2020)
chakkman replied to MirceaKitsune's topic in Fan Missions
ThiefGuild has some tags: https://www.thiefguild.com/fanmissions/?advanced_search=&series=&collection=&table=&page=&works=&work_lists=&sort_by=newest&search=&games=5&released_from=all&released_to=all&genre=all&original_games=fms Not sure how complete or accurate those are, after all either the author or users add the tags to the missions. -
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
- 35 replies
-
- 15
-
-
-
ok got gemrb to play it mostly ok but there are a few snags. resolutions above 1024x768 messes up the UI (i was told the widescreen patch would fix that but it says the game is not supported lol). problem is that while the world does support resolutions higher than this the UI does not and needs seperate scaling. the UI does have a setting for fullscreen but no way to tell if it is on or off... same with other settings (can modify the game ini file but that should not be a nessesity when the UI has buttons for the same thing). current version of gemrb looks for videos in the language folder ??? eg. lang\en_US\videos but the folder is located in the root of the game with the enhanced version. (i guess the original game had videos with different locales located there). so still some work to go before it can be considered a good replacement.
-
This is an experimental GUI app for managing and packing Dark Mod missions. It's a successor to FM Packer but with a GUI, that I've been working on for some time. It's now at a stage where I feel somewhat comfortable sharing. Having a GUI unlocks potential for more in depth management of fms, which I intend to explore in the future. You can download the binaries here: https://github.com/Skaruts/tdm_packer_2/releases Currently: it can pack your selected mission into the pk4 at a click of a button you can specify which files to exclude from the pk4, by editing the .pkignore file (Package -> Pack) you can edit the mission's files with syntax highlighting (xdata, scripts, skins, definitions, etc) you can view both the included and excluded files in a handy tree list (you can Shift+LMB to fully expand/contract branches) it can launch TDM or DarkRadiant for the selected mission, or run a second installation of TDM to test your pk4 in isolation (see the menu Settings->Paths) it automatically puts your map sequence into the appropriate file all maps, except the ones in the map sequence, are auto excluded from the pk4 Important: This is still an experimental alpha version, so backup your missions before using it. Note: For now I provided binaries for Windows and Linux. I don't have a Linux system to test the binaries yet, though, so they may or may not work properly. As a last resort, one can still run this app from the source code by running the Godot Engine itself from the terminal with the "--path path/to/project" argument. (Godot itself is just a simple executable and requires no installation.)
-
I uninstalled my old 3.1 Dark Radiant and did a fresh new install of 3.9.0. I created a new empty map in DR via "new" and then saved it into my "fms" folder. However after loading up, as soon as I click into one of the 4 grid views it just crashes under Windows 10. Also I tried to manually open it via "file > open" but that throws an error "failure reading map file" "Unable to parse map version (parse exception)" AMD Ryzen 5 3600 6-Core Processor 3.60 GHz RAM 32,0 GB AMD Radeon RX 7900 XT (20 GB) Windows 10 x64
-
Today I am happy to announce the release of my first FM for The Dark Mod. After 6 years of using this lovely game creation engine, I'm finally able to contribute my own project for it! It took roughly two weeks of non-stop work to do everything from start to end... there's always some little detail to come back to when mapping, thus there were a few little things left out to prioritize others, but at the end of the day this came out almost exactly as I envisioned it. In this mission you play as the typical professional thief. You've been hired to retrieve a scroll containing forbidden knowledge from the mansion of a wealthy noble, put there by the builder church who is close to its owner and found it a more suitable spot. A banquet is being thrown by the lord who owns the mansion which is the perfect opportunity to make your move. Nothing out of the ordinary: You're to retrieve this scroll and get paid for your work... simple, right? Notice: Performance in some areas may be poor. I optimized the lighting setup as much as possible, trying to use as few long range light sources as I could. To achieve the desired theme however I had to leave parts of them map relatively open. Hopefully this won't be a hindrance to anyone... if it is you may need to lower some graphical settings. For people who don't like surprises and may be sensitive to certain themes, read the spoiler below. If you're okay with anything don't as it will ruin the experience! For people who are stuck and don't know how to proceed, instructions are provided in the spoiler below. Only read them if necessary. A tip that needs no spoilers: The key in this FM is exploration and reading everything carefully. There are secrets to be found: Always look everywhere and closely at everyone! I'm eager to hear what your experience with this FM is. Use spoilers when referring to specifics, but do let me know what your thoughts are! Especially with this being my first FM I could use tips, including technical ones if you look at the map in DarkRadiant. Here are a few screenshots of the main areas (intended for the installer): And finally the download links. Unzip and place the main directory inside your fms folder, this should get it to show up in the mission list. Mirror 1 Mirror 2
- 48 replies
-
- 11
-
-
-
What would cause "runParticle" "mapname" command to not create the '_prt_gen' folder..?
-
I’ve put together a map featuring a few guards painted in my favorite color (not all of them); it’s a simple color test using the "_color" command applied to the guard entities. I had to create ".MTR" files to define which parts of their clothing should be colored. This allows for guards in different colors, adding more variety to the maps. If you take a look at the ".MTR" files—found in the "materials" folder within the map’s directory—you’ll notice some lines written in my native language, marked with "//". I did some research on this and used artificial intelligence to generate the lines for the ".MTR" files, as I don’t know how to write code myself. I hope you think this is a good idea! Link: https://drive.google.com/file/d/1rDBbarrumng6XzHw9cbL890UNcFmWHuv/view?usp=drivesdk
-
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
-
Agree with this sentiment 100 percent. Just come ask for help on these forums before asking chatgpt there are tons of knowledgeable folks here, especially those who know how materials work
-
Have you tried command in terminal: flatpak install darkradiant-nightly-x86_64.flatpak Where darkradiant-nightly-x86_64.flatpak is the name of the file. So you need to be in the folder where the file is obviously. Alternatively you could try the appimage, which starts it immidiatelly after setting the file permission correctly Btw. for some reason I tend to type "flatpack", instead of "flatpak" the first time. This gives an error ofc
-
little dark but this is how system shock 2 looks with hwtl. ill try to upload some shots from further in game (this shot is from right at the start). i have toyed a bit with variables to get a good balance between eyecandy and performance. bloom was way over the top so i lowered it considerably. hwtl lights set to 4 shader_quality to 1 and vis_hw_light to 1. it is best to patch the game with ss2tool beforehand and then overwrite the newdark version it installs with the hwtl version (you dont need both exe's just rename the ss2_hwtl.exe to ss2.exe and delete the other one). move the mods/hwtl folder from the newdark_hwtl.zip to the games dmm folder then open the mod manager "ss2bmm.exe" and activate the hwtl mod then hit apply. you will probably have a better time with some of the community patches and enhancements, these can be installed with the mod manager as well. here are my cam.cfg settings ; hey, which game is this game shock ; general configs include_user_cfg user.cfg editor_include_dromed_cfg dromed.cfg ; game specific paths/configs dark_include_install_cfg darkinst.cfg shock_include_install_cfg install.cfg ; set trait cache to include concretes trait_cache_flags 2 ; HWTL section. hwtl_enable 1 ; HWTL quality presets. ; low (potato) ;env_enable 2 ;env_obj_size 0.3 ;hwtl_lights 2 ;vis_hw_light 1 ;env_size 128 ;sm_size 256 ;shader_quality 0 ;shadow_enable 1 ;shadow_obj_size 0.08 ; medium (best balance) env_enable 1 env_obj_size 0.2 hwtl_lights 4 vis_hw_light 1 env_size 256 sm_size 512 shader_quality 1 shadow_enable 1 shadow_obj_size 0.04 ; high (very heavy) ;env_enable 1 ;env_obj_size 0.1 ;hwtl_lights 6 ;vis_hw_light 1 ;env_size 512 ;sm_size 1024 ;shader_quality 2 ;shadow_enable 1 ;shadow_obj_size 0.02 ; MISC improvements. sfx_vol_music -1000 game_screen_size 3840 2160 sfx_channels 24 always_play_introfogging 1 enhanced_sky 1 render_weather 1 fogging 1 master_volume 0 sfx_device 1 game_screen_flags 45 game_hardware 1 game_screen_depth 32 reverse_stereo 0 sfx_vol_2d 0 gamma 0.8500000238 sfx_vol_3d 0 game_full_screen 1 skip_intro if you like my bloom settings set them like this in cam_ext.cfg ; enable postprocessing (bloom) postprocess 1 ; bloom intensity factor, default is 5 bloomscale 1.3 ; bloom/"glow" radius defined as percentage of the screen's diagonal, default is 2 (the larger values ; require more GPU processing) bloom_range 1.7 ; bloom saturation, 0 completely desaturated, 1 is fully colored, default is 0.7 ;bloom_saturation 0.7 ; min value required (for R, G and B) in order for a pixel to be included in bloom processing, default is 0.6 ; (with a low value a lot of surfaces will glow, with a high value only the really bright surfaces will glow) ; for SS2 you might want to consider increasing this slightly, as the game is generally brighter bloom_threshold 0.8 "
-
I have two issues: I installed TDM on my F: drive. However, the FMs are stored on my H: drive. Is there a way to have the executable (TheDarkModx64.exe) load those FMs from H: instead of F:? Why doesn't TDM's native file handler list the FMs in alphabetical order?
-
I don't know who has what skillset, as I am still pretty green on the forums. However, I do know that shader development does require some voodoo black magic! I understand the fundamentals of shaders, but understanding the basic how and why is very, very different from creating them.
-
Full VR support for The Dark Mod, new bow, climbing mechanics and more!
freyk replied to JAKE's topic in The Dark Mod
Nice work! Is there a build/code that other users can download and try? Please merge back the code with TDM VR, see topic: https://forums.thedarkmod.com/index.php?/topic/20468-the-dark-mod-vr-210-alpha-is-now-available/ === Reddit topic: link Video of JAKE's work: -
For more info, read this topic: https://forums.thedarkmod.com/index.php?/topic/23261-i-made-full-vr-support-for-the-dark-mod-new-bow-climbing-mechanics-and-more/ He based his code of TDM VR, so I referred him to this topic.
-
Screenshots: Mission: Breaking out the Fence Version: 1.00 Released: 17/03/2014 Theme: City Author: kyyrma Testing and additional content: RJFerret, Airship Ballet, Goldwell Breaking out the Fence continues the story from my first FM In a Time of Need. The player once again takes the role of an anonymous Thief who is getting tangled with an organization called the League of Seafaring Merchants. This time you will be sneaking your way into an import shop down at the South Docks and getting your fence Terry out from a pinch you have indirectly got him into. Prior knowledge of the story is not strictly necessary, and the level works just as well as a one shot stand-alone mission. Note that the story briefing is quite long - if you don't appreciate walls of text in your game, all the relevant information is on the last page. However if you want to set the mood and enjoy a good tale of skullduggery then give it a read. The difficulty level is moderate to high, and compared to my last mission it is much larger. The average play time should be around 1 - 2 hours depending on how much you decide to explore the level. You will start the level with only a blackjack, compass, spyglass and a map. You have to find the rest of your equipment while on the job. If you can't find a pair of lockpicks, remember to keep your eyes peeled for keys! The only differences between difficulty settings are the objectives, with higher difficulties requiring either a no-kill or a full ghost playthrough. Injection needles have been made a loot item, so remember to pick them up if you are going for loot completition I've succumbed under peer pressure and decided to have a poll where you can rate the level, but I would really appreciate your comments as well! Please get back to me if you have any questions or critique regarding the mission. Help! I'm stuck! How do I find the key to the closed off area in the sewers? Download links: If the mission is not yet available from the in-game downloader, you can use the following link: Private mirror Installation: Drop breakingout.pk4 in you darkmod/fms/ folder Run TDM and select New Mission. Breaking out the Fence should now appear on the list of downloaded missions. Install and play. Known issues: AI pathfinding can be slightly erratic at times Outdoors can cause performance issues on low-end hardware Sleeping AI can glitch through the bed if KO'd or killed There remain some audio issues such as pop-in and incorrect sound propagation Thanks: My testers RJFerret and Airship Ballet for their invaluable input and help during the creation of the level Goldwell for providing his vocal talent for the characer Terry All the TDM devs for creating such a great game All the people who have answered my newbie questions at the Editor's Guild
-
so after some digging, i found out that system shock 2 only has very few places using dynamic lights. the rest of the lightmaps are static which would explain why dynamic shadows dont seem to work. the water effects for thief 2 actually works for system shock 2 as well despite it not being worded as such (cant remember if there are any underwater sections in SS2 ? so im not sure if these would work as well. but the water surface in hydroponics looks amazing). ps the mods/hwtl folder for the water effects needs to be installed as a mod. simply copy the hwtl folder to the dmm folder and use the modmanager to activate it (priority should be highest). bloom is very heavy with the default values so some tinkering is nessesary if you want to have this on.
-
I have committed my changes to SVN, now SVN works on the UTF-8 system. It reads all language strings from all.utf8lang file, and only reads old-style {language}.lang files for missions if the equivalent new-style files are not available. The core .lang / .map files are present yet, but will hopefully be deleted. In the end, I had to manually add some characters to utf8map to suppress warnings. They were not handled by the old engine: I simply remapped them all to the question mark. It seems that the majority of them come from language names, and I don't care if they look broken or have question marks. I have already stated my position about language names. At the current moment, .utf8lang uses the same format as .lang, but this is temporary. As I said before, this must be changed in order to not lock us into compatibility trap. The format should be a sequence of "commands", each command starting with a keyword saying which command it is. And global state should be kept to minimum (e.g. current language seems acceptable). In addition to the current "#str_{name}" placeholders, I'd like to add two more types of replacements for missions. 1) Plain-text replacements, i.e. replace "Not enough drive space to save the game." with "Não há espaço para salvar o jogo.", as I suggested before. This approach provides zero inconvenience for the mapper, but it rather unreliable. It becomes especially bad for short strings. This kind of replacements is not cheap to perform, but I think I know how to do it efficiently. The first version will do it with bruteforce algorithm, we don't have any plain-text replacements yet anyway. 2) Full-text + ID replacements, i.e. replace "Not enough drive space to save the game.#id_nospacesave#" with "Não há espaço para salvar o jogo.#id_nospacesave#". The #id_...# placeholders are stripped from the text by the engine even if translation does not exist. If translation exists, then the engine verifies the context around the placeholder and does not apply it in case of mismatch. This approach gives mild inconvenience to the mapper, since he can clearly see the original text but has to tolerance this annoying tag at the end. The mapper can even edit the text without touching the placeholder: the obsolete translations will stop working automatically. I have a feeling that plain-text replacements won't be enough for the missions, and hope that such extra "tags" can be used here and there to make it more reliable.