return to table of content

Non-Euclidean Doom: what happens to a game when pi is not 3.14159 (2022) [video]

DaiPlusPlus
40 replies
1d4h

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

lambdaxyzw
9 replies
1d2h

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
8 replies
1d1h

"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
6 replies
1d1h

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."

lupusreal
4 replies
1d

What if it satisfies an as-of-yet undiscovered set of axioms?

jerf
1 replies
1d

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

drdeca
0 replies
18h15m

Rather than including “portal” as a kind of thing in your space, I would think to just say, “around each point, there is an open ball such that the metric (not the metric tensor, just the d(x,y) thing) is the same as a ball in Euclidean space”.

Oh, and then I guess you could add requirements that for any continuous path along with a, continuous choice of an orthonormal basis of the tangent space, along that path, that uh, transporting small volumes along it, not change the volume?

mrighele
0 replies
22h48m

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.

j2kun
0 replies
23h7m

It can be given an as-of-yet unchosen new name :)

jerf
0 replies
1d1h

Fair point.

thaumasiotes
0 replies
9h11m

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.

This one might not hold either, depending on your point of view. If you take the point of view of someone traveling along a line, that can still go on forever.

But if you're measuring the line, portals can easily prevent it from extending indefinitely, by wrapping it around to an earlier part of itself. It would then fail to be the case that, for any distance, there are two points on the line separated by at least that distance.

torginus
7 replies
1d3h

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
2 replies
1d2h

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
1 replies
1d1h

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
0 replies
1d

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
2 replies
1d2h

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
1 replies
22h30m

Some vanilla Doom levels get exceptionally close to simulating it using portals and other tricks.

anthk
0 replies
9h25m

And bridges and such, but I'd put the line on Boom compatible engines.

int_19h
0 replies
15h25m

FPS games of that era were usually either in the portals camp or the BSP camp, BSP being the "OG" way to do it precisely because Doom did it that way.

benrutter
7 replies
1d3h

Woah! Thanks for sharing, that video is amazing, I'd love to see an actual game using that effect.

JonathonW
2 replies
1d3h

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
1 replies
1d2h

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
0 replies
1d1h

Remembered the entity name, and this information is on the wiki page: 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.
jimbobthrowawy
0 replies
23h40m

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.

kqr
6 replies
1d2h

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.

ghusbands
0 replies
6h27m

If you play it, though, expect something that's not a challenge but more just an interesting presentation of some ideas.

hcs
1 replies
20h56m

Also consider Manifold Garden.

mock-possum
0 replies
8h48m

Man I spent so many happily stoned hours digging into that game. Sometimes I’d get stuck and just spend some time throwing myself off the edge of a cliff face and falling into eternity, watching the fractal platforms just unfold around me, until I felt like nudge my course back over to solid ground and resume puzzle solving.

cubefox
0 replies
1d1h

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.

jezzamon
2 replies
1d2h

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
0 replies
1d

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.

MaximilianEmel
0 replies
1d

Here's another example of a "non-euclidean" engine/game, which in my opinion is more authentically non-euclidian: https://youtu.be/tl40xidKF-4

Ballas
0 replies
1d3h

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

ColinDabritz
26 replies
1d1h

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
12 replies
1d1h

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.

wizzwizz4
2 replies
1d

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.)

immibis
0 replies
10h58m

The Doom design starts with X,Y,Z and then finds your BSP node. You can't warp to a different X,Y,Z without some type of warp portal which doesn't exist in Doom. Modern Doom forks have this feature and also have graphics portals so you can implement this (as MyHouse.pk3 does).

dfox
0 replies
23h0m

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
2 replies
1d

Portals allow weird stuff (non linear geometry) in a BSP level. I thought Doom had petals.

jorvi
0 replies
9h17m

There is a very interesting Doom level named “myhouse.wad” that does a lot of clever things to seemingly allow room-over-room.

dfox
0 replies
22h56m

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.

somat
1 replies
15h52m

Sure you can do this in doom, or at least it can be done in modern source ports.

https://www.youtube.com/watch?v=Iq1-TZXz9xo (myhouse.wad)

There is nothing about the data structures ID choose to use in doom that prevent portal shenanigans. ID(John Carmack) just did not implement them.

anthk
0 replies
9h28m

Modern source ports are a totally different thing. If any, try to do what the former comment states with a Boom compatible engine as Crispy Doom or Chocolate Doom.

justsomehnguy
1 replies
1d

