learning_new_features.rst 5.3 KB

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