Book Image

Godot 4 Game Development Projects - Second Edition

By : Chris Bradfield
5 (1)
Book Image

Godot 4 Game Development Projects - Second Edition

5 (1)
By: Chris Bradfield

Overview of this book

The Godot 4 Game Development Projects book introduces the Godot game engine and its feature-rich 4.0 version. With an array of new capabilities, Godot 4.0 is a strong alternative to expensive commercial game engines. If you’re a beginner, this user-friendly book will help you learn game development techniques, while experienced developers will understand how to use this powerful and customizable tool to bring their creative visions to life. This updated edition consists of five projects with more emphasis on the 3D capabilities of the engine that will help you build on your foundation-level skills by showing you how to create small-scale game projects. Along the way, you’ll gain insights into Godot’s inner workings and discover important game development techniques that you can apply to your own projects. Using a straightforward, step-by-step approach and practical examples, this Godot book covers everything from the absolute basics to sophisticated game physics, animations, and much more. Upon completing the final project, you’ll have a strong foundation for future success with Godot 4.0 and be ready to develop a variety of games and game systems.
Table of Contents (10 chapters)

Making the ball

Since the ball needs physics – gravity, friction, collision with walls, and so on – RigidBody3D will be the best choice of node. Rigid bodies work similarly in 3D to the ones you’ve used before in 2D, and you’ll use the same methods to interact with them, such as _integrate_forces() and apply_impulse().

Create a new scene with a RigidBody3D node named Ball and save it.

Since you need a simple sphere shape and Godot includes primitive shapes, there’s no need for a fancy 3D model here. Add a MeshInstance3D child and choose New SphereMesh for the Mesh property in the Inspector.

The default size is much too large, so click on the Mesh property to expand it and set Radius to 0.05 and Height to 0.1.

Add a CollisionShape3D node and give it a SphereShape3D. Set its Radius setting to 0.05 to match the mesh.

Testing the ball

Add an instance of the Ball scene to your course. Position it over one of the tiles and play the scene...