only tracks X/Y coordinates of player(s)/monsters.

It does, otherwise Lost Souls and Cacodemons wouldn't able to fly.

dfox
0 replies
1d

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)

formerly_proven
1 replies
23h57m

No mention of the real Prey (2006) in a discussion of weird geometry in games?

rompledorph
0 replies
1h2m

I was truly amazed by this game! You don’t see anything like that elsewhere

lucianbr
2 replies
1d

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.

snthpy
0 replies
7h41m

The DN example would be an instance of non-Euclidean topology whereas the other one is presumably non-Euclidean geometry.

ColinDabritz
0 replies
20h11m

It's an example of "non-euclidean" space, and yes, it is a bit different than the article.

SJC_Hacker
2 replies
1d

also drove the 'room over room' technology which was groundbreaking at the time.

Descent did this in 1994.

ChrisClark
1 replies
23h41m

Descent was a polygonal game though, Duke3D was a raycasting engine. It was the first four a raycasting engine, and quite impressive.

mysterymath
0 replies
20h3m

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.php

whoopdedo
0 replies
1d

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

thaumasiotes
0 replies
9h20m

the "3 houses with 3 utilities without crossing" puzzle

In graph theory's terminology, this is "K3,3", one of two irreducible nonplanar graphs. The other one is K5.

You can also make all the connections without crossing any edges if you embed the graph in a torus, which is equivalent to building a bridge over some set of edges that other edges are allowed to take.

jandrese
0 replies
1d

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.

immibis
0 replies
11h9m

I wrote a little engine with this capability a long time ago. I didn't know about the Build engine at the time. I divided the world into convex sectors and allowed arbitrary links (portals) instead of following a BSP tree. Rendering is front-to-back and clips at the portal boundary.

If you can rasterize the inside of a convex shape, you can rasterize a sector-portal-world by marking certain faces as portals, and when rendering one, setting the clipping region (or stencil buffer) to where the face would be, then rendering the sector behind it with an appropriate transformation (which is part of the portal's data, alongside the ID of the other sector).

Collisions through portals are much harder than rendering through portals.

eek2121
0 replies
2h3m

I spent so much time back in the day working with build. In many ways it was super easy (and fun!) to use.

Thanks for the throwback!

Andrew_nenakhov
0 replies
4h20m

There is an interesting VR game called "Tea For God" that puts you in your play area, and cleverly creates new corridors and rooms as you make it around the corner or lift so there is an illusion that you are in a very vast place, despite never leaving the same room, all without using the joystick or teleporting.

PaulHoule
22 replies
1d3h

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.

torginus
15 replies
1d3h

This might come off as trite (and it probably is) but why don't we get novels this creative nowadays?

moomoo11
5 replies
19h41m

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.

drdeca
2 replies
18h27m

Huh? I would imagine that content that is about people’s feelings and the things those feelings are about, would be more likely to offend? Who gets offended by content about like, “How navigation would be different if space were like X?” or, “How would sheet music for music in a world with two time dimension look? Might we have music where along one direction the frequency is increasing in magnitude, but decreasing along another, played to depict a scene in which a pursuer gets closer to a target along one direction of time but further along the other?” ?

(Though, I’m not sure if two time dimensions exactly makes sense, because like, R\{0} has two connected components, which seems connected to the distinction between the past and the future, while R^2\{0} is connected (though not simply-connected) , so I’m not sure if the distinction between past and future, can still be made? Maybe if instead of a 0-dimensional point we have a 1-dimensional curve? )

As I imagine it, for the most part, the further something is from human experience, the less it would tend to remind people of whatever things in life they find objectionable.

moomoo11
1 replies
17h36m

Because in trying to tell that kind of interesting story today, the creators would force the current day politics and other bullshit into it and make that the front and center instead of the cool math or science stuff.

If even simple children's stories can't escape it with the remakes, forget it when it comes to something interesting.

I'm always happy when there are exceptions to this of course, but it is quite rare. One of my goals if I ever make it to the 9 figure club is to start a media company based outside the US where we can make great content about interesting concepts like this, without injecting politics into it or having to work with people who inject nonsense into everything. (on a side note, this is why I enjoy working with E. Euro and S. American engineers - they just focus on working and problem solving, not feelings and shit based on half truths they made up from taking drugs or whatever)

Anyway I was just responding to why stuff like that isn't made anymore. That's my opinion.

ben_w
0 replies
8h2m

Because in trying to tell that kind of interesting story today, the creators would force the current day politics and other bullshit into it and make that the front and center instead of the cool math or science stuff.

That's always been the case. If you look at Star Trek, the TOS Klingons were a very thinly veiled reference to the Soviet Union, the Federation was the USA (and in some cases not even thinly veiled, they had an episode where Kirk was "yo, sounds like you're quoting the constitution"); the whole of The Undiscovered Country was chock full of similarly themed memes with Praxis being Chernobyl, "Shakespeare is best in the original Klingon" was the kind of thing that the Soviet Union was famous for doing[0] with all the culture they liked, and with Rura Penthe being a very obvious reference to a Siberian Gulag.

TNG comes around, over a thousand people on the ship, statistically speaking 50 or so are probably gay… none are mentioned because that was just before "don't ask, don't tell" was introduced, which itself was a mild improvement on "we will discharge you for this". Even the attempt at an LGBT episode (the planet which had eliminated gender and brainwashed anyone who still had one) only got the T, and not the LGB parts.

DS9's handling of the Bajorans feels to me like it was riffing on then-current US attitudes towards the Mujahideen (who were still broadly seen as a positive because they had kicked the Soviets out of Afghanistan and 9/11 had not yet happened) and the Provisional IRA (who were, when the show began, still engaged in armed conflict with the government of the UK).

Enterprise's Archer felt like Bush Jr, and the Xindi arc felt like it was done as a reference to the 9/11 attacks (I don't know how much of a delay there is between scriptwriters experiencing real life and the result hitting the airwaves).

