02.how-this-final-challenge-works

How this final challenge works

We prepared a start project in which you will be working.

It contains several completed scripts. Covering everything from zero would make this series very long, yet not all of it would benefit you much learning-wise.

Instead of covering every bit of code, we will guide you through the creation of key game mechanics and show you how they reuse the techniques you learned throughout the course.

Some of the code we completed for you corresponds to things that you already know well at this point, like the character’s movement. You are welcome to try and reproduce these scripts yourself if you desire.

Other bits of code are there for you to read and practice working with other developers’ code.

It’s an important skill. Professional developers spend most of their time reading and using other developers’ code (for example, all the functions built into Godot), or their own code that they forgot.

Along the way, you will get many optional challenges. You can do them either as you go through the series or at the end, where we will list them all again. It’s as you prefer.

On top of the starting project, you will find a completed version of the game with fully commented code. We invite you to read it whenever you get stuck to see how we solved specific problems.

Please remember that our goal in this project is to gradually challenge you to figure things out. But that does not mean that you have to write code in a vacuum. That’s not how developers work.

You should use all the resources at your disposal: commented code examples, previous lessons, and the questions and answers below each lesson. We will also look at Godot’s integrated code reference in the series. It’s an essential tool for any developer.

There’s no shame in using all of these because that’s how professionals work. Learning from various resources and examples is also one of a good developer’s core skills.

How we’ll make the game

We prepared an order that keeps the code manageable for you for this series, even though it’s not exacly the order we’d follow in production. More on that in the next lesson.

We’ll create the game this way:

  1. We’ll start by making a test room with a character, a dummy enemy, and a basic bullet.
  2. You will create a second bullet, a spell, and a pickup.
  3. That will allow us to create spawners to randomize pickups in the rooms.
  4. You will then work on mobs. We’ll guide you through the process at first because we need to use a programming pattern we have yet to teach you.
  5. We’ll wrap up the series by adding a random spawner for enemies, creating multiple rooms, and coding procedurally generated levels.

Warning

What we are doing with this series is unlike most of the courses you will find online.

Most courses stick to step-by-step tutorials and never quite challenge you. You should think of this series as some kind of guided exam.

Because we’re doing something fairly unique among self-paced online courses, we need your feedback to refine this. We plan to keep improving the course moving forward.

This series should challenge you without being overwhelmingly difficult. It’s normal if some code challenges take you time to figure out, but you shouldn’t be completely lost.

If you feel completely lost, please let us know. Also, if you are left with burning questions, please send them to us. We’re here to help.

We’re here to help and answer your questions.