Infinite Map - Better Explanation
HTML-код
- Опубликовано: 5 окт 2024
- this is a video with a better explanation of how the infinite map works since I wasn't too proud of the last explanation
beta release: github.com/Mee...
discord: / discord
patreon: / meegmod
Explaining your technology with your other technology (infinite map with seamless portals) is kinda clever
yep it's like reverse engineering ufos
perfect advertising
Seamless portals and playing with object properties aren't really new thing. Same things were used in games like Duke Nukem 3D or first DOOM. He just took old tech and made something new with it.
@@patrxgt9691 i mean yeah, but he used his own mod, that's what i wanted to say
its not clever, he literally stole my mod
What a great explanation! You just created the biggest magic trick ever in GMOD.
Can we have a realistic simulation of Atoms and particles next?
Actually this isn't *so* difficult.
The two problems is:
1 - to be fully "realistic" They should be so small you couldn't see them
2 - making 2-10 atoms isn't that big of an issue. However making ENTIRE OBJECT out of them is something ridiculous for current technology
@@shawermus "Mee" is god, he will find a way
he had the water physics, but it was pretty limited thanks to how source processes
That would essentially be a 1 frame per year simulation at that point.
@@shawermus ☝️🤓
You should add a feature to change the player's id to teleport to another chunk so, let's say you can teleport to your friend who is a lot of chunks away.
use ulx
@@unimox3343 either you didn't watch the vid or you don't know how ulx works.
@@unimox3343 it will teleport to your invisible friend, in the chuck youre in
@@npc_citizen9276 They detoured getpos and set pos so it should work
@@alecz3843 doesn't work for me for some reason.
Basically, you made the players loop inside the main box (cell, dimension x0 y0 z0) and stores how far from the main box to avoid colision and render on the right distance.
Dude made turned the 3D map to 4D and stacked it to be 3D again.
how is that 4d
@@lizzycoax if its not 4d, what d then?
@@gitarkatili 3d, no extra dimensions required
@@lizzycoax Well technically it might be 6D.
You have the 3D coordinates for source physics, and 3 additional coordinates for the infmap collision logic.
This 'additional' coordinate set could be itself considered a 3D space where shift in position moves between 'regular 3D' cubes
A way to imagine it is to have the standard "x,y,z" and then the extra "a,b,c"
An object at (3,7,4),(0,0,0) can collide with an object at (3,5,2),(0,0,0) but not an object at (3,5,2),(1,0,0)
This is what Mee was getting at with the colors, representing the additional dimensions as RGB, making "(x,y,z),(r,g,b)"
@@lizzycoax Yeah modulo is a thing but you're still not using one infinite volume, space is still being wrapped in the additional dimensions
This is quite literally one of the most amazing things i've seen, i cannot wait to see the things that will be achieved using this base
wish we had this 7 years ago, but better than never
@@xxxod 7 years ago? I wish source had this 16 + years ago (looks at mod I worked on for over a decade in the corner that was constantly hitting the source engine map limit with the crazy momentum possible, so much so that I modified all of the game to make the player 1/4th the size to allow for 4 times the map size.) I am sad.
@@CrAzYpotpie Same. Pretty much exactly 16 years, I think.
Literally 2000+ Multiverses
Hand puppets with Mee is now my new favorite TV show.
Welcome everyone to another episode of "quantum physics in GMod"
Essentially multiple "dimensions" of the same area, and you can only interact the items in your same dimension, but it looks like those other dimensions are next door
so basically you set a boundary that teleports you to the opisite side but when that happens data keeps counting as if you didnt teleport and then that data pulls of a super illusion
*off
@@taffyadam6031 yeah, i just fast, not acurate
@@Gravy_Guzzler spoiler no one knows or cares how fast you type, but they do notice problems...
@@ocoolwow true
This is seriously amazing. You did a good job explaining it too. Also, why are the teleporting boundaries (where the “seamless portals” are) not located at the actual boundaries of a maximum sized hammer map? Like, why is the black square not the same size as the blue square?
imagine a fast moving contraption passing through the portal, it needs some "wiggle room" in order to not hit the source boundary since the physics calculations run more often than the teleport calculations
@@Meetric1 Got it. Thanks!
Homeboy just added layers from Photoshop to VHE.
Damn son.
Thank you so much for adding an accurate representaiton of Scotland to the popular game Garry's Mod!
I've just been describing this to friends as "It's like super mario 64's infinite parallel universes, but with a bunch of extra code to make them all different". Obviously that's not a fully apt comparison but it's close enough for most people.
I get what you're going for but I don't think that's necessarily a close comparison other than the illusion it produces.
Iirc M64's parallel levels are a symptom of the engines math/memory overflowing which produces "physical" or mathematical duplicates of certain properties of the geometry.
Where in this case the infinite level is a complete illusion, the whole "infinite" level is contained in finite space. The only wizardry going on here is the ingenious way he manipulated the renderer to create the illusion.
All of the objects within the engine are all in normal space within their own "collision groups"
Please correct me if I'm wrong about M64 😊
cool! me and my friend used to shoot crossbolts into the void in the earlier versions and see glimpses of it teleporting.
you make me feel younger again, explaining, and me understanding. 😊
you just made a new era of possibilites to the gmod, great job, i can imagine this becoming something even more greater in future, or people transforming your idea into something like a real space where you can go from a planet to planet, simulating galaxy, maybe im dreaming too much but who knows,
there was another dude that did the same thing a time ago but he discontinued the project sadly, again GOOD JOB alright and hope to see more updates from this
So in other words, this works because Source can still render objects and geometry past the physical boundary, but the Player cannot interact with any of them.
To make Players interacting with said out-of-player bounds objects and geometry possible, you instead move the entire world, with the Player more or less remaining in the same cell/cube/chunk in which he spawned the entire time, rather than the opposite and default, a.k.a. moving the Player around in the world.
Would this be an accurate summary?
sounds about right
@@Meetric1 guys if this base mod...😐
I would wanna see all ARMA Maps ported to gmod😂😂🤣🥶😏
That kind of reminds me of what people did with porting Mario from Mario 64 into Gmod and Minecraft.
Futurama spaceship tech!
That's literally how Star Trek's Holodeck works and i love it
I would say very good work should have been quite the challenge to put all this project on stable legs. But here it is! I'm glad there's finally someone who made something like this in Gmod.
Neat! That's basically how I pictured this working when I first heard of it. The map itself is still finite and relatively small, but teleports, rendering tricks and changing level geometry all make it _seem_ like you're traveling really far. Reminds me of how Kerbal Space Program solved the problem of floating point imprecision by moving the solar system around your ship instead of moving the ship through the solar system, so that way the ship never gets too "far" from what the game considers to be the world's origin point.
What happens in multiplayer and people walk in different directions... I'd imagine the "visual map" kinda changes for each and every person but while I don't know much about gmod just HOW
So each person has a copy of each object in their cell but only the objects that match the location tag are enabled. The rest is graphics rendering
That is somehow ridiculously simple and complicated. Code is fantastic, I bet this took forever.
This is awesome work! Reminds me a lot of the "phase" system used in popular MMOs like WoW, and the teleporting system as a beautiful quad tree.
5:17 MY MAN
It feels really good when I guess right about how it basically work
Согласен
this is a really dope idea, do you imagine expanding on this or offering tools for others to develop content that supports this?
I wanted to do this years ago for a pirates of the Caribbean type map. I had thought about doing stuff this way from the old bunny hop servers with their anti-grief mechanisms. You've really outdone yourself, this is excellent work and it honestly keeps alive a very ancient game. Good work bud!
incredible explanation, and im not the best at understanding this kind of stuff but you made it really easy
This really reminds me of the Tardis and Safe Space addon which also uses portals to teleport you to different parts of the map which gives the illusion of bigger on the inside
gmod back in the day: look barney is drunk
gmod now: look guys i recreated 1 to 1 copy of italy
this makes a lot of sense. so if i understand, all chunks of the map are split and "consolidated (?)" into source map boundaries.
Each chunk is rendered at an appropriate position similar to how skyboxes work, including entities, but collisions are disabled for chunks that the player is not in, and the player us teleported like kleiner and is shown different chunks and collisions.
Did i get it right?
This is kinda like the 4th Dimension.
Everything stays in the same place but youre changing where you are in the 4th dimension
Honestly, this surprises me more than a truly endless map.
Hey this is really neat I would absolutely watch an hour long explanation of this concept with a look at the code. Really cool stuff!
Woah, cool that this was my first thought on how does it work
Kind of not related to the video, but I would love to see a sandbox game built from the complete ground up. And not even like s&box, but a custom, open-source engine built specifically for a "do whatever you want" kind of game. Just imagine the possibilities.
there used to be something someone was making called "Pragma Engine", but I don't think that ever went anywhere, but it had really awesome native features such as softbodies, ray-traced audio, importing external assets in gameplay on the fly, and so on.
the way you explained this was absolutely adorable :D
"But first we need to talk about parallel universes"...
( iirc, in the pannenkoek2012 video, he was going in copy of the map where he could collide with objets without being able to see them. )
When the release comes, my friend and I will explore these vast expanses
im not even into gmod's stuff but this was a terrific explanation, this is such a crazy good project, oustanding
love this so much.... i remember wanting to make something similar to this, but just with basic teleport triggers and 3d skybox stuff instead of fancy code
Now you're really thinkin with portals!
Neat idea. Good organization concept for handling extremely large maps.
Dude you are legend, you did something no one could do. This technology is one of the biggest gmod comunity achievement. I know the technology can seem raw, but it's still beautiful.
this is how i imagine the 4th dimension working; different cells with 3d slices of volume, like a 3d object having slices of 2d area
so when you're moving through the W axis you're basically moving through these 'cells'
more like a spatial hall of mirrors (which people actually usually call "infinity rooms")!
Cells. Interlinked.
The top hasn't stopped spinning...
I'd love to take a crack at finding a way to incorporate navemesh generation into this infinite map generation. The way you described how the data was added to the 'client' in your example makes me wonder if that same data can be used to make a navmesh for each "box". At least, each box where a navmesh would be relevant.
Take my idea with a grain of salt, though. I'm not a programmer (yet :D) so I don't have a real perspective on how this kind of thing would look in a real scenario.
Maybe after I've gotten through my programming classes over the course of the next year I'll understand better xD
well since every area occupies the same place I would imagine navmeshes would break
How does this work with hitscan? Can you shoot someone who is in another chunk?
it probably won't at the moment, judging from his usage of the teleporting crowbar sweep which is basically a invisible bullet that teleports you to the spot it hits.
Traces work across chunks but the bullet trace does not but he said he would try to make it beable to go across chunks. Projectiles however can still go across chunks
So there's like a million things inside one chunk... But each chunk we visit... The other objects have collision on.
exactly only the stuff with the same chunk location tag is enabled
Now I'm curious how this would work with npc's, probably not at all, but an interesting thought anyways.
It kinda works. The main problem is that they can't move as generating a navmesh is impossible
DRBase works alright
@@debugempty Literally just echoing what I said but yeah. I imagine a different kind of navigation system could work but that would require implementing said system into source which would be a mess of it's own.
@@goon-705 I think all you could do is some actual like machine learning because Source only likes when it's pre-generated.
@@debugempty Echoing what I said again but yeah.
I'm a pretty abstract thinker but this here just fucked my brain pretty hard. Absolutely amazing engineering! It reminds me to the movie "Cube 2: Hypercube" for some reasons. I need some time to fully understand this, but I will spend it because it's so awesome. Well done!
His said "Cells"?, interlinked! But if be serious, okay, I kind of get how this works, we don't really move from the objects (map) we only move from the first image of the objects (map) while in reality we walk again and again throught the invisible non-coladable objects (map), as first image stays further and further. But here is my question: if real objects can only be placed on the real (primary) map and everything else is the illusion, will you be able to place new objects in the distance (far enought from the starting point (real primary map) ) with the possibility of reaching them, because there is no distance, the map is only one. If of course I understood this correctly.
yes, what ive done is basically "detour" or kind of "intersect" when props are created to work with my chunk system. if you were to place a prop at position (100000,0,0) my code would interject and go "ok thats exactly 100 chunks from spawn, dont alter its actual position... only change its cell position" if u kinda get what I mean
Fascinating... this passes as 4D. I wonder if there would ever be a possibility to add a seed generator for the map. The end all-be all of Gmod
guy ! you have just created the very definition of the 4th dimension!
I was gonna do something similar to this ages ago, except I was gonna stack 4 pieces of the map on different Z positions and then seamlessly TP between them with portals but you one upped me lmao, great shit
So you are sort of like polarizing props and players so they are only interactable if they share the propety of being on that same polarized version of the map. But really all props and players reside in the same space, just selectively obscured or made visible and interactable when appropriate. However I'm wondering, if the map itself contains different geometry and places to collide, are those "polarized" too or is it limited to just props and players?
5:18
your friends have good taste in games
Dude really made a toaster into a railgun. Like for that, for sure.
Well now i forgot how physics work.
That's a super smart idea. Great work
oh well whatever, I bet it can't render the entire observable univer- oh wait
Yeah dude some did this in gmod... 2048 universes... each of them got an parameter of about 880.000.000.000.000.000.000.000.000.000 km
Name of that mod which uses this mod is 1:1 Multiverse and its for gmod 😂
So ... He fucking did it 😅
Ps: u need an NASA Computer for this shit
@@Shnking114 well, yeah Ik
I saw Charlie's vid and decided to see how it actually works... its crazyyy
I saw comments saying 'I bet it can't do ____ though'
And I wrote that comment. Crazyyy shit dude
Short explanation: the map uses portals and makes it so your client renders props, entities, etc farther than they really are.
Such complex things in such simple words
Thank you ♥
Bro explained this better than my physics teacher.
TL;DW
It's like minecraft chunks, but all the chunks are overlapped. While in Chunk X, you don't collide or see everything in all other chunks, but you can see the other chunks past your own chunk.
So is the bigger box still inside the source boundaries, but acts as a margin to properly handle props being between two cells?
yeah
Very well explained video I was just curious how does the terrain that further out seamlessly rendered if you will and how does the add-on know where the terrain(the mountains for example) is despite the player never entering the area.
Something about this reminds me of Super Mario 64 speedrunning videos.
me watching mee explain to me some 4d philosophy
I have seen something like this, and thought of the concept of a spatial treadmill. You are always in the same spot, but the topography will still change.
as someone who takes allot of interest in this kinda stuff, this is pretty neat.
Theres a problem where if you detonate a nuke in another chunk you still see and take damage from the nuke if it were in your chunk. I dont know if it can be fixed but it would be cool if you could test powerful nukes from a safe distance in an infmap because in a normal map you cant escape the blast even if the nuke and you are on opposite sides of the map.
my man's a genius, you've earnt yourself a new subscriber.
as someone with a very rudimentary/basic understanding of some complex physics and science, this feels like it's tickling the part of my brain that knows about relativity and stuff like higher spatial dimensions potentially existing and not being perceptible because they're "folded up"
like, what if travelling along a geodesic in what we think is a flat spacetime, is actually travelling along a curved spacetime with a distance related phase shift that we think of as a larger distance between those points because of some equivalent phenomenon as seen in the video? when really, there's a lot of stuff occupying the same space, it's just that most of it you can't interact with directly in that way because of the difference in phase, which we perceive as distance in 3 dimensions.
ahh, I just realized why, because hidden variables aren't a thing in reality, the information about state and configuration has to be stored somewhere and that'd be something we can observe or measure somehow.
love how the players are just npc faces cubes
Man's gonna get hired at VALVe at this rate.
This source engine magician probably can get a job at valve.
Some genius going on! Would you be able to explain how you're having different terrain in each cell?
This is similar to how a lot of games actually work behind the scenes. Is there a video explaining the terrain aspect?
This would be awesome for the stranded gamemode
So basically what you did should be mostly understandable to Minecraft players. You've created an infinite map using "chunks" which get loaded along with collision as soon as the player walks through the source map border. Really clever way of doing this I must say. I'm really curious how it works on the technical side of things as this solution must have created problems. What was the biggest one? Were there any hilarious bugs that happened?
Except the chunks are at different locations, they aren't just giving the illusion of it
@@DogsRNiceyea this would only be similar if minecraft had a single chunk that changed depending on your character data which would make the game super heavy
that's just "wow!" And my thoughts about terrain is that every terrain is placed in one place, but how you set up the visibility and colliding, so you do for terrain to "separate" it the same way with a possible playing with the scale of everything.... But damm, when I saw the GTA SA map, I could not believe my thoughts were actually true...
my goodness the audio, i can hear every molecule of saliva, you could be making a killing in a different market
This is something ive considered adding to my own game.
TLDR, you recreated minecraft in GMOD, but each chunk is really big
Hi from Shurikworld! You realy did a great work! :3
this is freaking mind blowing
Wow mate that's cool, I gotta cover the map on my channel soonish yes
just like the holodeck in startrek ! genious!
In a way, this is really adorable for some reason.
That's incredible! Really clever concept
This is absolutely ingenious
The noises of the mechanical keyboard in the background really is an obnoxious sound when listened through a headset.
its seems pretty good explain, but i worried about make bunch of lag with multiple props combined like acf tank or something
well today we see how lag reacts with this tech lol, 128 gigs of ram minimum to render the 1:1 universe recreation
imagine filling a map like this with a city, that would be crazy
To be completely honest I have no idea how I got here but I enjoyed it none the less
Basically, the "infinity" map just using teleportation and visual trickery, plus somehow messing with the collisions, right? What a mind confusing thing it is... 🤯
Imagine what mappers will do when a plug-in is released.
Open world in GMod, thinking with portals.
GTA vice city is already in gmod
I remember a map project like this back in gmod 12 by an unknown author. It didn't work nearly as well as your ls does as it only supported single player.
If I had to guess about the Terrain, your generating it by populating some sort of Collision object, like a static prop that you can resize to form different types of Terrain? Hence why the shapes the terrain is so primitive?
Not really, the terrain is generated on the fly, not resized.
The only reason it is so low poly is because most gmod players use the 32 bit branch which is less stable. when generating collisions at this scale it can cause crashing, so to avoid instability i've kept it relatively low poly.
Also remember this is a base and not really a map. this map is more of an example of what you can do with the base, and I didn't want to spend too much time on it
@@Meetric1 fascinating, does that imply that the Terrain is some sort of model that you can import?
no, its procedurally generated