Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TRACKER] Porting the demos to Godot 4 #697

Open
81 of 89 tasks
aaronfranke opened this issue Mar 28, 2022 · 76 comments
Open
81 of 89 tasks

[TRACKER] Porting the demos to Godot 4 #697

aaronfranke opened this issue Mar 28, 2022 · 76 comments
Milestone

Comments

@aaronfranke
Copy link
Member

aaronfranke commented Mar 28, 2022

This issue tracks the progress of porting the Godot demo projects to Godot 4.0. This list is in alphabetical order by folder path.

  • βœ… and a checked box means that the demo is fully ported and working.
  • 🚧 means that the demo still needs to be ported manually.
  • πŸ› means that there are engine (not project) bugs that show up in this project. Projects that have bugs but the cause is unknown don't get πŸ›.
  • 🐞 means that there are minor bugs such as errors printing in the console.
  • πŸŒ‹ means that there is a bug with rendering (possibly a problem with the project).
  • πŸ“œ means that there is a bug with scripting (can be GDScript/C#/VisualScript).
  • πŸ–½ means that this project uses TileMap. 3.x tile data doesn't work in master.
  • πŸ’₯ means that opening the editor with this project causes the engine to crash.
@aaronfranke aaronfranke added this to the 4.0 milestone Mar 28, 2022
@Calinou
Copy link
Member

Calinou commented Mar 28, 2022

I have an ongoing 4.0 port of the 3D Global Illumination demo: https://github.com/Calinou/godot-demo-projects/tree/add-global-illumination-demo-2-4.0

Edit: Pull request opened: #718

@voylin
Copy link
Contributor

voylin commented Mar 31, 2022

I have fixed the Pause demo with pull request #701
And I checked the Autoload(Singletons) demo in pull request #702
I hope I'm helping in finishing off all these tasks. I'm pretty now to contributing so please tell me when I'm doing things wrong!

Edit:
Had some more time so decided to fix the Translation demo as well with pull request #704
The Control Gallery Demo also got fixed/adjusted so the layout is correct again with previous version. This is done in pull request #705

@GeorgeS2019
Copy link

@Calinou I wonder if it makes sense to discuss here what to do with the Godot4 c# demo examples. Should there be discussions among Godot4 mono users or we wait until Godot4 dotnet6 is merged into the master?

@voylin Do you do Godot4 c#? Thank you for volunteering.

@Calinou
Copy link
Member

Calinou commented May 2, 2022

@GeorgeS2019 Porting C# demos will have to wait until the .NET 6 work is merged in master. Until this happens, the API is too unstable for porting to be worth it.

@aaronfranke
Copy link
Member Author

@GeorgeS2019 That's a good point, I added a new emoji to this tracker to reflect this status ❌.

@voylin
Copy link
Contributor

voylin commented May 3, 2022

I've been trying to get some of the demo's fixed but 2D Lights as Mask and 2D Lights and Shadows are not possible yet. There are some rendering issues with light2D which make the demo's not work.

@Calinou
Copy link
Member

Calinou commented May 3, 2022

I've been trying to get some of the demo's fixed but 2D Lights as Mask and 2D Lights and Shadows are not possible yet. There are some rendering issues with light2D which make the demo's not work.

Indeed, see godotengine/godot#55806.

@alex9099
Copy link

alex9099 commented May 3, 2022

I just tested the voxel game and it seems to work without problems (no debugger errors nor anything seemingly wrong rendering wise) on alpha 7

@voylin
Copy link
Contributor

voylin commented May 4, 2022

@voylin Do you do Godot4 c#? Thank you for volunteering.

@GeorgeS2019 Sorry for the late reply, hadn't seen the message. I am willing to test the c# stuff as well, but we will have to wait until the beta I guess. Like Calinou said, .NET 6 stuff should first be merged.

@voylin
Copy link
Contributor

voylin commented May 4, 2022

2D Physics Test demo is having a bug which is occurring because of find_children. Issue godotengine/godot#54939 has to be solved first. That demo should also have the tilemap icon as one of the tests uses the Tilemap.

@voylin
Copy link
Contributor

voylin commented May 4, 2022

I just tested the voxel game and it seems to work without problems (no debugger errors nor anything seemingly wrong rendering wise) on alpha 7

@alex9099 The voxel demo still has some rendering bugs. @aaronfranke worked on this demo in #694
But when testing it I found rendering issues especially when breaking blocks in the flat space, not all the faces on the sides don't get updated. This demo will probably need to wait until the beta releases before it can be checked of the list.

@Anutrix
Copy link

Anutrix commented Oct 6, 2022

All these need to be rechecked with Godot 4 beta or newer. Probably most of them are broken again now.

Tried Bullet Shower(tagged βœ…) on master build and got: Line 59:Function "update()" not found in base self.
Built-in 3to4 Converter didn't help either.

@Calinou
Copy link
Member

Calinou commented Oct 6, 2022

I'm going through the 4.0-dev demos to update them as we speak.

This one-liner (run in the repository root) makes it easy to go through all demos in the editor one-by-one:

for demo in **/*.godot; do godot $demo; done

@scriptsengineer
Copy link
Contributor

Multiplayer Pong: Ported to godot 4 beta 5 -> #792

@TheYellowArchitect
Copy link

TheYellowArchitect commented Jul 26, 2023

GUI Tutorials

  • GDPaint works as expected. Creative usage is viable here.
  • Drag_and_drop works as expected. Frequent usage for so many games!
  • Control Gallery is poggers, but there is a bug: The Menu Button (below OptionButton) is bugged, since nothing selected actually applies. I wish I had found this tutorial far earlier, it must have been skipped by so many like me, but it basically explains fundamental UI intuitively.
  • bidi_and_font_features. Literally untestable by me, and I hope not others. All buttons are grayed out (right to left and vice versa) and I can't tell if that's a bug or I miss fonts of that non-european language. A tutorial is meant to explain by intuition, but if the buttons being grayed out/disabled is not a bug, then this demo needs some further development.
    grayed-out
  • input_remap works as expected. Though I would suggest an enhancement, to have a ball or capsule player, and have him move. Because the input remapping is displayed on the user when he stops the project and starts it again, and the old input maps persist to the new buttons as strings. But strings alone aren't as intuitive as a literal object moving the same way but with different buttons, binded realtime.
  • msdf_font works as expected. I didn't expect such difference from traditional to msdf, pixely to .svg smooooth.
  • multiple_resolutions works as expected. Kinda wild to see this, as it dwarfs "make your own resolutions options" youtube tutorials.
  • pseudolocalization is weird. The below happens on toggling ON pseudolocalization (which becomes ON by default)
    unicode-parsing-error
    Assuming that error doesn't exist, I still cannot test it because I don't understand it at all. That language does not exist, so I don't know how the intended behaviour should be. Anyway, at least me and most other devs are not the target audience for this demo's features, so it's not a big deal if this doesn't work perfectly. Also, I typed some Greek characters in there, but it didn't work like the english characters (so on pseudolocalize button, it remained as is, except for 1 filter choice which really jumbles it all), so I suggest allowing exclusively english characters in the top box.
  • Regex works as expected. Though on the hyperlink of RegExr, I suggest adding also regex101.com, as I personally find it better.
  • RichTextBBCode is bugged. Tooltip breaks font resolution or sth, I cannot tell what is the cause of the bug, only what it does visually. I even screen-recorded the bug for convenience of whoever reads this: https://files.catbox.moe/z9wkva.mkv
    Also, the table items split in 2 columns should be more to the left, as in, properly aligned to their left line.
  • ThemeOverride works as expected. Though its kinda barebones. Sure, a user can experiment atop of it, but to change the texture of a button or panel contents, and change the edges/margin of a panel is what would make this a beefy tutorial.
  • Translation has a bug on opening, as shown on the image below (no main scene, and font missing?)
    failed-font-loading
    Yet, if I press F5, it runs normally and works as expected. So it's nothing serious I assume.
  • UI Mirroring demo, unlike other tutorials which are 4.0 (only Loading tutorials were 3.5 thus far), is from 3.3 and requests conversion. I converted full project automatically, and there were 2 debugger console errors (probably nothing) but I reloaded project just in case, and no errors. But while there are no logic errors, I don't see anything reacting, so it is safe to say it is heavily bugged and needs manual conversion.

@Calinou
Copy link
Member

Calinou commented Sep 15, 2023

I went through all demos with 4.2.dev4 and ticked off which ones work correctly and which ones remain to be ported.

  • Control Gallery is poggers, but there is a bug: The Menu Button (below OptionButton) is bugged, since nothing selected actually applies. I wish I had found this tutorial far earlier, it must have been skipped by so many like me, but it basically explains fundamental UI intuitively.

MenuButton functionality for persisting checkbox/radio button changes was never implemented (it needs scripting in the project). Feel free to open a pull request for this πŸ™‚

  • RichTextBBCode is bugged. Tooltip breaks font resolution or sth, I cannot tell what is the cause of the bug, only what it does visually.

This is an engine bug: godotengine/godot#54030

Also, the table items split in 2 columns should be more to the left, as in, properly aligned to their left line.

I couldn't figure out how to do that, unfortunately.

UI Mirroring demo, unlike other tutorials which are 4.0 (only Loading tutorials were 3.5 thus far), is from 3.3 and requests conversion. I converted full project automatically, and there were 2 debugger console errors (probably nothing) but I reloaded project just in case, and no errors. But while there are no logic errors, I don't see anything reacting, so it is safe to say it is heavily bugged and needs manual conversion.

I've tested the demo in 4.2.dev4 and nothing happens when I press various buttons. This will need a second look by @bruvzg who initially made this demo.

@Alex2782
Copy link
Contributor

Accelerometer, Magnetometer and Gyro Demo
has the status the demo still needs to be ported manually.

is it this example?
https://github.com/godotengine/godot-demo-projects/tree/master/mobile/sensors

2 weeks ago I tried on my android tablet and found no problems, what changes exactly are still needed there?

@Alex2782
Copy link
Contributor

@Calinou: Has anyone ported TileMap to version 4 yet?
image

image

I have ported some scripts. But how Grid.gd (extends TileMap) would have to be ported, I unfortunately do not know yet. (some lines commented out)

Should I still create PR? So that others can continue. I would have to get better acquainted with TileMap first.

master...Alex2782:godot-demo-projects:role_playing_game_v4.1

Current state:
image

@Alex2782
Copy link
Contributor

(3D) kinematic_character

The description would still have to be adapted here. The 2 classes no longer exist. The name 'Kinematic Character 3D' would have to be renamed to 'Character Body 3D'?

This demo uses a KinematicBody
for the player, and StaticBody for the level.

... the player extends CharacterBody3D and the level ?

@Alex2782
Copy link
Contributor

Pong Multiplayer no problems detected

v4.1.2.stable.official [399c9dc39]

@AliceGrey
Copy link

@aaronfranke 2.5D Demo with GDScript is not fully converted to 4. The node25d plugin is broken and does not currently run on 4.

@Alex2782
Copy link
Contributor

Alex2782 commented Nov 6, 2023

@aaronfranke 2.5D Demo with GDScript is not fully converted to 4. The node25d plugin is broken and does not currently run on 4.

I could not find any problems. Master Branch was updated 5 months ago, version 4.0.
I tested with Godot Version 4.2 Beta4

https://github.com/godotengine/godot-demo-projects/tree/master/misc/2.5d

@MatrixFrog
Copy link

@Alex2782 I don't understand TileMap extremely well yet either but I think I'm making progress on that 2D RPG demo, using the branch you posted above as a starting point: #1009

Will try to get it fully working in the next few days...

@GeorgeS2019

This comment was marked as off-topic.

@tinybitofheaven
Copy link

I wanted to ask if I could work on Multiplayer Pong with C#? I've already started looking into converting it, it seems that multiplayer in Godot 4 is radically different from Godot 3 and a lot of RPC syntax is hard to find a direction conversions in C#. I'll keep working on it since I don't think anyone else is right now, but let me know if I'm wrong about that.

Also wanted to mention that one of the links in the tracker post is linked incorrectly.
Screenshot 2024-04-08 205410

@Calinou
Copy link
Member

Calinou commented Apr 9, 2024

I wanted to ask if I could work on Multiplayer Pong with C#? I've already started looking into converting it, it seems that multiplayer in Godot 4 is radically different from Godot 3 and a lot of RPC syntax is hard to find a direction conversions in C#. I'll keep working on it since I don't think anyone else is right now, but let me know if I'm wrong about that.

Yes, feel free to open a PR to update it πŸ™‚

The non-multiplayer Pong with C# demo was updated in #966.

Also wanted to mention that one of the links in the tracker post is linked incorrectly.

Fixed.

@tinybitofheaven
Copy link

tinybitofheaven commented Apr 14, 2024

I believe I've gotten Multiplayer Pong C# working in Godot 4.2 in [#1045].
However, I wanted to follow up on something. It seems that there isn't much documentation on implementing Multiplayer with C# in Godot 4, at least I couldn't find it very easily. In the high-level multiplayer documentation, there's only GDScript. Is there plans to add more C# multiplayer documentation in the future? Or does the documentation exist and I just missed it?

@Calinou
Copy link
Member

Calinou commented Apr 15, 2024

Is there plans to add more C# multiplayer documentation in the future? Or does the documentation exist and I just missed it?

We welcome pull requests on https://github.com/godotengine/godot-docs to add C# code samples to pages that only have GDScript code samples. That said, we don't have plans to add dedicated pages for C# networking. The base concepts are already independent of the scripting language – only the code blocks really need to be adapted for C#.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests