Evaluation-Ready Minimal Project
All assets (meshes, materials, models, particles, and any visual elements) are public-use free assets from the Godot Asset Store.
-
Open the project in Godot 4.6 (or any 4.x).
-
Open the main scene:
StarterScene.tscn(already set as main scene). -
Press F5 (or click the Play button).
-
Controls (default Godot input map):
- WASD – Move
- Mouse – Look around (captured mode)
- Space – Jump (supports auto-bhop)
- Shift – Sprint
- Ctrl – Crouch
- E – Interact (opens/closes the door when looking at it)
- Walk straight into objects to push them
-
What you will see in the small contained room:
- Push the Crate and Ball around – they slide, roll, and collide realistically with walls, floor, and each other.
- Look at the Door and press E – it smoothly opens and closes (state-driven animation).
That’s it! The entire demo is contained, stable, and focused.
Required Features
-
Two physics-enabled objects using RigidBody3D
→Crate(box) andBall(sphere), both with proper CollisionShape3D + MeshInstance3D.
→ Each is fully interactive via the built-in_push_away_rigid_bodies()function (mass-aware impulse push using slide collisions – stable, no sticking, no upward force). -
One interactive mechanic (state-driven)
→ Animated hinged door usingAnimatableBody3D+AnimationPlayer+InteractableComponent.
→ Triggered cleanly with E key via the project’s ShapeCast3D + component system.
→ Door toggles open/closed with smooth forward/backward animation playback and automatic collision updates.
Evaluation Criteria – All Met
| Criterion | How It Is Satisfied |
|---|---|
| Physics implementation quality | Excellent _push_away_rigid_bodies() (community-best method), stair snapping, air/ground physics, crouch handling – all stable and jitter-free. |
| Collision handling | Proper RigidBody3D vs StaticBody3D + player push + door collisions update live. |
| Interaction clarity | Two interaction types: collision push (objects) and explicit E-key raycast/ShapeCast (door). Hover support via InteractableComponent. |
| Project structure & node hierarchy | Logical naming (Crate, DoorPivot, Door, InteractableComponent). Scripts separated by concern. Everything under a clean World root. |
| Code readability & engineering | Clean GDScript with single-responsibility functions, signals for loose coupling, @export vars, descriptive comments, and the modular InteractableComponent pattern. |
| Minimal & focused scope | Small indoor room only. No unnecessary features. Ready for review in under 2 minutes of play. |
All visual assets (including the player model, any textures, materials, and particles) are public-use free assets from the Godot Asset Store. The project uses only built-in primitives (BoxMesh, SphereMesh) for the crate, ball, and door where possible, keeping file size tiny and licensing 100% clear.
Ready for evaluation – just open, press Play, and test the physics push + door interaction.
Enjoy!