Open aaronfranke opened 2 years ago
@Anutrix
I would suggest start with what u are comfortable , which render environment and share openly what u are not comfortable so others with the right competency which can complement u to work on the missing part.
The key is communication
Start the communication so others know how to support u moving forwards.
Do I need to it to be running in all 3 rendering drivers. Is running with few warnings are fine?. Should I test with .NET version of Godot too?, etc. I still don't know the answer to some of these questions.
You only need to test the rendering method the project currently uses on desktop. You don't need to test with a .NET version of Godot unless the project uses C#.
Do we have any guidelines, FAQs or similar page for 'Contributing to Godot Demo Projects'?
Not yet, but I intend to write guidelines in a few weeks from now. Edit: Done in https://github.com/godotengine/godot-demo-projects/pull/912.
I'm also willing to help, I just need a way to know who test what with what results with a good enough update frequency, even if it's means we update it ourselves, to go on the right path.
For 2D Lights as Mask, I found that setting Burano TextureRect > CanvasItemMaterial > Light Mode from Light Only to Normal makes the photo appears as it should, with the textured lights:
In fact, removing the material altogether to use standard one also works.
So I tested the demo in Godot 3 to compare, and Light Only works, and the result is different:
and that's the intended result. So switching to Normal is just hiding the problem.
In the meantime I thought the core issue for Light Only failing: https://github.com/godotengine/godot/issues/44559
Several demos in 3.x were revamped with new art assets:
Remember to use the commits linked at the end of each PR as a base, as they include some additional changes that aren't in the PRs themselves.
These demos should be ported to master
again, since a lot of things have changed within them. It'll be faster to discard the master
copy and start converting the current 3.x
demo from scratch.
Just a heads up to note that I've started working on porting the demos linked in https://github.com/godotengine/godot-demo-projects/issues/697#issuecomment-1541083705.
Edit: Pull request opened, but I need help porting the 2D JRPG demo: https://github.com/godotengine/godot-demo-projects/pull/922
Today is an important 4.1 milestone. Wonder if there are ways to track demo reflecting new features or changes in 4.1
[ ] Rendering
[ ] Navigation
Hello! I see that once I download 4.1 from the official website, there are 2 great links below the donations button. The first redirects to the docs, the 2nd to the asset library demos. All demos seem 3.5. Until most demos are updated, I suggest hiding the 2nd button.
I tested them all, and all are functional, yet they have the 3.5 tag instead of the 4.0?
I tried placing the GDExtension as recommended in the tutorial, got a worse error on opening it lol
var _server = WebSocketServer.new() -> @onready var _server = WebSocketMultiplayerPeer.new().create_server(PORT, ???)
All work great, except the text-to-speech. I cannot test it at all because I guess it uses default OS voicecharacters or whatever they are called and I have none. I would also suggest typed variables and better variable names there.
Also I cannot verify if the BPM_sync works as expected, looks good to me, but I am not that familiar with BPM stuff to confirm the BPM is the same as printed on the UI label.
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 :slightly_smiling_face:
- 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: https://github.com/godotengine/godot/issues/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.
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?
@Calinou: Has anyone ported TileMap
to version 4 yet?
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.
Current state:
(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, andStaticBody
for the level.
... the player extends CharacterBody3D
and the level ?
Pong Multiplayer
no problems detected
v4.1.2.stable.official [399c9dc39]
@aaronfranke 2.5D Demo with GDScript
is not fully converted to 4. The node25d plugin is broken and does not currently run on 4.
@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
@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: https://github.com/godotengine/godot-demo-projects/pull/1009
Will try to get it fully working in the next few days...
We could consider demonstrating the C# examples using Godot 4 (Scene) Test-Driven-Development (TDD) in e.g. VS2022
In this example, I simply run a Godot4 scene: example audio/spectrum with attached GDScript The idea is that once the GDScript is running, using Test-Driven-Development to port the GDScript to C# under the same working environment and conditions as those of the working GDScript
using the latest gdUnit4API TestAdaptor from @MikeSchulze
https://github.com/godotengine/godot-proposals/assets/49812372/72bb91a1-dd1c-4467-8d07-3b0d3beadd4b
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.
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 :slightly_smiling_face:
The non-multiplayer Pong with C# demo was updated in https://github.com/godotengine/godot-demo-projects/pull/966.
Also wanted to mention that one of the links in the tracker post is linked incorrectly.
Fixed.
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?
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#.
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.
[x] β Bullet Shower
[x] β Dodge the Creeps
[x] β Hierarchical Finite State Machine
[x] β GD Paint
[x] β HDR for 2D (renamed to Glow in 2D due to https://github.com/godotengine/godot/issues/54122)
[x] β Hexagonal Game
[x] β Scene Instancing Demo
[x] β Isometric Game
[x] β Kinematic Character 2D
[x] β 2D Lights as Mask
[x] β 2D Lights and Shadows
[x] β Navigation Polygon 2D https://github.com/godotengine/godot-demo-projects/pull/955
[x] β Grid-based Pathfinding with Astar
[x] β 2D Particles
[x] β Physics-Based Platformer 2D
[x] β 2D Physics Tests https://github.com/godotengine/godot-demo-projects/pull/962
[x] β Platformer 2D
[x] β Pong with GDScript
[x] β JRPG Demo https://github.com/godotengine/godot-demo-projects/pull/922
[x] β Screen Space Shaders
[x] β Skeleton2D Demo
[x] β 2D Shaders for Sprites
[x] β Tween Demo
[x] β 3D Global Illumination
[ ] π 3D Inverse Kinematics
[x] β Kinematic Character 3D
[x] β Material Testers
[x] β 3D Navigation Mesh
[x] β 3D Physics Tests
[x] β Platformer 3D
[x] β RigidBody Character 3D
[x] β Truck Town
[x] β Volumetric Fog
[x] β Voxel Game https://github.com/godotengine/godot-demo-projects/pull/965
[x] β 3D Waypoints
[x] β BPM Sync Demo
[x] β Audio Device Changer Demo
[x] β Audio Generator Demo
[x] β Audio Mic Record Demo
[x] β Audio MIDI Piano Demo
[x] β Audio Spectrum Demo
[x] β BIDI and Font Features
[x] β Control Gallery
[x] β Drag and Drop (GUI)
[x] β Input Mapping GUI https://github.com/godotengine/godot-demo-projects/pull/1024
[x] β Multiple Resolutions
[x] β Pseudolocalization Demo (should use
canvas_items
stretch mode)[x] β RegEx (Regular Expressions)
[x] β Rich Text Label with BBCode
[x] β Signed Distance Field Font (renamed to Multi-channel Signed Distance Field font) https://github.com/godotengine/godot-demo-projects/pull/1024
[x] β GUI Theming Override Demo
[x] β Translation Demo
https://github.com/godotengine/godot-demo-projects/pull/930https://github.com/godotengine/godot-demo-projects/pull/1024[ ] π§ UI Mirroring Demo https://github.com/godotengine/godot-demo-projects/pull/974
[x] β Autoload (Singletons)
[x] β Background Thread Loading Demo
[x] β Multiple threads loading
[x] β Scene Changer
[x] β Saving and Loading (Serialization)
[x] β Loading in a Thread
[x] β 2.5D Demo with GDScript
[x] β Joypads Demo
[x] β Matrix Transform https://github.com/godotengine/godot-demo-projects/pull/978
[x] β OpenSimplexNoise Viewer (renamed to Noise Viewer as 4.0 uses FastNoiseLite)
[x] β Operating System Testing
[x] β Pause Demo https://github.com/godotengine/godot-demo-projects/pull/1024
[x] β Window Management
[x] β Android In-App Purchases https://github.com/godotengine/godot-demo-projects/pull/1024
[x] β Interactive Cubes
[x] β Multitouch View
[x] β Accelerometer, Magnetometer and Gyro Demo
[ ] π§ 2.5D Demo with C#
[x] β Android in-app purchases with C# https://github.com/godotengine/godot-demo-projects/pull/1104
[ ] π§ Dodge the Creeps with C# https://github.com/godotengine/godot-demo-projects/pull/1000
[ ] π§ Pong Multiplayer with C#
[x] β Pong with C# https://github.com/godotengine/godot-demo-projects/pull/966
[x] β Multiplayer Bomber https://github.com/godotengine/godot-demo-projects/pull/987
[x] β Pong Multiplayer
[ ] π§ WebRTC Minimal Connection
[ ] π§ WebRTC Signaling Example
[x] β WebSocket Chat Demo
[x] β WebSocket Minimal Demo
[x] β WebSocket Multiplayer Demo
[x] β Plugin Demos https://github.com/godotengine/godot-demo-projects/pull/1024
[x] β 2D in 3D Demo
[x] β 3D in 2D Demo
[x] β 3D Viewport Scaling https://github.com/godotengine/godot-demo-projects/pull/891
[x] β Dynamic Split Screen
[x] β GUI in 3D Demo
[x] β Screen Capture