Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Filozofie návrhu Godota
Teď, když jste si ušpinili ruce, pojďme si promluvit o tom, jak byl Godot navržen.
Každý herní engine je jiný a vyhovuje různým potřebám. Nejenže nabízejí celou řadu funkcí, ale i design každého enginu je unikátní. To vede k různým pracovním postupům a různým způsobům tvorby struktury vašich her. Vše tedy vychází z příslušné filozofie návrhu enginu.
Tato stránka vám pomůže pochopit, jak Godot a některé jeho základní pilíře fungují. Nejedná se tedy o seznam dostupných funkcí, ani o porovnání enginů. Chcete-li vědět, zda je nějaký engine pro váš projekt vhodný, musíte si jej vyzkoušet a pochopit jeho konstrukci a omezení.
Please watch Godot explained in 7 minutes if you're looking for an overview of the engine's features.
Objektově orientovaný návrh a kompozice
Godot zahrnuje objektově orientovaný design ve svém jádru díky flexibilnímu systému scén a hierarchii uzlů. Snaží se držet dál od přísných programovacích vzorů a nabízí intuitivní způsob, jak strukturovat vaši hru.
Pro jednu, Godot vám umožňuje komponovat nebo agregovat scény. Je to jako vnořené montované panely: můžete vytvořit scénu BlinkingLight a scénu BrokenLantern, která používá BlinkingLight. Poté vytvořte město plné BrokenLanterns. Změňte barvu, uložte BlinkingLight a všechny BrokenLanterns ve městě se okamžitě aktualizují.
Navíc můžete dědit z jakékoliv scény.
Godotová scéna může být zbraň, postava, položka, dveře, úroveň, část úrovně ... cokoli, co budete chtít. Funguje to jako třída v čistém kódu, kromě toho, že si ji můžete navrhnout pomocí editoru nebo pouze kódem anebo smícháním a porovnáním obou.
Je to odlišné od prefabrikátů, které najdete v některých 3D enginech, protože tyto scény pak můžete zdědit a rozšířit. Můžete si vytvořit Kouzelníka, který rozšíří vaši Postavu. Upravte Postavu v editoru a Kouzelník se také aktualizuje. Godot vám pomáhá vytvářet vaše projekty tak, aby jejich struktura odpovídala designu hry.

Také si všimněte, že Godot nabízí mnoho různých typů objektů zvaných uzly, každý se specifickým účelem. Uzly jsou součástí stromu a vždy dědí od svých rodičů až po základní třídu Node. Ačkoli engine obsahuje některé uzly, jako jsou kolizní tvary, které jsou využívány rodičovským uzlem, zde fyzikálním tělesem (physic body), většina uzlů pracuje nezávisle na sobě.
In other words, Godot's nodes do not work like components in some other game engines.

Sprite2D is a Node2D, a CanvasItem and a Node. It has all the properties and features of its three parent classes, like transforms or the ability to draw custom shapes and render with a custom shader.
All-inclusive balíček
Godot se snaží poskytnout své vlastní nástroje k řešení nejběžnějších potřeb. Má vyhrazený skriptovací pracovní prostor, animační editor, tilemap editor, shader editor, debugger, profiler, schopnost znovu se načíst lokálně a na vzdálených zařízeních atd.

The goal is to offer a full package to create games and a continuous user experience. You can still work with external programs as long as there is an import plugin available in Godot for it.
That is also partly why Godot offers its own programming language GDScript along with C#. GDScript is designed for the needs of game developers and game designers, and is tightly integrated in the engine and the editor.
GDscript vám umožňuje psát jednoduchý kód pomocí syntaxe podobné Pythonu, přesto detekuje typy a nabízí automatické doplňování v kvalitě statického jazyka. Je také optimalizován pro herní kód s vestavěnými typy, jako jsou vektory a barvy.
Note that with GDExtension, you can write high-performance code using compiled languages like C, C++, Rust, D, Haxe, or Swift without recompiling the engine.
Všimněte si, že 3D pracovní prostor nemá tolik nástrojů jako 2D pracovní prostor. K úpravám terénů, animaci složitých postav atd. budete potřebovat externí programy nebo doplňky. Godot poskytuje kompletní API pro rozšíření funkčnosti editoru pomocí herního kódu. Viz Editor Godot je hra Godot níže.
Open source
Godot offers a fully open source codebase under the MIT license. This means that the codebase is free for anyone to download, use, modify, or share, as long as its license file is kept intact.
All technologies that ship with Godot, including third-party libraries, must be legally compatible with this open source license. Therefore, most parts of Godot are developed from the ground up by community contributors.
Každý může připojit proprietární nástroje pro potřeby svých projektů - prostě je nebude dodávat spolu s enginem. To může zahrnovat Google AdMob, nebo FMOD. Každý z nich může být užíván jako plugin třetích stran.
Na druhé straně, otevřená kódová základna znamená, že se můžete učit od enginu a rozšiřovat jej co hrdlo ráčí. Můžete také snadno ladit hry, protože Godot bude tisknout chyby s trasováním zásobníku, i když pocházejí z enginu samotného.
Poznámka
To nijak neovlivňuje práci, kterou provádíte s Godotem: k enginu nejsou připojeny žádné další podmínky a omezení a ani nic, co s ním vytvoříte.
Řízený komunitou
Godot je vytvořen komunitou, pro komunitu a pro všechny tvůrce her tam venku. Je to potřeba uživatelů a diskuze, co řídí základní aktualizace. Nové funkce od hlavních vývojářů se často zaměřují na to, co přinese užitek co nejvíce uživatelům.
That said, although a handful of core developers work on it full-time, the project has thousands of contributors at the time of writing. Benevolent programmers work on features they may need themselves, so you'll see improvements in all corners of the engine at the same time in every major release.
Editor Godot je Godot hra
Editor Godot běží na herním enginu. Využívá vlastní systém uživatelského rozhraní enginu, může při testování projektů znovu načíst kód a scény, nebo spustit kód hry v editoru. To znamená, že můžete použít stejný kód a scény pro své hry, nebo vytvořit doplňky a rozšířit editor.
This leads to a reliable and flexible UI system, as it powers the editor
itself. With the @tool annotation, you can run any game code in the editor.
RPG in a Box is a voxel RPG editor made with Godot. It uses Godot's UI tools for its node-based programming system and for the rest of the interface.
Put the @tool annotation at the top of any GDScript file and it will run
in the editor. This lets you import and export plugins, create plugins
like custom level editors, or create scripts with the same nodes and API
you use in your projects.
Poznámka
The editor is fully written in C++ and is statically compiled into the
binary. This means you can't import it as a typical project that would have a
project.godot file.
Oddělené 2D a 3D enginy
Godot nabízí jednoúčelové 2D a 3D vykreslovací enginy. Výsledkem je, že základní jednotkou pro 2D scény jsou pixely. Přestože jsou enginy oddělené, můžete vykreslit 2D ve 3D, 3D ve 2D a překrýt 2D sprity a rozhraní přes svůj 3D svět.