Non-Euclidean Doom: what happens to a game when pi is not 3.14159 (2022) [video]
media.ccc.de
media.ccc.de
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.
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.
It does, otherwise Lost Souls and Cacodemons wouldn't able to fly.
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.
Crispy and Chocolate Doom are what the community calls "vanilla" Doom, with no enhancements at all.
That said, if you are willing to hex-edit the map data, you can have non-euclidean geometry in vanilla Doom: https://doomwiki.org/wiki/Linguortal
No, I'm not confused. To me, Boom it's pretty close to vanilla. Zdoom and the rest are pretty much another league, closer to Quake/HL than Doom.
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.
Descent did this in 1994.
https://fabiensanglard.net/duke3d/build_engine_internals.php
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.
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.
Thanks for the throwback!
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.
https://www.amazon.com/Terraformers-Annalee-Newitz/dp/125022...
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.
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.
I think taking every thing into account, his actions are consistent with his personality.
That said, the first book's exploration of combat in space was, IMHO, some of the best Sci-Fi work in the series. Although I get why the books gave up on even trying to be hard sci-fi at all early on, science was pushed out of the way to make writing the story easier.
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.
(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.
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.
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...
Culture warriors are people with a dogmatic attitude to the social realm (and who shout about it - but that's redundant; all dogmatics are hegemonists).
SF is fundamentally iconoclastic.
What is a culture warrior doing reading SF, if you don't mind explaining?
For another take on non-Euclidian geometries, I have good memories of Inverted World by Christopher Priest.
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.
Out of curiosity: why? They are rather silly, but I'm mostly thinking about their implausible evolutionary history when I say that.
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.)
i agree that this is a rather confusing way of putting it
No, it adds a 61th second to the last minute.
UNIX timestamps happen twice, because it's broken. NTP too.
Turned out my Maths was okay, but Safari under many circumstances removes first party cookies after 7 days.
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.
new TimeSpan(minutes = 15)When you roll your own date
You'll think you are great
'Til you're 6 minutes slow!
https://github.com/search?type=code&auto_enroll=true&q=84600
https://github.com/mysql/mysql-server/blob/824e2b4064053f7da...
https://github.com/textmate/textmate/blob/346b52b108b387462d...
None of those look fatal but I think they all differ from the intent of the author. That's why code review is so good. You just need someone to ask "what's 874600?". Turns out: not a thing.
MySQL's issue is a timeout on SSL sessions which is normally 300s. Textmate's is a "friendly" display of the time. Not a showstopper, but probably not what they had in mind. It's so easy to transpose digits. It's great to have someone ask "are you sure?".
(not exactly the effect in the video you responded to, but similar category)
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.
> 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.
Also look at myhouse.wad for actual Doom in actual non-Euclidean spaces.
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.
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)
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...
(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.)
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.
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?
Bonus point if the new axioms play well with existing ones, and are useful to work on our reality.
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.
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!
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.
Come to think of it, long enough has probably passed that I might enjoy replaying it.
You take pictures to create portals to other parts of the level, but in any orientation/angle that you want.
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.
It’s just screwing with some routines.
Thats why most of the changes are unplayable.
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...
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.
Found a video that demonstrates it: https://www.reddit.com/r/Marathon/comments/vclu55/probably_n...
Edit: I had the name wrong, ita antichamber! As many others have correctly stated.
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 π.
9:30 Pi = e
10:30 Pi = Pi/2
11:15 Pi = 0.00001
12:00 Truth table of compiled and playable values
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.
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.
[1] https://en.wikipedia.org/wiki/Doom_(1993_video_game)
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.
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.
It's an amazing community 30 years later, but I still prefer Quake and its mods. Much more modern.
See also: https://github.com/shaunlebron/blinky
Using non-standard projections in 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.
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.