A Haxe port of Marble Blast Gold, Platinum and Ultra with 99% identical physics and cross platform multiplayer, runs on Windows, Mac, Web and Android!
Find a file
2021-07-19 12:30:48 +05:30
data fix ramps reloaded 2021-07-19 12:23:55 +05:30
src fix sounds 2021-07-19 11:30:21 +05:30
.gitignore fix stuff 2021-07-06 15:06:29 +05:30
compile-c.hxml attempt alternative janky container thingy which receives the keyboard/mouse events instead for js target, which also enables the site to be scaled and shit, fix camera while oob, fix powerup particles after oobclick respawn, fix movement keys persistence after unfocus, nuke CCD for finish pad 2021-07-16 21:52:43 +05:30
compile-js.hxml fix landmine explosion stuff, remove marble trail, make mis parsing faster?? 2021-07-12 11:18:08 +05:30
compile.bat fix ramps reloaded 2021-07-19 12:23:55 +05:30
compile.hxml fix stuff 2021-07-06 15:06:29 +05:30
index.html attempt alternative janky container thingy which receives the keyboard/mouse events instead for js target, which also enables the site to be scaled and shit, fix camera while oob, fix powerup particles after oobclick respawn, fix movement keys persistence after unfocus, nuke CCD for finish pad 2021-07-16 21:52:43 +05:30
LICENSE Create LICENSE 2021-07-12 14:14:59 +05:30
marblegame.hl fix ramps reloaded 2021-07-19 12:23:55 +05:30
README.md update readme 2021-07-19 12:30:48 +05:30

MBHaxe

A Haxe port of Marble Blast Gold, name subject to change. The marble physics code was taken from OpenMBU along with my own collision detection code, game logic was partially from scratch and taken with permission from Marble Blast Web Port. The browser version of this port is hosted here

Why Haxe?

I chose Haxe because its a good language that can target other languages, meaning any Haxe code can be converted and used in Python, C++, Java very easily so that nobody has to take effort in porting the code to different languages, atleast thats what my mindset was when I started it, but unfortunately because of the 3d engine I used, it only compiles to C and Javascript. You will have to isolate the engine specific features yourself if you want to use this for other programming languages.

Build

Requires Haxe 4.2.2 or above You require the following Haxe libraries:

  • heaps: 1.9.1 (not the git version) with https://github.com/HeapsIO/heaps/pull/573 applied
  • hlsdl (You will have to update it manually by replacing the files after doing the below steps) (Hashlink/C native target)
  • stb_ogg_sound (JS/Browser target)

You have to compile your own version of Hashlink with https://github.com/HaxeFoundation/hashlink/pull/444 applied
After all that has been setup, compile to hashlink by doing haxe compile.hxml and then running the game by hl marblegame.hl To compile to C, do haxe compile-c.hxml and use the instructions in https://gist.github.com/Yanrishatum/d69ed72e368e35b18cbfca726d81279a

Javascript/Browser

If the build dependencies are fullfilled, compile with haxe compile-js.hxml and run the game by running a web server in the same directory as the repo where index.html is located.