godotengine / godot-docs

Godot Engine official documentation
https://docs.godotengine.org
Other
3.6k stars 2.96k forks source link

Documentation pages to add or update for Godot 4.0 #5121

Open Calinou opened 2 years ago

Calinou commented 2 years ago

Note: This issue is only for manual pages. For class reference pages, refer to the automatically updated tracker: https://godotengine.github.io/doc-status/

Help for working on these pages is welcome. If you're going to start writing a new page or rewrite an existing one, please leave a comment to state which page you're going to work on :slightly_smiling_face:

New pages

Pages to write for features that were not present in Godot 3.x.

Pages to rewrite

These pages need rewrites from scratch with new screenshots.

YuriSizov commented 2 years ago

You can add almost every page on the editor as they all need new screenshots and in some cases updated descriptions too.

Calinou commented 2 years ago

You can add almost every page on the editor as they all need new screenshots and in some cases updated descriptions too.

Indeed, although I think tracking screenshot updates on existing pages should be done in a separate tracker issue. I want to focus on significant text changes here.

skyace65 commented 2 years ago

I already have a PR in progress for lights and shadows. #4570. I'll add in the extra stuff you've mentioned here, though I still need help with fog fade and transmittance bias.

The said does it make sense to work on stuff for 4.0 now? There's no alpha yet so the UI can still change. This PR you made (https://github.com/godotengine/godot/pull/48561) is still waiting to get merged and I wouldn't be surprised to see more UI changes between now and an alpha.

and-rad commented 2 years ago

@Calinou What do you want us to do if we stumble across outdated manual pages? Mention them here to get them added to the list or open a new issue, possibly tagging them with Godot 4.0? I'm currently running through the latest documentation and am finding a lot of outdated info. I don't want that to go to waste.

Calinou commented 2 years ago

@Calinou What do you want us to do if we stumble across outdated manual pages? Mention them here to get them added to the list or open a new issue, possibly tagging them with Godot 4.0? I'm currently running through the latest documentation and am finding a lot of outdated info. I don't want that to go to waste.

Feel free to mention a list here, although I'm already working on rewriting the global illumination docs right now (including GIProbe and BakedLightmap).

and-rad commented 2 years ago

Dope. Here's the first couple I found:

The Multiple Resolutions page talks about different stretch modes and mentions the three modes Disabled, 2D, and Viewport. In the current master branch, there's canvas_items instead of 2D, which I assume is still the same mode, but under a different name.

The Size and anchors page talks about "margins". This concept seems to have been renamed to "Offset" with the functionality remaining the same as far as I can see.

The screenshots on both of these pages need to be updated too. There was mention of a separate tracker that should be created for that, but it looks like that hasn't happened yet. Should I set up one while I'm at it or wait for someone from the "core" team to do it?

Calinou commented 2 years ago

The screenshots on both of these pages need to be updated too. There was mention of a separate tracker that should be created for that, but it looks like that hasn't happened yet. Should I set up one while I'm at it or wait for someone from the "core" team to do it?

There are some changes planned to the GUI system's containers and margin system, so I would wait until beta stage to make editor screenshots.

Still, pretty much all editor screenshots should be remade, since a new editor theme was designed for Godot 4.0. Feel free to create a separate tracker issue that lists individual image files that need to be remade.

and-rad commented 2 years ago

The Handling quit requests page seems to be completely outdated. It appears that the MainLoop.NOTIFICATION_WM_QUIT_REQUEST event, which the entire article revolves around, has been removed from the engine.

I noticed that most of the pages I mentioned are tutorials and I know there are plans to remove tutorials from the docs. Would it make sense to keep posting them vs. letting the problem solve itself when the tutorials get removed eventually?

and-rad commented 2 years ago

Now that feature warnings have been added to the engine, the Feature Tags page might have to be updated to include relevant information about how the warnings work.

and-rad commented 2 years ago

As far as I can see, the Reset Animation feature is not documented anywhere, either in the class reference or any of the tutorials. There is a single mention of a related property in the API documentation, but nothing that would clear up any questions users might have about the feature.

