Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tue, 5 Dec 2017 18:42:11 -0800
- Always glad for an opportunity to rant! :) I don't know how much
- background you're going to include or assume the reader already knows,
- so if some of the explanations about Doom network code, ZScript, etc.
- are redundant feel free to edit them out.
- I also don't know how long the answers are supposed to be. Let me know
- if I'm going over and I can try trimming some of the fat.
- > How did you first come up with the idea of a hyper-realistic Doom
- > mod? Obviously Doom isn't known for that kind of gameplay, so what
- > inspired it?
- Well, first things first, I should qualify that "hyper-realistic"
- description! HD is vastly more forgiving - you'll never break a bone
- or lose an eye, for instance.
- What's packaged as HD now started off as 4 different mini-mods I made
- for my own use back in the mid-2000s.
- The first was a pinky demon replacement, a proof-of-concept based on
- what I'd read on the Inuitor Insultingly Stupid Movie Physics website
- review of the 2003 Hulk movie. (The review has been taken off the site
- though it might be in the book.) Basically the objection that caught
- my eye was that making giant Hulk-ized pit bulls (nevermind the breed
- bias) was a terrible idea, because pit bulls were already just the
- right size for the sort of attacks they're known for and being bigger
- would just slow them down. So I thought about the huge man-sized pinky
- demons that basically served the role of Wolfenstein's German
- shepherds and wanted to try out a smaller, faster, more agile version
- to see how much deadlier they could be.
- The second was an attempt to give the zombiemen a 3-round burst
- attack. The main FPS I was playing at the time was the Infiltration
- mod for the original Unreal Tournament. I remember having some trouble
- running it after some updates (it had incredible detail that
- *seriously* tested the limits of what the engine and my computer could
- handle), and wanted to see if I could replicate some of that gameplay
- in another FPS.
- The third was an attempt to create an assault rifle with grenade
- launcher, when the DECORATE markup language was advanced enough to do
- custom weapons.
- The fourth was a DECORATE replacement pain elemental that, instead of
- shooting lost souls, shot fans of mancubus fireballs and randomly
- strafed while chasing the player in the same manner as some of the
- Hexen bosses. The idea was to make a more interesting and less
- aggravating fight while keeping the overall difficulty the same.
- Eventually I combined these things into a single mod.
- Sometime around March 2007 I discovered that I could use ACS to change
- a player's pitch and angle when they fired, so I added
- Infiltration-style muzzle climb to finally justify the three-round
- bursts. And then I just kinda started adding stuff from there, and the
- pattern continues to this day.
- > Is Hideous Destructor a "gag" to you - in the sense that it
- > completely subverts everything everyone knows about Doom - or do
- > you think that a truly innovative gameplay experience came to light
- > when you framed it through a hardcore, tactical FPS lens?
- Hideous Destructor is Doom fanfic! Virtually every design decision
- comes from asking the question, "Given Doom has ____, but also has (or
- doesn't have) ____, how do we harmonize those facts in a way that
- makes the setting plausible and the gameplay fit the setting?" (One
- possible exception is in the monster attacks most of which were
- inspired by various anime and gaming tropes, but consider: "Given Doom
- has flashy magical attacks that don't really mesh with known laws of
- physics, and also has the BFG,...")
- The guys who make Ground Branch have a name for their philosophy:
- Natural Order of Realistic Gameplay. The way I understand it, it means
- that they don't try to come up with any pre-defined roles or
- expectations and try to manipulate damage, accuracy, etc. to match;
- instead, they do their best to replicate how a gun (or a bullet or
- whatever) works in real life and however good or bad it is, that's
- what it is. No distortions or concessions should be made in favour of
- "game balance"; the normal tradeoffs described by Isaac Newton and
- Adam Smith should be enough. (My own experience working with HD is
- that, if you've got 2 guns with real-world counterparts and one is so
- clearly better ingame that no rational player would choose the other
- one in any context when both are available, either your game is not
- sufficiently modelling something - malfunction rate, felt recoil,
- maneuverability in tight spaces, convenience of ammunition - or your
- game only has situations that the inferior gun was never designed
- for.)
- What I do with HD kinda sorta skirts around the borders of that, but I
- cannot commit to such a philosophy wholesale. As a generic "Doom
- improvement" gameplay mod, I try to ensure that every canon weapon is
- represented in some way, meaning there are some weapons that I *must*
- use like the chainsaw or super shotgun which you wouldn't even think
- about adding if you were designing a tactical milsim from the ground
- up. This, and the fact that the weapons don't perfectly correspond to
- anything in our time and place, gives me both the freedom and the
- obligation to come up with reasons for a weapon's continued presence.
- I'm guessing, of course, that the folks at Blackfoot never have to
- consider much more speculative things like "Why would this
- zillion-dollar corporation hoard all these barrels of glowing green
- goo?" or "if I were Satan what would motivate me to strike the Earth
- with a visible, physically vulnerable army, giving up my most powerful
- weapons of disbelief and complacence, and what would I be exploiting
- to give me the power to do so (and why wouldn't I just use the
- old-fashioned featherless bipeds and bring up another Bolshevik
- revolution or ISIS or Moral Majority or whatever)?" when developing
- Ground Branch.
- In between typing bits of my answer I was given a link to a short
- story in Uncanny Magazine, "Between Liminal Spaces" by Hiromi Goto.
- https://uncannymagazine.com/article/notes-liminal-spaces/ It's
- surprisingly resonant of some (not all, and not all of it is resonant)
- of the thought processes that go on when I decide what to add or not
- add in HD.
- > It seems like a lot of work to add in, like, head-bob and manual
- > medpacks to a source code that didn't calculate for those things
- > before. How difficult was Hideous Destructor to make? What were the
- > hardest things to implement?
- First I need to correct two possible misconceptions. I'm not doing
- anything to the Doom source code at all - everything is done within
- the confines of GZDoom's scripting systems and can be run by GZDoom
- unaltered. Head bobbing is already in Doom - it's just that at the
- reduced speeds the default amount becomes much more pronounced. (Only
- this past year was it possible for the mod to reduce the amount
- further so at the lowest speed it didn't look like the player was
- going on tippy-toes in the middle of each step.) There's nothing in HD
- that you wouldn't be able to find in another GZDoom mod; it's the way
- they're all put together that makes it what it is.
- With that out of the way: I think you've caught me at one of the more
- interesting times for me to answer such a question. Late in 2016 Graf
- Zahl et al. released the first implementation of ZScript, an ongoing
- attempt to unify as much of (G)ZDoom's functions as feasible into a
- single comprehensive runtime-compile scripting language.
- This meant that years of work with crazy workarounds in DECORATE and
- ACS [Action Code Script, first introduced in the original Hexen for
- running certain events in a map] was deprecated or obsolete.
- To be clear, I was (and am) very happy to bin all that old work and
- replace it with more sensible, maintainable coding. But it does mean
- I've spent the past year having to substantially rethink almost all of
- HD's pre-existing code, and the new stuff has introduced a lot of new
- bugs to deal with. Just in terms of sheer amount of time spent,
- though, this overhaul project itself (which is still ongoing but on
- hiatus due to other commitments) is definitely a contender in being
- the most difficult "one" thing.
- In terms of sheer aggravation, I think I have had the most trouble
- with debugging multiplayer desyncs. [For a bit of context for those
- who only got into online gaming after Quake: the way a GZDoom
- multiplayer game works, each client is running a wholly independent
- instance of the game and (more or less) the only things communicated
- between the clients are player inputs and diagnostics. This means
- that, if I start 2 instances of GZDoom loading the same mods and
- entering the same map, *every single thing* in the game world, visible
- or invisible, has to be *exactly the same*, or the game will
- desynchronize - everyone's version of what is going on will get more
- and more different until nothing makes sense anymore.]
- Hideous Destructor uses a *lot* of randomly generated numbers. Most of
- the time this raises no issue with multiplayer - the numbers are all
- clearly selected within the playsim from a pre-generated list and all
- clients will be in sync. However, *some* things are not obviously so,
- and are treated differently by each client. Sometimes it has turned
- out to be a bug with GZDoom; other times it is an undocumented (or
- merely non-obvious) distinction in how certain types of things are
- treated; a few rare times it's even been a problem with another mod
- that was being loaded with HD. It takes a lot of testing and guesswork
- to figure out.
- On the other hand, a couple things that have continued to bother me
- that are hard enough that I still haven't tried to implement them for
- any release:
- - Decisionmaking for the monsters. I've given up pathfinding, but the
- prospect of a monster being able to decide on principled grounds
- (instead of just randomly) whether to attack or move is always this
- tantalizing that I keep thinking *just a little more work and it just
- might work!*, but every attempt has inflated into a huge ball of
- unmanageable spaghetti before imploding - with no noticeable
- improvement in the overall effectiveness of the monster in question.
- (In some ways it makes them even easier to fight, because they become
- very easy to predict and exploit.)
- - Persistent individualized magazines, batteries and other
- partial-consumables in the player's inventory. In Doom, each inventory
- item carried on a player is supposed to consist of a single actor for
- that inventory type, with an "amount" variable to track how many the
- player has; a whole new array would have to be defined to track
- individual amounts in each instance of that item. The bookkeeping can
- be done, and theoretically nothing is stopping me; but there are so
- many edge cases where other things interfering with the player's
- inventory can potentially "desync" between the number of units one has
- and the number of sub-units in each of those units.
- The current compromise, which was practically all but necessary before
- ZScript, goes like this: I've got 2 separate inventory items for full
- mags and rounds that are not in full mags. If you hit reload, you'll
- try to reload one of the full mags, and if you don't have one of
- those, you'll reload a random number of the abstracted rounds - always
- short of a full mag. Meanwhile, if you sit around doing nothing for
- long enough and you have the relevant weapon out (and your full mags
- are not already maxed out), you'll start passively converting partials
- to fulls. Not very satisfying but at least it conserves the number of
- rounds available (unlike some mods that discard the partial entirely)
- while discouraging Chronic Reload Syndrome.
- > What's the part of Hideous Destructor you're most proud of?
- I think HD has ruined me for a lot of weapon mods and FPSes out there
- when it comes to being impressed by the performance and *presence* of
- a weapon. A lot of thought goes into making sure the weapons are
- portrayed as having their own independent existence from the player -
- it's more than just you hit this button, your HUD plays this animation
- and the projectile spawns to hit the other guy, you've got to deal
- with the weight of the thing, it gets snagged in things and it's
- annoying - having the biggest gun isn't just a macho wish-fulfilment
- anymore when you've got to *work* to lug it around.
- On the other hand, I take a lot of pride in trying to come up with
- ways to make HD as responsive to the player's input as possible
- without a multiplicity of buttons to memorize. I find so much
- "realistic" fare unplayable when you've got a key to lean left, lean
- right, go prone, crouch, crouch slightly higher or lower, tuck your
- elbow in, start breathing voluntarily, etc. etc. etc. - it just starts
- to feel like I'm trying to pilot a vaguely man-shaped
- remote-controlled robot. With HD I try to throw all that out and stick
- as close as I can to the controls normally available in GZDoom -
- which, including altfire, reload, zoom, 4 custom user weapon
- functions, use-item, jump and crouch, is already more than twice the
- total number of buttons you could use in vanilla Doom.
- That all said, I really like the mage imp attacks.
- > I wanna say you first uploaded Hideous Destructor back in 2007
- > (though I could be way off on that,) and over the years the mod has
- > certainly picked up a cult following. What does that mean to you?
- > To have a niche group of people who are totally in love with your
- > insanely difficult Doom contraption?
- The earliest recorded writings I have discovered evidencing an HD
- release go back to February 2007, so let's go with that. :)
- I'm certainly grateful for all the people that care about this mod.
- Guys like mumblemumble and Abba Zabba and Silentdarkness12 (just
- arbitrarily naming the first 3 I can think of off the top of my head)
- have been indispensable in providing feedback and bug reports. Hard
- Knox's videos (and SD12's) are always a joy to watch. Without you guys
- HD would be... well, maybe not that terribly much *more* of an
- unplayable bizarre dog's spaghetti breakfast, but certainly a lot
- buggier and less compatible with all the different maps out there!
- (My sincerest apologies to those whose names I have neglected for
- brevity's sake. I am not known for being even remotely fair.)
- > You still do active work on the mod to this day right? What are the
- > sort of tweaks you're working on right now?
- As I mentioned, I'm still in the process of upgrading everything to
- ZScript. I'm maybe 80% done with the weapons, though I may go back and
- revisit some of the earlier stuff to optimize it with some of what
- I've learned along the way.
- I've recently commissioned some new assault rifle HUD sprites from my
- graphics artist ( https://art-of-bee.tumblr.com/ ) and I've got to add
- them soon for the next release.
- I might reach a point where I might expect to start telling myself I'm
- finished, but that's turned out to be a lie before. A few times over
- the years I've decided that HD was "finished" and decided to update
- only for bugfixes and maintenance, but every time I've done that
- eventually:
- 1. GZDoom came out with a new feature that finally let me do something
- I'd wanted to do for years; or
- 2. I learned something that turned something in HD totally upside
- down. The biggest example of 2 that comes to mind: HD has become
- much, much more forgiving of player mobility (especially while
- shooting) in recent years. In earlier versions your entire view would
- go way off and you'd suffer all sorts of penalties, and your speed
- for anything other than forward sprint was slower generally. Back
- when HD got started I had been very active on the Infiltration forums
- and training rapier with Academie Duello back when they were still
- working out how they would even teach their stuff. Both experiences
- put a *huge* emphasis on maintaining ideal static forms in pursuit of
- perfect defence and offence. Then after something like an 8-year
- hiatus I picked up rapier again with Valkyrie Western Martial Arts
- Assembly ( http://boxwrestlefence.com/valkyriewmaa/ ) and it almost
- literally added two entire dimensions to how I viewed armed combat -
- those perfect static defences were only ever meant for the tiniest
- sliver of time in a much more complex process. Going back to HD I
- realized that I was grossly overpenalizing and overrestricting
- movement where I should not have, and a lot of tweaks around that
- time were geared towards letting the player act and maneuver - and
- *fight* - more naturally.
- Pretty much all I ever post about HD is on the ZDoom forum thread.
- It's generally fairly quiet (compared to say the Brutal Doom Facebook
- page) and frankly I like it that way - lots of people with lots of
- ideas, lots of them really are good proposals (or would be good but
- for some limitations imposed by the engine, cliché aversion or my
- arbitrary whim) but I've only got so many hours in a day and so many
- spoons to throw at things.
- > Also if I could get your name, your age, and where you're from,
- > that'd be great.
- Matt, mid-30s, Richmond, BC.
- > Thanks so much!
- Thank you for this opportunity!
Advertisement
Add Comment
Please, Sign In to add comment