There are a lot of properties that game mechanics can have that make people invest in games. Legible rules, clear feedback, deterministic and discrete cause and effect, clearly understandable win conditions and game states, being relatively simple to implement in code, having properties that make discrete variations and permutations of gameplay situations easy to build and easy to parse for players, setting rules up in ways that can be structured with real-time pressure, often embedded in large spatial structures to organically pace an experience...
Shooting (and combat more generally) has proven to be pretty easy to make satisfy most of these criteria. There are other core styles of actions that do as well (say, 2d Platforming, or clean puzzle mechanics like in games like Tetris).
These mechnical factors matter, because it's often the case that people who don't like violence in games would prefer games to focus on other kinds of challenges that they find more socially good in terms of morality or ideology. But then they stomp all over the mechanical styles of issues I was just listing above, and the results is predictably game designs broad masses of players don't want to play.
I've worked on both AAA hyperviolent games, as well as with educators on learning games with what they saw as pro-social game play, so this is a divide I've had front row seats to.
And to make what I hope is a productive contrast, one of the really great things about Undertale is that the designer didn't make being peaceful in the game lame. It is (or was for me) actively fun to try to figure out how to not kill enemies, because you still have to engage in bullet hell dodging while you try to psychoanalyze your opponents, and that dodging (for players who like those kinds of mechanics) still maintained a lot of the properties I just listed above.
To make a more real-world comparison, my father-in-law was an extremely successful junior college tennis coach, and he has noted in passing that he couldn't personally see how anyone could invest in Olympic sports like figure skating, just on the level of taking the competition that seriously. And his argument (he wasn't being universalizing, particularly, just tying it to his experience as an award winning coach) was that the extreme subjectivity of judge ratings was really offputting to him, as a competitor. Obviously tennis can have bad line calls and other controversial judge issues, too - all human sports can. But I think his argument ties in with my original one here; a lot of game players really like clean, legible rules with clear good and bad states so they can invest in getting good at games and take pleasure in their good play. And, as I say, shooting and combat at this point often fulfills that well.
(I'm a game designer, so I can't help but respond to this as a designer first, and not primarily a player)
I wonder how much of the issue here is the rise of the abstraction of "gameplay loop" itself as a lens that shapes what gets made.
One of the things that can keep a game fresh is players being unclear on where the border of play is, or what the range of the possible is. When I was playing Mario 64, say, I really wasn't clear on what was possible in the game, and so one of the main pleasures of playing the game was encountering new kinds of interactions and new kinds of activities embedded in specific space that I didn't know would be in the game. Same experience with Legend of Zelda: Ocarina of Time. As a matter of fact, this was true for me when I was first playing through the original Half-Life and the original Metal Gear Solid as well, or Castlevania: Symphony of the Night. The boundaries of the possible were not clear, and I had to play to tease them out. There was something like an implicit promise (because those games were violating my expectations early) that I might see and do stuff I hadn't seen and done yet if I stuck with the game.
Refined gameplay loops with variation are certainly cool and a great and an important tool, and many games I love do rely heavily on them (like, say, Slay the Spire, or the original Doom deathmatch as a kind of competitive play, or Street Fighter 3). But my general sense is that the more designers think in terms of game play loops, the earlier the edges of a game design and limits on the realm of the possible become clear for a player in a subconscious way. In a way, this is similar to a player noticing early that they seem to have heard all the music a game is going to provide, or seem to have seen all the enemies or weapons early - they recognize they've found all the novel stuff they're going to find, and everything going forward is going to be re-combinations and permutations. But I think it's a little harder to reason about when it comes to a player discerning the limitations of what kinds of play they will ultimately encounter, because it's a bit more subtle of an issue.
There's something here about the aesthetics of open-ended discovery versus the pleasures of achievement, I think, perhaps in something like a fractal sense.
I think there's a lurking development tension here, too. Constrained variations within game play loops can often help constrain arbitrary interactions in game play code, and arbitrary interactions in game play code make systems harder to reason about, and balance, and ensure stability, and modularly farm out different tasks to different developers. So I suspect there are development reasons for preferring these kinds of designs as well.
I worked on a couple of high profile FPS games during the era when designers really started trying to make these Potemkin village spaces off in the distance of levels to suggest larger realities (especially the 2000 shooter Soldier of Fortune).
I don't have anything interesting to say about how the backrooms phenomenon has evolved in recent years, but I do find it mildly amusing that I have a very different, but equally horror-themed, reaction to seeing "players" poking around in the original backrooms. Because it immediately gives me flashbacks to the feeling that players have found spots where collusion detection has had a nasty issue (because of bad geometry, or floating point precision errors in the physics system or a NaN, or players abusing the physic system to climb to areas they weren't supposed to), and now there's some awful-to-track-down bug to be fixed during a death march crunch time... all of which actually was a somewhat common occurrence during development at the time, of course.
Obviously, that makes me a lousy target audience for this art movement. But it's been vaguely fascinating watching people enchant, essentially, spaces that were experienced, from our side, as an very brittle (but useful!) optimization hack that we were all too aware could be easily broken.
Back in the late 90s, when I first entered the video game industry to work (when it was quite scruffy, countercultural, and populated by some pretty odd people), one of the first things I encountered was a new co-worker who, next to his giant tower of used Mountain Dew cans, had a black and white TV in his cubicle. This struck me as very odd at that moment in time - as I understood things, obviously the point of work was supposed to be that it was a place where you worked, not a place where you watched TV. (Now, granted, everyone else was playing the recently released Diablo on their work PCs during lunch in network mode, and we were a game studio after all, so my reaction wasn't totally coherent). Still, no one else had a TV, and that guy was young and single with no work-life balance, he was a recent transplant, and it still seemed unusual at the time.
Fast forward 28 years later, and now everyone has an amazing TV in their pocket at all times when they commute, sit in their work space, go out for coffee or lunch, or go sit down in the bathroom, all with a near infinite collection of video via youtube, netflix, and even massive amounts of porn. How little did I know. And that's to say nothing of texting and twitter and reddit and instant messaging and discord and ...
Several years ago, I was working on a college campus, and there were giant corporate-flavored murals beside some of the city blocks students walked, full of happy multicultural clip art people and exciting innovative technological innovation, and adorned with the message, "Imagine a borderless world!" Clearly that message was meant to be rhetorical, not a call to reflection, critique, or reevaluation. There did not seem to be the suggestion that one might imagine the borderless world and then, having done so, decide it was a problem to be corrected.
I wonder a lot, these days, if we're not deep into a Chesterton's Fence situation, where we have to rediscover the hard way the older wisdom about having separate spheres with separate hard constraints and boundaries on behaviors, communities, and communication pathways to facilitate all sorts of important activities that simply don't happen otherwise - something like borders and boundaries as a crucial social technology, specifically about directing attention productively. Phones and tablets are, in their own Turing complete way, portals to a borderless world that pierces the older intentional classroom boundaries.
I really try to avoid anything about politics here, but I recall there already being a controversy about this back in May of 2024. Specifically, there were public comments from the new CEO to investors about Cracker Barrel needing to change the demographics of the customers who ate at Cracker Barrel, and, depending on your point of view, some people interpreted the way the comments were said as suggesting that there was something morally suspect about how non-diverse, non-inclusive, old-and-white-and-straight the current dining demographics at Cracker Barrel were. There was a small right-of-center online public outrage du jour about it at the time. I'm not interested in litigating what the CEO said or how justified the outrage was, just noting precedent.
So there already was a pre-existing history here for people who are sympathetic to this point of view, particularly coming as it did shortly after some similar Bud Light and Target controversies.
"But that's not how real life works at all, right?"
How real life works is always a plausible interesting goal, but it's very often at odds with a bunch of other valuable goals for players.
A particular sharp example of this is sports video games. It might well be interesting (and certainly realistic) to simulate bad referees in a sports game. Horrible blown calls by tennis line judges, or missed calls by basketball refs, or bad umpire calls on pitches. Real-life soccer makes working the refs and their inability to see everything an art form, as far as I can tell.
Perhaps that's interesting, but the irony here is that real life refs are actually bad simulations of the original perfect game code in the first place, from a certain point of view. I think debates about the use of instant replay in sports gets at the heart of this, and one could imagine using real-time AI to help refs taking this conversation much further.
I think the sports case is a particularly sharp example, but it definitely holds with all sorts of choices in games.
For Animal Crossing in particular, I remember when I finally played it, it struck me after a while how much it had in common with recent MMOs (Everquest and World of Warcraft) that I had had fellow game developer friends have their lives severely disrupted by. And when I played the original Animal Crossing, I remember noticing specifically how careful the designers were in having players use up every bit of interesting content in a day after 45 minutes or an hour, so that eventually you'd run out of things to do, and that was the game's signal to put it down and pick it up again the next day. And I remember being struck by how intentional it was, and how humane it was... particularly given their goal of wanting to make a game that was asynchronously coop (where different family members could play in the same shared space at different times of day and interact asynchronously). As a game designer myself, I really respected the care they put into that.
Anyway, that's my immediate thought on seeing this (fascinating, valuable) experiment with LLM dialogue in Animal Crossing. The actual way NPCs work in these games as they are has been honed over time to serve a very specific function. It's very similar to personal testimonials by paid actors in commercials; a human expressing an idea in personal dialogue form triggers all sorts natural human attention and reception in us as audience members, and so it's a lot more sticky... but getting across the information quickly and concisely is still the primary point. Even dialogue trees in games are often not used because of their inefficiency.
I totally think that there will be fascinating innovations from the current crop of AI in games, and I'm really looking forward to seeing and trying them. I just think it's unlikely they will be drop-in replacements for a lot of the techniques that game developers have already honed for cases like informational NPC dialogue.
A few years ago, I was feeling dispirited about being middle-aged and had come around to the conclusion that, at least when playing games, my general dissatisfaction and "meh" response to the games I was playing was probably a function of my age rather than anything about the games themselves. I was enjoying some games to an extent, but I wasn't being really grabbed by anything, and I was having a hard time sticking with much that I was playing. It seemed like a reasonable just-so story, and a particular exhausting one if you make games and theoretically are supposed to like them.
And then I picked up Hollow Knight, was utterly sucked into it in a deep way, couldn't put it down, and came out the other side doing the Principle Skinner meme - "Am I so out of touch? No, it's all those other games that have been wrong..."
So thank you Team Cherry, for helping remind me that 1) I really can love games deeply, even in my tired middle-aged-ness, and 2) sometimes the problem isn't that a person is being too judgmental, the problem is that the the lofty potential of their ideals really is, perhaps, justified, and other creative people (for a variety of understandable reasons, really - making games is a hard and costly business) mostly aren't even really aiming for such things.
I'm probably saying something obvious here, but it seems like there's this pre-existing binary going on ("AI will drive amazing advances and change everything!" "You are wrong and a utopian / grifter!") that takes up a lot of oxygen, and it really distracts from the broader question of "given the current state of AI and its current trajectory, how can it be fruitfully used to advance research, and to what's the best way to harness it?"
This is the sort of thing I mean, I guess, by way of close parallel in a pre-AI context. For a while now, I've been doing a lot of private math research. Whether or not I've wasted my time, one thing I've found utterly invaluable has been the OEIS.org website, where you can just enter sequence of numbers and then search for it to see what contexts it shows up in. It's basically a search engine for numerical sequences. And the reason it has been invaluable is that I will often encounter some sequence of integers, I'll be exploring it, and then when I search for it on OEIS, I'll discover that that sequence shows up in much different mathematical contexts. And that will give me an opening to 1) learn some new things and recontextualize what I'm already exploring and 2) give me raw material to ask new questions. Likewise, Wolfram Mathematica has been a godsend. And it's for similar reasons - if I encounter some strange or tricky or complicated integral or infinite sum, it is frequently handy to just toss it into Mathematica, apply some combination of parameter constraints and Expands and FullSimplify's, and see if whatever it is I'm exploring connects, surprisingly, to some unexpected closed form or special function. And, once again, 1) I've learned a ton this way and gotten survey exposure to other fields of math I know much less well, and 2) it's been really helpful in iteratively helping me ask new, pointed questions. Neither OEIS nor Mathematica can just take my hard problems and solve them for me. A lot of this process has been about me identifying and evolving what sorts of problems I even find compelling in the first place. But these resources have been invaluable in helping me broaden what questions I can productively ask, and it's through something more like a high powered, extremely broad, extremely fast search. There's a way that my engagement with these tools has made me a lot smarter and a lot broader-minded, and it's changed the kinds of questions I can productively ask. To make a shaky analogy, books represent a deeply important frozen search of different fields of knowledge, and these tools represent a different style of search, reorganizing knowledge around whatever my current questions are - and acting in a very complementary fashion to books, too, as a way to direct me to books and articles once I have enough context.
Although I haven't spent nearly as much time with it, what I've just described about these other tools certainly is similar to what I've found with AI so far, only AI promises to deliver even more so. As a tool for focused search and reorganization of survey knowledge about an astonishingly broad range of knowledge, it's incredible. I guess I'm trying to name a "broad" rather than "deep" stance here, concerning the obvious benefits I'm finding with AI in the context of certain kinds of research. Or maybe I'm pushing on what I've seen called, over in the land of chess and chess AI, a centaur model - a human still driving, but deeply integrating the AI at all steps of that process.
I've spent a lot of my career as a programmer and game designer working closely with research professors in R1 university settings (in both education and computer science), and I've particularly worked in contexts that required researchers to engage in interdisciplinary work. And they're all smart people (of course), but the silofication of various academic disciplines and specialties is obviously real and pragmatically unavoidable, and it clearly casts a long shadow on what kind of research gets done. No one can know everything, and no one can really even know too much of anything out of their own specialties within their own disciplines - there's simply too much to know. There are a lot of contexts where "deep" is emphasized over "broad" for good reasons. But I think the potential for researchers to cheaply and quickly and silently ask questions outside of their own specializations, to get fast survey level understandings of domains outside of their own expertise, is potentially a huge deal for the kinds of questions they can productively ask.
But, insofar as any of this is true, it's a very different way of harnessing of AI than just taking AI and trying to see if it will produce new solutions to existing, hard, well-defined problems. But who knows, maybe I'm wrong in all of this.
I was in the game industry when we originally transitioned from C to C++, and here's my recollection of the conversations at the time, more or less.
In C++, inheritance of data is efficient because the memory layout of base class members stays the same in different derived classes, so fields don't cost any more to access.
And construction is (relatively fast, compared to alternatives) because setting a single vtable pointer is faster than filling in a bunch of variable fields.
And non-virtual functions were fast because, again, static memory layouts and access and inlining.
Virtual functions were a bit slower, but ultimately that just raised the larger question of when and where a codebase was using function pointers more broadly - virtual functions were just one way of corralling that issue.
And the fact that there were idiomatic ways to use classes in C++ without dynamically allocating memory was crucial to selling game developers on the idea, too.
So at least from my time when this was happening, the general sense was that, of all the ways OO could be implemented, C++ style OO seemed to be by far the most performant, for the concerns of game developers in the late 90's / early 2000's.
I've been out of the industry for a while, so I haven't followed the subsequent conversations since too closely. But I do think, even when I was there, the actual reality of OO class hierarchies were starting to rear their ugly heads. Giant base classes are indeed drastically bad for caches, for example, because they do tend to produce giant, bloated data structures. And deep class hierarchies turn out to be highly sub-optimal, in a lot of cases, for information hiding and evolving code bases (especially for game code, which was one of my specialties). As a practical matter, as you evolve code, you don't get the benefits of information hiding that were advertised on the tin (hence the current boosting of composition over inheritance). I think you can better, smart discussions about those issues in this thread, so I won't cover them.
But that was a snapshot of those early experiences - the specific ways C++ implemented inheritance for performance reasons were definitely, originally, much of the draw to game programmers.
Hey, thanks! I ran myself ragged on that project, so that's nice to hear. And yeah, I think we really did nail a particularly kind of visceral experience.
I was knee-deep working as a technical game designer + engine programmer on Soldier of Fortune when Half-Life came out. I can't put into words the impression that the opening that game left on me; I still remember very distinctly experiencing the tram ride, just being utterly entranced, and then being deeply irritated when an artist walked over to my cubicle, saw the game, and jokily asked what was going on, pulling me out of the experience. For me, it was one of those singular experiences you only have a very, very rarely in gaming.
It's funny, though - I would say in retrospect that Half-Life had the typical vexed impact of a truly revolutionary game made by a truly revolutionary team. In terms of design, the Half-Life team was asking and exploring a hundred different interesting questions about first person gaming and design, very close to the transition from 2d to 3d. And their influence, a few years later, often reduced down to a small handful of big ideas for later games influenced by them. After Half-Life, because of the impact of their scripted sequences, FPS games shifted to much more linear level designs to support that kind of roller coaster experience (despite many of Half-Life's levels actually harkening back to older, less linear FPS design). The role of Barneys and other AI character also really marked the shift to AI buddies being a focus in shooters. And the aesthetic experience of the aggressive AI from the marines as enemies also cast a long shadow, too, highlighting the idea of enemy AI being a priority in single player FPS games.
Certainly, those were the biggest features of Half-Life that impacted our design in Soldier of Fortune, which did go on to shift to much more linear levels, much more focus on scripted events, and would have resulted in much more emphasis on AI buddies too if I hadn't really put my foot down as a game programmer (and in my defense, if you go back to FPS games from that era, poorly implemented AI buddies are often, by a wide margin, the most frustrating aspect of that era of games, along with forced poorly done stealth missions or poorly implemented drivable vehicles - the fact that Barneys were non-essential is why they worked well in the original Half-Life). You can see this shadow pretty clearly if you compare Half-Life to, afterwards, the single player aspects of Call of Duty and Halo. Both are series that, in their single player form, are a lot more focused and a lot less varied than Half-Life was, but they clearly emphasize those aspects of Half-Life I just mentioned. And in practice, those were the single player FPS games that were in practice actually copied for quite a while.
I went to college in 1995, and my very first week of school, I was introduced to the internet, usenet, ftp, and netscape navigator. A few months later, I was downloading cool .mod files and .xm files from aminet and learning to write tracker music in Fast Tracker 2, downloading and playing all sorts of cool Doom wads, installing DJGPP and pouring over the source code for Allegro and picking up more game programming chops, and getting incredibly caught up in following the Doom community and .plan files for the release of Quake.
Then Quake came out, and the community that grew up around it (both for multiplayer deathmatch and for QuakeC mods) were incredible. I remember following several guys putting up all sorts of cool experiments on their personal webpage, and then being really surprised when they got hired by some random company that hadn't done anything yet, Valve.
There was really just this incredible, amateur-in-the-best-sense energy to all those communities I had discovered, and it didn't seem like many people (at least to my recollection) in those communities had any inkling that all that effort was monetizable, yet... which would shortly change, of course. But everything had a loose, thrown off quality, and it was all largely pseudo-anonymous. It felt very set apart from the real world, in a very counter cultural way. Or at least that's how I experienced it.
This was all, needless to say, disastrous to my college career. But it was an incredible launching pad for me to get in the game industry and ship Quake engine games 2 years later, in many cases with other people pulled from those same online communities.
I miss that time too. But I think there's something like a lightning in a bottle aspect to it all - like, lots of really new, really exciting things were happening, but it took some time for all the social machinery of legible value creation / maximization to catch up because some of those things were really so new and hard to understand if you weren't in at the ground floor (and, often, young, particularly receptive to it all, and comfortable messing around with amateur stuff that looked, from the outside, kind of pointless).
I never loved the original Far Cry as a player, but I did deeply appreciate it as a game designer.
I was working as a game programmer and technical designer on a big budget FPS back when the original Half-Life was released, and immediately "AI AI AI!!!!!" became a stifling buzzword and thought-terminating (ironically) slogan, heavily reorienting how people thought about shooter design and, essentially, ending boomer shooters as a thing for a good long while and ushering in the era of Halo, Call of Duty, cover-based shooters, and so on.
I happened to adore boomer shooters and have good taste for their rhythms and making them, so the transition is not one I personally enjoyed at all.
But worse in a way, Half-Life ALSO ushered in much more linearity in level design because of their awesome interactive set pieces and the particular interactive way they got across their story. Certainly that was the way its release was experienced in the studio I was in, anyway. Less sprawling, unfolding, and backtracking like in Doom (where the space unfolds over the course of a level in something like a fractal way), more following a string of pearls and hitting all the scripted events, like a haunted house ride. You didn't want the players getting lost, you didn't want them to get bored backtracking, and you didn't want them to miss any of the cool one-off scripted content you'd made for them.
(I love Half-Life, so I don't blame it for any of this - it's a vastly more interesting game than many of the games it inspired, which I think is typical of highly innovative games)
At the time, I wasn't quite yet a thoughtful enough, perceptive enough game designer to recognize how deeply in tension those two changes ended up being with each other. And so I spent a miserable year of eventual burnout trying to make "good enemy AI that players actively notice" as a programmer for a game whose levels kept getting progressively tighter, more linear, and more constrained to support the haunted house ride of scripted events.
As a point of contrast, games like Thief and Thief 2 were magnificently structured for good, cool AI that players could notice, and it was specifically because of the non-linear ways the levels were built, the slow speed of the game, the focus on overtly drawing attention to both player and enemy sense information, and the relationship between the amount of space available to players at any given point to the amount of enemies they faced, as well as the often longer length of time players engaged with any particular set of enemies... and of course, despite all these cool features, poor, poor Thief was released to store shelves just 11 or 12 days after the original Half-Life. Business advice 101 is don't release your first person game 11 or 12 days after Half-Life.
Anyway, that all leads in to my admiration for Far Cry's design. Their outdoor levels actually steered their game design in a direction that could let enemy AI breathe and be an interesting feature of their design, in turn giving players higher level choices about when, where, and how to make initiate fights. In that sense, it reminded me of where Thief had already gone previously, but in the context of a high profile shooter. But doing that required actively relinquishing the control of the haunted house ride-style of pacing, which I think was kind of brave at the time.
Ah, yeah. If you go through the code there, Bryan had to change that file in quite a few places to implement crouch sliding.
Nick Maggoire is an animator. Super nice guy. No inside voice at all. I shared an office with him for a while :) I haven't kept up with him, but after Q4 he left for Valve where he's been ever since, it seems.
That comment strongly suggests to me that Nick did the animations for players crouch sliding. Or, that's my hunch anyway.
Thanks! That's really cool to hear, 20+ years later.
I actually did all the effects work on the weapons (muzzleflashes, smoke, explosions, bullet holes and surface sprays, and all the extensions to Quake2's particle systems to make that content possible) and all the single player weapons system game balancing, as a matter of fact. Both the sound design and animation / modelling on the weapons went through a number of iterations to get them really over-the-top and delightfully powerful / ridiculous, too - I was lucky to work closely with a great sound designer and a really talented animator on that.
Thanks! I've been thinking a lot recently about maybe getting some of my own stories down. The late 90's were a really fascinating time to be in games.
And I loved Masters of Doom, too, although it was weird reading it and occasionally seeing people I knew show up in it, briefly.
I ... hmm. My memory is really, really dusty on that.
I remember I had a handful of conversations with Bryan Dube during development about Q4 deathmatch. He was a super sharp game programmer / technical designer who had done a ton of the work on Soldier of Fortune 2 deathmatch previously, and had worked on the Urban Terror mod for Quake 3 before that. And he was much more focused on multiplayer than I was.
We talked a lot about weapons (as I had done most of the code side work on weapons in Soldier of Fortune), but I'm now remembering him being really keen at the time on adding more high skill play to Q4 deathmatch. We all loved rocket jumping, and I remember him really wanting to add other kinds of high skill movement.
So that much I definitely remember. More than that and my memory is kind of fuzzy. To be honest, lots of team members loved deathmatch and Quake, and all of us were of course talking about gameplay possibilities all the time, so it's possible the idea originated somewhere else on the team.
Well, as I say, I'd been meaning to look into this in more detail because it's something I'd been long curious about. But I don't think I have time right now to dig into it.
I opened the collection of links, which is quite good if a bit old. But then I had a subconscious mental itch, and thought, wait... where had I heard the name mrelusive before? That sounds _really_ familiar.
And then I remembered - oh, right, mrelusive, JP-what's-his-name. I've read a huge amount of his code. When I was working on Quake4 as a game programmer and technical designer, he was writing a truly prodigious amount of code in Doom 3 that we kept getting in code updates that I was downstream of.
And he was obviously a terrifically smart guy, that was clear.
But I had cut my teeth on Carmack's style of game code while working in earlier engines. Carmack's style of game code did, and still does, heavily resonate with my personal sensibilities as a game maker. I'm not sure if that particular style of code was influenced by id's time working with Objective-C and NeXTStep in their earlier editors, but I've long suspected it might have been - writing this comment reminds me I'd been meaning to explore that history.
Anyway, idTech4's actual game (non-rendering) code was much less influenced by Carmack, and was written in a distinctly MFC-style of C++, with a giant, brittle, scope-bleeding inheritance hierarchy. And my experience with it was pretty vexed compared to earlier engines. I ultimately left the team for a bunch of different reasons a while before Quake4 shipped, and it's the AAA game I had the least impact on by a wide margin.
I was thinking about all this as I was poking over the website, toying with the idea of writing something longer about the general topics. Might make a good HN comment, I thought...
But then I noticed that everything on his site was frozen in amber sometime around 2015... which made me uneasy. And sure enough, J.M.P. van Waveren died of cancer back in 2017 at age 39. He was a month younger than me.
I didn't really know him except through his code and forwards from other team members who were interacting with id more directly at the time. But what an incredible loss.
I'm not exactly up-to-date on current techniques (I've been out of AAA game making for a while now), but here are some general observations that might be useful.
Way back during the transition from Doom to Quake, which in some ways really marked the transition from 2D to 3D, Quake's particle systems also relied overwhelmingly on small flat colored particles and their motions, rather than larger textured sprites and their silhouettes. (Quake did use a few sprites, but it was few and far between).
And I think the reasoning was pretty straight forward even back then; in a 3d game world, there are a lot of conceptual and architectural benefits to only working with truly 3d primitives - and point sprites often can be treated like nearly infinitely small 3d objects.
Whereas putting 2d sprites into a 3d scene introduces a bunch of kludges. In particular, 2d sprites with any partial transparency need to be sorted back to front in a scene for certain major blend modes, which gets really troublesome as there are more and more of them. They don't play nice with zbuffers. And because they need to be sorted, they don't always play nice with the more natural order you might prefer to batch drawing to keep the GPU happy. And likewise, they have a habit of clipping into 3d surfaces in ways that reveal their 2d-ness. There's probably more things I'm forgetting.
These are all issues that have had lots of technical workarounds and compromises thrown at them over time, because 2d transparent textures have been so important for things like effects and grass and trees. Screen door transparency. Shaders to change how sprites are written into zbuffers. Alpha testing. Alpha to coverage. Various follow-on techniques to sand down the rough edges of these things and deal with aliasing in shaders. And so on.
And then there's the issue of VR (or so a cursory skim suggests). I haven't spent time doing VR development myself, but a quick refresher skim of articles and forum posts suggests that 2d image based rendering in 3d scenes tends to stick out a lot more, in a bad way, in VR than on a single screen. The fact that they're flat billboards is much more noticeable... which is roughly what I had guessed before I started writing this comment up.
All of those reasons taken together suggest why people would be happy to move on from effects based on 2d texture sprites in 3d scenes, to say nothing of the other benefits that come from using masses of point sprites specifically themselves (especially in terms of physics simulations and such).
Shooting (and combat more generally) has proven to be pretty easy to make satisfy most of these criteria. There are other core styles of actions that do as well (say, 2d Platforming, or clean puzzle mechanics like in games like Tetris).
These mechnical factors matter, because it's often the case that people who don't like violence in games would prefer games to focus on other kinds of challenges that they find more socially good in terms of morality or ideology. But then they stomp all over the mechanical styles of issues I was just listing above, and the results is predictably game designs broad masses of players don't want to play.
I've worked on both AAA hyperviolent games, as well as with educators on learning games with what they saw as pro-social game play, so this is a divide I've had front row seats to.
And to make what I hope is a productive contrast, one of the really great things about Undertale is that the designer didn't make being peaceful in the game lame. It is (or was for me) actively fun to try to figure out how to not kill enemies, because you still have to engage in bullet hell dodging while you try to psychoanalyze your opponents, and that dodging (for players who like those kinds of mechanics) still maintained a lot of the properties I just listed above.
To make a more real-world comparison, my father-in-law was an extremely successful junior college tennis coach, and he has noted in passing that he couldn't personally see how anyone could invest in Olympic sports like figure skating, just on the level of taking the competition that seriously. And his argument (he wasn't being universalizing, particularly, just tying it to his experience as an award winning coach) was that the extreme subjectivity of judge ratings was really offputting to him, as a competitor. Obviously tennis can have bad line calls and other controversial judge issues, too - all human sports can. But I think his argument ties in with my original one here; a lot of game players really like clean, legible rules with clear good and bad states so they can invest in getting good at games and take pleasure in their good play. And, as I say, shooting and combat at this point often fulfills that well.