Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/work thread' or tags 'forums/work threadq=/tags/forums/work thread&'.

  • 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. We have been collecting textures for 4+ years, by nearly a dozen different people. It is inevitable that some textures will not stand up well in terms of quality. This thread is the place to nominate textures you think are poor and should be either fixed or removed. The following process will be followed (we are currently on step 1):
  2. I'm not sure if this should go here or in the Tech Support section, so If this is the wrong place, please let me know. As a hobbyist game developer, I'm curious about how the Light Awareness System works in The Dark Mod. I've been poking through the source code, but haven't found any definitive math explaining it, or code comments mentioning on how it's calculated. If anyone could point me to exactly where to look, or could explain what steps and/or math it's using to calculate how visible the player is, I'd greatly appreciate the insight. For reference, I'm trying to implement a similar system in my own stealth game I'm working on in Unreal Engine 4.
  3. Hello! Tracking down information on software and plug-ins that work with D3 / TDM can be a tough. So I have created a thread here where people can post what software/ plug-ins/ tutorials or other references they've had success or failure with in TDM. 3DS MAX 2013 64bit .ase - Default .ASE model exporter works. However you have to open the .ase file in text edit and manual change the *BITMAP line on each material to read something like: "//base/textures/common/collision" which allows the engine to read the correct material path. md5.mesh / animation - Beserker's md5 exporter/importers for 3dsmax. http://www.katsbits.com/tools, Importing and exporting works. The model must be textured, UV'd, with a skin modifier attached to the bones to export. PM me (Kingsal) for help with this. Imported models using the script will not be weighted appropriately, so this is not recommended if you are simply trying to edit existing tdm content. (Use blender instead) MAYA 2011 32bit md5.mesh - So far I've not had any luck with Maya 2011. I am using Greebo's MayaImportx86 for Maya 2011. I've got the importer working however I get a "Unexpected Internal Failure(kFailure)" and the import fails. This could be due to something finicky in Maya that I am not doing correctly. Will keep trying.. Blender 2.7 about - Blender is commonly used and pretty well supported on the forums/ wiki. Various versions may work as well - https://www.blender.org/download/ md5.mesh / animation Blender MD5 importer/exporter (io_scene_md5.zip): https://sourceforge.net/projects/blenderbitsbobs/files/ Sotha's guide Blender Male/ Female rigs by Arcturus - Here Edit by Dragofer: more links found in this post.
  4. I continue the work on the animations with the new Blender rig. Walkcycle: http://www.youtube.com/watch?v=nozToZMIFR8&feature=youtu.be It's only 2 frames shorter than current animations, so it's rather similar to walk1.md5anim now.
  5. I uploaded 3 LOD versions for body and head. I didn't put too much work into it. I simply used decimate modifier.
  6. I kind of miss our old status-bar on the right, where you could casually share what's on your mind or what is happening in your life right now. So, I figured, let's just start a thread for that. Let's get this started...
  7. I'm happy to announce the release of my third FM: Year of the Rat. This is my first city hub map, focused primarily on story characters and environment. It's my most complex project to date, taking its fair share of effort to make which was a good learning experience. As an experiment I opted to use no scripts and rely solely on the default entities, as well as no custom assets apart from the map and splash screen hence the small pk4. It features a few special elements, such as factions that are hostile only when the player commits crime or a decoder lockpick used to open electronic doors. The beta testing thread can be found here, thank you everyone who helped find the most obvious problems. You play as a famous thief nicknamed Black Jack: A man who's pulled many crazy jobs in his life, only to be hired for an absurd and insulting task by an anonymous employer. The objective is pretty straightforward: Be kind to the mice and feed them some cheese! Your silly quest takes you to the Lantern Light district during the Lunar New Year celebration, a place where gangs and corrupt nobles do their dirty deeds together. What ulterior motives and unexpected twists could your adventure entail? While the most obvious problems were patched during beta testing, some issues can't be easily resolved due to the complexity of the entity setup and objectives, meaning you may encounter a few inconsistencies. Most notably surrounding AI, which may float above chairs and not react to alerts or oppositely send the whole map into a panic: This is mostly due to how the engine handles AI and alarms. The map is small since I wanted to add more detail without having to work on large areas, as such some places can feel cramped while the skybox may be visible up close. I'll be busy so further updates are unlikely unless I decide to add new content later... you're welcome to report any issues you encounter, but keep in mind that if something wasn't fixed it's likely known but difficult to address or due to engine functionality. Spoilers for objectives and secrets as follows: Download 1.2: Google Drive, Mega. Screenshots with minor spoilers for the various areas:
  8. A recent thread of discussion has cropped up in the TDM Discord channel and a couple forum threads ( this comment and the general discussion after it came to mind) about the usability and efficacy of Flashbombs in TDM. To wit, most people seem to think they're kinda bad because they're just a stun, which still requires you to hide in a very narrow time frame and then wait for the AI to cool off after use. One of the big upsides of flashbombs in TG/T2 was that, if you had alerted human enemies chasing you, you could drop a flashbomb and then turn around and blackjack them to non-lethally remove them from play. It was an inventory-limited opportunity to recover from failure and continue playing the game, as opposed to just reloading a save. This is a fun and proactive interaction, and I propose that we add it to TDM. Specifically, I think this can be accomplished with minimal code. After a read through the public TDM git repository, I think the most appropriate change would be to adjust the condition here: https://github.com/stgatilov/darkmod_src/blob/ac0a286561630eefee1cbb44d09d77128cd3d8e7/game/ai/AI.cpp#L11892 to read as follows: if ((GetMoveType() == MOVETYPE_SLEEP || // grayman #3951 GetMind()->GetState()->GetStr() == "Blinded") && // proposed - maybe there's a better way to write this condition like checking the type or something? ((minDotVert != 1.0f) && (minDotHoriz != 1.0f))) // cos(DEG2RAD(0.0f)) indicates elite faceguard helmet { Currently, this check does not pass for blinded AIs and they move to the if-else branch at L11903, and since they're very alert because they were actively chasing the player, they cannot be blackjacked. This change should give a flashbomb-blinded AI the same knockout vulnerability angle as a sleeping AI. Helmeted human AIs (and undead/magical AIs because they can't enter that particular mind state) retain their blackjack immunity, and everyone else can be clunked in the face as a reward to the player for spending a limited resource, not flashing themselves, and having the quick thinking to turn around and draw the blackjack. The blinded mind state lasts for about 8 seconds (I forget where I found that but its a hardcoded magic number in a Damage() function somewhere), which feels a bit short but about right, and then when the state changes the player's window of opportunity is lost. My brain kinda glazed over when I looked at the SVN checkout+compilation.txt instructions, but if I can help test or debug this with a little hand holding I'd be happy to do so.
  9. hmm ok this ones a bit odd, if i reverse the usb-C connector on the board it works but that makes zero sense as these connectors are unidirectional so im at a bit of a loss. only thing i can think of which might explain it might be that the connector is slightly misaligned and shorts the connection in the other direction, but then why does it work with the 3070 ???. so i reversed the connector and that fixed it but im slightly worried that the connector might be defective. so did the upgrade give me more fps in games... not really no but it did make gameplay a whole lot more fluid especially in path of exile 2. but i think they need to have a hard look at the engine because it is literally roasting my 2080 ti and this game does not even use raytracing just some dx12 upscalers and antialiasing (DLSS and DLAA). so it should really not be this heavy. in fact even alan wake 2 can not get my gfx card above 45 degrees no matter how hard i push it but path of exile 2 pushes it above 85 degrees .
  10. On a lighter note (and because my holiday started today, oh yeah!), let's have a new thread for music, that you just enjoy and probably is not so well known...or somehow obscure but does not sound as strange as the songs we report in @STiFU's progessive music thread. Here is one of my new favourites, a similar recording of this track by other artists has been used in an US show broadcasted last year ( @Amadeus: What is the name of the show? )
  11. ok got it up and running but im having a bit of a problem. the front usb C header does not work with my old 2080 ti gfx card works fine with my rtx 3070 though huh ?!?. if i plug it in when using my 2080 ti the board refuses to start and the led's flash on and off no Q code, if i use my 3070 card it just works wtf... i wonder if it has anything to do with the 2080 ti having its own usb C header ?.
  12. I am pleased to announce the release of our new fan mission, The Hare in the Snare: Part 1 Mission type: City Missions + Inn/Tavern Description: People are being abducted off the streets and a Watch Captain requires the services of a thief to help him find out why. Download link (version 4): https://drive.proton.me/urls/ME63JDKPJ8#cz8NexM0DR75 Credits: Mapping and original characters: @Frost_Salamander Story, readables, custom models, voices and cinematics: @Kerry000 Menu title track produced and mixed by @JackFarmer with selected gigagooga sound samples Beta testers: @Cambridge Spy @Zerg Rush @Amadeus @Acolytesix @Lzocast @wesp5 @nbohr1more @Kerry000 @ate0ate @Wellingtoncrab @prjames Additional thanks: @Dragofer, @nbohr1moreand @peter_spyfor technical help @Springheel for the modules and tutorials @kingsalfor allowing @Kerry000to abuse his manbeast everyone else on Discord and the TDM forums who offered assistance Requirements and notes: This mission requires TDM 2.09. Earlier versions will probably work but you might see one or two missing models. You may experience some FPS drops in some areas with lower-end hardware. Mid-range and above should be fine. If you have issues, I highly recommend you use shadow maps instead of stencil (settings -> advanced -> shadows implementation). It makes a big difference. Screenshots:
  13. I believe we should remind ourselves that flashgrenades in TDM work exactly the same as Deadly Shadows. It seems like the team felt knockouts were too powerful in Thief 1-2 and nerfed both the blackjack and flashgrenades. TDM found a (improvable, as datiswous and other have said in the past) compromise with the blackjack, but copy-pasted TDS flashgrenades design. Searching and Agitated Searching states (Alert 3 and 4) have non-sensical durations, indeed. I've been tweaking their values locally in the file tdm_ai_base.def "alert_time3" "15" // was 25 "alert_time3_fuzzyness" "3" // was 8 "alert_time4" "30" // was 65 "alert_time4_fuzzyness" "5" // was 20 But even if you increased the blinded state duration and decreased alert times, you'd still have to wait for guards to calm down, as if you completely screwed up. And even if guards were at alert 3 or 4 when you blind them, does forbidding you a knockout for using a limited tool really add anything to the game flow? I think not. Definitely. TDM compromise is still too restrictive for restrictiveness sake. The rules don't specify which alert level counts as "alerted", what counts as "having their weapon out" (Alert 5? The state of raised awareness when they completely cooldown after Alert 4?), and the little differences between bare-headed, helmeted but bare-necked and full-helmeted guards makes the mechanic a PITA: https://wiki.thedarkmod.com/index.php?title=The_Dark_Mod_Gameplay#Blackjacking @snatcher Classic Blackjack mod doesn't force you to remember obtuse requirements; civilians are free knockouts, guards (bare-headed or "necked") are always knockable from any direction including fleeing, except in Alert 5 (Combat); fully-helmeted guards can only be killed or gased. At most, TDM core could force knockouts from behind for guards in Alert 4, but that'd be the extent of complexity.
  14. We shouldn't turn off animation blending. Without it there's annoying jump from one animation to another. We need more blending, not less. Let's do a different hack. The problem is that origin bone rotation is driven by code and it finishes rotation in 1/3 of a second. We can't make it significantly slower without messing up AI. My first hack was to simply make character move slower than origin. So the origin would finish rotation, stop and then the character would continue moving for the rest of the animation. But we can animate the origin bone too. Since we want the origin rotation to be longer, we can counter-animate it. So while the game code rotates it 90 degrees one way, we can apply rotation in the animation file the other way to counter it. So we end up with 90-60=30 degrees movement for 1/3 of the animation. Then when the code stops moving the origin, the animation file can continue rotating it for the remaining 60 degress. We end up with this stupid looking animation: In the game however origin now rotates for the whole duration of the animation (1 second). This is what it looks like with blending set to "0" in float delta = getTurnDelta(); if ( delta > 10 && hasAnim(ANIMCHANNEL_LEGS, "turn_left")) { animState( ANIMCHANNEL_LEGS, "Legs_TurnLeft", 0 ); } if ( delta < -10 && hasAnim(ANIMCHANNEL_LEGS, "turn_right")) { animState( ANIMCHANNEL_LEGS, "Legs_TurnRight", 0 ); } Here's with blending set to "4" (current Dark Mod default). There's some jerkiness. I applied some more tweaking in Blender to mitigate some of that: With blending set to "6": Those values in: animState( ANIMCHANNEL_LEGS, "Legs_TurnLeft",4 etc., they seem to drive only the "ease in"? I'm a little confused about how they work.
  15. Announcing the Release of 'Requiem' for The Dark Mod! Download Download the latest version of the Dark Mod here: http://www.thedarkmo...wnload-the-mod/ Download the mission here: Mediafire: http://www.mediafire...u89/requiem.pk4 Southquarter: http://www.southquar...ons/requiem.pk4 Fidcal.com: http://www.fidcal.co...ons/requiem.pk4 Create a folder in your Dark Mod install with the path "darkmod/fms/requiem" and place the downloaded .pk4 file inside. When you load up The Dark Mod, the mission will appear on the "New Mission" page. Requiem can also be found directly using the in-game loader. Gameplay Notes While this mission is playable in TDM 1.8, for an optimal experience please download and play in TDM 2.0 (or higher). Most inventory items in the game can be dropped, so no need to carry them around after they are no longer of any use. Note that If you use noclip or other console commands while playing, there is a good chance that you will break the intended flow of gameplay. Credits Mapping and Readables: Gelo R. Fleisher Voice Acting: Goldwell Additional scripting: Obsttorte Additional textures and assets: Flanders, Sotha, Grayman, Springheel, Bikerdude, Obsttorte Additional map optimizations: Bikerdude Testers: Bikerdude, Obsttorte, Gnartsch, AluminumHaste, Baal, nbohr1more, PPoe Custom Soundtrack: Leonardo Badinella - http://leonardobadinella.com/ Additional Music: Lee Rosevere - http://freemusicarch...c/Lee_Rosevere/ Marianne Lihannah - http://www.funeralsinger.net/ Vox Vulgaris - http://www.last.fm/music/Vox+Vulgaris/ A note from the author Hi all. While I've been involved in indie game development for a while now, I'm first and foremost a writer. My most recent project has been a novella that tries to capture the visual feel and tone of the Thief series (you can find the link below). As I was writing, I found myself playing a lot of Thief and Dark Mod fan missions, and got to thinking that maybe I wanted to make one myself, as a companion piece to the book. When I finished up writing, I had a bit of down time and decided to take the plunge. Having never done any serious mapping before, my plan was to make a small mission that I could bang out in a month or two and call it a day. Well, as sometimes happens, the project got a little bit bigger than I had planned. Ten months, and lots of elbow grease later, Requiem is finally ready for you to play. I'd like to thank everyone who helped pitch in to help make Requiem come alive, from those who took the time to answer my many questions on the forums to those who actively contributed to the FM. I especially want to thank Bikerdude who served as my mapping mentor, and Obsttorte whose clever scripts really turned what was in my head into the game that you are playing. Above all, I want to thank you for downloading and playing Requiem; I hope you enjoy it. Links of Interest Author's Blog: http://gfleisher.blogspot.com/ Companion Novella (Amazon): http://www.amazon.co...k/dp/B00BYEW02M Companion Novella (Smashwords): http://www.smashword...oks/view/298956
  16. 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
  17. Hey @thebigh this is awesome! Would you mind reporting this over in the ghost report thread here: https://www.ttlg.com/forums/showthread.php?t=150710 This is one of those missions we currently don't have a ghost report for, as some reports from the old Square Enix forum got lost. You could simply write in the stats and add a brief description of the main challenging areas like you did above, and I can add it to the archive. Thanks!
  18. so was fritzing more to your liking ?. im still bogged down with my mom so atm only thing i got ready was upgrading my second x99 PC with an AMD board and a ryzen 3700x. except i seem to have lost my bracket for mounting my noctua NH-D15 on the AM4 socket sigh... so it will be up and running sometime in the near future but i cannot say when i get the time for all the stuff i have planned well the new build will sport my RTX 3070 and 32 gb gskill DDR4 ram. the 3700x is far from the best but its what i had money for and it wont bottleneck a 3070 to badly, at some point ill up it to a zen 3 5xxx model. the 5900x i use for my 2080 ti is actually plenty good and runs like hell on wheels despite the 2080 ti being a PCIE 3 card. only thing that is any problem atm is path of exile 2 which is a cpu hog the likes of which we will hopefully newer see again lol. other than that it runs alan wake 2 on high with raytracing on medium and near 60 fps so im plenty ok with it. i sold one of my old x99 boards and keept the other one for running a development server. it runs with a 6950x 10 core i7 so 20 threads gives me plenty of power for compiling msys2 packages and i made some unofficial ones for 32 bit clang and ucrt with all the bells and whistles. im trying to port classic flang to our package system since it still supports 32 bit fortran code and msys2 has dropped developing 32 bit packages for anything but the old msvcrt mingw compiler. rust has also been a rather thorny experience on clang 32 since clang uses memory mapping instead of malloc it runs out of memory space on the newer rust models since memory mapping disregards the large adress aware flag and limits memory to 2gb instead of 4. not sure i can work around that since it would require a rather substantial rewrite of the standard library. for now most rust packages build with the 1.81 version of rust (not the latest svg library though). so i can provide 32 bit clang and ucrt packages for my ports of clang and gcc if anyone needs those. btw both kicad and fritzing are part of the above and work fine with 32 bit windows
  19. Contributions downloads are at http://fidcal.com/DarkMod/index.htm Note that there is no dedicated beautiful sortable webpage list. I don't have time and also this means less delays. Just browse the folders and click on readmes and images and grab any zips. If anyone submits anything I can just upload it in a few minutes. ~~~~~~~~~~~~~~ If you wish to offer coding, modelling, or any other kind of help got to the I want to help forum for discussion. If you have any extensive assets you wish to discuss also you can go to the I want to help forum. If you simply want to share an FM, prefab(s), textures, whatever then post details in this thread (there are other websites for FMs too.) Generally these need to be zipped up with a description.txt plain text file and optionally an image, and uploaded somewhere I can get them such as a fileshare website like rapidshare. Any problem with that and if you have ftp I can arrange a direct upload to a private temporary folder on my website. All submissions to this thread should be accompanied by a short description summary to go on the download page and optionally a picture(s). Such submissions will be placed on my website download page (wip) at fidcal.com. Anything suspect for any reason I reserve the right to delete. I accept no liability for downtime or even no-continuance of the download section or even the entire website for any reason. Downloaders: I accept no liability if you download anything you'd rather not: download at your own risk. Oh yes, and I am not responsible for global warming, economic depression, you name it; I'm not responsible. From there, any mappers can download what they want. The Dark Mod Team may or may not assess some items for inclusion in future Dark Mod updates. FMs may be assessed for inclusion on the Dark Mod website. Anyone feel free to mirror the download folder. Any suggestions post in this thread too.
  20. Every now and then people post silly screenshots they've taken from TDM. Why not start an own thread for it? Recently, I've experimented with adding props to AI's. The wiki says "Attaching things to AI is an important way to make your AI unique," and indeed really unique AI's can be created this way. It is summertime. Even the crypt's residents need to do something about that awful pallor...
  21. All consecutive animations get blended together. You can change duration of transition in frames. It's the number after comma. For example: animState( ANIMCHANNEL_LEGS, "Legs_TurnLeft", 18 ); There are hundreds of those and changing some of them may break things of course. E.g. combat animations. Although at "18" combat seems to work. Here's a slightly lower number (18 frames). The randomly played idle animations are blended a lot more smoothly while NPCs walk too. Also the random head and shoulder turns that are driven by code.
  22. Phew, it's almost exactly been 3 years since my first post about my VR modification for TDM. Three more versions of the game have been released in the meantime, and with them come performance improvements that I feel it's finally viable to continue my work on the VR adaptation So without further ado, head on over to https://github.com/fholger/thedarkmodvr and grab the latest release. It's based on the future 2.09 version, but is fully compatible with a 2.08 install. Although I've tried to make the VR version use its own set of resources (separate `darkmod_vr.cfg` and shader folders), I'd recommend you make a backup or copy of your TDM installation to be able to get back to the flat version cleanly without effort. Please heed the README in the repository, particularly about the choices of VR backends. Some noteworthy information for this new version: performance should be considerably improved from the old alphas. That doesn't mean it's perfect - although the CPU bottleneck is now completely gone, the game is now severely fill-rate limited. So if you have a current-gen headset with high resolution and/or a weaker video card, forget about any supersampling or AA. I also strongly recommend to stick to stencil shadows and disable soft shadows and ambient occlusion - the latter isn't that impressive in VR, anyway, and simply not worth the GPU cost. And even then, there will be some scenes in some missions where reprojection is just unavoidable, even with the beefiest GPU. That being said, I have tried a multitude of maps, and I think it's very playable. the UI is finally usable! Both the menu and ingame HUD elements are projected to a virtual screen in front of your sitting position. It's not the most elegant or immersive solution for the HUD, but it works vertical mouse movement is excluded from the VR view - this was suggested by some of you way back, and I think it makes the experience much more enjoyable. It can make it a little hard, though, to aim with the mouse for actions like frobbing items, because there's currently no visual indication to where the mouse is pointing. I'm planning to add one asap, but in the meantime, you can equip a weapon to get a vague sense of your mouse orientation. If you do want to re-enable vertical movement in the view, set 'vr_lockMousePitch' to 0 in the console. Other than that, I hope you enjoy this new version. Let me know which improvements you'd like me to work on first. Also, there are probably any number of render and other bugs still left in there somewhere. If you find one, please report them over at the Github tracker (https://github.com/fholger/thedarkmodvr/issues), so I can keep track of them. Latest Update:
  23. ============== -= 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.11 **Dev build dev17056-10800 (2.13) fixes several visual effects which have been broken in the mission since the release of 2.11. For that reason playing with that version or later is currently recommended** -Iris does not support mods or the Unofficial Patch- Download and place the following .pk4 into you FMs directory: Iris Download ============== *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:
  24. Greetings everyone! I recently got into TDM and am already having a lot of fun playing through and ghosting missions. However, coming from Thief, I am mostly relying on the rules and my experience with that game, while there are clearly differences in how TDM works. Right now, there is talk in the ghosting discussion thread on TTLG to amend the ruleset and include clarifications pertaining to TDM. So I wanted to drop by and ask: is there an active TDM ghosting community already and have any rules for this playstyle been developed? I would also like to ask someone to take a look at the draft of this addendum to see whether everything looks correct: https://www.ttlg.com/forums/showthread.php?t=148487&page=16&p=2473352&viewfull=1#post2473352 Thanks!
  25. The Problem Readables are available in a wide range of TDM bitmap fonts. Unfortunately, the majority of these fonts lack non-ASCII glyphs for European languages, and it would be a prohibitively lengthy task to craft them. This is one of several translation hurdles. (Another is soliciting, organizing, and distributing the work of human translators; see “AI for Translations: An Exploration” for work on an alternative. This also promotes the use of meaningful alphanumeric #str_ IDs - possibly automatically generated – instead of traditional numeric.) A Proposed Solution Suppose that when a particular page of readable is shown, it is shown first is English, with the mapper-specified font (e.g., Camberic), and then, after a number of seconds, shown in the current user-selected language, with a different font (e.g., Stone), one that offers the needed diacritics? And with the translated font size scaled down to accommodate potentially more-lengthy translated strings? Both the English and translated text can be viewed in sequence. That opens the door to “quick and dirty” default translations, e.g., machine translation. In particular, the reader may sometimes be able to work-around any layout problems and sub-optimal translation by consulting the English text. (Nevertheless, default translations may sometimes miss subtle nuanced hints, so the ability to improve them with tweaked text is a necessity.) The Proposed Mechanics Recall that the game engine currently passes these values to a readable’s gui: gui::title gui::body With a multipage readables, the content of these parameters changes as pages are flipped. For clarity, it is proposed to replace them with: gui::titleEnglish gui::bodyEnglish gui::titleTranslated gui::bodyTranslated The latter 2 would be just like gui::title and gui::body, except that they would serve empty strings when the current language is English or there is no translation available in the current language (and so be used for gui code program logic, to suppress a transition). Observe that this behavior does not substitute an English string for a missing non-English string. Skip the remainder of this section if details are not of interest. Each stock readable .gui would need a one-time conversion to use them. Instead of the traditional 2 winDef overlays for text, there would be 4, corresponding to the 4 text-passing parameters just mentioned. This allows the translated text to fade in while the English text fades out, when an onTime event starts the transition (at 2 seconds in this example). Here is the fragment of .gui code that has been altered: Aspects of this Design – Transition from English The transition is timed, so no extra “Translate” button is shown, nor a hard-to-come-by hot key required. If you want to see the English again, you would briefly navigate away from the page to another, then return; or, if a single-page, close and re-open it. A simple implementation (as the code above and example below) uses a fixed, hard-coded time. Alternative Mechanism. At some cost to code clarity, it is probably possible to get by with just the 2 normal text-passing parameters (gui::title and gui::body) and their traditional 2 overlays, though additional variable(s) would be needed for tight time-synchronization between engine and gui; and overlapping fade-in/fade-out between English and translation would not be possible. Advanced Version. In the longer term, timing could be made more flexible, by passing it as parameter from the engine, e.g.: “gui::transitionTime” Where does this value come from? While it could somehow encoded into the .xd file by the mapper, I prefer a different approach. Have the engine calculate it from character or word count of the body, with user-specified globals for reading rate and min and max bounds, e.g.: sys_readablesWordsPerSecTransTime sys_readablesMinTransTime sys_readablesMaxTransTime A drawback of a timed transition is that additional reading time is needed to get to the translations, which may, with immobile readables, increase risk of discovery by guards. So having these additional user controls would let a user get to the translations faster, even skip the English entirely by setting bounds to zero. A Simulated Example – FM “readableTranslationFadeIn” In the absence of engine support for the 4 text-passing parameters, it is still possible to make an approximately-functional mockup using some hard coding. However, this prototype DOES NOT suppress the transition when the current language is English. That is, it shows (rather than prevents) an English-to-English transition with change of font & font-scale. TDM with the languages set to “Francais” (French). The first screen shot shows page 1 of a 3-page scroll, momentarily displayed in English with Camberic title and body. After a few seconds, it transitions to the second screen shot, in French in Stone font. With accents. While shown here as a scroll, this approach should be easily adaptable to books and sheets. About the Example’s Implementation The screen shots are from a prototype FM: readableTranslationFadeIn Notable files are: guis/readables/scrolls/scroll_calig_camberic.gui, a custom override of the standard Camberic scroll readable, with the translation transition mechanism from above, plus additional simulation fakery described below. strings/all.lang, a UTF-8 file containing 6 #str_ (2 per scroll page – title & body) in each language section. Only the [English] and [French] sections were implemented. The English example content was loosely derived from the St. Lucia FM. The English text (without #str_ structuring) was manually converted to UTF-8 French using Google Translate (website, not API). strings/english.lang & french.lang. These were generated from all.lang using my gen_lang_plus program to create the 8-bit “ANSI” versions as required, e.g., ISO-8859-15 encoding for French. xdata/readableTranslationFadeIn.xd, that contains the #str_IDs for the 3 scroll pages. Within scroll_calig_camberic, this simulation had this fakery: “gui::title” and “gui::body” were stand-ins for hypothetical parameters “gui::titleTranslated” and “gui::bodyTranslated”; The English text was hard-coded, and the appropriate content selected by actual parameter “gui::curPage”, to make up for missing hypothetical parameters “gui::titleEnglish” and “gui::bodyEnglish”. The READABLE_FADE_TIME is currently set to 2 seconds for testing. Probably 5-6 seconds would be better during game play. Aspects of the Design – Font Scaling As mentioned earlier, the translated font is scaled to make the text smaller than the original, to accommodate languages that need more room. A simple implementation (like in the example code) uses fixed values with “textscale”. So the textscale for the two Translated winDef overlays is smaller than for the 2 English winDef overlays. Specifically, in the example GUI code, the text scaling factors from the original Camberic readable were retained: textscale 0.4 // titleEnglish textscale 0.31 // bodyEnglish and supplemented by (with a different font, namely Stone): textscale 0.33 // titleTranslated textscale 0.24 // bodyTranslated The goal is to keep the rendered text smaller than the original English rendering for languages with more characters per sentence. These values, while hard-coded, will differ across readables (due to different starting fonts), and would need to be experimentally determined. But this treatment, with just a fixed scaling value that is independent of both text content and current language, is unlikely to be very satisfactory. Better ideas, needing additional engine modifications, will be considered in a follow-on post. Additional Considerations When Authoring the XD File. Recall that TDM is relatively inflexible when using #str_ within an .xd file. So this form will not work: "page1_body" : { "" "" "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" } Instead use "page1_body" : "#str_fm_scroll_camberic_pg1_body_parish_inspection_excerpts" With the 2 leading linebreaks moved into the #str content as leading \n\n. When Testing. If there is a mismatch between the TDM Language setting and the PC’s language setting (e.g., under Windows), then some characters may turn out wrong or indicated as missing (e.g., as boxes). The degree will vary by language, and is unlikely to be seen in the initial English render (because that’s almost all in ASCII, common to all the ISO encodings.) Even with such mismatches, the translation can be reviewed as to overall length and where linebreaks occur. Be aware that direct editing of *.lang files is not recommended, and could risk converting from a particular “ANSI” raw 8-bit encoding into “UTF-8”. Applying this Technique More Broadly. A few fonts have oddball glyphs for certain characters, e.g., a skull and crossbones in Treasure Map. This would require special handling during translation. For Briefings, Objectives, and Messages, similar approaches can be conceived. However, for each of these (and different from readables), only one particular font is routinely offered. And there are alternative designs to be considered. For instance, the English and Translated text could be shown simultaneously side-by-side in various ways, instead of sequentially. The Objectives have the additional complication that the font size is already user-adjustable.
×
×
  • Create New...