Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/reason/' or tags 'forums/reason/q=/tags/forums/reason/&'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Thanks! Hint for the safe code here: https://forums.thedarkmod.com/index.php?/topic/21837-fan-mission-the-lieutenant-2-high-expectations-by-frost_salamander-20230424/&do=findComment&comment=485264 Actually, it's probably time I added these hints to the original post....
  2. So I finally installed Thief 2 and... for some damn reason the briefings don't wanna play... they just skip! Any ideas?>

    1. Show previous comments  5 more
    2. jaxa

      jaxa

      I remember that indeo codec stuff

    3. pusianka

      pusianka

      ehh too bad, it killed my saves... well, I can play FMs ;D

    4. Sir Taffsalot
  3. I agree that an European military would be great, but I don't see it like you do. NATO is a defensive pact and I'm very happy to be a part of it because I believe it's the main reason why Europe has been so stable for decades. My country has been invaded by both Germans and Soviets and being in a military alliance with the US and western Europe who are our allies and haven't done wrong to us since 1938 was a big achievement of our foreign politics. For this reason I don't think any comparisons like "what would the US do if it was surrounded by xxx" make sense. Firstly Russia is only "surrounded" from the European side and secondly the only reason why my country and others in central and eastern Europe are in NATO is that Soviets repeatedly invaded and oppressed us and other neighbors and Russian federation keeps doing the same. Mexicans and Canadians have no reason to enter a military alliance to defend themselves from the US because in the grand scheme of things the US is a good neighbor. I agree that geopolitics is often ugly and unfair, but I don't think one side doing wrong in any way justifies other sides doing wrong.
  4. The Transaction is a small/medium sized map in which aspiring thief Thomas Porter delivers the cryptic book, 'De Vermis Mysteriis' to a bookstore owner named Victor de Grenefeld. It is the fourth mission in the Thomas Porter series, continuing from where The Glenham Tower ended. The mission was created by me, Sotha and I wish to thank BrokenArts, Melan and Ocn for playtesting and Bikerdude, BrokenArts and Ocn for voiceacting. An enormous thanks goes also to the fine people who created TDM and are still working hard, bringing it ever closer to perfection. Thanks also to the community for helping with my mapping efforts. Extra thanks to freesound.org -contributors who make excellent quality sound effects available for free. Trailer (thanks to ocn!) http://www.youtube.com/watch?v=EBdEsKoqWl4 Briefing: Ah, the town of Glenham. I never really thought I would be happy to see its shabby wooden miner dwellings, but after the nightmares of the Glenham Tower I'm happy to see any kind of civilization. During my return trip from the tower the ghostly mist veil transformed into an intense thunderstorm and heavy rain. My clothes are soaked and I'm dreadfully tired of the harsh tribulations of the past few days. My task for tonight is simple. All I have to do is to get the strange and incomprehensible book I obtained from the tower, 'De Vermis Mysteriis,' to the bookstore owner Victor de Grenefeld. And more importantly collect the hefty sum the bookstore owner promised to pay me. With that kind of sum I can sit back and relax for a while. I'd better stay in good terms with my customer and not steal from him. I have the hunch that de Grenefeld is a well connected man so staying on his good side might be beneficial for me in the future: maybe they'll need a skilled adventurer like me and I could turn legitimate. I could earn my keep and I wouldn't need to constantly hide from the city watch. At any rate, I've got it all planned out for the remainder of the night. I'll visit the bookstore, drop the book to de Grenefeld and collect my fee. After that I'd better hide in the basement of an abandoned building I've spotted near the town north gate and get some well deserved rest. I don't think the city watch would think a cloaked and armed person like me would be on honorable business in a stormy weather like this so it would be wise to avoid all confrontation with the guards. I do not need any misunderstadings with the city watch right now. The undead horrors in the Tower forced me to expend most of my tools and I desperately need more equipment if I intend to continue my budding adventuring career. I should get some extra gold for new gear and maybe a few holy water potions just in case. There is a Builder church nearby where I might be able to find some. I suspect those fanatics might have gold hidden there as well.. It is time to move in the town and get the things done quickly. Somehow I have a bad feeling about all this. It's probably nothing, probably I am just jumpy because of the horrors in the Tower and sleep deprivation. Tomorrow I'll sleep long, relax and eat well. UPDATED LINK: Use the ingame downloader to get it. Bikerdude was added in the author, I forgot him. No other chages. Could The Powers That Be make sure that this version ends up in the ingame downloader? Thanks! Known bugs: One betatester experienced an error ("ERROR: Failed to spawn player as 'atdm:player_thief'"), which drops the player back to main menu upon map load. If you experience this scenario, please turn EAX off in the options menu. That cleared the problem for the tester. Warning! There is ALWAYS someone who fails to use spoiler tags appropriately. I recommend you read this thread further only after playing the mission! Avoid spoilers.
  5. A reminder: Was playing with graphics settings again and r_shadowMapCullFront seems to give me an extra 10 FPS! Is there still a reason why it wouldn't be on by default for everyone? r_shadowMapAlphaTested doesn't seem to have any performance impact for me. Was it needed to get shadows from surfaces with alpha channels, like having trees with leafs cast shadows? Then again those don't work since I think they're still "noshadows" by default... wonder if alpha materials could be given a special mode to support shadow with it.
  6. We're still being ignored... Is there some particular reason for this? http://www.phoronix.com/scan.php?page=news_item&px=MTM0NTE

    1. Show previous comments  12 more
    2. zergrush

      zergrush

      He also ignored the amazing Hexen mod which is still in development and actually released a new teaser very recently:

       

    3. stumpy

      stumpy

      they only seem to be interested in ioquake3 projects and sources on github

    4. zergrush

      zergrush

      http://freegamer.blogspot.pt/2013/04/some-idtech4-games-progress.html

       

      Apparently we're on Freegamer, btw. Some people DO care, after all.

  7. @datiswous, I suspect this is possible if rather tedious for signs or 1-page broadsheets. You could arrange that the frob calls a script, and the script causes the player/narrator to say a custom .ogg file. That file would be just silence, of the same length as the desired subtitle duration for the translated text (or at least within 5 seconds of it, then using the duration extension methods). Alternatively, the narrator could actually "read aloud" the text. The complexity of the .gui for books is rather daunting, but maybe you could tie into page-turning events. I don't think you'd want to recommend this approach for general book translation throughout an FM. If for no other reason, making the .ogg files would be a pain. Also, it doesn't seem to me to extend to more than one subtitle language. I could imagine that, with engine changes, books could be made into first-class speakers (i.e., as if AIs), so you could optionally hear as well as read a book, and in any event see the subtitle in any language of the player's choice for which a translation is available.
  8. Often discussed...never seen. The 'elusive' INVENTORS GUILD. Is it really a Guild? Or a Federation? Some Corporation or Conglomerate just named 'The Guild'? Or there Guild chapters everywhere? Is it like a Franchise? or there competing Not-Inventors "Guilds"? Surely they have competitors... What are their members like; what kinds of uniforms do they wear - are their guards specially trained? Things any taffer should know before, any plans are made. My ideas; The Guild 'members' comprise 3 tiers (non-guards): Factory Workers, Clerks, Managers / Administrators, Labourers [Just like regular people, mabey a specific uniform/coverall with guild logo & colors] Journeymen (Apprentice Engineers, Intermediate Crafters, Jr. Draftsmen) & Technicians [Always in Guild issued uniforms/coveralls; they often carry the tools of their trade on heavy belts...never a good idea to bother them while working unless you want a face-to-wrench meeting] Craftmasters, Engineers (not the steam train kind!), Guild Elite (Executive level Admins) [The people who keep the guild on top...by any means available. You'll know when you seem them - special badges & ranking-member rings ~ of gold(!)] The Guild, (mabey) holding a virtual-monopoly on "high"-technology needs to keep out nosy visitors & industrial spies; So it has its OWN Internal Security force, perhaps named; Guild Sentries [Call 'em a bobby, ex-copper, flatfoot, or hired-muscle; these are often former-city watchmen in Guild uniform with GUILD ARMs like the WHISTLE! and clubs!!] The Whistle: One of the most commonly feared of Guild devices; its simplicity and effectiveness are unmatched - when a guard has been alerted they blow on the Whistle device: it emits an EAR-PEAIRCING squeal, heard for many blocks...sending their allies and everyone running, ruining many a taffers day/night/life... Guild Sentinels [ The better ranks of Guild Enforcement; their spiffy uniforms arn't just for show... they have special tools as well] Shock-Rod: Described as a Iron-Rod a arms length with bronze pins sticking out the ends and a thick wooden handle with rubber pomel & hand-guard, when jabbed into a hard-surface; the metal pins at the end deliver a high-voltage shock...with stunning results that have shocked and enlighten-ing'd many a grounded-man... Guild Guardians [ The Elitest of Guild forces; some say they have augmented hearing helms & special eye-wear gadgets; a steam-punk James Bond] Repeating Crossbows: The rapidity of fire from the fastest bowman, combined with the armour penetration of heavy steel bolts...not a good look for a taffer to end up skewered like roast swine Exterminators ['guards' Kinda; especially equipped with rubber gas-masks, suits & fumigator devices and arn't afraid of stinkin' up the joint with noxious gasses meant to eradicate spiders, rats, burricks, taffers, and adventuresome burglars...naturally they are immune to GAS arrows with that gear] Fumigator & Gas-Mask: Think Gas Arrow but at point blank range but delivered with a pump-sprayer, comes with complimentary Gas-Mask (so the user isn't affected by their own fumes...) But that is just the Human inhabitants of the Guild; Their Machines - play a major role too... Electrified Locks: In a word: EVIL. The worst a normal taffer ever expects from a lock is for it to jam or break the pick itself. Not with these diabolical mechanisms - no the average burglar gets a NASTY mabey even _fatal_ electric shock when using standard metal lockpicks on this guild-speciality... mabey Insulated Picks exist? Beam Sensors: Often missed - by unwary everyday thieves; A almost invisible beam of light emits from a projector into a sensor module mounted a few paces away (on walls) - ANY solid object breaking the 'beam' activates this triggered alarm/trap/re-locker/gate, or siren...mabey a carefully positioned mirror could help? Intercom: Yet another special Guild Invention - it seems so innocuous - until your blackjacking campaign has been noticed by the complete lack of guards 'checking-in' a floor, which causes more patrols to be sent by central... Also; an alerted guard can scream into the voice pickup for help - unhelpful! Alarm Stations: sure you think you've seen these before in Upscale Mansions...not like this one! It has an integrated Alarm Klaxon, Alert Zone indicator & BIG RED BUTTON™ now the guards know where you were last seen! Metal Detectors: the Coup-de-grace for an armed thief; any metal swords, broadhead arrows, or lock-picks even could trip this infernal machines sensors - usually connected to something loud and obnoxious! What am I supposed to use Harsh Language?!? Last but not least...the Guild has working Automatons - but not much is known outside their halls; perhaps with good reason, mabey their contraptions have some high maintenance costs or serious flaws, one can hope? A Taffers Tool'd up, toolkit: Soot (Smoke) bomb: just like cleaning out 200 chimmneys at once - not only is everyone with eyes blinded by the soot & a lungfull of instant smog- it even affects some sensitive equipment as well, or how well do camera lenses work after being coated in black crud? A: They don't. Periscope: you'd like to see the Future coming, or mabey just around corners... or over knee high obstacles without giving away your hiding spot. Rubber Boots: Ugly footwear - that both softens steps & offers "Electrical Insulation up to 3KV!" - says a guild label Grappling Hook: Where the rope arrow can't work: over Stone & hard ledges, Pipes, tops of Brick walls - too bad its SOOO noisy when used.
  9. Ok I got it working. The reason is that it's explained wrong in the wiki. The wiki example says this: subtitles fm_briefing { verbosity story srt "fromVideo video/briefing/briefing.mp4" "video/briefing/briefing.srt" } and But it should actually state the video briefing material, instead of briefing video file. Correct? It must be, because now it works correctly, also in The hare in the snare.
  10. I never realised Bill Gates was a member of these forums. Welcome to the community! I hope you enjoy The Dark Mod. Perhaps your Foundation could help pay for the server hosting or fund the development of some new features?
  11. Simple reason to avoid local shadowing parallel light of any kind: And this is fully within one area. When walls, areas and portals appear, things get worse.
  12. I think that a Social Network, like Discord, or much better Mastodon, Lemmy or another from the Fediverse is fine to promote TDM or chat with the user, but not for game related or developement issues, for the reason which @thebigh mencioned, for this the Forum is insustituible.
  13. I am most definitely still working on the FM. I do not plan on giving up, considering it is a personal passion project. I would assume the layout is 75% complete. I'm slightly deviating with other FM's I'm working on (Vertigo), to keep me from burning out. Unfortunatley there are days where I simply do not have the time to mess with Radiant.. (life can take wild turns).. that is simply the only reason why it is taking me a melania. I hope one day everyone can enjoy the FM as much as I enjoy creating it.
  14. I think there is no problem with noshadows parallel lights: they are well-defined in the current engine. It can be used as local light to brighten the window, as @HMart does. I hope there is no reason to have shadows in this case? The parallel and parallelSky are almost the same thing, except that parallelSky traces light beams from areas containing portalsky world surfaces, while parallel traces light beams from the area where light origin is located, which is never what you need for a global parallel light (like moonlight). There are many missions where this issue is hacked around, and all of them result in issues like double lighting if door is open, or lack of lighting in some outdoors areas. And there is no way to fix the engine to make these missions work properly --- the maps themselves are wrong. If you want to do a global parallel light, the parallelSky is surely what you want to have, and parallel is most likely not. But note that to make parallelSky work you also need to follow some rules. The issue with local parallel light is that objects outside light volume can cast shadow over objects inside light volume. This is pretty weird by itself: you move object closer to light volume, and at some point its shadow instantly turns on. The engine determines whether object intersects light volume approximately (using bounding boxes and such stuff), so whether you get shadow from an object close to light volume or not is implementation-defined. Today you have no shadow and it looks nice, tomorrow culling is changed and the scene gets unexpected shadow. So the bottom line is: Global parallel lights should use parallelSky and follow some rules. Local parallel lights should be noshadows. All the rest is not well-defined: you'll avoid a lot of trouble by avoiding it altogether.
  15. Well it's not that bad is it? I thought multiple people have finished playing it already. No reason to remove a mission that has some issues, but can still be played and finished. You can put a warning in your mission description, but let players decide if it's worth it or not. I think removal is not something anyone will be happy with. I think it would be better if you start on a new mission and with the (hopefully positive) experience that you gained, you can fix things in this mission later.
  16. The problem with a "theme" system (I think) is that it's forcing the assets into categories they may not fit well into or that don't make sense; or I mean it's forcing the mapper to think in terms of discrete "categories" at all, when that may not be most effective. Whereas a tagging system doesn't impose any "system"... Tags are completely open-ended, and could be at any level of scale or heirarchy -- you could have: bathroom-furniture, made-of-wood, Victorian, X-author's set, good for triggers, items for a bookshelf, architectural, magic, etc, etc... as tags, but not all of those categories make sense as discrete themes with other co-themes at the same level. I guess this is a longwinded say tagging more intuitively lets you target what you want without imposing a structure you have to wedge it into ... just a totally open field of tags from any walk of life. Edit: This is not to say tags should be arbitrarily specific. There should be tags of general categories too of course; even these will be the backbone of the system. But the whole point is tagging allows multiple layers, so you can use the general category tags to start your search, then ween it down with increasingly specific tag sets, whatever is best for the asset set. Some asset sets, or especially combinations, will categorize differently than others, and tagging is ok with that. Edit2: The image I have in my mind anyway is like a photo-collection tagged collection. There's an opening page with a tag cloud with the most common basic tags (general category) the largest in size and minor ones smaller, which you click on and then you get a browser with that set of textures. Then on the left hand bar will be all the tag-combinations within that set (other tags textures in the set are carrying; then in parentheses maybe the number of AND-textures it'd filter down to / OR-new textures they'd bring in), the major tags again larger or highlighted somehow, which if you click one of those new tags, it'd filter the browser to show the AND set. And maybe there's also an option so you could have an OR set and get both (or even select a new OR set from the full tag cloud), which adds new textures into the browser window, and also new sets of tags in the left-bar (the new tags carried by one or more textures in the new set). Also there's a place you could back out of a tag to cut that subset out. So you could open up & winnow down the set as you desire. It ends up a kind of way to browse through the whole collection by navigating through tag AND/OR combinations. Also there's a search bar where you could type in a tag at any time also.
  17. First of all, ChatGPT , independent of the version, is a language model to be able to interact with the user, imitating being intelligent. It has a knowledge base that dates back to 2021 and adds what users contribute in their chats. This means, first of all, that it is not valid if you are looking for correct answers, since if it does not find the answer in its base, it has a tendency to invent it with approximations or directly with false or obsolete answers. With this, the future will not change, it will occur with AI of a different nature, on the one hand with search engines with AI, since they have access to information in real time, without needing such complex language models and for this reason, they will gradually search engines are going to add AI, not only Bing or Google, but before these there was Andisearch, like the first of all, Perplexity.ai, Phind.com and You.com. Soon there will also be DuckDuckGoAI. On the other hand, generative AI to create images videos and even aplications, music and other, like game assets or 3D models., The risk with AI came up with Auto GPT, initially a tool that seemed useful, but it can be highly dangerous, since on the one hand it has full access to the network and on the other hand it is capable of learning on its own initiative to carry out tasks that are introduced as if it were a Text2Image app out there, what was demonstrated with ChaosGPT, the result of an order introduced in Auto GPT to destroy humanity, which it immediately began to develop with extraordinary efficiency, first trying to access the missile silos nuclear weapons and to fail, luckily, trying to get followers on Twitter with a fake account that he created and where he got more than 6000 followers, hiding later, realizing the danger that can be blocked or deactivated on the network. Currently nothing is known about it, but it is still a danger not exactly to be ruled out, it can really become Skynet. AI is going to change the future, but not ChatGPT which isnt more than a nice toy.
  18. Now I'll admit: I could word things I bring up in a less hasty or panicked matter. I'll admit, I get anxious when I read about the various terrible things reality serves up like a heaping platter of "nope" almost daily. I'm a bit coarse in my language. But one of the things that attracted me to this forum is that not only does it focus on The Dark Mod, which is inspired by the original Thief Trilogy, which I adored growing up but could never get because I was too young at the time, and also because Springheel is rather pro-free-speech, something many forums don't allow or severely limit nowadays in fear of being "CANCELLED". I'll admit I used to be far left, and pro-cancelling whatever offended me. But over the years my literally autistic self matured (mostly) and learned that screeching at people to shut up because you don't like their opinion on how to stop legitimately bad things in the world when ssometimes, freedom does, indeed, need to be defended with force. And, as such, I gradually became more center left. I still consider myself a liberal in the classic sense, a strong supporter of secularism, and a violent opposed of authoritarianism and theocracy and the normalization of ties with theocracies and authoritarian states. I'm very thankful that Springheel allows for his platform to allow us to discuss and theorize about the news of the world, withoutbeing moderated by ban-happy mods. So, when you come here and start acting shifty and saying basically either I go and the forums start shutting up about what you don't like, or else you, as a Fan Mission creator (something I wish I could do but for multiple reasons can't) will leave the forums, especially when you could just ignore any threads I start, makes me dislike you as being a childish, weaselly suckup who takes advantage of The Dark Mod's low amount of developers to try and unspokenly blackmail the forums into censoring itself when you could just not participate in my threads.
  19. I will update this list as we go, re-arranging info based on severity - Ongoing privacy concerns The trade-offs between privacy and features is not a simple black-and-white decision, even Windows 8 has an “Advertising ID” that follows you around. Ars Technica revealed that, even with all of the Win10 security settings on Off, Win10 still sends some data to the Micro$oft Mothership. The simple fact is that Microsoft hasn’t told us what data it’s collecting. With the release of Windows 10, Micro$oft have stepped up there 'illegal' data capture of private user data - http://forums.thedarkmod.com/topic/17379-microoft-data-slurp-now-not-just-limited-to-win10/?hl=windows M$ is now via the latest update, monitoring how long your Win10 session's are and how long you use various apps - http://betanews.com/2016/01/04/why-is-microsoft-monitoring-how-long-you-use-windows-10. At release ALL Win10 (home-to-enterprise) users could not disable telemetry, but as of the latest update now enterprise user's only now have that option - http://www.zdnet.com/article/windows-10-telemetry-time-for-level-playing-field/ But it seems some enterprising user has created a tool for home/pro users - http://winaero.com/blog/how-to-disable-telemetry-and-data-collection-in-windows-10/. But the article points out that tere is some telemetry being sent back to M$ in Win7/8 - http://forums.thedarkmod.com/topic/17379-microoft-data-slurp-now-not-just-limited-to-win10/?hl=windows Another renamed service that needs to be disabled - http://www.forbes.com/sites/gordonkelly/2015/11/24/windows-10-automatic-spying-begins-again/ Another example of fresh install, on a PC that wasn't used for 8hrs - http://betanews.com/2016/02/06/windows-10-phones-home-a-lot-even-with-all-reporting-and-telemetry-disabled/ More and more tools are coming out for Win 10 to try and block all or most of the telemetry traffic, here one I have come across - DisableWinTracking Advertising it wasn't in at launch but there are reports of 'recommended' apps appearing in the start menu, WTF! -http://www.digitaltrends.com/computing/windows-10-start-menu-advert/ Stability and Compatibility I tested the retail version, its IMHO its still not stable enough to considered a daily OS. I tested on release and wasn't impressed. I found if I enabled (fairly modest) whitelist outbound blocking on my internet router, Win10's internet responsiveness would fall through the floor. All browsers would takes ages to resolve sites and the OS itself would actually become lumpy/laggy. Broken Video drivers, its so widespread that even a few on here have been affected - http://forums.thedarkmod.com/topic/17665-windows-10-why-you-shouldnt-upgrade/?p=384905 The Graphical user interface M$ white-washing of the interface in Win8 and office 2013 and have refused to learn from user feedback. Forced updates Not being able to control what gets installed on "MY PC", is a massive NO! NO! Patching remains Windows 10’s Achilles’ heel, all Windows 10 Home machines, and Windows 10 Pro machines that aren’t hiding behind an update server (such as WSUS or WUB) will get all patches applied according to Microsoft’s time scale. All three of the first Cumulative Update patches have had problems with reboot cycles. KB3081424 on Aug. 5, KB3081436 on Aug. 12, and KB3081438 on Aug. 14 all crashed a bunch of Windows 10 systems. The installer stops mid-installation, flashes an error message, rolls back, and reboots. Then you guessed it -- the forced installer kicks in and crashes Windows again. Rinse, lather, repeat. Getting out of the mess involves editing the registry. We haven’t yet seen how Micro$oft will recover from a really bad update, the experience to date with the three Cumulative Updates does not instil confidence. We don’t know if Microsoft will start documenting its patches again. We don’t know if much effort will be directed at fixing and improving the Microsoft-supplied Universal apps. Windows 10 installer takes a look at your system and based on the hardware and software it finds, assigns your request to a bucket of similar upgrade requests. The guys running the upgrade system, prioritize your request based on their assessment of how likely your system is to bomb out on an upgrade. Key apps, such as Mail and Edge, STILL aren’t ready yet Some of Windows 10’s key apps simply half baked. Mail has a nasty habit of putting notifications in the upper-left corner and leaving them hanging forever. There’s no combined Inbox, so if you have multiple accounts you have to jump from Inbox to Inbox. And it crashes hard -- for a lot of people. Edge, the new browser, similarly has all sorts of rough "edges". There are no extensions yet, thus no AdBlocker. Changing the search engine is tortuous, moving tabs onto the desktop and back again doesn’t work and you can’t pin tabs. In short use what ever mail/browser you wrere using on previous OS. Not much in the way of Universal apps Don't believe the marketing bollox about all of those wonderful Universal apps in Windows 10, whether it’s on a desktop, notebook, phone, Raspberry Pi, it ain't happening. The Windows Store is still by and large a wasteland, with crap apps galore. Win10’s Tablet Mode broken First, there’s the menu on the left that tucks away the entries on the left side of the Start menu. It collapses fine, but when it’s collapsed it rarely shows any more tiles than when it’s not collapsed. What’s the point, eh? Universal app windows have that pesky taskbar permanently tacked on the bottom, while the window bar at the top auto-hides. Edge, when running full screen, doesn’t support any of the old Metro IE swipe commands. You can’t swipe through running apps. The apps themselves? The irony is M$ Office on the iPad is better than M$ Office on Windows 10. OneDrive regression This concern applies only if you use OneDrive in Windows 8.1, and if you put a lot of stuff in OneDrive. For those of you using OneDrive in Windows 7 (and Windows 8), there’s no change in behavior with Win10. But if you’re accustomed to seeing all of your OneDrive files in Windows 8.1’s File Explorer, you’ll be in for a bit of a shock. Windows 10 makes you choose which OneDrive folders you want to be able to see in File Explorer. Once you’ve made that choice, the other folders aren’t accessible in File Explorer. The only way to see what files you have in OneDrive is by venturing to the OneDrive website. Missing Media Center and DVD player For those people that run Windows Media Center, its gone in Windows 10 PC. Instead Micro$oft wants you to use/buy an Xbox. Ain’t broke, don’t fix it The old adage comes from experience and it’s as applicable now as it ever was. If you’re using Windows 7/8/8.1, and it’s properly patched up and working for you, and you’ve stopped using Internet Explorer, you really have to consider whether it’s worth the effort to upgrade to Windows 10. Carefully consider whether the warning signs listed here. Still to many questions For example, when you upgrade a “genuine” Win7, Win8 or Win8.1 machine to Win10 and run the upgrade in place, Micro$oft records a hardware ID that says, “this machine has valid license” At that point, you can install either Win7 or Win10 on that machine, and your license will be validated. Its believed that the only version of Win10 that you can disable ALL telemetry and fully control Windows update in, is the enterprise version. Smells like Teen Spirit desperation Microsoft Marketing chief Chris Capossela explained that users who choose Windows 7 do so “at your own risk, at your own peril.” It is particularly myopic to rubbish one of your own products that way. Put simply Capossela is a complete cock, Windows 7 is no less secure than Windows 10 (it will be supported until 2020 and Windows 8.1 2023) and is no less compatible with new hardware and software. Also at the moment Win7 has a bigger market share, so easier work for developers. Micro$oft has bad been caught forcing the upgrade on some users, http://www.theregister.co.uk/2015/10/15/pushy_windows_10/ and http://www.fudzilla.com/news/39479-microsoft-raises-the-upgrade-pressure As this is a very bad and its only getting worse, another link to the forced upgrade/update issue - http://forums.thedarkmod.com/topic/17665-windows-10-why-you-shouldnt-upgrade/?p=385115 Nagware being rolled out the business machine - http://www.theregister.co.uk/2016/01/14/get_windows_10_business_pcs/ Now blocking support for the latest CPU in windows 7/8 - http://www.techpowerup.com/219316/no-enterprise-support-for-older-windows-versions-on-the-latest-processors-microsoft.html More marketing desperation Malware - KB3035583 http://news.softpedia.com/news/microsoft-updates-infamous-get-windows-10-patch-kb3035583-502117.shtml Compatibility issues If you have any old games that use really old forms of DRM or SafeDISC your fresh out of luck - http://www.geek.com/games/windows-10-doesnt-run-games-with-securom-and-safedisc-drm-1631383/ Various apps and games (even The Darkmod) has had issue's running on Windows 10, see - http://forums.thedarkmod.com/topic/17310-windows-10-support-thread/?hl=win10 and http://forums.thedarkmod.com/topic/17551-gamma-broken-in-windows-10/?hl=win10&do=findComment&comment=381800 Upgrade NagwareMicrosoft is still coming up with way to try and force users to upgrade from 7/8/8.1 - if you like me want to block 7 prevent this crap checkout GWX control panel or Never10 16. M$ deliberatly blocking the installation of some applications http://news.softpedia.com/news/Microsoft-Blocks-Classic-Shell-in-Windows-10-Build-9879-465429.shtml 17. Windows 10 installing UNWANTED Windows Store apps without user consent https://www.ghacks.net/2018/07/02/windows-10-installing-unwanted-store-apps/
  20. 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.
  21. Well, yeah, the problem of slow adoption is precisely what I'm complaining about. This is kind of a circular argument - if nobody adopts it, nobody is going to use it and it's going to have little support. I do realize that this is a difficult problem to solve because companies have to basically volunteer to "passively" support it and hope it brings them advantages in the long term. There are other aspects that I omitted as well, like for example HEAACv2 being slightly more demanding to decode (which is also the reason why Bluetooth historically used poor SBC encoding), but those are largely moot nowadays as well (even integrated bluetooth chips and cheapest SoCs can decode pretty much any audio format with no issue. Your point regarding storage and network costs does not cover the whole situation, I see three issues with it. Firstly mobile internet is still slow in many places in the world and it's often limited. Where I live it's difficult to get more than 5 GB monthly limit for a reasonable price. Secondly most websites are bloated as hell and any way to speed up their loading helps. This was the main reason for webp creation and adoption. Thirdly for services like music and video streaming bandwidth is expensive and the difference between using 160 kbps and 96 kbps for the same quality can save a lot of money. That was the reason why Youtube and Soundcloud switched to more modern codecs. And not even that, Netflix in some apps already switched to one of webp successors for movie thumbnails, because in such a large scale even serving the thumbnails in a decent image quality costs a lot of money. Btw in my case webp was certainly not useless, it was just an annoying situation. I use it as backup for my own use (seems to be about 1/5 of png size so far for photo-like files), so I just downloaded a codec from google to get explorer thumbnails and I don't need other people to support it. Although the fact that Facebook messenger converts webp files to... static gifs of all things, is kind of annoying (and funny).
  22. FXAA is cheap but looks awful. Supersampling AA is strictly more expensive than multisampling, no reason to use it if multisampling looks OK. Temporal AA requires major changes in the engine in order to be used, plus it kinda requires motion blur to hide its uselessness on fast camera motions. So don't expect multisampling to be replaced soon.
  23. https://www.theregister.com/2023/06/15/amazon_echo_disabled_allegation/?td=rt-3a The cloud strikes again! I.e. You can be instantly locked out of an entire ecosystem at any time for any reason, even if you have done nothing wrong at all.
  24. I'm seeing the improvement with shadow maps too, albeit I keep their quality at lowest. Indeed MSAA is still costly even so, I kept it disabled even now for that reason. Fingers crossed the next release may get shader-based Anti-Aliasing: From my tests in Tesseract / Redeclipse, FXAA / SSAA / TAA all tend to be cheaper, hope we get at least one someday.
×
×
  • Create New...