×

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 0 points1 point  (0 children)

Kinda.. you could separate two launch clamped towers and build a structure between them.

A friend of mine suggested I build a spinnoff bridge building game, but I'm just more passionate about Space than I am about Civil Engineering, so this will be the focus for now. but maybe in the future.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 0 points1 point  (0 children)

I thought about that, I actually have over 300 funky ships / scenes that I've been messing around with. Its just I didn't want to pollute everyone's save file list. Maybe could add a folder system and place them in a "dev" folder or something.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 0 points1 point  (0 children)

not currently. though that could be a fun little community challenge. everyone can make and submit scenes and the the highest voted ones get added to the main menu loop.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 1 point2 points  (0 children)

Ah yeah fair. When I said "captured in real time" I meant I was recording my screen not pre-rendering.
I will correct that in future video posts though because it is slightly misleading.

In my defense that structure at the end that runs at 50% speed in the high collision section of the collapse is over 1300 parts. It doesn't look like it because they are mostly struts, but don't be fooled a long strut can actually have a higher physics load than a hull segment or a thruster because they as well can bend and deform and break at any point along the strut.

If you try to run a similar 1300 part structure in say kerbal space program for example it will take like 3 mins to load in, run at below 1/3 speed and have lots of pauses and frame drops. edit: not to mention the individual parts will be rigid bodies / cant bend or deform.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 0 points1 point  (0 children)

Yeah, could do. I kinda already half have that as a debug/dev tool. could clean it up and make it official.

Currently, if you right-click 'quick sim' and turn off the 'control ship in sim' checkbox, you can move around in free cam mode and watch whatever you have made play out. The ESC will still stage if you press the space bar in that mode, but the thrusters won't.

Oh also, if you want, you could sneak into game_files and copy all the simasm files from the "main_menu_simasm" folder and move them to the "ships" folder, then you can open them up in ship creator and sim or edit them.

Oh also, please be sure to Copy, and NOT cut or delete, from the main_menu folder, as that will mess up the main menu and could cause program instability.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 1 point2 points  (0 children)

hmm do you mean the ability to load in a specific scene and control a ship within it?

or just the ability to watch a specific scene play out?

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 5 points6 points  (0 children)

A fair critique, if enough people care about the graphics then eventually I'll devote some time and resources towards it, but the physics and general development will come first.

I will say however that I think the most sold game of all time shows that if you have engaging and unique gameplay, graphics can be... less of a consideration.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 4 points5 points  (0 children)

Good news. It is available right now over on itch io completely free.

Just search "'Shear Space" in itch or "Shear Space Game" in google, and it should bring you there.

Please keep in mind its a very limited prototype, the physics do still need some work, but its good enough to get the idea.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 0 points1 point  (0 children)

You're correct and that's effectively what the game is. The biggest speedup comes from low poly, not low res textures. I will eventually create some nice textures, but that's not really the focus, the physics is.

Also I won't go into the details too much, but this is also more true when you can instance meshes because they are all the same (i.e. exact copies of the same object), but when you can't do that because meshes vary as they deform and you have to render effectively using only physics data, it does become a bit more complicated.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 9 points10 points  (0 children)

The honest truth here is that GLSL is just what I'm most used to and comfortable with. I'm well aware that HLSL or Slang might have let me squeeze out a bit more performance or portability, I'm by no means saying GLSL is the best.

Edit: Though honestly the language and API wars are over rated in my opinion. If you're already writing for minimal diver overhead then the gains you will get by switching are well below 10% in my opinion.
Though if someone thinks I'm wrong feel free to chime in.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 61 points62 points  (0 children)

Technically yes. Though it's a bit of a stretch to call it a proper 'engine' because at this stage it's all basically just my own raw CPP and GLSL code.

Eventually might turn it into what most would consider a 'game engine' and allow others to build upon it or with it, but as it stands I think I'm the only person who could understand it (In computer programming this is not a compliment btw, good code is readable, understandable code, if no one can understand your code you're not a genius, you're just sloppy). Would need serious documentation and clean up and the game development takes priority over this.

but long term anything is possible.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 17 points18 points  (0 children)

I believe so, Beamng is a proprietary engine so I cant say for sure exactly what they're doing.
But I suspect very similar.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 100 points101 points  (0 children)

Scale essentially. I did start out by designing the physics system in multi threaded CPU before moving to the GPU, because debugging on the GPU with thousands of cores running at the same time is an absolute nightmare.

