[HN Gopher] Non-Euclidean Doom: what happens to a game when pi i...
___________________________________________________________________
Non-Euclidean Doom: what happens to a game when pi is not 3.14159
(2022) [video]
Author : robin_reala
Score : 346 points
Date : 2024-05-17 12:43 UTC (10 hours ago)
(HTM) web link (media.ccc.de)
(TXT) w3m dump (media.ccc.de)
| DaiPlusPlus wrote:
| What 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
| Ballas wrote:
| That 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
| aeyes wrote:
| I expected MyHouse.WAD
| https://www.youtube.com/watch?v=5wAo54DHDY0
| benrutter wrote:
| Woah! Thanks for sharing, that video is amazing, I'd love to
| see an actual game using that effect.
| samvher wrote:
| https://en.wikipedia.org/wiki/HyperRogue
|
| (not exactly the effect in the video you responded to, but
| similar category)
| JonathonW wrote:
| That'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 wrote:
| I 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 wrote:
| Remembered the entity name, and this information is on
| the wiki page: https://developer.valvesoftware.com/wiki/L
| inked_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 wrote:
| Antichamber:
| https://store.steampowered.com/app/219890/Antichamber/
|
| Also look at myhouse.wad for actual Doom in actual non-
| Euclidean spaces.
| jimbobthrowawy wrote:
| Hyperbolica 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 wrote:
| If you like this, try Superliminal
| (https://store.steampowered.com/app/1049410/Superliminal/)
| torginus wrote:
| This 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 wrote:
| The 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 wrote:
| Huh 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 wrote:
| I 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 wrote:
| Doom 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)
| bombcar wrote:
| Some vanilla Doom levels get exceptionally close to
| simulating it using portals and other tricks.
| lambdaxyzw wrote:
| This 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=ygUJemVub3JvZ3V...
|
| [2]
| https://m.youtube.com/watch?v=jcnXI8IArRI&pp=ygUJemVub3JvZ3V...
|
| [3]
| https://m.youtube.com/watch?v=yqUv2JO2BCs&pp=ygUJemVub3JvZ3V...
| jerf wrote:
| "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 wrote:
| Officially it cannot be called a "geometry" at all if it
| does not satisfy the other axioms. So it's a "non-Euclidean
| non-geometry."
| jerf wrote:
| Fair point.
| lupusreal wrote:
| What if it satisfies an as-of-yet undiscovered set of
| axioms?
| jerf wrote:
| The math term "geometry" has a certain definition. Things
| that fit it are geometries, things that don't, aren't.
|
| The gee-whiz "what if" sort of question your asking
| doesn't really mean anything anymore. In about the
| mid-20th century math finally came to terms with
| basically anything you can define being a valid subject
| of investigation. Arguments about whether things like
| "imaginary numbers" are "real" and _therefore worthy of
| study_ are largely gone now. (Whether they are "real"
| for some definition is now a philosophy question.)
|
| Since axioms _define_ the system you are building, if you
| want "Euclidean except plus portals" you just need to
| write them down and start studying them. There are
| multiple possible sets that describe different systems;
| for a trivial example, you can assert in an axiom that
| area is conserved on passing through a portal, or you can
| write axioms that don't conserve that, and follow the
| implications from there. Video games have had both kinds
| of portals. Do portals need to be straight or can they be
| curved? What do curved portals do to other curves if they
| pass through them? Does "passing through them" even mean
| anything (note Euclidean geometry doesn't have "time" in
| it)? How crazy can I be with the portals? What happens if
| I define a portal as having a boundary corresponding to a
| Cantor set [1] and pass a line through it in an axiom
| system that has "time"? There is no one answer to that
| question, it depends on the axioms you write down, which
| may or may not even permit such portals.
|
| Mathematicians will accept any and all of these systems
| if you write them down. Some may prove to be
| "uninteresting". Some may prove to have contradictions in
| them. But it's been a long time since a mathematician
| would even _consider_ berating you about any of those
| choices not being "realistic" or something.
|
| And I expect it is very likely some topologist somewhere
| could hear all these idle musings of mine and say "Oh,
| yes, you want to go to $TOPOLOGY_SUBDISCIPLINE for that."
| I don't know what the subdiscipline is or I'd name it,
| but I'm sure there's something already out there for all
| this. Since the mathematicians stopped worrying about
| "realness" they've really spread their wings as as
| discipline.
|
| [1]: https://en.wikipedia.org/wiki/Cantor_set
| j2kun wrote:
| It can be given an as-of-yet unchosen new name :)
| mrighele wrote:
| Axioms are not discovered but decided. A nice set of
| axioms gives birth to interesting anduseful interactions
| which you are the one that you discover, although in
| practice there's is a bit of back-and-forth, as you
| decides the axiom based on what you are trying to achieve
| and they get changed or tuned as time pass.
|
| Bonus point if the new axioms play well with existing
| ones, and are useful to work on our reality.
| jezzamon wrote:
| To 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
|
| 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!
| babypuncher wrote:
| Part 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.
| llm_trw wrote:
| For a more modern take (that's kid friendly) have a look at
| https://store.steampowered.com/app/1256230/Hyperbolica/
| kqr wrote:
| I'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 wrote:
| That'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 wrote:
| If you like that, take a look at Viewfinder too:
| 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.
| hcs wrote:
| Also consider Manifold Garden.
| MaximilianEmel wrote:
| Here's another example of a "non-euclidean" engine/game, which
| in my opinion is more authentically non-euclidian:
| https://youtu.be/tl40xidKF-4
| water-your-self wrote:
| More links for the pile
|
| https://youtu.be/tl40xidKF-4?feature=shared
| jerf wrote:
| I 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 wrote:
| HN 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 wrote:
| Same talk on YouTube: https://youtu.be/_ZSFRWJCUY4
| PaulHoule wrote:
| Funny I was just reading this Poul Anderson classic
|
| 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.
| dekhn wrote:
| See also Jack Vance's wonderful story collection Tales of the
| Dying Earth, which also includes magic/science and daemon
| dimensions.
| torginus wrote:
| This might come off as trite (and it probably is) but why don't
| we get novels this creative nowadays?
| PaulHoule wrote:
| I liked this one
|
| https://www.amazon.com/Terraformers-Annalee-
| Newitz/dp/125022...
| jmdeon wrote:
| Honestly 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/
| yau8edq12i wrote:
| Have you actually read recent SF novels? Think what you will
| about awards, but I've never been exceedingly disappointed
| when I read a novel that won a couple out of Hugo, Locus, and
| Nebula. I'd suggest you start there.
| com2kid wrote:
| Laundry Files just recently had some novels that involves
| cool weird dimensions.
|
| The last Bobiverse book was about infiltrating a spaceship
| that is an artificial world.
|
| Heck Bobiverse in general has some cool ideas.
|
| The Andrea Vernon books are a hilarious take on the superhero
| genre.
| PaulHoule wrote:
| The Bobiverse books are great IMHO.
| TheAceOfHearts wrote:
| Stories with creative magic systems are still being produced.
| Check out Unsong, by Scott Alexander. It's about a world
| that's programmable by Hebrew and Kabbalah.
| pas wrote:
| https://en.wikipedia.org/wiki/Diaspora_(novel) and of course
| other Greg Egan works
| moomoo11 wrote:
| I wonder that as well. And the same for movies, games, etc.
|
| I think in order to "play it safe" against the 1% of people
| who cry over the dumbest shit, but who happen to screech the
| loudest, creators make everything about someone's feelings,
| edge case stuff you hardly see represented in day to day. You
| weave that web enough and you end up with the "creative"
| output of something like Gemini lol.
| mmcdermott wrote:
| I loved Operation Chaos, but I found the much later sequel to
| be disappointing.
| idoubtit wrote:
| The space-time geometry of our world is not Euclidian, not even
| Riemannian. The story of "Operation Chaos" looks more chaotic
| than scientific. That fits with the books of Poul Anderson I've
| read, like the excellent High Crusade: he likes going wild and
| doesn't care much for the scientific pretense.
|
| For another take on non-Euclidian geometries, I have good
| memories of Inverted World by Christopher Priest.
| PaulHoule wrote:
| I read a lot of sci-fi as a kid but really never got into
| Anderson despite there being a lot of Anderson books at the
| library but I do remember enjoying _Tau Zero_ (a better story
| about Bussard Ramjets than any of Niven 's... And funny Niven
| was my favorite author when I was 10 and I've got much less
| regard for him now, the Pak really spoil _Known Space_ for
| me)
|
| I wound up re-reading _Tau Zero_ and was really blown away
| which got me reading the Ensign Flandry books, _Corridors of
| Time_ , _Star Fox_ , etc. I don't agree with his politics any
| more than I agree with Niven or Heinlein but enjoy his books
| anyway. I'm planning to read all the Anderson books at my
| library.
|
| Heinlein wrote a few crossover books like "Glory Road" and
| "Magic Inc" but those were the exception for Heinlein and
| closer to the rule for Anderson because Anderson was just as
| important as a fantasy writer as a sci-fi writer.
|
| I do have a copy of _The Inverted World_ that I ought to
| read.
| cubefox wrote:
| That sounds awesome.
| AshamedCaptain wrote:
| Get 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 wrote:
| There 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.
| osigurdson wrote:
| In a previous reality, Pi did equal 3. It was crazy! March 0 Pi
| day, what!
| adzm wrote:
| You mean March 0 of course, which is leap day.
| osigurdson wrote:
| Agree!
| torginus wrote:
| Honestly, 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 wrote:
| All of Doom's movement code is based on radians.
| cruffle_duffle wrote:
| I wish this video went more into the game mechanics and why
| changing Pi messed with things the way it did.
| mnw21cam wrote:
| The 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 wrote:
| Marathon 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_n...
| ColinDabritz wrote:
| There 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
|
| 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 wrote:
| Room 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.
| justsomehnguy wrote:
| > only tracks X/Y coordinates of player(s)/monsters.
|
| It does, otherwise Lost Souls and Cacodemons wouldn't able to
| fly.
| dfox wrote:
| I meant that as in contrast to build tracking the sector
| the thing is in. Due to that you can have two sectors that
| intersect not only in 2D, but even in 3D and the engine
| still does the right thing (ignoring the fact that the
| renderer gets slightly confused when there are overlapping
| sectors in the view)
| wizzwizz4 wrote:
| Is there no way of building a BSP out of it? I don't see why
| it has to be Euclidean to be partitioned, and loops are also
| possible (e.g. Deimos Lab). (The coordinates are definitely a
| blocker, so this question is academic.)
| dfox wrote:
| The "sectors" in the resulting level data have to be convex
| for the doom engine. The "asset pipeline" handles that by
| breaking up non-convex geometry into smaller convex
| sectors. So, there are no loops or holes in the actual
| level data, also from the cursory glance both of the large
| loops in Deimos Lab are actually not complete loops, but
| they have a place where the loop is broken. But that does
| not matter that much, as almost any level contains geometry
| that is either concave or has a hole (courtyard in E1M1,
| both large rooms in MAP01...)
| ant6n wrote:
| Portals allow weird stuff (non linear geometry) in a BSP
| level. I thought Doom had petals.
| dfox wrote:
| The 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.
| formerly_proven wrote:
| No mention of the real Prey (2006) in a discussion of weird
| geometry in games?
| whoopdedo wrote:
| > the 'room over room' technology which was groundbreaking at
| the time.
|
| Bungie's Marathon from 1994 could also do this and demonstrated
| it in the deathmatch map 5-D Space[1]. It was really only Doom
| that bugged out on overlapping sectors.
|
| [1] https://www.lhowon.org/level/marathon/30
| SJC_Hacker wrote:
| > also drove the 'room over room' technology which was
| groundbreaking at the time.
|
| Descent did this in 1994.
| ChrisClark wrote:
| Descent was a polygonal game though, Duke3D was a raycasting
| engine. It was the first four a raycasting engine, and quite
| impressive.
| mysterymath wrote:
| Duke3D isn't a raycaster; it's a portal-based quad
| rasterizer. Wall quads are forced vertical, and floor quads
| are rasterized using a neat trick. The renderer computes
| successive lines of constant distance along slooped floor
| surfaces, then draws textures using affine scaling, which
| is correct along those lines. The portal walls clip the
| draw of successive sectors, which solves the hidden surface
| problem.
|
| https://fabiensanglard.net/duke3d/build_engine_internals.ph
| p
| jandrese wrote:
| I remember a Descent PVP level that was a big room with a
| corridor that came off of one end and went to the other by
| looping back through the main room but was not visible inside
| of the main room. Was a bit of a mindbender in a game that
| already stretched the players spatial awareness.
| lucianbr wrote:
| In what sense is the Duke Nukem thing "an example of this"? The
| duke thing is an internally consistent programmed behaviour,
| this is... just random errors caused by a random change in the
| source code. Duke is maybe non-euclidean geometry, or
| something. This doom pi thing is... nothing to do with
| geometry. More an example of "garbage in, garbage out" maybe.
| ColinDabritz wrote:
| It's an example of "non-euclidean" space, and yes, it is a
| bit different than the article.
| cheschire wrote:
| 8: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 wrote:
| I 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 wrote:
| I 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 wrote:
| Any playable values above p? I'd guess 3.15 should still be OK.
| treflop wrote:
| Doom 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 wrote:
| Yeah, 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 wrote:
| I 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-
| decimal...
| foota wrote:
| My 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.
| mrighele wrote:
| I wonder if it plays properly with a value of pi equals to 3.2,
| that would make a few people in Indiana happy.
| matheist wrote:
| In the context of differential geometry, p is still p 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 p x.
|
| Circumference taking sectional curvature into account, for small
| x: C(x) = 2 p x - (1/3) K p 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 p K.
|
| p can still be computed by taking the first derivative of
| circumference at 0: C'(0) = 2 p, independent of curvature.
|
| So even non-Euclidean geometry respects the value of p.
| fjfaase wrote:
| I 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 wrote:
| He didn't recall it correctly? Why didn't he asked Siri on his
| cell connected iPad?
| fjfaase wrote:
| The 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)
|
| [2] https://en.wikipedia.org/wiki/IPad
|
| [3] https://en.wikipedia.org/wiki/Siri
| jrockway wrote:
| John 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 wrote:
| If you can't do multiplication and you rely on a library for
| that. I feel sorry for you.
| ornornor wrote:
| Magic 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 wrote:
| It'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.
| sva_ wrote:
| So meta that you typed 356 instead of 365
| tempestn wrote:
| That was their point.
| nixpulvis wrote:
| If 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.
| ClassyJacket wrote:
| *the number of seconds in most days
| HPsquared wrote:
| Depends what planet you're on too, I suppose.
| mywittyname wrote:
| I spent an embarrassing amount of time debugging why some token
| refresh code that was supposed to trigger every 15 minutes
| didn't. Eventually I had to just print out the value for each
| variable and found that I defined 15 minutes as 15 * 60 * 60...
| water-your-self wrote:
| I like defining constants with math.
| Angostura wrote:
| I ways surprised how almost instantaneously nauseous some of
| those made me feel. e and pi/2 were straight into barf territory
___________________________________________________________________
(page generated 2024-05-17 23:00 UTC)