Relintai
5ae44c4746
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.
This is wasteful on multiple aspects:
- Binary size: Around 20% binary size reduction with exceptions disabled
for both MSVC and GCC binaries.
- Compile time:
* More than 50% build time reduction with MSVC.
* 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.
Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
- akien-mga
|
||
---|---|---|
.github | ||
core | ||
doc | ||
drivers | ||
editor | ||
editor_modules | ||
main | ||
misc | ||
modules | ||
platform | ||
scene | ||
SCSCons | ||
servers | ||
thirdparty | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
AUTHORS.md | ||
backports.md | ||
CHANGELOG.md | ||
compat.py | ||
CONTRIBUTING.md | ||
COPYRIGHT.txt | ||
DONORS.md | ||
gles_builders.py | ||
icon_outlined.png | ||
icon_outlined.svg | ||
icon.png | ||
icon.svg | ||
LICENSE.txt | ||
LOGO_LICENSE.md | ||
logo_outlined.png | ||
logo_outlined.svg | ||
logo.png | ||
logo.svg | ||
methods.py | ||
notable_godot_commits_not_included.md | ||
notes.md | ||
platform_methods.py | ||
README.md | ||
sc.py | ||
SConstruct | ||
scu_builders.py | ||
TODO.md | ||
version.py |
Pandemonium Engine
A 3.x Godot Engine fork where I hack and slash and cause mayhem and destruction to all things good and godot.
Similar idea to godot 4.0, but taken in a completely different direction.
It contains all of my currently in use engine modules. See the changelog for a more comprehensive list of changes.
2D and 3D cross-platform game engine
Pandemonium Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms (HTML5) and consoles.
Free, open source and community-driven
Pandemonium is completely free and open source under the very permissive MIT license. No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Software Freedom Conservancy not-for-profit.
Before being open sourced in February 2014, Godot had been developed by Juan Linietsky and Ariel Manzur (both still maintaining the project) for several years as an in-house engine, used to publish several work-for-hire titles.
Getting the engine
Binary downloads
I don't have anything (like an official webpage) set up at the moment, but temporarily you can download binaries from the github actions tab [here], or the releases tab [here].
Compiling from source
Compiling is exactly the same as for Godot, so See the official Godot docs for compilation instructions for every supported platform.
Documentation and demos
Some of the documentation is available in this repo under the doc/engine folder. [Here].
You can also look at the official 3.x Godot documentation, it will work mostly (sometimes with trivial modifications). It is hosted on ReadTheDocs, and is maintained by the Godot community in its own GitHub repository.
The class docs are accessible from the editor.
You can also look at the official pandemonium demos in their own GitHub repository.
It's also worth looking at official godot 3.x resources, like this awesome Godot list, and there are also a number of other godot learning resources provided by the community, such as text and video tutorials, demos, etc.