I tried my best lol discord: / discord patreon: / meegmod
Пікірлер: 223
@samuels1123 Жыл бұрын
Theoretically this could solve a lot of floating point issues in games that do not use a 'moving origin' already
@caps_lock Жыл бұрын
i thought about this possibility a lot but its harder than just using higher detail (but more expensive) float numbers (usually named doubles)
@caps_lock Жыл бұрын
@@h..h floating points are very convenient, powerful, and the double precision variant is precise enough for literally anything (think games about space exploration) and performs fine
@samuels1123 Жыл бұрын
@@h..h would result in a major reduction to maximum distance from center with accuracy lost at proximity to center if floats were not used
@greenlemon9155 Жыл бұрын
floating point used for rendering are always normalized between -1 and 1 for the video adapter, if not then something is wrong
@samuels1123 Жыл бұрын
@@greenlemon9155 This is generally false, floats are a number with a movable decimal point but fixed number of digits 0.000001 183.0023 134973.2 999999.9 as value increases, precision decreases, leading to weird rounding issues at great distances, like how the minecraft player begins having position snapping to grid or how roblox character becomes pixelated as their vertices snap to grid
@yyzttr6306 Жыл бұрын
First its working computers in Minecraft now its quantum physics in source
@ron133. Жыл бұрын
soon human possessed sentient zombies
@nou9800 Жыл бұрын
Soon it will be real black holes in blender
@NCRP710 Жыл бұрын
Soon it will be possible to have the entire observable universe in Source
@altgeditz3 ай бұрын
@@NCRP710 already done
@natcracken Жыл бұрын
So what you've implimented here is an established gamedev technique called a "floating origin". All open world games do it in some capacity to avoid floating precision artificats, however multiplayer games do it differently. Everything that happens on the server is stored in double precision and exsists "in their real position". Its only on the client where everything is converted to floats in order to speed up rendering and thus requires a *local* floating origin. Having the telleports happen on the server as well is something we *desperatly* try to avoid, however it seems you've got a really good system working with masking out the collisions and wrapping everyone back around on the server as well. Very impressive system.
@Meetric1 Жыл бұрын
thanks
@Jova Жыл бұрын
i visualized this method, but i never thought anyone would actually do it in gmod. good stuff
@stanleybochenek1862 Жыл бұрын
Yea
@An1mat0rz Жыл бұрын
Cap
@notreallyokay9355 Жыл бұрын
@@An1mat0rz unlikely that they’re first but very believable that they could have thought up of it lol
@xaosan Жыл бұрын
This is awesome! You did a great job! I create maps since my childhood in Warcraft 3 as a hobby, and a year ago I created a prototype of a coop map for multiple players that uses the very same method that you described. So basically my map is infinite. I created another set of coordinates and data storage for this. When players leave chunk - I save all parameters of objects that are left behind (2 sets of coordinates, type of object, life, etc.) and delete objects. But when players come back I create those objects back and restore their parameters, so players will see those objects again. My method is more primitive than yours because the players on my map always stay close to each other. There is an explanation for this - all the players on the board of the spaceship. And the spaceship itself moves between the chunks. Players take on the role of its crew and can only move inside the ship, or if they use a shuttle to only fly nearby. Still, you did an amazing job. Thank you for the new ideas and for the proof that this is a good method.
@peon2980 Жыл бұрын
Map name?
@joebolts2934 Жыл бұрын
Sounds interesting, could perhaps share this prototype map? like a video or screenshots.
@jarredeagley1748 Жыл бұрын
The creators of the localized physics tool made a map called gm_infinigrass a while back that used a similar technique. I remember it being really buggy, but quite fun
@Cotton_Door42 Жыл бұрын
I love how much you explain things for everybody, not Gmod map maker experts, you explain for EVERYBODY.
@Pacca64 Жыл бұрын
That bit where you need to create a duplicate object to ensure collision works across boundaries has actually been done in source before; portal uses that system to allow collisions through portals! There's a hidden entity called physicsshadowclone that acts as a secondary hitbox before the object has reached reached the other side!
@OfficialXSaken Жыл бұрын
Mirror mirror on the wall, who will be the earliest of them all? Edit: I just watched the entire explanation, really cool and easy to understand explanation
@Jamie_Slyman Жыл бұрын
I do remember a gravity hull mod that also allowed for infinite maps, but it had the issue of not isolating the players properly, and the physgun glow was still rendered where the players really were. I do also remember that it had limited random generation support if I recall correctly, and the gravity hulls worked in a similar way to the Safe Space addon. lots of source trickery, which is always cool to see :P
@Aspect12 Жыл бұрын
This is sick. Can't wait to see what people do with this. By the way, you can change the far z during the map creation process.
@Meetric1 Жыл бұрын
Ah ok, i didnt make the map
@ExtemTheHedgehogLol Жыл бұрын
It would've been hilarious if at 1:07 when you said "it's legitimately impossible to go past the hammer map size", you followed it up with "anyways..." and then walked past it XD
@TheSmallBlue Жыл бұрын
This is super cool, though if I understand correctly then when it comes to making detailed maps bigger than a normal source map you're still limited to the original size, so you'll have the same repeating map over and over and over and over, so the best you could do is an infinite flatgrass. I guess you could solve it if it were possible to superimpose objects in hammer and make them appear only on depending chunk coordinates, maybe something like that could be done with only props
@patrlim Жыл бұрын
Brushes would work but lighting would be wonky
@solar9137 Жыл бұрын
i don't know...
@solar9137 Жыл бұрын
@@patrlim oh ok
@kitlith Жыл бұрын
EDIT: I'm dumb, you're referring to terrain, the video is probably just working with props. Original comment left untouched, though. From what I understand from the video, it spends most of it's time explaining the superimposing of objects within a single chunk. The offset applied to rendering is handled based on what chunk the player is in, as is "whether collision is enabled". Grain of salt, though, I have zero experience with the source engine, so perhaps I misunderstood what you were referring to.
@Waffles_Syrup Жыл бұрын
I imagine the only way to make "terrain" past the chunk boundaries is with props, so are you gonna try combining your terrain tool with this when you get it all working correctly?
@beansoupboyboy7610 Жыл бұрын
immediately after i said i had no idea what chunks were in gmod, he uploads this vid, nice.
@halflingbandkid Жыл бұрын
This was a good explanation, it's just a bunch of layers sitting in the same chunk, but with a little math and visual magic you can make it look like it's on a grid. You could also probably do this up and down, which is a cool concept.
@Sierra410 Жыл бұрын
Does 3D skybox have the same render distance limit? It makes everything look 16x bigger, so, perhaps, it might be a way to essentially multiply the default far Z value by 16?
@rasmusstevn8744 Жыл бұрын
You should do a video where you allow multiple people to try it out on a server (If it's possible/works in multiplayer). See what kind of concepts or ideas people can make out of this. By using and testing it it's limits
@Meetric1 Жыл бұрын
it does work in multiplayer, discord has some more videos if you want to see multiplayer in action
@Nikotheleepic Жыл бұрын
@@Meetric1 Does it handle each player as their own origin and teleports everything else clientside? or how does that work in the server where multiple people can't be the center?
@lofis07a Жыл бұрын
I actually had proposed the exact concept to my friend Its gonna be neat to see if contraptions can withstand the teleport
@Meetric1 Жыл бұрын
most can like wac and simphys, some dont
@lofis07a Жыл бұрын
@@Meetric1 was thinking like ACF cars and planes
@DiceRobo Жыл бұрын
So it's kind of like how super mario 64's "parallel universes" work, so one question I have is what is the current map you're using? Is it just a sky map? Would a flat water only map work too?
@LandonLaCross Жыл бұрын
It is awesome seeing you work on any project, and even cooler to see some techniques/ideas thrown in to help new projects turn out smoother
@gregtheidiot Жыл бұрын
This is extremely smart! The simplest wat to put it is that its like going into the upside down in stranger things. It is 2 places merged but not visible or interactive
@lambert_the_reckless993 Жыл бұрын
Dude you have like the biggest brain ever, your idea is incredible P.s. If I understand it correctly the explosions and bullets will do all sorts of whacky things
@zombie.gaming Жыл бұрын
Nice explanation, didn't realise how small hammer maps were. This addon seems like it'll be very useful!
@PaLaS0 Жыл бұрын
We do it somewhat similar, have a specific position on the map to store objects physical state (but invisible) and store all other data on server itself and handle everything that way(everything is fake in sense but from stored data there are comparisons to be made that allow it to function), for shots we also do a TraceRay onto compensated position and match it within entity bounds so the hitbox wouldnt be off and that the fake location wouldn't be accidentally hittable, still trying to figure out sounds properly seems like it's better to just tell clients to play sound locally but haven't tested much with directions Also if you apply damage via serverside don't forget to add some sort of directional weak knockback as well cause it looks odd otherwise during pvp sessions. By messing around with sending data to players we seem to have managed to cause nullpointers on multiple cheats that don't have much sanity checks, so that's funny, but never reliable of course.
@khgamerof3899 Жыл бұрын
I found this out while toying with bombs on some infinit maps and now I know I was right thank you
@DarthMendorian Жыл бұрын
warning: there is alot of things to read in this comment and can cause confusion, misunderstanding and bad engelish can't you make it so your playermodel is smaller so there is alot more space but keep the chunks and have some sort of way to make textures "smaller" but not in resolution. this would make it feel even more infinite. make the chunks about half of the size of the map. so it gives you some sort of space idk. if you arr planning on adding this to other maps or even a way as a mod make it infinite for every gmod addon map. make it so your player doesn't clip through any of the walls and if the ground is lower or higher from the ground make sure it does not teleport players above or below the map and teleport them to a space where they can walk without any issues. it's confusing to tell what i mean but something with smaller player, bigger chunks, addon map support, don't tp player underneath or overneath the map you were playing on, tp player to a lower/higher space if the space on the otherside of the map is in a lower or higher altitude (sorry for my bad engelish) and teleport player to a suiteable place where you can walk and not get tped into a wall. my last thing i want you to add is if you are playing on a backrooms map or something like that. make it so the enviroment the player is in without an outside has endless rooms and hallways edit: make it so it's like a randomly generated backrooms map, like a script where it generates rooms based on the rooms from the previous chunk.. unload previous chunk however keep the previous chunk but with only portions that are visible from the next chunk. ray cast only the part that are visible from the other chunk so it doesn't look like an empty space when you enter the other chunk. idk how to describe it. what i try to say is like an infinite but random generated map themed chunks for indoor maps edit edit: make another addon for randomly generated but also infinite maps and for out doors maps make it infinite but randomly generated chunks with same theme as the first chunk however it's completely different and creates as an example: if the map is some sort of hills or whatever it generates chunks in that theme but it's differently. it generates suiteable chunks that fit with the actual map theme.
@Tinkuwu Жыл бұрын
This is genius. You are very talented, my friend.
@SparrettCrow Жыл бұрын
9:38 Cat meow moment.
@the_stray_cat Жыл бұрын
i dont know much about g mod but this is actualy really intresting info. gives me ideas for other things.
@SewerOverlord Жыл бұрын
Holy shit, this is like how game makers found shortcuts and stuff to push old consoles to the limit
@kehi1809 Жыл бұрын
The small map size in Gmod was the main reason I was looking forward to S&box, but now that that issue has been resolved, the possibilities are limitless! People can RP on a real GTA style map! Spaceships flying through fast expanses, planet to planet! All of those Wind Waker maps could finally be combined! You could have 50 people all playing in VR on a map the size of Skyrim!
@Meetric1 Жыл бұрын
Performance would be atrocious, but yeah
@Rih4rd_dota Жыл бұрын
what a maaagic. btw, you can cut the ummm eeeeem ummm part in the editor, so more people would understand you, I guess. but I like it even with ummm eeeeem
@octo4676 Жыл бұрын
wait this is really cool. Good job with working on this
@ovaoswa Жыл бұрын
i thought youbwere gonna say "hello everyone, this is your daily dose of internet" for a second
@orangequill1645 Жыл бұрын
My brain hurts from the chunk explanation
@A_very_tinly_can Жыл бұрын
Mee is just a bored omnipotent source god at this point lol
@Kippykip Жыл бұрын
LOL I came up with the same method 2 months ago for my own engine project, I think it'll work great aside from NPCs deactivating outside the 9 loaded chunks
@Todija Жыл бұрын
What about NPC pathfinding, do they go to the player's rendered position as supposed to or do they go to the player's legitimate position (npcs do not exit centre chunk)?
@Meetric1 Жыл бұрын
npcs are just completely fried
@scotta.boutzis3235 Жыл бұрын
I have two questions, can this work with the Zeta players and other nextbots like Drg and 2D Sanic clones, and with vehicles (WAC, LFS, Simfphys etc.)? PS: The explanation is grate, and the visuals are clever.
@viktoriatheskinnynerd2674 Жыл бұрын
I tried testing what happens if you try to generate a nav_mesh for the nextbot to use, but it immediatly resets the map and no mesh is generated. The way the infinite map is made probably does not allow for a nav mesh to exist.
@hekkn Жыл бұрын
man plays with dolls for 7-8 minutes explaining a complex concept
@Greenlittesmug Жыл бұрын
Cute little teeny tiny baby props
@ApertureAce Жыл бұрын
This is just brilliant. Very impressive!
@RedHedDes Жыл бұрын
Great implementation. I think I could take a swing at animating this explanation. Your visual aids were pretty good tho!
@PsychorGames Жыл бұрын
But first, we need to talk about parallel universes.
@swolefrogzilla7352 Жыл бұрын
This reminds me of the summoning salt video of super Mario 64 when there’s this glitch to go super fast and teleport to another copy dimension in the game
@iceypino1086 Жыл бұрын
started up this video and thought i was watching a khan academy video or something with the way you talked
@ThatOneDudeWhoPostsStuff Жыл бұрын
This sounds like the whole parallel universes thing in Mario 64.
@farquhaad3209 Жыл бұрын
Well explained, nice concept too!
@heret1c385 Жыл бұрын
for the first second i thought i was watching a garbaj video lol
@the_infinity_ Жыл бұрын
this is amazing, i need this
@samuels1123 Жыл бұрын
Another way to explain would be to show actual entities in wireframe material clicking back as they travel away from a player
@kieranmilner4208 Жыл бұрын
G Bombs is gonna even more fun now
@JimBimBum Жыл бұрын
every boundry is like another dimension. like w,x,y,z where w is a different layer. x,y when escaping the max or minimum limits you get it kind of flipped in a way while updating w to which ever chunk you're in. but the problem is intersecting objects with chunk borders so he duplicates it to make it. the issue i see is bigger maps, map chunks, weapons, vehicles and physics props.
@avroo Жыл бұрын
imagine this man making source 2 on source 1 with gmod
@milkyway_9217 Жыл бұрын
Since portals work on this map, Tardi should as well, other than the possibility of the tardis not loading when it's to far
@wasabithumbs6294 Жыл бұрын
The center "main" chunk can actually be much larger. You only need the other chunks to occupy a tiny fringe of the map in order for the teleport trigger to be hit, if you get creative with rendering
@EricZethVT Жыл бұрын
i would love to see like farlands reference after walking like 10 hours straight in one direction lol
@Meetric1 Жыл бұрын
sounds cool, sure
@Bebeu4300 Жыл бұрын
The visuals and explanation remind me of Pannen's explanation of PUs in SM64
@arcionek Жыл бұрын
So essentially, geocentrism has been implemented in gmod.
@IAhmadGT Жыл бұрын
oh this is very clever good job my dude!
@solar9137 Жыл бұрын
wow, that's pretty useful
@ceres_mars8137 Жыл бұрын
this must have been a headache to design, nonetheless put into practice. huge props.
@commisioned Жыл бұрын
bros a gmod scientist but man youre great
@sunnysideeggs Жыл бұрын
I've been dreaming of creating a map where I could fly a plane in a straight line without having to turn erratically for 2 years, hopefully that dream will come true.
@RB-ej8wk Жыл бұрын
we definitely live in a simulation
@Cubekid10. Жыл бұрын
Cool
@kotorybeusz7246 Жыл бұрын
This is so cool I wish I could play on a map like that!
@MOLDA_ Жыл бұрын
sooo.. essentially you could have a ship addon like a spaceship or a TARDIS let's say , assuming they'd add auto-pilot to fly forwards while you're walking around, you could make infinite space to fly through? that's mad
@thehalflifeguy368 Жыл бұрын
this guy made kerbal space program in gmod
@zt64 Жыл бұрын
Do raycasts properly go between chunks? like can you shoot a weapon from one chunk into another?
@Meetric1 Жыл бұрын
Not yet
@tronikin3025 Жыл бұрын
this is fucking insane
@jcpalmtree6079 Жыл бұрын
you are a god damned genius. why the hell didn't the actual devs think about this. unless of course that wasn't their goal all along, but rather to make the canvas in the first place. still very inspiring and informative. i'm little more than half way through watching the video but wanna get the complement out of my system before i forget.
@elliot9634 Жыл бұрын
you are awesome man
@TriumVee Жыл бұрын
4D space, i get it 💯
@KingPOF Жыл бұрын
This is groundbreaking
@Ripovszki Жыл бұрын
hello everyone garbaj here 0:00
@tusk1142 Жыл бұрын
Hey uh question regarding the map (seriously) You ever played daggerfall?
@timeTegus Жыл бұрын
in s&box they also made it posible but with edeting source 2 sourcecode
@jajoothecoolman Жыл бұрын
man visualizes expert coding skills inside of gmod, breaking news
@carpotunnel Жыл бұрын
what about weapons, i believe the revolver is hit-scan, how'd that work, or the crossbow, which i believe has a physical bullet. let's say you for example shoot the rendered enemy which has teleported to the other side, wouldn't that brake the hit-scan, with the crossbow, lets say it works but in front of the invisible real version of the enemy there is another one visible, wouldn't that make the crossbow hit the wrong target?
@tritoner1221 Жыл бұрын
so basically one chunk houses the entire world
@blues1111 Жыл бұрын
Now you just have to wait to get a job at Valve
@mnichu201 Жыл бұрын
Very interesting
@erik7317 Жыл бұрын
Can a player in chunk 1 accidentally destroy a breakable object in chunk 2 if they're in the same "technical" location?
@Meetric1 Жыл бұрын
they should be able to after I detour some functions so bullets can travel across chunks
@func_dumbassthysecond Жыл бұрын
please stop bullying our game engine, thank u. -Valve Team
@ManiakPL22 Жыл бұрын
normal people: this idea would be hard to do in source... I guess I will do something in roblox or unity or whatever.. Mee: this would be hard to do in source... well, time to learn literar magic and fuck around on the very edges of the engine limitations.
@SilvercattoOsom Жыл бұрын
I played something similar to this on GMod where a map is basically one infinitely going flat grassland. You can't really drive vehicles past a certain point as an invisible wall will stop it in its tracks while you're driving it, though. Which begs the question... do props despawn when you go far enough from the "center origin" of the map?
@Giantalfe Жыл бұрын
I cant be the only one who thinks this person sounds like the youtuber Garbaj...
@Marduk401 Жыл бұрын
instead of using a paint tool to show 2d chunks the absolute madman made it in hammer and presented it in gmod. lmao!
@NeroDefogger Жыл бұрын
I understood it, but it is probably because I'm a programmer myself, but yeah nice trick
@vadiks200325 ай бұрын
whats crazy is that its modded with probably lua into a game with limitations thats based on source with limitations
@tauon_ Жыл бұрын
that's cool
@SharkVil Жыл бұрын
I understand correctly that this has a lot of problems with collision detection, shots, lighting, mechanisms?
@Noruzenchi86 Жыл бұрын
9:37 meaaaaaoowwww
@gamer_x403 Жыл бұрын
Pretty sure if you turn on sv cheats, change a variable and then turn sv cheats off on the same tick, the server basically won't "notice" that cheats were turned on (ie achievements still work and everything). At least that's the case in TF2, but i don't see why it would be any different in GMod.
@PoppySynQ Жыл бұрын
based video
@tetotetotetotetotetotetoteto Жыл бұрын
so does it just store the perceived offset from the world origin for each object in an array, and then iterate through that to offset the rendering each frame? very very cool stuff, excited to see final product
@Chilli_ix Жыл бұрын
how do hitboxes work? if someone goes far away can you still shoot them? and what about explosions? if you took a bomb far away would it damage everything because it is technically still in the center chunk with everything else?