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/Mee12345/GMod-Infi... discord: / discord patreon: / meegmod
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.
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
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.
@@dadutchboy2 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)"
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.
@@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.
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!
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
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
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.
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
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
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.
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?
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 😊
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
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
I used to play Gmod a lot back in the day, and this is something I dreamed of for many reasons, always longing for larger and more detailed maps. To me, being from Second Life these days, I see similarities between how SL treats crossing between regions (or servers) and how InfMap handles players moving throughout the map - each of the x/y axis borders where there is another region 'physically', a user's agent (server side presence) can move from one to another across these boundaries. The origin for floating points is reset with each region crossing, preventing FP imprecision issues. Difference here is that it's all done locally and handled across all axes, and uses tricks within Source/Hammer that honestly, go over my head at face value - mainly because I never really did any modding of source outside of just installing others' stuff back in the day. As an amateur CompSci person, I would love to learn more about how all this works.
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.
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
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
Question: What happens if i go to another chunk, don't have collisions with an object but i spawn a second object where the collision of the first (now invisible) object is? would they collide with each other anyways? or does the no collision chunk thing also applies to props?
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?
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?
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!
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
"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. )
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.
so once you pass the boundary the data on the player walking past said boundary makes it simulate to all players that they are in different positions when (by the games standards) they are not? or
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.
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'
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.