and-rad commented 2 years ago

@Calinou I'd like to work on the documentation of 3D particle systems. I'm currently getting familiar with the GPU particle system, so I would want to start with that. I'd also provide a translation while I'm at it (German in my case).

Calinou commented 2 years ago

@Calinou I'd like to work on the documentation of 3D particle systems. I'm currently getting familiar with the GPU particle system, so I would want to start with that. I'd also provide a translation while I'm at it (German in my case).

Sure, feel free to start working on a 3D particle systems page :slightly_smiling_face:

I would only focus on GPUParticles usage for now. Topics to cover would be:

Manual emission requires a custom particle shader, which is likely outside the scope of a basic particle tutorial.

and-rad commented 2 years ago

The animation RESET track is not documented. Relevant PRs:

Calinou commented 2 years ago

The animation RESET track is not documented.

The RESET track functionality is also present in Godot 3.4, so this is not exclusive to Godot 4.0. This issue is for items that should only be documented in Godot 4.0, so I'd open a separate issue for the RESET track documentation.

and-rad commented 2 years ago

My bad, you're right. I created a separate issue.

and-rad commented 2 years ago

I'm almost done with 3D particles and would like to do the localization overhaul next. If all goes well, I should have both ready by end of March.

and-rad commented 2 years ago

I have a suggestion for a new section: Accessibility.

According to the discussion on proposal 983, there is already quite a lot built into the engine that devs can use to make their games more accessible. TTS was also improved recently. I think it's time to start collecting all that info in a dedicated documentation section.

Calinou commented 2 years ago

I have a suggestion for a new section: Accessibility.

According to the discussion on proposal 983, there is already quite a lot built into the engine that devs can use to make their games more accessible. TTS was also improved recently. I think it's time to start collecting all that info in a dedicated documentation section.

I think a dedicated documentation section for accessibility makes sense if we can group enough items under that section. We can have a TTS manual page, but is there anything else in the core engine worth covering for accessibility?

and-rad commented 2 years ago

Here are some that I've implemented in past games:

Here are some resources on how TLOU2 did it:

You can do a lot of these with Godot already, so I'm proposing to add a dedicated section that teaches people how.

Calinou commented 2 years ago

Colorblind filters. This has become very easy with the addition of global shader params. At least that's how I did it in the past.

Colorblind filters are generally considered an antipattern in accessibility guidelines, so I wouldn't cover them. They can help as a stopgap, but it's not possible to make a colorblind person see a color that they can't see. A proper implementation of a colorblind-friendly mode avoids relying on color as the only source of information. This should ideally be done by default, so that all players benefit from this out of the box.

Adding subtitles is another thing that is worth documenting, but a good implementation requires more than a few lines of code. Therefore, I think it's best covered by an add-on.

The rest sounds good to me, although font and UI scaling should probably be covered in Multiple resolutions instead to keep the information centralized. We can then link to the relevant section on the accessibility page. Since Godot 3.4, there's a scale factor property so you don't have to resize every control and font manually (although individual resizing is still possible, and made easier in Godot 4.0 thanks to per-Control font sizes).

Object highlighting. You can highlight objects in the game world with different colors while desaturating the surroundings to improve detectability. This is usually done with post processing shaders.

Post-processing is a viable solution here, but it's not the cheapest and it can be less flexible sometimes. I think adjusting materials at load-time can go a long way here, while having zero run-time cost. Ultimately, both approaches should be covered, but material adjustment is probably the one that should be preferred if you have enough time to implement it.

For example, you could adjust the albedo color (and possibly make it slightly overbright), or enable emission to make highlighted objects glow in the dark.

If you want to go for that "clay model" look of TLoU2 in its object highlighting mode, you can remove the albedo textures entirely, set a bright albedo color and keep the normal maps.

and-rad commented 2 years ago

Those are good suggestions, but I want to clarify this part:

