Jump to content
The Dark Mod Forums

Mortem Desino

Development Role
  • Posts

    2438
  • Joined

  • Days Won

    12

Posts posted by Mortem Desino

  1. You look like you could use some more content. Take this pk4 and toss it alongside your current FM resources, and open up "box.map".

    I did a little bit of work in this area years ago when I thought to myself, "TDM is definitely powerful enough to do some out-of-the-box settings. I wonder if I could make a sci-fi setting?" So I wrote definitions for a bunch of CC BY-NC-ND textures, shamelessly stole a wrench weapon from another D3 mod, and got to work on a map.

    I didn't get much more done other than a small hallway, and a fancy door with special AI-handling. But open 'er up and give it a whirl, noclip around (there's only three rooms). I'd much rather someone get some use out of it than it sit unused on my hard drive.

     

    post-2515-0-96262900-1510170738_thumb.jpg

    post-2515-0-89525400-1510170744_thumb.jpg

    • Like 2
  2. I, also, like Moonbo, don't enjoy entering debates like this for the same reasons he noted. I especially hate to pop in just for this after I've taken a long hiatus from TDM. However, I'm quite disappointed in some of the dead horsiness around this subject.

     

    But it did condone more righteous, generous behavior towards slaves.

     

    Which also means that it condones slavery. Contradicting your claim that it "made it immoral".

     

    People used the Bible, including the New Testament, to justify slavery until the 1800s. It's amazing that no one noticed that it made slavery immoral until after society started to have ethical problems with slavery.

    Springheel, I know for a fact that you're much more thoughtful than that. "The bible condones slavery" was already an unintelligible dead horse argument in the 19th century. And surely you recognize the several logical beggings of the question in your bald assertion (if I may syllogize it thusly:)

    "people have used the biblical text to justify slavery; slavery is ethically unacceptable; therefore I need not pay thoughtful attention to what the historic biblical text or historic Christianity actually has to say regarding it".

    Which people, and where, with what arguments? Which texts from the New Testament? What kind of slavery? Christian Thought has an ethical basis upon which to call slavery immoral -- Don't you need one of your own in order to say the same? And even if most Christians had supported slavery (and they never did), we surely don't make consensus gentium a test for truth?

    Slavery as a metaphor in New Testament theological discourse is common knowledge. Paul, being a good educated 1st century man, used several legal metaphors to talk about Soteriology and the relationship of man to God -- slaves, sons, citizens, property managers, and more. That is the purpose of slavery in the places where it acts as metaphor.
    You asked about the text from Ephesians 6 including, "masters, treat your slaves in the same way [as you would Christ]." If you are trying to pull that paragraph out of its meaningful literary context, in order to think of it as a bare standalone ethical maxim, you'll be sorely disappointed. If you're looking for veiled calls to social revolution, you'll be equally disappointed. Consider that the exhortations in the second half of Ephesians have an established foundation -- Paul isn't beating the church in Ephasus with a philosophically groundless moral bludgeon. There is a Christological and Soteriological premise for his cohortatives toward Christian living. Hence Anderson's argument that "the general idea of the texts is to recognize the brother in every servant and sort of to subtly suggest society to change its attitude." Even the very short letter of Paul to Philemon the slaveowner follows this pattern (in short: "Before you even consider what to do with this runaway slave, who is your brother in Christ, consider first how God in Christ has dealt with you.")
    One of the only philosophical stances against slavery in the whole modern era (outside of Christianity) is Kant's Categorical Imperative and Enlightenment natural law theory. Two historically laughable disappointments with regard to abolition. Even the anti-Christian Marquis de Condorcet had to begrudgingly admit that "only a few philosophes have from time to time dared raise a cry in favour of humanity [over against slaveholding.]" Enlightenment natural law theory died when 19th century men discovered that there were hundreds of non-Western nations that didn't conform with the "rationality" of Enlightenment Europeans. And even if someone could demonstrate the correctness of either of these ethical systems, will people even follow it when it goes against their self-interest or value system? Thomas Jefferson is a perfect example -- he gave lip service to slavery being a "hideous evil", but he still remained a lifelong slaveowner, never attempted to stop his financial dependence on slavery, remained racist not only to people of color but also antisemite, and he made slavery a constitutional right in the expanding territories.
    Meanwhile in Christianity, all classic Christians have always held that "if anyone is in Christ, the new creation has come," and the transformed Christian's value system and worldview will have soteriological motivation to treat his neighbor as himself.
    Finally, let's bring some empirical and historical force to the arguement. Figures like Granville Sharp and William Wilburforce should need no explication, but permit me to quote a few other thinkers on this subject:
    S. Scott Bartchy, “Slavery,” International Standard Bible Encyclopedia:

    In such an economic context [that of the Roman Empire] it was virtually impossible for anyone to conceive of abolishing slavery as a legal-economic institution. To have turned all the slaves into free day laborers would have been to create an economy in which those at the bottom would have suffered even more insecurity and potential poverty than before. To be sure, according to all known traditions, neither Jesus nor His immediate followers owned slaves; nor did Paul, Barnabas, or Timothy. So both the example of Jesus and His great concern for the poor proved to be a challenge for many early Christians to conceive of themselves as living already among themselves in an alternative social-legal environment (note how Paul appeals to Philemon to release Onesimus sooner than he may have planned). For the author of 1 Clem. 55:2 Christ's love working through humble spirits has motivated some Christians to sell themselves in order to have money to buy the freedom of others (see Shep. Henn. Mand. 8:10; Sim. 1:8; Ign. Polyc.4:3).

    Henri Wallon: Histoire de l’esclavage dans l’Antiquité (Written 1847--and already writing on the beneficial historic Christian impact on slavery in antiquity!)

    The master had to spare the slaves as his equals in freedom; He was to treat them still more as being their brother in bondage; ... We are all born in bondage, we are all redeemed in Jesus Christ. (Nous sommes tous nés en servitude, nous sommes tous rachetés en Jesus-Christ.)
    Thus, from the moment when Christianity had revealed its doctrine, the cause of liberty had vanquished. The day of triumph was to be delayed, it is true; And already the sign of salvation prevailed in the world, which was still awaited. But during these forced delays the Church did not forget the slaves; And at the same time preparing for them resources now honorable after emancipation, she pretended to give them a place in the domestic hearth, in the education of the family, in public esteem; It demanded for them all the rights and treatments of the free man
    Alvin J. Schmidt, Under the Influence: How Christianity Transformed Civilization (2001):

    It is an unarguable historical fact that the abolition of slavery in modern times stems directly from Christian influence.

    Philadelphian Quaker Benjamin Lay, All Slave-keepers that Keep the Innocent in Bondage: (1737):

    As God gave his only begotten Son, that whosoever believed in him might have everlasting Life; so the Devil gives his only begotten Child, the Merchandize of Slaves and Souls of Men, that whosoever believes and trades in it might have everlasting Damnation.

    William Warburton, A Sermon Preached Before the Incorporated Society for the Propagation of the Gospel in Foreign Parts (1766):

    “Gracious God! To talk (as in herds of Cattle) of Property in rational creatures!"

    John Wesley, Thoughts upon Slavery (1774):

    “The dreadful consequence of slavery is the same amongst every people and in every nation where it prevails. ... Thy [slaveowners'] hands, thy bed, thy furniture, thy house, thy lands are at present stained with blood."

    Charles Elliott, Sinfulness of American Slavery: Proved from Its Evil Sources; Its Injustice; Its Wrongs; Its Contrariety to Many Scriptural Commands, Prohibitions, and Principles, and to the Christian Spirit (1850)

    All men are redeemed by the same blood of Christ; and therefore, this common and general redemption by the blood of Christ is at variance with slavery. ... The same great sacrifice has been made for the slave as for the master; and therefore, the soul of the slave is worth as much as the soul of the master.

    • Like 2
  3. "blendLight" is just a global keyword within the material definition. It's a cheap operation because it simplifies the light interactions to not bother with the normalmap et al.

     

    Most of the light textures under lights/shadows/ are basically black splotches on a transparent background. The material shader just uses a "blend blend" stage.

    The ones in the NHAT forest (lights/shadows/shadow_canopy6) are different -- their stage is "blend gl_dst_color, gl_one", which would actually light up polygons.

     

    For some reason, I seem to remember that they don't work as a projected light, only omni. :huh:

  4. My personal favorites come from when I invited a German colleague of mine to watch an old American gangster film.

     

    (Spoken with a thick Eddie Robinson/Bogart/New York accent.

    ""Go give him what for." "Yeah, what for?" "That's right. Clean his clock! He spilled the beans, and he let the cat out of the bag." "You got it, boss, I'll give him the works."

  5. We have no real roadmap for sounds at the moment, though I'm always finding gaps that we could use. Best thing to do is dive into TDM and identify areas where you think you could improve the sounds. Lots of them were D3 replacements we scrambled to find/make at the last minute, so there are definitely areas for improvement.

    Second that. I, for one, wouldn't be at all insulted if any of my amateur recordings get bested. :) I'm not sure how much foley work you do, but what I heard in the ambient track was grand!
  6. I don't see how not having everything look like Minecraft blocks could cause the problem. It looks fine in-game and runs at 60FPS. The messiness isn't going to be replicated going forward, so I really can't be bothered going back and spending a while fixing it for my peace of mind =P

    Keep the barebones worldspawn "shell" of your map on a decent-sized grid--and then put all the details in the world you want inside of that worldspawn shell. This is just the way BSP map building has worked since Quake 1.

     

    If you neglect that and you get internal leaks, then that is the source of all kinds of grief. Internal leaks can mess with map compiling (as you just found out), it harms performance by rendering more than is necessary, it can cause odd rendering bugs (esp. with lights), it can cause sounds to propogate in odd directions, it can confuse AI pathfinding, and more. EDIT: Ah, RJFerret beat me to it. :)

     

    I used to do AutoCAD work for a local Battlebots team. If the CAD drawing of a machine part was "eeehh, it looks good enough", the actual BNC machining the part would reject it with an error message, or it would yield an obviously inferior piece. Think of it just like that. Your worldspawn doesn't need heavy intricate details (in fact, it's usually preferable not to.), but it should be a robustly foolproof leak-proof base.

    • Like 1
  7. I don't have DR on this computer, so I can't check the map file, but it seems like one of the walls of your room is a func_static? That'd definitely cause an internal leak, and be the cause of all kinds of goofy artifacts after dmap.

     

    EDIT: Yeah, I'm seeing a lot of the telltale signs of internal leaks.

     

    post-2515-0-85819900-1395155478_thumb.jpg

  8. Yep. Just feed it the right argument.

     

    Straight out of the source code:

    common->Printf( "USAGE: envshot <basename> [blends]\n" );

     

    So, envshot poolreflection 1024 1 will give you six 1024x1024 tga images in darkmod/env/poolreflection_XX.tga.

     

    If you're wondering what "blend" means: it just takes x number of screenshots, and blends them together as a sort of anti-aliasing (It's particularly useful around particle effects and moving shadowcasting lights.)

     

    EDIT: I think it's been mentioned elsewhere that large envmap images can be distorted or get a borked side. I'm not sure if this was fixed in a D3 patch or not.

  9. As tempting as it is, I would not apply any environmental effects to assets. You want them nice and dry unless it's processing for creatures or a specific voice but anything like verbs and delays and that kind of stuff, I would let your audio engine handle.

     

    A commitment like that made now could have dire consequences down the road. Just some friendly advice.

    +1.

     

    I would definitely want to have software-powered (e.g. OpenAL) delay and reverb. That project, however, has been swapped from front burner to back burner many times.

     

    As I'm certain Deadlove knows well, there are many games whose SFX had a bit of reverb baked into them, and generally sounded okay when EAX was piled on top. But you are absolutely right that the generally-accepted practice nowadays is to keep them dry. That is also my personal preference.

    • Like 1
  10. About the sounds propagating, I wasn't aware that AI does not respond to grunts from mantling, etc. I actually was under the impression that they did, as grunting in real life would be audible, but I guess this makes for better gameplay audio aesthetic than no sound at all, even if it is not recognized by AI.

    I believe they were originally going to be some clothing rustling, but I never got to recording and implementing them. I think the grunts were used just because they were available and more convenient. But yes, they were added for mere aesthetic value.

     

    I do think that the landing sounds are better with the verb on them, and I do know that if you land hard it would alert AI in Thief (at least if you land on tile / stone). Are all the player sounds inaudible for AI to hear, or just some of them? Or do the sounds of the player landing only alert AI if it's a footstep sound (which is not a player sound), and the grunting sounds don't matter?

    As far as I can tell from the definition, no player sounds other than footsteps have sound propagation properties. Some would make sense to have reverb applied -- such as the death shouts, or the the landing grunts (because they're accompanied by loud propagated footfalls.)

     

    For the footsteps, I'm going to need a bit of instruction, because it seems that they are cut into pieces (like the movement of guard's armor + revenant chains). Adding reverb to them individually would sound incorrect. Am I correct to think that if I line the individual files up back to back in order, then they will play as if there is a continuity? I haven't checked for myself, but if this is true, then I can use that method, apply reverb to the sounds all at once, and then chop them back up.

    I'm not sure how familiar you are with the inner workings of sound shaders, but here goes:

     

    OGGs or WAVs are very very rarely pointed to by themselves. They are instead put into a sound shader definition (*.sndshd). That tells the engine certain properties about the sound, such as: volume, whether or not to loop, where the OGG files are, how much decay with in-game distance, and more. Most commonly, a sound shader is made so that one sound can be randomly chosen out of a collection (e.g. choose one footstep OGG out of eight).

     

    When an AI is walking around and running its walking animation, there are certain points in the anim that will tell a soundshader to play one of its random OGGs. It ends up looking like this in the definition:

    anim walk1				  models/md5/chars/guards/proguard/walk.md5anim
    {
    	frame 8	 footstep
    	frame 16	sound snd_rustle
    	frame 25	footstep
    	frame 33	sound snd_rustle
    }
    
    

     

    EDIT: To answer your question: you could add some subtle reverb to the armor clink-clank or clothes rustling, and it would probably be fine.

     

    I, personally, think that it is unnecessary. The rustle of chainmail and the clatter of armour is something that is generally audible only when quite close to the AI. The illusion of distance and loudness caused by adding reverb would sound out-of-place. I could be wrong, though.

     

    EDIT 2: The revenant chain rustles have bugged me for a while. They sound like placeholders hastily cut out of some other SFX.

  11. The reverb, to me at least, gives me the illusion that an AI is going to hear me e.g. when I quaff down a potion, or when I grunt while mantling -- neither of which is true. Player sounds don't propogate.

     

    I've always thought of the player sounds, even grunts, as a soliloquy playing in my own head, not out loud. So the dry original sounds would probably be truer to that concept.

    • Like 2
  12. I'd caution against feature creep, but admit that adding the "delay" spawnarg, as per the "delay" on trigger_relays, would be a natural fit--if it weren't for the fact that you can simply activate a trigger_relay delayed for X milliseconds later.

    ...oh.

     

    Shows you how long I've been away from DR. :P

  13. Path_anim triggers might be useful for things like teleporting. AI plays a reaching out animation and you trigger a book to teleport away.

    In such a case, it'd be useful to be able to specify how many milliseconds after the start of an anim, rather than triggering after the animation is finished.

    • Like 1
  14. Some lines are supposed to be missed, potentially, because the AI is not projecting them out to be heard. When people mutter to themselves, they don't project their voice like they do in a conversation, and it would sound very artificial if they did.

    The fact that you can clearly hear a builder acolyte muttering some prayers only when very close serves to heighten the intimate danger of sneaking around--and TDM earns more tense and exciting gameplay moments because of it.

    • Like 1
  15. I'm quite familiar with that practice, and it's done that way to compensate for the fact that people will play their games on crappy-sounding TVs, crappy-sounding laptop speakers, mediocre headphones, all the way up to HiFi surround systems.

     

    Bioshock Infinite is probably a good example of this practice. Elizabeth's vocal lines, whether shouting or almost whispering, pretty much have been brought up to the same amplitude. Ditto for Deus Ex:HR. Half Life 2 also compressor/limiter'd the hell out of their vocal lines and Foley SFX. Doom 3's SFX exaggerated it even more. It's common practice, and it's usually very beneficial for action games even down to old-school adventure games.

     

    Whoever did Thief 3's audio design followed most of these action game conventions to a T. So whenever you heard an AI shout or bark, it was extremely jarring. Good! But!-- if you heard an AI merely yawn or stretch or mutter or even whisper, it was also just as extremely jarring. :wacko: That's just poor sound design.

     

    If you were to ask any mixing engineer, they'll tell you that too much compression is very fatiguing on the ears. And Thief & TDM both require sitting quietly or patiently sneaking. To avoid such ear fatigue, a lot of TDM's elements of sound aren't heavily compressed or normalized, and many of our SFX aren't heavily compressed or layered. (Personally, I wish some of them were run through a fast limiter, just to get a few more dB of "punch" in them). I'll totally agree that you can address that large volume gap in the vocals, but I would do it more gently than AAA action game sound design would demands.

     

    As for foleys, your prof's machine gun probably didn't sound "real enough" until he layered the actual machine gun recording with a book slamming, a few other gunshots, a burst of pink noise, a wooden plank 'crack', and an explosion. That's just the way foleys work -- If it's recorded real, then it probably needs something more to make it sound flattering. If it sounds bigger than real, your brain thinks must be real. I've even done that with a kick drum while mixing music: It needed more "punch", so I slammed a book on a wooden crate. :laugh:

×
×
  • Create New...