Every show you've ever seen has something like this, just to get distributed. But these days, we've got more options for distribution, so you're not limited to your own country's Overton Window for "what counts as art and not filth that corrupts the minds of our youth", so you can much more easily access things that those around you would revile you for — be that smoking tobacco or marijuana, or depicting casual consumption of pork or beef like those aren't حَرَام or अघ्न्या (in Islamic and Hindu cultures respectively), or which you are upset more about out of nipples and guns.

[0] https://tvtropes.org/pmwiki/pmwiki.php/Main/InTheOriginalKli...

fennecbutt
0 replies
15h58m

Are you complaining about gay characters existing or something? Cause if you are then aaa lmao

adammarples
0 replies
10h33m

You do, but then you get games like Sunless Sea which are praised by critics but don't sell millions

com2kid
2 replies
1d

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
1 replies
1d

The Bobiverse books are great IMHO.

ghusbands
0 replies
6h32m

I've read them and somewhat disagree. The protaganist(s) in the book almost never choose a sensible course of action for their goals, even given elapsed decades in which to make them. If I can come up with much better plans on the fly while reading, the main character surely could in decades.

mr_toad
0 replies
14h11m

In particular Dicronaughts is quite mind-bending, with its two time dimensions.

yau8edq12i
0 replies
1d1h

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.

jmdeon
0 replies
1d2h

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/

TheAceOfHearts
0 replies
20h23m

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.

idoubtit
2 replies
1d2h

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
1 replies
1d2h

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.

andrewflnr
0 replies
16h31m

the Pak really spoil Known Space for me

Out of curiosity: why? They are rather silly, but I'm mostly thinking about their implausible evolutionary history when I say that.

mmcdermott
0 replies
1d2h

I loved Operation Chaos, but I found the much later sequel to be disappointing.

dekhn
0 replies
1d3h

See also Jack Vance's wonderful story collection Tales of the Dying Earth, which also includes magic/science and daemon dimensions.

cubefox
0 replies
1d1h

That sounds awesome.

jrockway
17 replies
22h5m

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
5 replies
21h45m

If you can't do multiplication and you rely on a library for that. I feel sorry for you.

jrockway
2 replies
21h41m

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_
1 replies
21h4m

So meta that you typed 356 instead of 365

tempestn
0 replies
20h31m

That was their point.

ornornor
0 replies
21h42m

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.

nixpulvis
0 replies
21h12m

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
5 replies
21h7m

*the number of seconds in most days

HPsquared
4 replies
20h13m

Depends what planet you're on too, I suppose.

sambazi
3 replies
9h56m

earth has leap seconds

thaumasiotes
2 replies
9h15m

But those don't increase the number of seconds in the day. Instead, the final second happens twice.

This is different from what happens in leap year, where February is actually lengthened and February 29 is considered a different day from February 28. It escapes me why leap seconds aren't treated that way. (I know, people say the stupid treatment of leap seconds is required by the POSIX definition of time. So what? Change the POSIX definition.)