Colorblind filters are generally considered an antipattern in accessibility guidelines, so I wouldn't cover them

I know what you're talking about (at least I think I do), but that's probably not what I mean. I'm not talking about shifting hues of an entire scene, turning grass purple and water orange. That is dumb, no question. What I'm talking about is this: You have a bunch of clickable UI elements, one of them is special so it has a different color. What you do is you let players set a different color for elements of this kind or you define presets per colorblindness mode with the goal to still set it apart from the surroundings. But you don't touch the other elements.

Sorry if this actually was what you were talking about. Your second point still stands regardless. Color should not be the only source of information.

Calinou commented 2 years ago

What I'm talking about is this: You have a bunch of clickable UI elements, one of them is special so it has a different color. What you do is you let players set a different color for elements of this kind or you define presets per colorblindness mode with the goal to still set it apart from the surroundings. But you don't touch the other elements.

In that case, that sounds good to me :slightly_smiling_face: I find it useful when games allow adjusting team colors, and while it takes some time to apply consistently everywhere, it can be worth the effort.

markwongsk commented 1 year ago

Hi, I'm wondering if the gdscript grammar page should fall under the "needs to be updated" category. https://docs.godotengine.org/en/stable/development/file_formats/gdscript_grammar.html. Our team is currently trying out Godot 4.0 alpha from Godot 3.5 and we're also looking to update some of our tooling (like linters) which will probably need an updated BNF to work off.

Calinou commented 1 year ago

The GDScript grammar page was added shortly before GDScript was rewritten, so it's missing some things (including the % shorthand for scene-unique nodes, which works in a way similar to $). Pull requests to update it are welcome :slightly_smiling_face:

dotlogix commented 1 year ago

I would like to provide sth for compute shaders. Do we have any existing documentation/projects I could document, extend and also port to C#?

I am currently experimenting with C# compute shader based noise generation. Could be a good example of a more advanced use case and works with a lot of data.

Calinou commented 1 year ago

I would like to provide sth for compute shaders. Do we have any existing documentation/projects I could document, extend and also port to C#?

I am currently experimenting with C# compute shader based noise generation. Could be a good example of a more advanced use case and works with a lot of data.

See https://github.com/godotengine/godot-docs/issues/4834. A dedicated documentation page is welcome 🙂

dotlogix commented 1 year ago

I created a PR for a tutorial for compute shaders #6159

FreshlyBrewedCode commented 1 year ago

