Browse Source

Update FAQ for Godot 3

mhilbrunner 7 years ago
parent
commit
eadd6bc2f1
1 changed files with 124 additions and 21 deletions
  1. 124 21
      about/faq.rst

+ 124 - 21
about/faq.rst

@@ -3,17 +3,84 @@
 Frequently asked questions
 ==========================
 
-GDScript? Why your own scripting language? Why not Lua, Javascript, C#, etc.?
------------------------------------------------------------------------------
+What can I do with Godot? How much does it cost? What are the license terms?
+----------------------------------------------------------------------------
+
+Godot is Free/Libre Open Source Software available under the `OSI-approved <https://opensource.org/licenses/MIT>`_ MIT license.
+
+This means it is free as in "free spech" as well as in "free beer".
+
+In short:
+
+* There are no usage restrictions on Godot
+* This means you can use it for any game or application, commercially or non-commercially, in any industry
+* You can modify, (re)distribute and remix Godot to your heart's content
+
+For more, see `here <https://tldrlegal.com/license/mit-license>`_ or ask your lawyer of choice.
+
+All the contents of the documentation are under the permissive Creative Commons Attribution 3.0
+(`CC-BY 3.0 <https://creativecommons.org/licenses/by/3.0/>`_) license, with
+attribution to "Juan Linietsky, Ariel Manzur and the Godot Engine community".
+
+Logos and icons are generally under the same Creative Commons license. Note that some third-party libraries
+included with Godot's source code may have different licenses.
+
+For full details, look at the `COPYRIGHT.txt <https://github.com/godotengine/godot/blob/master/COPYRIGHT.txt>`_
+as well as the `LICENSE.txt <https://github.com/godotengine/godot/blob/master/LICENSE.txt>`_ and `LOGO_LICENSE.txt <https://github.com/godotengine/godot/blob/master/LOGO_LICENSE.md>`_ files in the Godot repository.
+
+Also see `the license page on the Godot website <https://godotengine.org/license>`_.
+
+Which platforms are supported by Godot?
+---------------------------------------
+
+**For the editor:**
+
+* Windows
+* Mac OS X
+* X11 (Linux, *BSD)
+
+**For exporting your games:**
+
+* Windows (and UWP)
+* Mac OS X
+* X11 (Linux, *BSD)
+* Android
+* iOS
+* Web
+
+Both 32 and 64 bit binaries are supported where it makes sense, with 64 being the default.
+
+Some users also report building and using Godot successfully on ARM-based system with Linux, like the Raspberry Pi.
+There is also some unofficial thirdparty work being done on building for some consoles.
+None of this is included in the default build scripts or export templates, however.
+
+For more on this, see the sections on :ref:`exporting <toc-learn-workflow-export>` and :ref:`compiling Godot yourself <toc-devel-compiling>`.
+
+Which languages are supported in Godot?
+---------------------------------------
+
+The officially supported languages for Godot are GDScript, Visual Scripting, C# and C++.
+See the subcategories for each language in the :ref:`toc-learn-scripting` section.
 
-The short answer is, we'd rather a programmer does the small effort to
-learn GDScript so they later have a seamless experience, than
-attracting them with a familiar programming language that results
-in a worse experience. We are OK if you would rather not give Godot a
-chance because of this, but we strongly encourage you to try it and see
-the benefits yourself.
+Note that C# and Visual Scripting support is comparatively young and GDScript still has
+some advantages as outlined below.
 
-The official languages for Godot are GDScript and C++.
+Support for new languages can be added by third parties using the GDNative / NativeScript / PluginScript facilities.
+(See question about plugins below.)
+
+Work is currently underway, for example, on unofficial bindings for Godot
+to `Python <https://github.com/touilleMan/godot-python>`_ and `Nim <https://github.com/pragmagic/godot-nim>`_.
+
+GDScript? Why use a custom scripting language instead of my language of choice?
+-----------------------------------------------------------------------------
+
+The short answer is that we think the additional complexity both on your side
+(when first learning Godot and GDScript) as well as our side (maintenance)
+is worth the more integrated and seamless experience over
+attracting additional users with more familiar programming languages that result
+in a worse experience. We understand if you would rather use another language
+in Godot (see list of supported options above),
+but we strongly encourage you to try it and see the benefits for yourself.
 
 GDScript is designed to integrate from the ground to the way Godot
 works, more than any other language, and is very simple and easy to
@@ -43,27 +110,44 @@ I don't believe you. What are the technical reasons for the item above?
 The main reasons are:
 
 1. No good thread support in most script VMs, and Godot uses threads
-   (Lua, Python, Squirrel, JS, AS, etc.)
+   (Lua, Python, Squirrel, JS, AS, etc.).
 2. No good class extending support in most script VMs, and adapting to
-   the way Godot works is highly inefficient (Lua, Python, JS)
+   the way Godot works is highly inefficient (Lua, Python, JS).
 3. Horrible interface for binding to C++, results in large amount of
    code, bugs, bottlenecks and general inefficiency (Lua, Python,
    Squirrel, JS, etc.)