sambazi
0 replies
5h37m

But those don't increase the number of seconds in the day. Instead, the final second happens twice.

i agree that this is a rather confusing way of putting it

leni536
0 replies
3h9m

But those don't increase the number of seconds in the day. Instead, the final second happens twice

No, it adds a 61th second to the last minute.

UNIX timestamps happen twice, because it's broken. NTP too.

mywittyname
3 replies
20h49m

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
0 replies
20h22m

I like defining constants with math.

spacebanana7
0 replies
10h39m

I’ve encountered similar issues for long lived tokens in cookies on Safari.

Turned out my Maths was okay, but Safari under many circumstances removes first party cookies after 7 days.

https://snowplow.io/blog/tracking-cookies-length/

shepherdjerred
0 replies
2h10m

I find it easier to do something like:

SECONDS_IN_MINUTE = 60

REFRESH_TIME_MINUTES = 15

REFRESH_TIME_SECONDS = SECONDS_IN_MINUTE * REFRESH_TIME_MINUTES

e.g. I define every constant separately, and ideally any constant defined by an operation will only have one such operation. This makes mistakes _much_ easier to spot.

treflop
4 replies
1d

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
3 replies
1d

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
0 replies
23h0m

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...

hnlmorg
0 replies
9h52m

I 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
0 replies
3h51m

It’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
4 replies
23h52m

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.

immibis
2 replies
10h54m

Turn your screen brightness down. This solves so many cases of "I have to use dark mode or my eyes burn."

foota
1 replies
9h40m

Maybe it would help, but I remember the issue being more the sharp contrast and weirdly vibrant colors than the actual brightness itself.

immibis
0 replies
9h6m

.... turn your screen contrast down too.

the__alchemist
0 replies
6h51m

Check out Manifold Garden too!

fjfaase
4 replies
22h39m

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
3 replies
21h31m

He didn't recall it correctly? Why didn't he asked Siri on his cell connected iPad?

nuancebydefault
0 replies
6h45m

So 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.

hnlmorg
0 replies
9h48m

I think the GP was making a sarcastic point about how much harder it was to confirm assumptions like the 10 digit constant of pi

osigurdson
2 replies
1d3h

In a previous reality, Pi did equal 3. It was crazy! March 0 Pi day, what!

adzm
1 replies
1d3h

You mean March 0 of course, which is leap day.

osigurdson
0 replies
1d2h

Agree!

cheschire
2 replies
1d1h

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
1 replies
1d

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
0 replies
1d

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.

AshamedCaptain
2 replies
1d3h

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
1 replies
1d

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.

torginus
1 replies
1d3h

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
0 replies
1d2h

All of Doom's movement code is based on radians.

ngneer
1 replies
15h9m

pi is never 3.14159

contingencies
0 replies
7h48m

Truth

RunSet
0 replies
3h50m

Descended from FOVquake and Pan(oramic)Quake.

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.

Waterluvian
1 replies
1d2h

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...

metadat
0 replies
12h42m

Marathon was so much fun on the old Macintoshes with OS6 and OS7!

AdmiralAsshat
1 replies
1d3h

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.

system2
0 replies
12h43m

Wow the JPEG injection was super cool.

robblbobbl
0 replies
4h8m

Like Missingno. in Pokémon

mrighele
0 replies
23h23m

I wonder if it plays properly with a value of pi equals to 3.2, that would make a few people in Indiana happy.

mnw21cam
0 replies
1d2h

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.

matheist
0 replies
22h40m

In 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 π.

jerf
0 replies
1d3h

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.

huhtenberg
0 replies
1d1h

Any playable values above π? I'd guess 3.15 should still be OK.

hilbert42
0 replies
8h53m

Um, 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.

fecal_henge
0 replies
10h51m

Pi = 3 just looked like some of the more budget games of the era.

cruffle_duffle
0 replies
1d2h

I wish this video went more into the game mechanics and why changing Pi messed with things the way it did.

barrenko
0 replies
4h37m

And this is why Sutskever only sent a list of 30 papers to Carmack.

INTPenis
0 replies
9h26m

Great 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.

EDM115
0 replies
9h29m

Let's round pi to 2 and forget about it

Angostura
0 replies
19h38m

I ways surprised how almost instantaneously nauseous some of those made me feel. e and pi/2 were straight into barf territory