file Where exactly is all of Marble Blast's functionality described?

  • Vanilagy
  • Vanilagy's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
24 Sep 2020 16:13 #1 by Vanilagy
Hey guys, long time no see.

I was looking around the Marble Blast Gold folder and found many TorqueScript files seeming to be describing game functionality (I know next to nothing about how Torque games work) However, I can't help but notice that some info is missing? Take powerup.cs for example. In it, only the Gravity Modifier and Time Travel are fully described (what they actually do); all the other powerups' effects are not described. Where does it say what a SuperJump does on use? I can't find it anywhere in these files. Is it encoded into the .exe somehow? Am I missing some files? Do people who create sophisticated mods (such as PQ) manage to decompile the .exe somehow, back into a Torque project, or do they do all the work in these .cs files?

Please Log in or Create an account to join the conversation.

  • Weather
  • Weather's Avatar
  • Offline
  • Professional Marbler
  • Professional Marbler
More
24 Sep 2020 16:58 #2 by Weather
Yes, I believe the missing stuff is all in the EXE and DLL files. The EXE stuff was written in C++ I believe, whereas all CS files are in TorqueScript. PQ was made largely through CS files but also through engine injections (note the additional DLLs). Derpking did most of the reverse engineering, I think.

A complete decompilation would be too difficult to bother with, and no one has even managed to decompile the weird and mysterious physics engine. Whirligig has made a CS file version (posted on the forums) of MBG's powerups, so that can be used to modify them. He used it in MBPU.
The following user(s) said Thank You: Derpking

Please Log in or Create an account to join the conversation.

  • Vanilagy
  • Vanilagy's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
24 Sep 2020 17:38 #3 by Vanilagy
Could you link me that forum post?

Also, mh. It's strange. Big chunks of MBG are written in TorqueScript; take game.cs for example. Why would some parts be implemented in C++ and others with TorqueScript? Where's the logic in that?

Please Log in or Create an account to join the conversation.

More
24 Sep 2020 21:07 #4 by Derpking

davidskanal wrote:
Big chunks of MBG are written in TorqueScript; take game.cs for example. Why would some parts be implemented in C++ and others with TorqueScript? Where's the logic in that?


TorqueScript isn't powerful enough for implementing the marble physics. It's very slow, among other things.

"You know you've spelled something wrong when the only search results are Jeff convos" - HiGuy

Please Log in or Create an account to join the conversation.

  • Vanilagy
  • Vanilagy's Avatar Topic Author
  • Offline
  • Beginner Marbler
  • Beginner Marbler
More
24 Sep 2020 21:33 #5 by Vanilagy
Alright, I get that. I actually wonder how much of Marble Blast's physics relies on native Torque physics functionality and how much of it was hand-written specifically for game's needs.

Please Log in or Create an account to join the conversation.

  • Weather
  • Weather's Avatar
  • Offline
  • Professional Marbler
  • Professional Marbler
More
  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Administrator
  • Administrator
  • Rewrite it in Rust
More
25 Sep 2020 01:16 #7 by HiGuy
See also: Marble Blast Powered Up, in which Whirligig made a whole mod reimplementing various parts of the game in script.

PQ in a nutshell
function clientcmd12dothepq() {
    commandToClient(LocalClientConnection, '34onthedancefloor');
}

Please Log in or Create an account to join the conversation.

Moderators: Kalle29AayrlRegislian