- GDScript 97.3%
- GDShader 2.7%
| addons | ||
| dist | ||
| popcorn | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| export_presets.cfg | ||
| icon.svg | ||
| icon.svg.import | ||
| project.godot | ||
| README.md | ||
Popcorn Popper
Really simple "game" where you click some corn, flavor it, then pop it. Not much else to it.
This was mostly an experiment with some systems unfamiliar to me with Godot. Specifically, particles and audio. I've also developed methods for binding properties for more effective data handling within the game. (Still a WIP)
If you explore the project structure, you'll probably notice my method for "namespacing" scripts. It involves using a single autoload global script, then preloading scripts into a named constant. This allows for accessing scripts from the single global by dot notation. This presents issues when trying to use those for static typing, as godot does not acknowledge const variables from secondary scripts as a static type. HOWEVER, I found that godot won't complain a peep if I put those into a local const, and I can even use the dot notation references from the global tree structure. It essentially becomes an include/import statement so the script knows about the types from other files. I also use a constant "_self" for a self-referential type. Sometimes requires a reload for the errors to stop, although the last two versions work fine by just clicking between different scripts. I've tested the method with the earliest version at 4.5.
What's not included in this repo is an addon with utility scripts I use between godot projects. That will remain private as it's something I'm actively working on and wouldn't want anyone to depend on it. Especially since it may be VERY broken in many places. There's also many redundant parts to it from when I was first learning godot and was unaware of the bult-in methods. I also make breaking changes to it regularly.