-4. No native vector types (vector3,matrix4,etc.), resulting in highly
+4. No native vector types (vector3, matrix4, etc.), resulting in highly
    reduced performance when using custom types (Lua, Python, Squirrel,
-   JS, AS, etc.)
+   JS, AS, etc.).
 5. Garbage collector results in stalls or unnecessarily large memory
-   usage (Lua, Python, JS, AS, etc.)
+   usage (Lua, Python, JS, AS, etc.).
 6. Difficulty to integrate with the code editor for providing code
    completion, live editing, etc. (all of them). This is very well
    supported by GDScript.
 
 GDScript was designed to solve the issues above, and performs very well
-in all the above scenarios. Please learn GDScript, and enjoy from a
+in all the above scenarios. Please learn GDScript and enjoy a
 very smooth integration of scripting with the game engine (yes, it's a
 rare but very enjoyable situation when things just work). It's worth
 it, give it a try!
 
+I want to extend Godot. What are my options for creating plugins?
+-----------------------------------------------------------------
+
+For creating Godot Editor plugins look at :ref:`EditorPlugins <doc_making_plugins>` and tool scripts.
+
+Additional languages could be added via PluginScript or the more low-level NativeScript.
+
+If you want to add a certain native library, your best bet is GDNative and custom C++ modules.
+
+Also see the official blog posts on these topics:
+
+* `A look at the GDNative architecture <https://godotengine.org/article/look-gdnative-architecture>`_
+* `GDNative is here! <https://godotengine.org/article/dlscript-here>`_
+
+You can also take a look at the GDScript implementation,
+the Godot modules as well as the `unofficial Python support <https://github.com/touilleMan/godot-python>`_ for Godot.
+
 Why is FBX not supported for import?
 ------------------------------------
 
@@ -77,6 +161,10 @@ exporter for maximum compatibility if you are using Maya or 3DS Max.
 If you are using Blender, take a look at our own
 `Better Collada Exporter <https://godotengine.org/download>`_.
 
+Also, glTF support was added in Godot 3.0.
+
+FBX support could still be provided by third parties as a plugin. (See Plugins question above.)
+
 Will [Insert closed SDK such as PhysX, GameWorks, etc.] be supported in Godot?
 ------------------------------------------------------------------------------
 
@@ -90,6 +178,8 @@ or anyone else interested into adding those libraries as a module and
 ship your game using them, as either open or closed source. Everything
 is allowed.
 
+To see how support for your SDK of choice could still be provided, look at the Plugins question above.
+
 How should assets be created to handle multiple resolutions and aspect ratios?
 ------------------------------------------------------------------------------
 
@@ -136,7 +226,7 @@ the :ref:`export option <doc_exporting_images>` to shrink
 images, and set that build to be used for certain screen sizes in the
 App Store or Google Play.
 
-I have a great idea that will make Godot better, What do you think?
+I have a great idea that will make Godot better. What do you think?
 -------------------------------------------------------------------
 
 Your idea will most certainly be ignored. Examples of stuff that is
@@ -148,19 +238,20 @@ ignored by the developers:
 -  Let's remove clutter and bloat and make Godot look nicer
 -  Let's add an alternative workflow for people who prefer it
 
-Developers are always willing to talk to you and listen to your feedback
+Godot developers are always willing to talk to you and listen to your feedback
 very openly, to an extent rarely seen in open source projects, but they
 will care mostly about real issues you have while using Godot, not ideas
 solely based on personal belief. Developers are interested in (for
 example):
 
--  Your experience using the software and the problems you have, (we
-   care about this much more than ideas on how to improve it)
+-  Your experience using the software and the problems you have (we
+   care about this much more than ideas on how to improve it).
 -  The features you would like to see implemented because you need them
    for your project.
 -  The concepts that were difficult to understand in order to learn the
    software.
 -  The parts of your workflow you would like to see optimized.
+-  Parts where you missed clear tutorials or where the documentation wasn't up to par.
 
 Once one of the above points is stated, we can work together on a
 solution and this is where your ideas and suggestions are most valuable
@@ -170,7 +261,7 @@ As such, please don't feel that your ideas for Godot are unwelcome.
 Instead, try to reformulate them as a problem first, so developers and
 the community have a base ground to discuss first.
 
-Examples of how NOT to state problems generally are like this:
+Examples of how NOT to state problems generally and vaguely are:
 
 -  Certain feature is ugly
 -  Certain workflow is slow
@@ -190,4 +281,16 @@ reformulate your problem as a story such as:
 This will allow you to convey what you are thinking much better and set
 a common ground for discussion. Please try your best to state your
 problems as stories to the developers and the community, before
-discussing any idea.
+discussing any idea. Be specific and concrete.
+
+Bonus points for bringing screenshots, concrete numbers, test cases or example projects (if applicable).
+
+How can I support Godot development or contribute?
+-----------------------------------------
+
+See :ref:`doc_ways_to_contribute`.
+
+Who is working on Godot? How can I contact you?
+-----------------------------------------------
+
+See the corresponding page on the `Godot website <https://godotengine.org/contact>`_.