learning_new_features.rst 6.8 KB

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