This is an attempt to create 3D minigolf in the arcade API. The arcade API runs in JavaScript or lua, but this project uses JavaScript.
The system loosely relies on GameBase, a module I created to help with creating things within the API. GameBase was originally written in lua and ported in a rush, making it clunky to work with in JS.
Aside from that, this project implements:
- Basic implementations of Vector, Angle and Matrix for working in 3D.
- Custom 3D renderer, relying on the built-in draw quadrilateral function of the API to render to screen.
- Custom physics engine, for semi-reliable ball-on-world collisions.
- Model importing using the .ply format.
- Download the Arcade API from here. Download the one that supports JavaScript at the bottom of the post, otherwise this won't work.
- Unpack the folder and save it somewhere
- Create a new folder inside the
projects
folder called3dport
. - Place the contents of this repository into the
gamebase
folder. You should have a file structure like so:PATH_TO_ARCADE/projects/3dport/main.js
- Open a command prompt inside the arcade api root folder (where you can see the
projects
folder andtool.exe
) - Type
tool 3dport
. And voila, you're done. You can open the console using¬
.