Brutal Rockets - Rust Removed, Crashes Preserved

Strings

New Member
Messages
1
Reaction score
0
For some time now I've been working in Rust and Macroquad to make a 2D rocket "sim", called Sketchy Rockets. But when BRUTAL was released I wanted to play around with it, especially since it's a framework in large part developed to support a a rocket sim (although admittedly, in a total different scale). So, I ported the game to C# and BRUTAL... well, no I did not, I gave Codex read only access to the Sketchy-repo and told it to make a port that was fully compatible with Sketchy's assets and saves.

22 hours (spread over 3 days) later it was done.
Sketchy​
Brutal​
01-intro-and-menu.gif01-intro-and-menu.gif
02-campus-and-builder.gif02-campus-and-builder.gif
03-powered-ascent.gif03-powered-ascent.gif
04-orbit-map-and-eva.gif04-orbit-map-and-eva.gif
I'm surprised how it manage to pretty much completely port gameplay, but mangled the UI. At first I thought it had tried to use some standard simple components, but no it's all custom, just like the rust origin. Oh well, UI was not the point of this.

Brutal outperforms Sketchy in pure rendering when there's lots of stuff on the screen, especially when close to the sun with the solar wind particles. That's mostly expected, Vulkan outperforms Open GL (although, considering what comes next, it's probably more down to my implementation). What was a surprise was that the simulation (drag, fuel flow, heating, trust) was 3x faster, even though rust's closer to metal should hold an advantage here. I guess the clankers win this round, I did get a long list of things that can be improved in the rust version though.

But, the real reason I had it make the port was to play around with BRUTAL. One really neat thing is that its easy to make custom shaders. The first thing I played around with is making a new re-entry heating, with a visible bow shock.

reentry-cinematic-v9.gif

This shader was pretty simple, just some 70 lines of code. This could most likely be made in Macroquad using GLSL. So I moved on to something that, as far as I know, can't easily be done with Macroquad.

booster-turn-separation.gif

This uses GPU compute to simulate the smoke, with a small compute fragment updating a 512×512 grid of smoke density, velocity, and heat, and an even smaller fragment shader rendering it. The smoke persists between frames, spreading and drifting after the boosters burn out. Now granted, the same visual effect could probably be done in Macroquad (and now that I've seen it, I think I have to make it, it looks so cool), but not as easy. BRUTAL makes working directly with the GPU pretty neat.

I will be going back to work on the rust version, but might come back to this from time to time when I want to play with Vulkan.
 
Back
Top