As far as I can tell the new 3D import workflow using the advanced import dialog (https://github.com/godotengine/godot/pull/47166) is still undocumented as well as the new animation retargeting system (https://github.com/godotengine/godot-proposals/issues/4510).

Generally, I find the current documentation regarding the 3D asset pipeline and import workflow rather confusing when working with Godot 4.

FreshlyBrewedCode commented 1 year ago

Edit: I created a separate issue for rewriting/improving the "importing 3D scenes" page: #6201

fire commented 1 year ago

Can you move this 3d formats task to a new issue to give us space to work 👍

paddy-exe commented 1 year ago

I started work on GDExtension docs👍🏻

TheYellowArchitect commented 1 year ago

https://docs.godotengine.org/en/latest/getting_started/step_by_step/instancing.html

The instancing.zip project (3.x by default) if auto-converted gets this error on running it godot4-bug-conversion

Also wall collision images don't match but I'm a newbie and don't know if that's a bug or not

Edit: nvm, its already known https://github.com/godotengine/godot-docs/pull/6187

shinspiegel commented 1 year ago

The tilemap was heavily changed. But the latest on the docs does not show these changes, does have anyone working on this topic? Otherwise, I would like to start working on this one. But I'm not an English specialist and I would love to have some native speaker or someone proficient with the language to fix/correct my mistakes if possible.

If there is some work being done, I would appreciate help/reviewing this one.

TheYellowArchitect commented 1 year ago

@shinspiegel if not me, then someone else will definitely fix the typos and grammar mistakes or clarifications needed. Go for it :tada:

Black-Virtue commented 1 year ago

Was about to add info on NavigationPolygon, it's missing it's properties and info on how to use them, but it's listed as 100% on the class reference status and when looking to edit I was greeted by a "do not edit, automatically generated" boilerplate. Is it actually safe to edit? and if not what steps should I go through to add the information?

Black-Virtue commented 1 year ago

@shinspiegel having recently bumped around trying to understand it myself I'll gladly look through and help with any wording, though I've not explored all of it's new features yet.

gelvinp commented 1 year ago

I'm updating the 4.0 GDScript warning system tutorial to the new annotation syntax, but it seems like it doesn't work all the time (trying to reproduce the third screenshot demonstrating ignoring the unreachable_code warning, and the warning just...isn't ignored). I'm gonna open an issue on the engine about that (there are multiple open already), but should I wait for that to be fixed before taking screenshots and PR'ing it all, or should I PR the changes with the new syntax now but have the screenshots either mismatched or not working?

thadguidry commented 1 year ago

6533 as well.

lesleyrs commented 1 year ago

@gelvinp Same problem with @warning_ignore(shadowed_variable).

scriptsengineer commented 1 year ago

UI pages need to be added to this list

Calinou commented 1 year ago

UI pages need to be added to this list

Which pages specifically? Many of them seem to be updated for 4.0 already: https://github.com/godotengine/godot-docs/tree/master/tutorials/ui

scriptsengineer commented 1 year ago

Indeed some have been updated, but an important one is https://github.com/godotengine/godot-docs/blob/master/tutorials/ui/size_and_anchors.rst Changed the way to use anchors in the editor

YuriSizov commented 1 year ago

Yes, it needs a rewrite to reflect the new workflow and editor UI changes (note that the underlying system is still the same, although some properties have been renamed).

naturally-intelligent commented 1 year ago

The 'Importing Images' tutorial needs to be updated:

https://docs.godotengine.org/en/latest/tutorials/assets_pipeline/importing_images.html https://github.com/godotengine/godot-docs/blob/master/tutorials/assets_pipeline/importing_images.rst

For example the texture Filter inside of Flags has been moved into CanvasItem

Exerionius commented 1 year ago

WorkerThreadPool class was added in Godot 4.0 and it is not on this list. There is no documentation for it: https://docs.godotengine.org/en/latest/classes/class_workerthreadpool.html

Calinou commented 1 year ago

WorkerThreadPool class was added in Godot 4.0 and it is not on this list. There is no documentation for it: docs.godotengine.org/en/latest/classes/class_workerthreadpool.html

This issue is only about manual pages, not class reference pages. We already have a tracker for class reference completion: https://godotengine.github.io/doc-status/

There's an open pull request documenting WorkerThreadPool, but it needs a review: https://github.com/godotengine/godot/pull/65268

For other classes, pull requests for the class reference should be opened against https://github.com/godotengine/godot's master branch, not godot-docs.

Exerionius commented 1 year ago

This issue is only about manual pages, not class reference pages.

Sorry for my misunderstanding, it's not very clear to be honest.

raggi commented 1 year ago

Using CharacterBody2D/3D code snippets need an update for move_and_slide parameter removal

Calinou commented 1 year ago

Using CharacterBody2D/3D code snippets need an update for move_and_slide parameter removal

Using CharacterBody2D should be updated already by https://github.com/godotengine/godot-docs/pull/6614. Did you read the /latest branch of the documentation?

However, there's still a separate Kinematic Character (2D) page which needs to be updated: https://github.com/godotengine/godot-docs/blob/master/tutorials/physics/kinematic_character_2d.rst I've added it to the list, but its name is awkward now that KinematicBody was renamed to CharacterBody.

popcar2 commented 1 year ago

The Optimizing a build for size page doesn't seem to include the new Custom Engine Build Configuration feature found in Project --> Customize Engine Build Configuration. I think the options described in the current page like disabling advanced GUI objects might be redundant now that you can just choose what you want to exclude with your build config file.