Godot 4.3-Mono engine addons, framework for creating a pinball display with logic.
- Download a
pingod-addons-gamebuild.zipfrom releases - Extract files and run the
win.exe
- Add coins with key
5or use the switch window. - Fill the ball trough with the big switch and click
startand drain each ball to finish the game.
- You can build games from this by installing the
addons.zipto your game or making a new folder like thedemoproject - This demo will run in visual pinball providing you have the
pingod-controller
See the demo files and readme > simulators/visual-pinball
- Game logic in C#
- Scenes with Godot / Gd script or C#
- Trigger VP light shows
* Autoload = plugin has an Autoload singleton. You can access these singletons from any script from the root. The main scenes can be overrided by duplicating the main scene for the Autoload and place into res://autoload, eg: res://autoload/Resources.tscn.
| Name | Autoload * | Description | Link |
|---|---|---|---|
| pingod-adjustments | no | Save game data and settings F1 for menu |
link |
| pingod-assets | no | Assets used by the modules. Localization for your game | link |
| pingod-audio | yes | audio manager / player | link |
| pingod-console | no | Logging and console window (toggle with ``) | link |
| pingod-controls | no | Godot addin controls | link |
| pingod-core | no | Base classes for the modules | link |
| pingod-game | yes | PinGodGame, Game and Main scenes. Demo uses the Main scene, which also uses the game and modes module | link |
| pingod-machine | yes | Machine manager for pinball machine items, events | link |
| pingod-memorymap-win | yes | Sharing machine states over memory mapping (windows only) | link |
| pingod-misc | no | Others scenes and layers | link |
| pingod-modes | no | Scenes and game modes, overlays | link |
| pingod-resources | yes | Resource loader, pre load scenes and pck files |
link |
| pingod-windows | yes | Input handling and switch windows + custom windows | link |
- Godot 4.3:
choco install godot-mono
- Download the
pingod-addons.zipfrom release - Create a new Godot project (from running Godot by itself or creating an empty
project.godotfile in a folder and loading it withgodot -e) - Open the
AssetLibin Godot from the middle pane and import thepingod-addons.zip - Create a new
C#script in Godot. Godot will create you a.csprojand make it mono compatible, you can delete this after. - A
buildbutton will appear top right in Godot. Build it. - Enable the plugins in Godot.
Project Settings > Plugins - Create a blank scene and launch the game.
ESCorF8to close window. - Instance a default MainScene.tscn as a child in your blank scene and launch game with attract / game.
This demo is just an empty scene with a MainScene.tscn added.
The main scene instanced here is the default game and attract.
- Clone the repo or download it
- Run
godot -ein the repository to load theproject.godotinto the Godot editor. - Build and Launching the game will display loading screen with resources and display an attract scene when complete.
- With a switch window enabled you can simulate switch presses and run through a full 3 ball game.
- Dotnet SDK:
choco install dotnet-sdk
- Rename the
.sln,.csproj,.csproj.user - Change the
project/assembly_namein the project.godot - Change
config/name,config/descriptionin the project.godot
- Window - Set your main display size
- Window - Use the
advanced settingsto change the override width and height if you want to test lower or larger than your main resolution. - Window - Always on top, Resize, Borderless
- Window - If overriding set stretch modes
Simulator can override display properties with godot arguments from script or properties in script on the controller
visual pinball - Table demonstration to run with this repositories Demo-PinGod.tscn
You can launch the editor or launch the game with debug breakpoints, the same probably exists for VSCode.
Adjust the launchSettings.json for the location of the godot executable then select and run any of the modes from visual studio.
This example is wired to a windows chocolatey install: C:\\ProgramData\\chocolatey\\lib\\godot-mono\\tools\\godot_v4.1.1-stable_mono_win64\\Godot.exe
- You can also launch the game into the Godot editor with
(Load Godot Editor)Ctrl F5 no debug