learning_new_features.rst 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. .. Keep this page short and sweet! We want users to read it to the end, so they
  2. know where to find information, how to get help, and how to maximize chances
  3. of getting answers.
  4. .. _doc_learning_new_features:
  5. Learning new features
  6. =====================
  7. Godot is a feature-rich game engine. There is a lot to learn about it. This page
  8. explains how you can use the online manual, built-in code reference, and join
  9. online communities to learn new features and techniques.
  10. Making the most of this manual
  11. ------------------------------
  12. What you are reading now is the user manual. It documents each of the engine's
  13. concepts and available features. When learning a new topic, you can start by
  14. browsing the corresponding section of this website. The left menu allows you to
  15. explore broad topics while the search bar will help you find more specific
  16. pages. If a page exists for a given theme, it will often link to more related
  17. content.
  18. .. image:: img/manual_search.png
  19. The manual has a companion class reference that explains each Godot class's
  20. available functions and properties when programming. While the manual covers
  21. general features, concepts, and how to use the editor, the reference is all
  22. about using Godot's scripting API (Application Programming Interface). You can
  23. access it both online and offline. We recommend browsing the reference offline,
  24. from within the Godot editor. To do so, go to Help -> Search Help or press
  25. :kbd:`F1`.
  26. .. image:: img/manual_class_reference_search.webp
  27. To browse it online, head to the manual's :ref:`Class Reference <doc_class_reference>`
  28. section.
  29. A class reference's page tells you:
  30. 1. Where the class exists in the inheritance hierarchy. You can click the top
  31. links to jump to parent classes and see the properties and methods a type
  32. inherits.
  33. .. image:: img/manual_class_reference_inheritance.webp
  34. 2. A summary of the class's role and use cases.
  35. 3. An explanation of the class's properties, methods, signals, enums, and
  36. constants.
  37. 4. Links to manual pages further detailing the class.
  38. .. note:: If the manual or class reference is missing or has insufficient
  39. information, please open an Issue in the official `godot-docs
  40. <https://github.com/godotengine/godot-docs/issues>`_ GitHub repository
  41. to report it.
  42. You can Ctrl-click any underlined text like the name of a class, property,
  43. method, signal, or constant to jump to it.
  44. Learning to think like a programmer
  45. -----------------------------------
  46. Teaching programming foundations and how to think like a game developer is
  47. beyond the scope of Godot's documentation. If you're new to programming, we
  48. recommend two excellent free resources to get you started:
  49. 1. Harvard university offers a free courseware to learn to program, `CS50
  50. <https://cs50.harvard.edu/x/>`_. It will teach you programming
  51. fundamentals, how code works, and how to think like a programmer. These
  52. skills are essential to become a game developer and learn any game engine
  53. efficiently. You can see this course as an investment that will save you time
  54. and trouble when you learn to create games.
  55. 2. If you prefer books, check out the free ebook `Automate The Boring Stuff With
  56. Python <https://automatetheboringstuff.com/>`_ by Al Sweigart.
  57. Learning with the community
  58. ---------------------------
  59. Godot has a growing community of users. If you're stuck on a problem or need
  60. help to better understand how to achieve something, you can ask other users for
  61. help on one of the many `active
  62. communities <https://godotengine.org/community>`_.
  63. The best place to ask questions and find already answered ones is the
  64. official `Questions & Answers <https://godotengine.org/qa/>`_ site. These
  65. responses show up in search engine results and get saved, allowing other users
  66. to benefit from discussions on the platform. Once you have asked a question there,
  67. you can share its link on other social platforms. Before asking a question, be
  68. sure to look for existing answers that might solve your problem on this website
  69. or using your preferred search engine.
  70. Asking questions well and providing details will help others answer you faster
  71. and better. When asking questions, we recommend including the following
  72. information:
  73. 1. **Describe your goal**. You want to explain what you are trying to achieve
  74. design-wise. If you are having trouble figuring out how to make a solution
  75. work, there may be a different, easier solution that accomplishes the same
  76. goal.
  77. 2. If there is an error involved, **share the exact error message**. You
  78. can copy the exact error message in the editor's Debugger bottom panel by
  79. clicking the Copy Error icon. Knowing what it says can help community members
  80. better identify how you triggered the error.
  81. 3. If there is code involved, **share a code sample**. Other users won't be able
  82. to help you fix a problem without seeing your code. Share the code as text
  83. directly. To do so, you can copy and paste a short code snippet in a chat
  84. box, or use a website like `Pastebin <https://pastebin.com/>`_ to share long
  85. files.
  86. 4. **Share a screenshot** of your *Scene* dock along with your written code. Most of
  87. the code you write affects nodes in your scenes. As a result, you should
  88. think of those scenes as part of your source code.
  89. .. image:: img/key_concepts_scene_tree.webp
  90. Also, please don't take a picture with your phone, the low quality and screen
  91. reflections can make it hard to understand the image. Your operating system
  92. should have a built-in tool to take screenshots with the :kbd:`PrtSc` (Print
  93. Screen) key.
  94. Alternatively, you can use a program like `ShareX <https://getsharex.com/>`_
  95. on Windows or `FlameShot <https://flameshot.org/>`_ on Linux.
  96. 5. Sharing a video of your running game can also be really **useful to
  97. troubleshoot your game**. You can use programs like `OBS Studio
  98. <https://obsproject.com/>`_ and `Screen to GIF
  99. <https://www.screentogif.com/>`_ to capture your screen.
  100. You can then use a service like `streamable <https://streamable.com/>`_ or a
  101. cloud provider to upload and share your videos for free.
  102. 6. If you're not using the stable version of Godot, please mention the version
  103. you're using. The answer can be different as available features and the
  104. interface evolve rapidly.
  105. Following these guidelines will maximize your chances of getting the answer
  106. you're looking for. They will save time both for you and the persons helping you.
  107. Community tutorials
  108. -------------------
  109. This manual aims to provide a comprehensive reference of Godot's features. Aside
  110. from the 2D and 3D getting started series, it does not contain tutorials to
  111. implement specific game genres. If you're looking for a tutorial about creating
  112. a role-playing game, a platformer, or other, please see
  113. :ref:`doc_community_tutorials`, which lists content made by the Godot community.