11 ms·
Non-Euclidean Doom: what happens to a game when pi is not 3.14159 (2022) [video]
- DaiPlusPlus 2y agoWhat happens is the graphics and movement get glitchy and eventually unplayable - I wouldn’t call this “non-Euclidean Doom” - just “consequences of messing with the constants of the universe” - whereas I’d expect an actual non-Euclidean Doom to be like this: https://youtu.be/kEB11PQ9Eo8?si=0HNlpGFBii2AIK1n https://youtu.be/kEB11PQ9Eo8?si=0HNlpGFBii2AIK1n
- Ballas 2y agoThat is exactly what I expected as well. Here's another non-Euclidian implementation with a couple of other novel ideas (at least they were to me): https://www.youtube.com/watch?v=tl40xidKF-4 https://www.youtube.com/watch?v=tl40xidKF-4
- aeyes 2y agoI expected MyHouse.WAD https://www.youtube.com/watch?v=5wAo54DHDY0 https://www.youtube.com/watch?v=5wAo54DHDY0
- benrutter 2y agoWoah! Thanks for sharing, that video is amazing, I'd love to see an actual game using that effect.
- samvher 2y agohttps://en.wikipedia.org/wiki/HyperRogue https://en.wikipedia.org/wiki/HyperRogue (not exactly the effect in the video you responded to, but similar category)
- JonathonW 2y agoThat'd pretty much be Portal; the technique he's using to render there is basically the same as the one Portal uses (the Portal engine can do "invisible" portals like this too, but there's only one point across both games where they're used in the finished game). I suppose something around non-Euclidean levels without user-created portals could be interesting, but I think it'd be hard to flesh that out to a point where there's enough there for a whole game without coming up with some other gimmick.
- wizzwizz4 2y agoI know it was left as an exercise for the reader, but I never worked out where that was used. (The turret live fire exercise comes to mind, but I thought I'd ruled that out.) Do you happen to know?
- wizzwizz4 2y agoRemembered the entity name, and this information is on the wiki page: https://developer.valvesoftware.com/wiki/Linked_portal_door https://developer.valvesoftware.com/wiki/Linked_portal_door > They are also used twice in the campaign (contrary to the commentary's claim that they are only used once): in the GLaDOS wakeup sequence where they are used to connect the incinerator shaft to GLaDOS' chamber, and in Finale 2 where they are used to connect the "trap" chamber to the main map. These are the only uses of this entity in the final game.
- smellf 2y agoAntichamber: https://store.steampowered.com/app/219890/Antichamber/ https://store.steampowered.com/app/219890/Antichamber/ Also look at myhouse.wad for actual Doom in actual non-Euclidean spaces.
- jimbobthrowawy 2y agoHyperbolica exists too, and is pretty fun even if I haven't finished it yet. it has hyperbolic and spherical geometry in it at least. The only game to give me motion sickness by watching a streamer playing it, and no motion sickness at all playing the VR version. Very odd.
- sebazzz 2y agoIf you like this, try Superliminal (https://store.steampowered.com/app/1049410/Superliminal/ https://store.steampowered.com/app/1049410/Superliminal/)
- torginus 2y agoThis looks like portals. Essentially how FPS games of that era worked is that they had rooms stitched together by doorways (or 'portals') as a way of occlusion culling. While perfectly capable of representing sensible geometry, it was actually not a requirement that the geometry should make sense in any shape or form and allowed arbitrary connections between rooms.
- neglesaks 2y agoThe Marathon 1+2 engine back in the 90s allowed for "5D space", ie. "Spatial" Rooms that were capable of overlapping each other, because the engine only defined the floor polygon with a given height and these floor polys were connected to each other at the vertices to create the actual level spaces. So even though you were in the same absolute space coordinate as another player, you were not necessarily in the same room. Good times. <:o)
- vitaflo 2y agoHuh I never knew that. I just knew you couldn’t have two floors directly above each other while also having both floors visible to the player at the same time. All of my Mara 1 maps I built would crash when I tried this. I wonder if what you just explained is why.
- hedgehog 2y agoI don't know how they actually did it but conceptually I thought about it as traversing the map's segments depth first in 2D starting at one edge of the viewport & the currently occupied polygon. Simple, and allows freedom like overlapping rooms, but would go sideways in cases like the one you describe.
- lupusreal 2y agoDoom actually didn't permit overlapping rooms like Duke3d and some other games did, although some source ports of Doom do allow it (notably used by the trendy MyHouse.wad)
- lambdaxyzw 2y agoThis it's also not what non-euclidean means. It's just regular 3d world with portals. Games of that era often used portals in the engine, they just didn't use them to implement impossible rooms. I'm not trying to be nitpicky, but it's a common misunderstanding. For actual non-Euclidean stuff I recommend ZenoRogue stuff. For example a simple game with Nil geometry[1], giantic bossfight in non euclidean world rogue game[2], or some general geometry weirdness [3]. Or just check out any of their stuff. [1] https://m.youtube.com/watch?v=gejRg_q70EA&pp=ygUJemVub3JvZ3Vl https://m.youtube.com/watch?v=gejRg_q70EA&pp=ygUJemVub3JvZ3V... [2] https://m.youtube.com/watch?v=jcnXI8IArRI&pp=ygUJemVub3JvZ3Vl https://m.youtube.com/watch?v=jcnXI8IArRI&pp=ygUJemVub3JvZ3V... [3] https://m.youtube.com/watch?v=yqUv2JO2BCs&pp=ygUJemVub3JvZ3Vl https://m.youtube.com/watch?v=yqUv2JO2BCs&pp=ygUJemVub3JvZ3V...
- jerf 2y ago"Non-Euclidean" is probably just fine meaning "literally anything other than straight Euclidean". Euclidean geometry doesn't have portals in it. Being truly hyperbolic or spherical is an interesting case but I don't think we have to insist that's the only viable meaning. Adjoining portals to Euclidean geometry by my reckoning breaks 3 of the 5 core axioms of Euclidean geometry... which means by sheer axiom break count, Euclidean geometry plus portals is "more" non-Euclidean than spherical or hyperbolic geometry. (Which may not seem like a terribly meaningful count, but I think would be reflected in what proofs in a portalized space would end up looking like. You'd grow a forest of case analyses and conditions in even the simplest proofs.) (And it's possibly 4 axioms broken; I'm reckoning "all right angles are equal" as still holding, though I'm not 100% sure a "normal" right angle and a right angle generated where a portal bisects the angle is necessarily "equal" in all relevant ways. It's been a while since I did geometry proofs but the more I ponder it the less sure I am. If not that would leave only "a straight line segment can be prolonged indefinitely" as holding, and unlike in Euclidean geometry a straight line segment may intersect itself arbitrarily often.)
- j2kun 2y agoOfficially it cannot be called a "geometry" at all if it does not satisfy the other axioms. So it's a "non-Euclidean non-geometry."
- jezzamon 2y agoTo be a bit pedantic, that video is incorrect in its use of the term non-euclidean. The folks behind hyperrogue made few videos that show actual non-euclidean geometry: https://youtu.be/yqUv2JO2BCs?si=AutaqS5unvT7cDjw https://youtu.be/yqUv2JO2BCs?si=AutaqS5unvT7cDjw Comparing some of the weird geometry effects in the doom video, like things sliding sideways when you move forward, I feel like it's reasonable to call this doom non-euclidean!
- owenpalmer 2y ago[dead]
- babypuncher 2y agoPart of the problem is that Doom isn't truly 3D, it's a 2D universe with hacks to make it look 3D. So in the final presentation, you're seeing a facsimile of a universe where the value of Pi has only changed in two out of three spatial dimensions.
- mat0 2y agoThis is not really true. It is true that this particular 3D environment has some limitations, but it is 3D. A video here discussing this exact topic: https://www.youtube.com/watch?v=ZYGJQqhMN1U https://www.youtube.com/watch?v=ZYGJQqhMN1U
- llm_trw 2y agoFor a more modern take (that's kid friendly) have a look at https://store.steampowered.com/app/1256230/Hyperbolica/ https://store.steampowered.com/app/1256230/Hyperbolica/
- kqr 2y agoI'm surprised nobody has brought up Antichamber yet. It was an excellent game using a similar concept to create actual puzzles. Come to think of it, long enough has probably passed that I might enjoy replaying it.
- cubefox 2y agoThat's a great game, but it only uses portals to locally break the rules of geometry. The phrase "non-euclidean geometry" normally means either hyperbolic of elliptic (spherical) geometry.
- solardev 2y agoIf you like that, take a look at Viewfinder too: https://store.steampowered.com/app/1382070/Viewfinder/ https://store.steampowered.com/app/1382070/Viewfinder/ You take pictures to create portals to other parts of the level, but in any orientation/angle that you want.
- astrange 2y agoSuperliminal is also good. (https://store.steampowered.com/app/1049410/Superliminal/ https://store.steampowered.com/app/1049410/Superliminal/)
- ghusbands 2y agoIf you play it, though, expect something that's not a challenge but more just an interesting presentation of some ideas.
- astrange 2y agoIt's made to make you feel smart when you solve the puzzles while not actually being really difficult, which is fine if you only play it once. The writing is too wordy though, which is an issue when translated - I've watched some Japanese streamers play it and the subtitles try to keep every single idea in there, making them so long they're a headache to read.
- MaximilianEmel 2y agoHere's another example of a "non-euclidean" engine/game, which in my opinion is more authentically non-euclidian: https://youtu.be/tl40xidKF-4 https://youtu.be/tl40xidKF-4
- deleted 2y ago[deleted]
- water-your-self 2y agoMore links for the pile https://youtu.be/tl40xidKF-4?feature=shared https://youtu.be/tl40xidKF-4?feature=shared
- citizen_friend 2y agoAll he does is change pi… that’s not any geometry it’s just a bug. This is basically click bait,
- jerf 2y agoI wonder if this would be more interesting in the raytraced Doom referenced. Hacking constants with rasterization techniques pretty much produced the results I expected. But raytracing may have more interesting results.
- AdmiralAsshat 2y agoHN Hug of Death? Having a hard time getting the video to load more than a half second before needing to buffer, even at lowest resolution.
- aeontech 2y agoSame talk on YouTube: https://youtu.be/_ZSFRWJCUY4 https://youtu.be/_ZSFRWJCUY4
- PaulHoule 2y agoFunny I was just reading this Poul Anderson classic https://en.wikipedia.org/wiki/Operation_Chaos_(novel) https://en.wikipedia.org/wiki/Operation_Chaos_(novel) which is set in an parallel world where magic is real and advancing rapidly along with science. (e.g. Edwin Land invents a device to transform a werewolf without moonlight using polarized light) The protagonists have their child kidnapped and brought to Hell. They are told that the Army had tried to investigate Hell 20 years ago but everyone was driven insane. An adversary drops the hint that the space-time geometry of Hell is different from ours so it would be possible to go back in time and retrieve the child at the moment it arrives. This is enough of a hint for scientists to determine that the geometry of Hell is non-Euclidean and figure out spells for getting there safely, keeping safe, and getting back. They pray to get the assistance of two 19th century geometers, one a saint, to be able to navigate.
- mmcdermott 2y agoI loved Operation Chaos, but I found the much later sequel to be disappointing.
- dekhn 2y agoSee also Jack Vance's wonderful story collection Tales of the Dying Earth, which also includes magic/science and daemon dimensions.
- torginus 2y agoThis might come off as trite (and it probably is) but why don't we get novels this creative nowadays?
- PaulHoule 2y agoI liked this one https://www.amazon.com/Terraformers-Annalee-Newitz/dp/1250228018 https://www.amazon.com/Terraformers-Annalee-Newitz/dp/125022...
- jmdeon 2y agoHonestly sounds like you're just disconnected from the culture. There are plenty of creative novels coming out these days. For a specific example check out Adrian Tchaikovsky's work. Also you may want to subscribe to a short story publication like Clarkesworld. You'll have a drip feed of aspiring creative writers and can follow the ones you find especially good for when their forthcoming novels come out. One that especially blew me away from Clarkesworld recently was Axiom of Dreams by Arula Ratnakar. https://clarkesworldmagazine.com/ratnakar_09_23/ https://clarkesworldmagazine.com/ratnakar_09_23/
- AshamedCaptain 2y agoGet the source code of your favourite console emulator. Insert random floating point errors or reverse the meaning of some of the branch opcodes. Enjoy. The older the game, the more likely it will still work, and the more likely it will look like going on a bad trip.
- frakt0x90 2y agoThere was a tool a long time ago that did this for an n64 emulator. I tried it and it was fun for a while but predictably would crash often. There was also a glitch art project that would corrupt specific segments of famous image and video files to create something new. I wish I could find either but I cannot.
- bruce343434 2y agohttps://www.reddit.com/r/Vinesauce/comments/baclu0/real_time_corruptor_350_has_been_released/ https://www.reddit.com/r/Vinesauce/comments/baclu0/real_time...
- torginus 2y agoHonestly, I'm not even sure where does PI factor into gameplay code, like collision detection or movement. I mean there are things like circular explosion radiuses which would get scaled but not necessarily in an interesting way. The fact that rendering gets effed up is no surprise.
- chungy 2y agoAll of Doom's movement code is based on radians.
- osigurdson 2y agoIn a previous reality, Pi did equal 3. It was crazy! March 0 Pi day, what!
- adzm 2y agoYou mean March 0 of course, which is leap day.
- osigurdson 2y agoAgree!
- cruffle_duffle 2y agoI wish this video went more into the game mechanics and why changing Pi messed with things the way it did.
- mnw21cam 2y agoThe question at the end - what is the highest value of pi that is playable (doesn't crash). I'm suspecting that when pi is 4, it segfaults because some accesses to the lookup table fall off the end of the lookup table, and therefore the highest value of pi that will be playable is likely to be a very small amount higher than pi itself.
- Waterluvian 2y agoMarathon 1 (1994) supports non-Euclidean spaces but only got used sparingly. So there’s this whole game of levels with maps, and then one or two levels with impossible spaces that the game doesn’t warn you about or tell you it could exist. So it’s possibly the best Easter egg location I’ve ever found in a game. Found a video that demonstrates it: https://www.reddit.com/r/Marathon/comments/vclu55/probably_not_the_first_to_find_this_but_ran_into/ https://www.reddit.com/r/Marathon/comments/vclu55/probably_n...
- metadat 2y agoMarathon was so much fun on the old Macintoshes with OS6 and OS7!
- ColinDabritz 2y agoThere was an example of this in the classic 'Duke Nukem 3d'. It had a level by Richard "Levelord" Gray, 'Lunatic Fringe'. https://dukenukem.fandom.com/wiki/Lunatic_Fringe https://dukenukem.fandom.com/wiki/Lunatic_Fringe This level had a circular hallway ring around the outside that had two full rotations around without intersecting, using the 'build' engine's ability to separate areas by their room connections that also drove the 'room over room' technology which was groundbreaking at the time. It made for fun multiplayer, and the illusion held well there. The central chamber has 4 entrances/exits if I recall, and you would only encounter two of them in each loop around the outside. I recall building a toy level while experimenting with the engine that "solves" the "3 houses with 3 utilities without crossing" puzzle using this trick as well.
- dfox 2y agoRoom over room (as done in later build games) usually does not require the sectors to overlap in this manner as it is a different thing (it is extension of how swimable water works, where the engine renders the other sector instead of floor/ceiling). While Lunatic Fringe is pretty in-your-face example of impossible geometry in build, the duke3d maps contain many more cases of intersecting geometry. Obviously such things are impossible in Doom because there is no way to build BSP tree out of that and because doom only tracks X/Y coordinates of player(s)/monsters.
- ant6n 2y agoPortals allow weird stuff (non linear geometry) in a BSP level. I thought Doom had petals.
- dfox 2y agoThe primary thing that BSP does is that it maps coordinates onto a BSP node/sector. Thus you cannot have overlapping geometry, as this mapping would not be unique. Quake has some idea of portals (I'm not sure about Doom), but it is used only as an additional layer of optimization, the engine is not fundamentally portal-based.
- 2y ago
- cheschire 2y ago8:30 Pi = 3 9:30 Pi = e 10:30 Pi = Pi/2 11:15 Pi = 0.00001 12:00 Truth table of compiled and playable values
- mywittyname 2y agoI kind of wish the author of the talk worked with smaller increments, so you could get an idea of how the world was deviating from the original. By the time he gets to e, everything is completely warped, but it's hard to grok in what way it's warped. My take away from the entire talk was, if you change pi, the walls move. But I still don't understand how they move and what changing pi is actually doing.
- germinator 2y agoI think it's mostly messing up viewport and movement calculations, which is why you have textures popping into view when already in the viewport, and shifting too much in the periphery. In essence, you're just mildly glitching the display. It doesn't really alter the map or the spatial relationship of items. You'd need more fundamental game engine changes to really implement a different geometry.
- huhtenberg 2y agoAny playable values above π? I'd guess 3.15 should still be OK.
- treflop 2y agoDoom isn’t a simulation so changing a constant isn’t really an example of anything. It’s just screwing with some routines. Thats why most of the changes are unplayable.
- lucianbr 2y agoYeah, I have no clue why this is interesting. Of course changing a constant to a wrong number causes weird behaviour or errors. How else could it be? And the weird behaviour does not seem to be special in any way. What am I missing?
- treesknees 2y agoI agree it wasn't super exciting. But I still like to see the little niches and topics other people find interesting even if they're pretty obscure like this. Obviously enough people found it interesting that this guy gave a talk and received audience questions. I'd like to see something like this [1] where we can find out how many digits of pi you really need to make Doom play normally. But again, not super exciting. You would just need to iterate from 1 to 9 digits and apply some subjective rules about what counts as normal. [1] https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimals-of-pi-do-we-really-need/ https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimal...
- hnlmorg 2y agoI don’t think you’re missing anything. Some have found the comments on this video to be more thoughtful than the content of that presentation. I was hoping when he mentioned other projects that he’d found on GitHub and Google that he’d talk a little about them too but alas he shared that he just clicked search and then did nothing with the results. A big missed opportunity in my opinion. Still, at least the comments on HN were largely worthwhile.
- dgellow 2y agoIt’s just a fun talk to make people curious about a topic, there isn’t anything too serious in it. Lots of talks at hacker conferences are just people sharing fun technical topics they enjoy
- foota 2y agoMy favorite non Euclidean game is antichamber. It's a bit dated now (and the graphics are kind of eye burning) but it was a neat puzzler. Edit: I had the name wrong, ita antichamber! As many others have correctly stated.
- immibis 2y agoTurn your screen brightness down. This solves so many cases of "I have to use dark mode or my eyes burn."
- the__alchemist 2y agoCheck out Manifold Garden too!
- mrighele 2y agoI wonder if it plays properly with a value of pi equals to 3.2, that would make a few people in Indiana happy.
- matheist 2y agoIn the context of differential geometry, π is still π even in the context of non-Euclidean manifolds. The distinguishing feature (again, in differential geometry) of non-Euclidean geometry is that it has non-zero sectional curvature. One way to measure sectional curvature is to measure the circumference of a small circle and check how it deviates from what would be expected of a Euclidean circle. Euclidean circumference: C(x) = 2 π x. Circumference taking sectional curvature into account, for small x: C(x) = 2 π x - (1/3) K π x^3 + O(x^4), where K is sectional curvature. (The negative sign in the second term means circumferences are smaller than Euclidean when curvature is positive, like on a sphere, and are larger than Euclidean when curvature is negative, like on a saddle.) Curvature can then be measured by taking the third derivative of circumference at 0: C'''(0) = -2 π K. π can still be computed by taking the first derivative of circumference at 0: C'(0) = 2 π, independent of curvature. So even non-Euclidean geometry respects the value of π.
- fjfaase 2y agoI understand that the inspiration for this talk comes from the fact that Doom is using 3.141592657 instead of the correct 3.141592654 in the source code. John Carmack admits that he incorrectly recalled the ten digit op pi.
- nuancebydefault 2y agoHe didn't recall it correctly? Why didn't he asked Siri on his cell connected iPad?
- fjfaase 2y agoThe original Doom was released in 1993 for DOS [1]. The iPad came in 2010 [2]. Siri was only released in 2011 [3]. [1] https://en.wikipedia.org/wiki/Doom_(1993_video_game) https://en.wikipedia.org/wiki/Doom_(1993_video_game) [2] https://en.wikipedia.org/wiki/IPad https://en.wikipedia.org/wiki/IPad [3] https://en.wikipedia.org/wiki/Siri https://en.wikipedia.org/wiki/Siri
- hnlmorg 2y agoI think the GP was making a sarcastic point about how much harder it was to confirm assumptions like the 10 digit constant of pi
- nuancebydefault 2y agoSo funny that people took me seriously... I thought the over the topness was large enough to detect the irony. I really did not want to take the irony down by adding this ugly /s token... Pitty for my karma points... Edit: my muscle memory of right hand on mouse, left hand on asd, starts tickling when seeing these video's after 'bring 'm on' is clicked.
- jrockway 2y agoJohn Carmack may have misremembered the 10th digit of pi, but you should all search your codebases for 84,600 and see who typo'd the number of seconds in a day. It is surprisingly common and there is a lesson about whether or not you should type constants into your program when they likely exist in the standard library of your programming language.
- TZubiri 2y agoIf you can't do multiplication and you rely on a library for that. I feel sorry for you.
- ornornor 2y agoMagic numbers something something. If your language provides it as a constant, why not use that? You’ll always get the correct value AND a descriptive name for free.
- jrockway 2y agoIt's really a matter of who's going to catch your typos. If you use the constant built into your language, millions of people are looking at it. If you type them into your throwaway bash script, nobody is going to notice you typed 60 * 60 * 24 * 356 to get a year's worth of seconds.
- nixpulvis 2y agoIf I have it I’d use it, but I’m not going to go out of my way to add another dependency for it lol.
- Angostura 2y agoI ways surprised how almost instantaneously nauseous some of those made me feel. e and pi/2 were straight into barf territory
- ngneer 2y agopi is never 3.14159
- contingencies 2y agoTruth
- system2 2y agoWow the JPEG injection was super cool.
- fecal_henge 2y agoPi = 3 just looked like some of the more budget games of the era.
- ajxs 2y agoThis brought this other video to mind: https://www.youtube.com/watch?v=jQOJ3yCK8pI https://www.youtube.com/watch?v=jQOJ3yCK8pI See also: https://github.com/shaunlebron/blinky https://github.com/shaunlebron/blinky Using non-standard projections in Quake.
- RunSet 2y agoDescended from FOVquake and Pan(oramic)Quake. https://strlen.com/gfxengine/panquake/ https://strlen.com/gfxengine/panquake/ Changing the lens projection is a little different than changing the value of pi, but it plays in the same "visually wrong" space.
- EDM115 2y agoLet's round pi to 2 and forget about it
- INTPenis 2y agoGreat lecture. I just started getting into Doom levels through a friend who's obsessed with Slade and Doom Builder. It's an amazing community 30 years later, but I still prefer Quake and its mods. Much more modern.
- hilbert42 2y agoUm, interesting, that has the smell of the Pentium bug about it. Not so much the incorrect value of pi but the lookup table. This Doom illustration reinforces the lesson from the Pentium bug that substituting a lookup table for a slower but correct algorithm is a bad idea unless absolutely necessary.
- barrenko 2y agoAnd this is why Sutskever only sent a list of 30 papers to Carmack.
- robblbobbl 2y agoLike Missingno. in Pokémon