The Next Generation in Graphics, Part 1: Three Dimensions in Software
filfre.net
filfre.net
Games have been adding more detailed textures and more geometry because that's all they could do. Textures just require RAM
After halflife and unreal the game engines became standardised (later of course came unity etc.) and the focus of selling games turned to graphic style and storyline (and often multiplayer gameplay) over the pure mechanics.
I think currently the big change that is happening is path based ray tracing. In the next couple years a lot of mainstream hardware should be able to do it and it makes a big impact on how games look.
Apart from that it's just more triangles I guess. We are approaching photorealistic looks and further development will try to run what huge desktop graphics cards can do, on smartphone GPUs. There we have seen actually significant developments in the past 10 years.
Say your textures are 100x100px for example. If you double the size of your texture to 200x200px suddenly you have 4x as many pixels to deal with.
https://www.polygon.com/23691482/unrecord-bodycam-fps-steam-...
https://advances.realtimerendering.com/s2021/Karis_Nanite_SI...
https://youtube.com/watch?v=eviSykqSUUw
It was invented by Brian Karis at Epic. Virtualized geometry allows for unbounded geometric detail while retaining the conventional rasterization approach with polygons and textures. It works like a dynamic LOD, where the game engine dynamically adapts the rendered geometric detail based on visibility and screen resolution. Essentially the maximum rendering cost only depends on resolution and frame rate, not on the detail of the underlying meshes.
However, the solution by Epic, dubbed Nanite, does not yet work for animated meshes. So virtualized geometry is not possible e.g. for game characters. Brian Karis says this is a solvable problem though.
He did it in the '90s. Now we have Javascript frameworks, SOLID principles, clean coding, uncle Bob and AGILE methodology.
If you played SNES doom you would know it's really pushing the system to the absolute limits. The frame rate is pretty low and cropped play area is small. They had to simplify a bit of level geometry to get the BSPs and other level traversal logic for stuff like enemy AI to fit in memory (which was 128 kilobytes!). They didn't even have enough CPU power to texture the floor and ceiling.
Oh no, you’ve uncovered his secret plan!
Trust me, the way they wrote games back in the day was the most AGILE methodology you'll ever see.
Clean coding is such a loaded term, too. It can mean different things to different people, but I presume you're throwing shade at the book "clean code".
Finally, Javascript frameworks, well, there is no redeeming there, and to be frank, it started at Javascript.
I see this sentiment here often, but I still fail to see what is inherintly bad in any of these?
It sounds like Carmack really took the dispute personally, and was making some unwise choices.
Bless Carmack for including features such as scaling render output independently from screen resolution (+/- buttons by default?). It allowed us to share this vision of the future with our not-quite adequate DX2-50.
I had read an article in a magazine which said it was the first truly 3D game which I (naively) disregarded as hype as I had played loads of Duke Nukem 3D which seemed as to me to also meet the definition of 3D.
But I still vividly remember playing it for the first time and using mouselook to actually look around, only then did I actually understand it was mind blowingly more 3D than Duke or DOOM, especially when I saw a monster for the first time.
Another interesting fact which young gamers may not know: Mouselook wasn’t an option which you could turn on or off in the game settings, at most you could bind it to a key, when you let go of the key mouselook stopped.
It seemed to me it was conceived as an opt in keybindable option to merely “show off” the true 3D nature of the game. A lot of people just played the game with keyboard only and there was also joystick support.
However, it soon became common knowledge that you could put “mouselook+” in “autoexec.cfg” (if I recall correctly) and it would keep mouselook enabled permanently. Once you became practiced enough at playing with the mouse and keyboard in combination with each other you could run rings around slow keyboard turners in multiplayer who didn’t stand a chance.
We like to say that games are a metaphor for life, but that might not be quite true. It seems that for most uses, the accuracy of 2D trumps the realism illusion of 3D
However in terms of gaming, 3D has different meaning from the physical world. And in terms of gaming, the vector games defined before are classed as 3D
It doesn't emulate depth. The stereoscopic effect does that. It helps with focus (but this is a moot point because even if I did emulate depth it's still an emulation so my point stands).
> Outside of VR there are also light field displays which take more that just 2 images and output light such that multiple observers can see the name object, but from different angles.
Sure but they've been talking about this for literal decades and there isn't any consumer applications available yet. I think we're still decades off having that.
My point wasn't that real 3D isn't possible though, clearly it is. It's just that the GP's point about 3D games not being "3D" is disingenuous to how "3D" is usually termed in video games.
Basically I'm putting the line at actually needing to keep track of the Z coordinate for the game to work correctly. Isometric should count (provided one object sometimes obscures another otherwise in view). I don't know what else 3d could mean.
No I’m not. Your point was that 3D games weren’t 3D. I was saying you’re argument isn’t honest to how the term “3D” is intended in the gaming industry and cited other examples of how you’ve misunderstood that term.
> Personally I put the line at it being possible for things to be in front or behind other things (rendering appropriately, and relevant to the game mechanics). So this excludes games that were 2d game play with hard coded 3d assets, but does include "2.5d" games.
The point of 2.5D is that the game has 3D-like visuals but the gameplay actually only happens in 2 axis. It’s to make the distinction you’re trying to express except does so in a much more elegant way.
And 3D rendered assets in a 2D game is still 2D (eg Donkey Kong Country on the SNES)
yes you are, and now you're insisting what I wrote is what you interpreted it to be. You really want to argue that you know what I said better than I do?
>The point of 2.5D is that the game has 3D-like visuals but the gameplay actually only happens in 2 axis.
I stated very clearly I'm only counting it if the 3rd positional variable is actually required to implement the game. There's a very subtle distinction on if this definition counts a given 2.5d game: if something is in mid air is it possible to pass under it? Will a falling object land on something trying to pass under it (or will it screw up and clip through instead)? If the answer is no to either, then its not 3d. Its just drawn like its 3d but is still 2d (such as your DK example). If the answer is yes to both, then its 3d.
There are games, that are not examples of 1st person AAA modern 3d engines, often rendered in isometric or some other projection, which none-the-less pass this basic criteria of being 3d. If gameplay in which the third dimension is literally a relevant variable is still just a "simulation of 3d" and not "real 3d", then no other method of projecting a simulated 3d world to a 2d screen should count either. That excludes pretty much everything prior to VR (and and as you pedantically argue, maybe also VR).
The useful lesson there is that responsiveness will make up for many visual problems.
Must-get-framerate-up.
I have the opinion that Mathematics is a set of axioms, theorems based on those axioms and conjectures.
Yes, you follow some algorithms to prove something or to do some calculations, but those algorithms, no matter how interesting, are less important than the results.
To me, algorithms belong more to applied Mathematics than pure science, which Math is.
The Digital Antiquarian is a blog but realistically it's actually a very long book. The first entry was published in 2011. It treats the entire history of interactive gaming.
Dropping in on chapter 217, or whatever this is, is a little confusing. Maher has spent a decade establishing a detailed context for discussing the nature of interactive experiences.
Part of the story is about the sad years from about 1995-2002 when interactivity was decreasing even as rendering technology improved. Maher is in the middle of that sad story right now and people are put off by the matter-of-fact way he discusses the flaws of these iconic games and by the pace of his narrative.
It is such a sad story that people think Maher "dislikes" or "mocks" these games. He does not. It was a real nadir for the industry.
Interactivity picked up again sometime around the release of Morrowind.
I love the blog. I would strongly recommend starting at the beginning and seeing if you don't love it a few entries in.
Not sure if I can put it to words, but to this day, moving around in any other engine based FPS just "doesn't feels right".
Or maybe it's just nostalgia...
One of the exasperating consequences of the rise of game engines has been that you have games shipping that have more and more of their game design inherited from their game engines.
On some level this makes sense - games are just massively complicated, and so if you already have working, tested code, it's often quite tempting to just go with what already works (and not spend time really internalizing how working things work) and then focus on figuring out the particular things you are adding from that baseline.
As just such an example, when I was working on Activision's Soldier of Fortune, we largely inherited Quake 2's movement code, and most of it was left untouched by the time we shipped. At some point, midway through development, inspired by Thief, I stayed late one night with a co-worker, and I added in leaning around corners to the player controls. I don't remember the particulars of that process, but (obviously) I had to make tons of aesthetic choices while doing that, because I was writing it from scratch. But the base movement we could inherit.
If you go back and look at first person games from the late 90's, their aesthetic choices about basic player movement are all different in subtle ways. That makes sense, because most studios were writing their own bespoke engines at the time, and there was vastly less code sharing. So people were writing code because there was no particular alternative, and so they were making tons and tons of aesthetics choices whether they wanted to or not. Lots of those choices weren't always great, but they were often particular.
It's clear at this point that lots and lots of FPS games just inherit Unreal Engines movement. Not because it's great, but because it comes with Unreal and it's a default. To me, there's something very specific about the way friction works with player movement in Unreal that feels very ... sticky? ... compared to Quake Engine games. Players come to a stop when input is released in a way that feels like being in glue - again, at least to me. There's more subtle gliding around in Quake. As far as I can tell, the difference rarely effects game play in most games. But it does change how it feels aesthetically to play moment by moment.
Anyway, this topic feels intensely path dependent to me. Unreal's movement is the default because Unreal is the default engine (in a lot of contexts), but it didn't become the default because of anything specific about its player movement code. Those aesthetic decisions were just along for the ride, so to speak. Or at least, that's my sense.
Interestingly, I found a github project a while ago that tried to reverse engineer Quake / Source's movement and put it into Unreal Engine 4. No idea how successful the project is, but I suspect it might be an interesting resource for seeing what's different between the two: https://github.com/ProjectBorealis/PBCharacterMovement
UE movement is not physically correct. So it would make sense that it generates a nagging sense of uncanniness, especially when the rest of the game looks close to realistic.
You are quite right though about devs just leaving UE movement...which is a huge shame because it's a such an important detail in a game; how the game feels. I don't blame devs who don't do this though because it's incredibly complex to write your own especially around what's already there (10x so if you're doing multiplayer); I've also come across whole studios while contracting who don't understand that having a game that looks good but feels bad can impact their sales/reviews.
What ? Why wouldn't you let your kid play Duke Nukem 3D ? It's an awesome game?
Also, what's the problem with crude adolescent humor ?
What their personality/psychology is like and what they've been exposed to already.
I wouldn't want DN3D to be my son's first exposure to the idea of female strippers. (What should it be? Now that TV channels no longer exists and you just don't catch inappropriate imagery by accident... I don't know! Something that explores the idea that he's starting to enjoy naked ladies, which is good bu under societal strictures; strippers are sometimes exploited so it's ethically fraught; OTOH men can be def exploited through their sex drive, the many traps. Also look that's a fake boob. Not some guy with a gun, godamnit.)
What? Hehe, on the internet today kids are way way WAY more likely to see inappropriate imagery than when we had TV channels. My kids seem to have turned out okay, but we had multiple accidents where they search for something and got back stuff that was so much worse than what they asked for. They get a firehose of inappropriate content on TikTok and YouTube. I would kill to have the internet be as moderated and tame as TV was.
Good memories. We enjoyed both R and kid games.
Anyway, I was under 18, and I begged - but no dice, he saw the PEGI 18 symbol and wouldn't budge. Not one bit. Instead he saw Civ II in the same bin, and thought that would be a good game for me. And it was!
With that being said, from the title, I thought I was going to be reading a history of 3D graphics software. Instead it felt like I was reading a story about the 3d game industry, at least at the end... So, might want to think about that. It didn't feel like a cohesive whole, to me.
There seems also to be a lot of personal bias in this piece toward commercialism of software..
> We can learn much about the tech zeitgeist from those algorithms the conventional wisdom thinks are most valuable. At the very beginning of the 1990s, when “multimedia” was the buzzword of the age and the future of games was believed to lie with “interactive movies” made out of video clips of real actors, the race was on to develop video codecs: libraries of code able to digitize footage from the analog world and compress it to a fraction of its natural size, thereby making it possible to fit a reasonable quantity of it on CDs and hard drives. This was a period when Apple’s QuickTime was regarded as a killer app in itself, when Philips’s ill-fated CD-i console could be delayed for years by the lack of a way to get video to its screen quickly and attractively.
I'm sorry, in my experience, Quick Time was a mainstream mess to be avoided it like the plague. There were way better solutions out at the time, that were not so well known.
> Predictably enough, it all turned into a bit of a fiasco. Crackers quickly reverse-engineered the algorithms used for generating the unlocking codes, which were markedly less sophisticated than the ones used to generate the 3D graphics on the disc. As a result, hundreds of thousands of people were able to get the entirety of the most hotly anticipated game of the year for $10. Meanwhile even many of those unwilling or unable to crack their shareware copies decided that eight levels was enough for them, especially given that the unregistered version could be used for multiplayer deathmatches.
> Carmack’s misplaced idealism cost id and GT Interactive millions, poisoning relations between them; the two companies soon parted ways.
Misplaced?, please... I feel like this really biased toward assuming games, and the people that make them, need to be commercially viable to be any good, its almost like this piece is coming from some PR guy.. People reversed-engineered games because that was their contribution to the technological movement of the time, it was, and is, just as important as making software.
Also, I don't think it had anything to do with poison relationships. Its more of a difference of perspective: There were people in the software industry only concerned about making money off of developing software, and there were people that were interested in changing the world from an idealistic perspective. Looking at where we are at now, I'd say the poisoning is done by the people who's only interest in software development is making money.
>Quick Time was a mainstream mess to be avoided it like the plague
There was NOTHING like QuickTime before QuickTime. It enabled 1991 Adobe Premiere build by ex Quicktime engineer on Mac platform, 1991 Avid ported from Apollo $workstations$ to Mac thanks to QT. Microsoft and Intel got so scared of it they paid off third party Apple contractor to steal code. Microsoft shipped stolen code as part of Video for Windows update. https://en.wikipedia.org/wiki/San_Francisco_Canyon_Company https://www.theregister.com/1998/10/29/microsoft_paid_apple_...
"the [QuickTime] patent dispute was resolved with cross-licence and significant payment to Apple." The payment was $150 million."
"Intel gave this code to Microsoft as part of a joint development program called Display Control Interface."
"Canyon admitted that it had copied to Intel code developed for and assigned to Apple. In September 1994, Apple's software was distributed by Microsoft in its developer kits, and in Microsoft's Video for Windows version 1.1d."