Gravity Hull Designator - a true Localized Physics mod
2,122 replies, posted
[B]Revision 27[/b]: Fixed the underwater system in gm13.
[B]Revision 26[/b]: Ported to Gmod 13, some infinite map fixes, physghosts also should work now.
[B]Revision 25[/b]: Fixed smartsnap in infinite maps (partially), fixed spawning initially without weapons.
[B]Revision 24[/b]: Fixed hulls from erroring when broken. Added the map used for Map Repeater -- uncomment the second line in lua/autorun/gravityhull_init.lua in order to enable it.
[B]Revision 23[/b]: Stopped maprepeat from loading, it was breaking spacebuild even in unaffected maps.
[B]Revision 22[/b]: [b]SUBMARINES YEAHHHHH[/b]
• added the prealpha maprepeat code-- don't use it yet though.
• fixed players in hulls being invisible underwater.
• fixed players in hulls having incorrect lighting (sort of).
• stopped the water warp effect from being visible when in a hull.
• increased the minimum distance for water fog while in a hull.
[i]if you're updating from an early revision, I recommend scrolling down and looking at r12, r17, and r20, they're awesome.[/i]
Well, here it is, a thread for my localized physics mod, currently in [b][i][u]BETA[/u][/i][/b]. It was announced a four hours back in waywo by a friend, who posted it for me due to my lack of a facepunch account. Obviously I have one now and I decided to just go ahead and make a thread for it. A lot of people say it has the potential to change gmod forever, and I agree if only because that's what it's designed to do. Most of what it does is explained in the videos, so I'll refrain from babbling and just let you see for yourself. NOTE: In video 1, it says the transitions are problematic. They are not anymore, as you can see in video 3. These were recorded with a couple days inbetween so things have changed for each video.
[b]VIDEO ONE IS OLD. Most of the bugs mentioned in the video have been fixed by now, including velocity. The third video was made today so it gives a much better idea of the state the mod is in, but I posted the old video anyway since it explains what the mod does and how it works, and those two things have not changed. I'll probably make a new all-in-one video when the beta is released.[/b]
[b]What defines the hull?[/b]
The interior of the hull is defined as the set of locations where there is a floor under you, and if the point's elevation from the floor exceeds the vertical protrusion factor, it also requires at least one non-floor (a wall or ceiling).
[b]What this ISN'T:[/b]
• [B]NOT a module[/B], the mod is made entirely with lua and has no dependencies.
• [B]NOT a reimplementation of source physics[/B], it's a complex illusion that involves a room in the middle of nowhere.
• [B]NOT a wall walking mod[/B], though it can be used on something and then rotated 90 degrees so that down is now the wall.
• [B]NOT a spherical planet mod[/B]. "Down" inside the ship is defined as the orientation gravity was pulling when the tool was first used. Spawn a dumpster, shoot it, flip it upside-down, and you're on the ceiling.
• [B]NOT a way to stick to things[/B]. Again, down is only one direction internally and you cannot walk around the inside of a ring unless you make it out of multiple hulls, each with their own down. This might be made easier in the future.
• [B]NOT a map entity[/B]. I might make a map entity later on that allows the effect to be present, but for now it's just something you build with.
• [B]NOT a collision engine[/B]. This mod uses nothing more than source's built-in havok implementation, but it sure fools it a lot. Many shortcomings of havok are avoided by making it think something different is happening.
[b]What this mod IS:[/b]
• [B]a localized physics environment for any contraption[/B], essentially behaving as if each hull was its own map.
• [B]a tool that anyone can use[/B] on any set of welded props that has a clear interior and exterior.
• the first and only [B]complete spazz protection[/B] for ships. Since the ghost doesn't move, entities inside cannot be thrown through the wall.
NOTE: In the future there will be a slider to control how much entities are thrown around by motion, but it will be applied in a backwards manner (negative velocity to the props, not positive velocity to the ghost) to avoid wallclipping, so even a 0% dampener will still stop spazz deaths even though it will throw things around just as much as before.
• [B]a separate area with its own sense of "down."[/B] Gravity's internal direction is defined when you first designate your hull, and does not change relative to the ship's rotation.
• [B]a stabilizer for pretty much any vehicle[/B] you can think of. Boats are especially interesting with the tool applied, because you actually rock back and forth in the water.
• [B]linked with the outside world[/B] as seamlessly as possible-- the physgun behaves properly for the most part, and you can toolgun entities on the outside while you're inside a hull, as well as press buttons/get in chairs.
• [B]an override of many built-in functions[/B] such as GetPos, so there is a chance that your favorite mod might work with it already without any changes.
• [B]a very convincing illusion[/B]. You're not actually in your ship, but it sure looks like you are. For this reason a lot of things (manhack lights for example) might render in the wrong place. But hey, a video game is just an illusion too, so who cares.
• [B]a simple change[/B] brought on by [B]extremely non-simple code[/B], that can revolutionize almost everything else that's already possible with the simple addition of walking in a moving object and gravity being affected by rotation.
Q: My contraption isn't working, it says it was designated but it isn't!
A: Does it have walls or a ceiling? If not, you need to increase the Vertical Protrusion Factor.
Q: Does this work with spheres?
A: Not in the way you're asking.
Q: Does this work with <<SUBJECT ADDON HERE>>
A: Maybe; depends on what the addon does. There may or may not be conflicts and there's a decent chance it won't work inside the hull, but lots of mods do. It's a matter of overriding the right things and I plan to fix as many of these as I can.
Q: I just want to fly a spaceship, I don't want people running around climbing walls like spiderman.
A: They can't. The only way you can walk on a wall is by making a "ship" and rotating it so that its floor is on the wall (or designating the wall with hit surface defines floor checked)-- it's not just a "climb wherever you want" deal.
As of the 6th, the mod has been released publicly as a [B]beta[/B]. It's quite buggy still and there are a lot of features left to implement, but for the most part it works and is stable. You can download the mod from the googlecode SVN repository at [url]http://gravityhull.googlecode.com/svn/trunk/[/url] - see [url]http://wiki.garrysmod.com/?title=Svn[/url] for information about using SVN if you don't already know.
[b]Want to give me a little push?[/b]
Modding is a labor of love, but it doesn't make any money, and neither does anything else I do. Therein lies the problem with my projects-- I have to set them aside at lower priorities than things that could potentially provide an income. I have no income at this time so looking for a job and working with my indie group to start off with some steam games is my top priority, and oftentimes I'll go for long stretches without working. Donations are an excellent excuse to get back to work on the mod for a week or so, so if you want to give me a push either to encourage me or to prod me back to work, I have a paypal account and my days are made when I see "notification of donation recieved" in my email inbox! I care a lot about my project, and donations make me care even more, and give me something to show for the work that I put into something other than my indie group's game engine.
Dude, this is seriously really useful. Honestly, I was waiting for something like this for a long time.
At first, I was thinking
"right ok another "will change gmod" addon, gonna be shit"
Then I watched the videos
It's like entity:SetParent() on crack! :D
Like I said in WAYWO - looks very nice, cant wait for a release.
Could you please try to ensure compatibility with my addon? Its very similar to SB but uses drastically different methods of doing things, so it could be easily broken by this. [url]http://www.facepunch.com/threads/1063437-Environments[/url]
I'm pretty sure it will work out of the box with it if I override the right things. Nothing in the code is specific to spacebuild or wiremod, most of it just works because of the getpos overrides and other similar techniques that apply to everything. For instance, spacebuild's "are you in space" function automatically worked the way it was supposed to without any effort. If any mod doesn't work with it, I'll fix it by adding the appropriate override/special case. Each mod will not need its own fix most of the time.
This is fucking amazing! Great job; hope it runs well performance-wise with multiple people and multiple gravitized-props.
Are a God.
This is pretty amazing, keep up the good work!
Very impressive, probably the most useful thing I've ever seen.
it's so beautiful
My god this is the best thing I've ever seen, really awesome job, this'll be awesome with spacebuild :)
Just thinking of all the possibilities... :aaaaa:
This could easily be the beginning of even better mind fuck levels in GMod.
You can have my babies.
All of them.
This tears me apart in a strange way. I've longed for something like this, many people have, but I simply do not play the game like I used to anymore.
This addon sorta breaks my heart in a way. It's here, but I'm not. I mostly code with the game now, and once you start this phaze, you don't go back to sandboxing much.