learning_new_features.rst 5.5 KB

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