From 31b7dad6c2ac26913f6207b75e6cdc02c44294fd Mon Sep 17 00:00:00 2001 From: Relintai Date: Sun, 5 May 2024 21:56:10 +0200 Subject: [PATCH] Tweaks to the introduction and the faq. --- 01_about/01_introduction.md | 35 +++++++++++++++++++++-- 01_about/02_faq.md | 57 +++++++++++++++++++++++++++++-------- 2 files changed, 77 insertions(+), 15 deletions(-) diff --git a/01_about/01_introduction.md b/01_about/01_introduction.md index 1ebf9f7..3c40495 100644 --- a/01_about/01_introduction.md +++ b/01_about/01_introduction.md @@ -17,7 +17,8 @@ of this documentation, so that you know where to start if you are a beginner or where to look if you need info on a specific feature. Pandemonium Engine is a fork of the [Godot Engine](https://godotengine.org/) (specifically the -[3.x](https://github.com/godotengine/godot/commits/3.x) branch). With heavy modifications. +[3.x](https://github.com/godotengine/godot/commits/3.x) branch), with heavy modifications. You can +think of it as an alternate Godot 4.x. Even though lots of things have been changed, most tutorials for godot should work with minimal tweaks. @@ -41,19 +42,47 @@ if you need a quick writeup about Pandemonium Engine. engine to match their expectations. It is supported by the [Software Freedom Conservancy](https://sfconservancy.org) not-for-profit. +Note: + +Pandemonium is a 1 person project at the time of this writing. + +I use it to build both application and games. It is being developed to solve issues +I personally run into / have to do. This has both upsides and downsides, as +badly thought out stuff gets caught early, but also I might have to put off +features for a while because I have to focus on projects that need something else. + For a more in-depth view of the engine, you are encouraged to read this documentation further, especially the [step by step](../index.html#tutorials/stepbystep) tutorial. +### Godot - Pandemonium differences + +- Lots of new engine modules were added. +- Some godot engine modules have been removed. +- Engine core have been organized into folders. +- More built-in variant types. +- Lots of backports. +- Lots of bug fixes. +- Lots of work on engine side modulatization. +- GLES3 backend is currently removed. + +For a comprehensive list of changes I recommend reading the engie's +[changelog](https://github.com/Relintai/pandemonium_engine/blob/master/CHANGELOG.md) file. + ## About the documentation This documentation is continuously worked on. It is edited via text files in the -markdown language and then compiled into a static website / offline document using -a simple python script in the repository's +markdown language. + +It can be compiled into a static website / offline document using +a simple python ([md_doc_gen.py](https://github.com/Relintai/pandemonium_engine_docs/tree/master/_tools/md_doc_gen.py)) script in the repository's [_tools](https://github.com/Relintai/pandemonium_engine_docs/tree/master/_tools) folder. It's using [markdeep](https://casual-effects.com/markdeep/) for rendering it's final html output. +It can also be hosted by the engine's web module using the experimental +[pdocs](https://github.com/Relintai/pandemonium_engine_docs/tree/master/_tools/pdocs) project in the `_tools` folder. + Note: - You can contribute to Pandemonium's documentation by opening issue tickets diff --git a/01_about/02_faq.md b/01_about/02_faq.md index a9da1ab..771b9be 100644 --- a/01_about/02_faq.md +++ b/01_about/02_faq.md @@ -36,22 +36,21 @@ Also, see [the license page on the Pandemonium website](https://pandemoniumengin **For exporting your games:** -* Windows (and UWP) +* Windows * macOS -* X11 (Linux, \*BSD) +* X11 (Linux, \*BSD) (x64, x86, arm32, arm64) * Android * iOS * Web +* Single Board Computers (FRT, and FRT SDL backends) +* Eventually UWP. (Currently needs working build containers, and some reworks.) Both 32- and 64-bit binaries are supported where it makes sense, with 64 being the default. -Some users also report building and using Pandemonium successfully on ARM-based -systems with Linux, like the Raspberry Pi. - -Additionally, there is some unofficial third-party work being done on building -for some consoles. However, none of this is included in the default build -scripts or export templates at this time. +Just like godot 3.x the codebase should compile for consoles. If you have access +to godot platform implementations for them, they should be simple to make work +with pandemonium aswell. For more on this, see the sections on [exporting](toc-learn-workflow-export) and [compiling Pandemonium yourself](toc-devel-compiling). @@ -68,11 +67,45 @@ the long run, for prototyping, developing Minimum Viable Products (MVPs), and focusing on Time-To-Market (TTM), GDScript will provide a fast, friendly, and capable way of developing your games. -[Python](https://github.com/Relintai/gdnative_python) and [C++ (GDNative)](https://github.com/Relintai/gdnative_cpp) -are available using GDNative. +### GDNative -[C#](https://github.com/Relintai/mono) is available as an engine module. -(You need to add it to the engine and recompile it to have it.) +GDNative is a C interface that lets you create and dynamically load dll-s. +Code in these dlls can use engine types, and can call engine methods, and +they can even create custom classes. + +#### Python + +Godot's [GDNative Python](https://github.com/Relintai/gdnative_python) ported to work with pandemonium. + +It's setup in a self contained way. Can come in handy for tools, +as python has access to lots of great libraries, and you can +bundle them with your application using this module. + +Only has binaries for desktop platforms. + +I only recommend it for desktop tools where you want access to some of the python libraries, +but you also need a self contained application. It's a lot simpler than connecting and managing +multiple apps through sockets, but it's still relatively complex to set up. + +#### C++ + +Godot's [GDNative C++](https://github.com/Relintai/gdnative_cpp) ported to work with pandemonium. + +Currently under rework to make it's code (hopefully) identical to engine side c++. If successful, +engine side module code could be developed with faster recompile times, and even dynamic reloading +in some cases. + +### C# + +[C#](https://github.com/Relintai/mono) is available as an engine module, +which means you need to add it to the engine and recompile it to have it. + +It comes with lots of complexities. + +I only recommend it for tools, and when you need something from the c# ecosystem +integrated into your application. + +Most of the time you are probably better off just writing GDScript, or engine modules in c++ though. ## What is GDScript and why should I use it?