Arcade API - Minigolf

Hello all.

Wasn’t sure where such a thread should live, so I’ve plonked it here. The Arcade Tool has been out for a few months now and I’ve been working on a few things for it that are all terrible. Among those, I’ve more recently been working on attempting to create a Minigolf-esque game for the Arcade. This started off as an attempt to make a basic 2D physics thing but turned into minigolf when I had too much fun messing around with the ball physics.

This is still nowhere near completion but I thought I’d share it here to gather feedback on various bits and bobs so I can focus more on what’s actually needed. I’m pretty terrible at things like level design and art so I was hoping for feedback and suggestions on these areas especially.

Here’s a link to the GitHub:

How to Setup/Play:

Video Guide:

● 1. Go to this GitHub page and download the V1.1 Arcade source code.
(Side note: The old download link is down currently so I’ve put the Arcade on GitHub. Let me know if it should be taken down)
● 2. Extract the contents to a new folder.
● 3. Within the projects folder, create a new folder called minigolf.
● 4. Go to this GitHub page and download the Latest Release source code.
● 5. Copy the contents of the minigolf release folder into the minigolf folder you created.
You should have a folder structure looking like this: arcade_folder/projects/minigolf/main.lua
● 6. Return to the Arcade root folder where tool.exe is located.
● 7. In the File Explorer address bar, type cmd.
On other/older OSs, open a Command Prompt and set the directory to the Arcade folder.
● 8. In the Command window, type tool minigolf.
● 9. Play.

Video [V 0.1] :

(Quality is low because the Arcade runs at a fixed 400x300 resolution)

Current Version: V 0.1

Known Issues
  • Ball will sometimes pass through solid objects.
  • Ball travelling at speed will phase through objects.
  • Ball will bounce oddly occasionally.
  • Convex curves are relatively unsmooth.

A :heavy_check_mark:️ denotes an official control, while a :x:denotes a debug control that probably shouldn’t be used.

:x: W - Add 500 Velocity to the right.
:x: D - Add 100 Velocity to the right.
:x: S - Add 500 Velocity to the left.
:x: A - Add 100 Velocity to the left.
:x: SPACE - Freezes the ball. Cannot be unfrozen.
:heavy_check_mark:TAB - Show the scorecard.
:heavy_check_mark:CTRL - Replay level flyover cam.
:heavy_check_mark:CLICK - Everything

V 0.1

Initial Release

  • 4 Holes
  • Basic title screen
  • Basic HUD
  • Basic scorecard
  • Buggy physics

The end goal is to have a full 18-hole extravaganza. Currently there’s only 4 holes, and of those, I’m only happy with Holes 1 and 4 (and slightly Hole 3 but it feels too luck-based). I’d love for some suggestions on course designs. Currently, moving barriers and fans are the only intractable items available, although this could be expanded.

You can use any/all parts of this for whatever you’d like. However, some HUD elements and all sound effects belong to PixelTail Games. The code is a complete mess, complete with missing comments (and not very useful ones) and inefficient functions. Good luck with understanding it. The console will also spam a load of debug rubbish. Ignore it.

Let me know what you think, what could be improved and what the other 14 holes (or 16, Holes 2 and 3 need better layouts) could look like.



Incredible! Great job!

1 Like


That settles it, I GOTTA give the Arcade code a little TLC tonight.
I’ll try to put out an updated release if I can.


Damn it that’s insane! You are so good at this, you’re certainly going to make some of the top stuff when it’s all done, really can’t wait.

1 Like

Fantastic work. Can’t wait to see Workshop support blossom.

Wow! This should definetly be there in the arcade

1 Like

That is incredible work! Its so exciting to already see someone have personal project fleshing out for Arcade so early on!

Fantastic job, please keep us updated!

1 Like

It has been 6 months since I posted this, so I thought I’d share where the project currently is.

The main thing I’ve been working on is a new UI system, allowing me to start building a level editor. The plan is to flesh this out to support more entity types, but currently it just supports basic level creation. The UI system is designed to be re-usable, meaning when it’s finished anyone will be able to easily use it in their projects. The cursor in the video is also done by the UI system (I hid the Windows cursor) so in-game you’ll actually know where your cursor is.
The physics is now done via box2d, rather than my own rubbish physics system. It needs some tweaking, but it’s much better than before.
There a lot of other small changes as well, like the fact the level is now rendered by the game rather than me having to draw out the level in Photoshop and try to match it to the physics…

Old level image

I’ll return in another 6 months where I’ll probably have made the Undo button work. See you then.
In all seriousness, I do intend to work on this more. Time to stop being lazy.

Sorry, there’s no playable version of this currently. Multiple reasons, 1 being that there’s no way of exporting levels yet, so you can’t save your work.


HOLY FRIGGIN JESUS that looks awesome!!

This is so cool its absurd. Already showing great potential in the arcade API. Please keep this up!