Skip to content

Godot addons for creating a PinGod game. The addons directory in this repository is to be copied to a game or symbolically linked into a games directory.

Notifications You must be signed in to change notification settings

FlippingFlips/pingod-addons

Repository files navigation

PinGod-AddOns

C# .Net Godot Engine

Godot 4.1.1-Mono engine addons, framework for creating a pinball display with logic.

Required

  • Godot 4.1.1: choco install godot-mono --version=4.1.1
  • Dotnet SDK: choco install dotnet-sdk or 6.0 choco install dotnet-sdk --version=6.0.415

AddOns

* 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

Running the Demo in this repository

This demo is just an empty scene with a MainScene.tscn added. The main scene instanced here is the default game and attract.

  1. Clone the repo or download it
  2. Run godot -e in the repository to load the project.godot into the Godot editor.
  3. Build and Launching the game will display loading screen with resources and display an attract scene when complete.
  4. With a switch window enabled you can simulate switch presses and run through a full 3 ball game.

Quick Start (Godot already on your system)

  1. Download the pingod-addons.zip from release
  2. Create a new Godot project (from running Godot by itself or creating an empty project.godot file in a folder and loading it with godot -e)
  3. Open the AssetLib in Godot from the middle pane and import the pingod-addons.zip
  4. Create a new C# script in Godot. Godot will create you a .csproj and make it mono compatible, you can delete this after.
  5. A build button will appear top right in Godot. Build it.
  6. Enable the plugins in Godot. Project Settings > Plugins
  7. Create a blank scene and launch the game. ESC or F8 to close window.
  8. Instance a default MainScene.tscn as a child in your blank scene and launch game with attract / game.

Using this repository for new game

  1. Rename the .sln, .csproj, .csproj.user
  2. Change the project/assembly_name in the project.godot
  3. Change config/name , config/description in the project.godot

Window - Godot Project Settings

  • 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


Simulator Demos

visual pinball - Table demonstration to run with this repositories Demo-PinGod.tscn


Debugging From Visual Studio

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

About

Godot addons for creating a PinGod game. The addons directory in this repository is to be copied to a game or symbolically linked into a games directory.

Topics

Resources

Stars

Watchers

Forks

Languages