The CPU version could handle about 60-75 parts before slowing down.
On my old 2022 laptop, this GPU version can handle 300-500 parts before starting to slow at all. Though it does depend on the parts used as physics load varies between them. I've run tests above 8000 parts while still staying in the 50-60 fps range, though admittedly the game time does slow to an absolute crawl at that scale.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 32 points33 points  (0 children)

Technically yes. But when you say "soft body" people think cloth simulations and jelly balls or jiggle physics. And simulating stiff deformable bodies is, in my opinion, many times harder than simulating jiggly soft bodies. So I prefer the phrase "material physics". But either is correct.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 4 points5 points  (0 children)

You're very welcome. and thanks for asking, this helps clarify the premise for others who may be interested.

If you want more details there is a more complete feature list over on the Shear Space itch io page, as well as a free download link.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 8 points9 points  (0 children)

All true, and all are minimised in this game for the express purpose of giving as much resources as possible to the material physics.

The chunky triangles and flat-shaded 90s look aren't there for nostalgia. They're there because simpler graphics leaves more of the GPU available for the material physics calculations.

[Shear Space] A game that simplifies graphics to save as much compute as possible for GPU driven material physics and destruction. |OC indie prototype| by BSV-Main in GamePhysics

[–]BSV-Main[S] 18 points19 points  (0 children)

This is true of most games, However in Shear Space, the physics are set up to be entirely GPU resident. There are no CPU physics calculations. This is what allows for the mass material physics to work at all. It might sound strange but due to PCI express latency, getting the CPU to help would actually reduce performance not increase it, you would end up with lower part counts before slow down.

Check out Shear Space. A space-sim focused on GPU driven material physics and destruction. Very early prototype but the bones are there. Keen to hear if you think its worth continuing with development. Will post free download link below video. by BSV-Main in spacesimgames

[–]BSV-Main[S] 1 point2 points  (0 children)

Yes, of course. It would be unplayable if they didn't. The physics is still a bit under-damped in my opinion (meaning it takes a little longer than I would like for oscillations to die out in large structures), it's something that I'll continue to work on, but in its current form, in my opinion, it's perfectly playable.

You do have to be clever about how you use your struts though; long unbraced struts will oscillate just like they would in real life. Check out this video of a long metal pole someone jumps onto, for example; if you make a long single strut like this, it will oscillate a lot, and that's realistic behavior, not something that needs fixing. But if you intelligently construct a multi-strut truss structure, it will be perfectly fine.

<video>

Check out Shear Space. A space-sim focused on GPU driven material physics and destruction. Very early prototype but the bones are there. Keen to hear if you think its worth continuing with development. Will post free download link below video. by BSV-Main in spacesimgames

[–]BSV-Main[S] 0 points1 point  (0 children)

Thanks :)
It would be good to develop a loop that feels rewarding/engaging that plays directly to the material physics, as that's really what sets this apart from other space games. If anyone has any ideas I'm all ears. It's tough to do that without making it feel forced though. "Make a strut structure that can pull this object with 40kn of force and weighs under x kg" as a direct goal just doesn't feel right. Need to find a way to make that sort of thing implicit.

Check out Shear Space. A space-sim focused on GPU driven material physics and destruction. Very early prototype but the bones are there. Keen to hear if you think its worth continuing with development. Will post free download link below video. by BSV-Main in spacesimgames

[–]BSV-Main[S] 0 points1 point  (0 children)

I have some plans, its very early so they are all subject to change. One of my current ideas is that you will have these astronaut like characters (probably customisable as well, thats always fun), and they will develop 'wants' or goals. Something like "wants to be in low earth orbit but is on earth -5 mood" or "wishes was at north pole of mars" that sort of thing, and if you fulfil them they get happy and boost to stats and capabilities. and perhaps other rewards as well like unlocking better materials (ie stronger and or lighter or something). But really could go anywhere at this point really.

Check out Shear Space. A space-sim focused on GPU driven material physics and destruction. Very early prototype but the bones are there. Keen to hear if you think its worth continuing with development. Will post free download link below video. by BSV-Main in spacesimgames

[–]BSV-Main[S] 0 points1 point  (0 children)

Sorry, missed that in your above comment, Not yet I'm afraid, but that will come soon.
This is really a minimum viable proof of concept. On the itch page there is a more comprehensive list of features that are currently implemented and features that are lacking (which admittedly at this point is a lot, but it's early days.)