Godot 4.1.1-Mono
engine addons, framework for creating a pinball display with logic.
- Godot 4.1.1:
choco install godot-mono --version=4.1.1
- Dotnet SDK:
choco install dotnet-sdk
or 6.0choco install dotnet-sdk --version=6.0.415
* 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-core | no | Base classes for the modules | link |
pingod-assets | no | Assets used by the modules. Localization for your game | link |
pingod-controls | no | Godot addin controls | link |
pingod-misc | no | Others scenes and layers | link |
pingod-modes | no | Scenes and game modes, overlays | link |
pingod-audio | yes | audio manager / player | 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-resources | yes | Resource loader, pre load scenes and pck files |
link |
pingod-windows | yes | Input handling and switch windows + custom windows | link |
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 -e
in the repository to load theproject.godot
into 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.
- Download the
pingod-addons.zip
from release - Create a new Godot project (from running Godot by itself or creating an empty
project.godot
file in a folder and loading it withgodot -e
) - Open the
AssetLib
in Godot from the middle pane and import thepingod-addons.zip
- Create a new
C#
script in Godot. Godot will create you a.csproj
and make it mono compatible, you can delete this after. - A
build
button will appear top right in Godot. Build it. - Enable the plugins in Godot.
Project Settings > Plugins
- Create a blank scene and launch the game.
ESC
orF8
to close window. - Instance a default MainScene.tscn as a child in your blank scene and launch game with attract / game.
- Rename the
.sln
,.csproj
,.csproj.user
- Change the
project/assembly_name
in the project.godot - Change
config/name
,config/description
in the project.godot
- Window - Set your main display size
- Window - Use the
advanced settings
to 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