Skip to content

A fast, fun, silly local multiplayer game in 3D. Ref: CK_GDT

Notifications You must be signed in to change notification settings

DiscoveringGodot/5_Cubedude_Kickabout

Repository files navigation

Discovering Godot - The Game Engine You've Been Waiting For

Section 5 - CubeDude Kickabout

This is GameDev.tv's guide to the free and open source Godot game engine. Learn the free to use, free to modify, free to create engine with one of the most successful online game develeopment educational groups out there.

You're welcome to download, fork or do whatever else legal with all the files! The real value is in our huge, high-quality online tutorials that accompany this repo.

In This Section

Get to grips with 3D and local multiplayer while we make a simple, fast and fun physics based local multiplayer sportsing* game.

"Sportsing" may not be a real word.

(Our ref: CK_GDT)

How To Build / Compile

This is a Godot project. If you're familiar with source control, then "clone this repo". Otherwise download the contents and place them in your projects folder, then import the project in Godot's launcher.

This branch is the course branch, each commit corresponds to a lecture in the course. The current state is our latest progress.

Lecture List

Here are the lectures of the course for this section...

1 Designing CubeDude Kickabout

In this video (objectives)…

1 Discuss the game we're making 2 Examine the features we'll need to create

After watching (learning outcomes)…

Plan out the central mechanics and feeling of our fast, silly local kickabout game

2 Installing Assets for CubeDude Kickabout

In this video (objectives)…

1 Create a new project 2 Download and install the assets 3 Explore the assets

After watching (learning outcomes)…

Create the project and familiarise ourselves with the assets we'll be using

3 Making the Pitch

In this video (objectives)…

1 Working in 3D 2 Creating a MeshInstance node 3 Creating a simple material

After watching (learning outcomes)…

Create simple meshes and apply materials to them

4 PhysicsBody Nodes in 3D

In this video (objectives)…

1 How to change a root node in a scene without losing all the work you've done 2 Revisiting the three (?) types of PhysicsBody in Godot 3 How to pick the right PhysicsBody for your node

After watching (learning outcomes)…

Have basic physics working in our game!

5 Enter the CubeDude!

In this video (objectives)…

1 Changing the root node in an imported asset 2 Why 3D objects sometimes have blank materials 3 Moving in 3D

After watching (learning outcomes)…

Bring in CubeDude and apply basic 3D movement

6 Finishing the Pitch

In this video (objectives)…

1 Generating Convex and Trimesh Collision meshes 2 Duplicating materials 3 Applying Emmision to a material

After watching (learning outcomes)…

Finish building the pitch using automatically generated collision meshes

7 WorldEnvironment and DirectionalLight

In this video (objectives)…

1 Set up a WorldEnvironment 2 Set up a DirectionalLight 3 Applying toon shading

After watching (learning outcomes)…

Learn the basics of 3D lighting

8 Better CubeDude Movement

In this video (objectives)…

1 Animate CubeDude 2 Have CubeDude face forwards 3 Make sure diagonal movement isn't faster than cardinal movement

After watching (learning outcomes)…

Make CubeDude move in a more natural and predictable way

9 Player 2 Has Joined The Game

In this video (objectives)…

1 Instance Player 2 into the game 2 Have both players controlled in one script

After watching (learning outcomes)…

Concatenate strings to have local multiplayer controls in a single script

10 Functional Goals

In this video (objectives)…

1 Detect when a goal is scored 2 Report which player's score has to increase

After watching (learning outcomes)…

Using Area nodes with custom bindings to detect goals being scored

11 Resetting the Game

In this video (objectives)…

1 Freeze the ball and players when a goal is scored 2 Reset the ball and player positions after some time has passed

After watching (learning outcomes)…

Using Axis Lock to immobilise objects

12 Adding a GUI - 2D in 3D

In this video (objectives)…

1 Add a GUI to our game

After watching (learning outcomes)…

How to use 2D nodes in 3D

13 Knowing the Score - Connecting the GUI

In this video (objectives)…

1 Wire the GUI 2 Get our game to the standard of a Minimum Viable Product

After watching (learning outcomes)…

Pass arguments as functions between scripts to track who scored and who won

14 Adding Awesome - Set Dressing

In this video (objectives)…

1 Enhance the Player Experience with background details 2 Adjust materials and the environment

After watching (learning outcomes)…

Enhance the game with set dressing

15 Adding Awesome - Audio

In this video (objectives)…

1 Play background music 2 Play a sound effect when a player kicks the ball 3 play a sound effect when a goal is scored

After watching (learning outcomes)…

Check for Node types in script and give the player feedback as audio

16 Adding Awesome - Visuals Effects

In this video (objectives)…

1 Add 3D particles when a goal is scored 2 Dim the lights a goal is scored 3 Bring up a spotlight aimed at the player that's just scored when a goal happens

After watching (learning outcomes)…

Introducing 3D particles and using look_at() on lights

About

A fast, fun, silly local multiplayer game in 3D. Ref: CK_GDT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published