Games you could make

If you came to this course with little programming experience, the journey has probably been pretty intense. You've come a long way!
To wrap up this pretty technical module, I wanted to suggest a couple of game projects you could try making with the knowledge you've gained.
Believe it or not, at this point, you already have many of the essential concepts and techniques you need to build simple games. If you've tackled the challenges scattered in the previous modules, you also know how to take a problem and use what you know to solve it. Of course, there's always a lot more to learn, but there are many games you can try re-creating.
Below, you'll find a list of project suggestions you can already take on. I picked these projects specifically because you know most of the tools they require.

Game Ideas

Here's a curated list of projects you can try. This list is not exhaustive. I picked projects that focus on different aspects of game development and that provide complementary challenges. They will give you an idea of the variety of game mechanics within your reach.
For each game, I listed the concepts you know and the ones you're missing, and you'll need to research. In the next few modules, we'll cover all the missing parts, but for now, you'll have to search by yourself!
Searching for information about the missing pieces and experimenting is part of a game developer's training. Whether it's in the documentation, reading other people's forum posts, or talking to people in online communities, asking good questions and searching is essential to becoming a professional game developer. You often need to look for APIs, algorithms, and examples to stay productive on the job.
The games below are in no particular order. Pick whichever you feel would be most exciting or the most approachable for you. I included a challenge with minimal hints for each game to help you get started.
Be careful! No matter how simple these games seem, they may be surprisingly challenging when you try them.
But that's okay. You can try, pause the project if it's too hard, and return to it later. It's a great way to test your progress and what you have yet to learn. Being able to pull off a project that was too hard for you a few months ago is a great feeling; it's just like coming back to the starting area in an RPG and one-shotting the mobs that used to give you trouble.
Nathan
Founder and teacher at GDQuest
  • Management Games

    Games like Drug Wars, Lemonade Stand, or Cookie Clicker.
    Dope Wars Screenshot
    Dope Wars Screenshot
    Cookie Clicker Screenshot
    Cookie Clicker Screenshot
    Management games can be a lot of fun and they don't require many assets. But don't be fooled: that doesn't mean they're simple to make!
    This game uses techniques you learned in M7 (Telling a Story) and M8 (Start a Dialogue), but also some techniques from previous modules: displaying text, buttons, changing images, random events from an array, signals, timers, and optionally resources and math if you want.
    Techniques you'll need to research: Nothing! But to make them good, management games can get incredibly complex, and that is probably a scale you can't tackle yet. You should start with something really simple.
    Challenge:
    Make a clicker game. It could be about a company that outputs a new mobile game every time you click. You will need:
    • A Button. Every time the button is pressed, the company makes a new game, and it sells for $1.
    • A Label to show the current amount of money the player has.
    • Another button to hire underpaid game developpers. Each developper costs $100 and will increment the games you make by 2 every second.
    Ideas for extra challenge: Make the hiring button disabled until you have at least $100.
  • Action Game

    Games like Asteroids or Snake.
    Asteroids Screenshot
    Asteroids Screenshot
    Nokia's Snake screenshot
    Nokia's Snake screenshot
    Asteroids is one of the earliest games ever made, but it is still fun today. You control a spaceship that can rotate, move forward, and shoot asteroids.
    This game uses techniques you learned in M4 (To space and beyond) to M6 (Looting): moving a sprite, rotating a sprite, collision detection, instantiating nodes, removing nodes, spawning items at a location, cooldowns, physics layers and masks.
    Challenge:
    Make one level of Asteroids. You will need a spaceship, an asteroid, and a bullet.
    The asteroid needs to move in a straight line for a while and disappear. You can add a few to the main scene.
    Some requirements:
    • If an asteroid hits the spaceship, the spaceship and the asteroid are destroyed.
    • If the bullet hits the asteroid, the asteroid is destroyed.
    Ideas for extra challenge:
    1. Instead of placing the asteroids by hand, make the asteroids appear randomly from the edges of the screen and give them a custom direction. You can do this with a timer that keeps creating asteroids.
    2. When an asteroid is destroyed, it spawns two smaller asteroids.
    Techniques you'll need to research: spawning bullets, spawning asteroids at the edges of the screen.
    You can follow our tutorial Your First 2D GAME From Zero with GODOT 4! to learn both techniques.
    Here are timestamps for the techniques you need:

    click to reveal Hint

    click to reveal Hint

    click to reveal Hint

  • Text Adventure

    Games like The Oregon Trail or Roadwarden.
    The Oregon Trail Screenshot
    The Oregon Trail Screenshot
    Roadwarden Screenshot
    Roadwarden Screenshot
    The Oregon Trail was one of the first massive video game hits. It involves the player crossing the United States in a wagon. It's a text adventure with a few illustrations. In this game, the player sees an event in the form of text and has a few choices. Each choice changes the player stats and events keep occurring until the player loses or reaches the end game.
    This game uses techniques you learned in M7 (Telling a Story) and M8 (Start a Dialogue): displaying text, buttons, changing images, and random events from an array.
    You know all the techniques you need to make this game! Making the content and making it flow well in the game is the hard part.
    Challenge:
    Make a game like Oregon Trail called "The Gamedev trail". The game will be a series of choices that the player can make.
    You will need:
    • A resource or data to represent an event. An event has text and a list of choices.
    • A resource or data to represent a choice. Each choice has, which has some text and an outcome, like gaining or losing health, money, or another stat. Making a choice also leads to the next event.
    • You will need to check to know if a choice is valid. For example, if a choice requires money, you will need to check if the player has enough money.
    • If a choice makes health go under zero, the game should end.
    After each choice, another random event occurs, until the player loses.
    Ideas for extra challenge: Show an image for each event.

    click to reveal Hint

    click to reveal Hint

    click to reveal Hint

  • Visual Novel

    Games like Steins;Gate or Doki Doki Literature Club.
    Steins;Gate Screenshot
    Steins;Gate Screenshot
    Doki Doki Literature Club Screenshot
    Doki Doki Literature Club Screenshot
    Steins; Gate is a science fiction visual novel where the player makes choices that affect the story. It got wide acclaim across the world received numerous anime adaptations and follow-ups.
    This game uses techniques you learned in M7 (Telling a Story) and M8 (Start a Dialogue): displaying text, displaying buttons, changing images, animations & tweens, animating text.
    You can make a game in this genre with what you know. The bulk of the work in this kind of game is the story and art.
    Challenge:
    Make the player assume the role of a protagonist in a short story. To keep it manageable, make the setting small (one room, maybe) and the number of characters low (one or two). For example, the player might be a harmless vampire attempting to get hired in a blood bank.
    Ideas for extra challenge: Make sure each story bit has an associated image.

    click to reveal Hint

  • Shmups

    Games like Space Invaders or Gradius.
    Vertical or horizontal shooting never stopped being popular. These games remain fun to play and easy to pick up. The genre hasn't changed a lot since the 1970s; modern "shmups" (short for "shoot them up") still have basic mechanics set by their grandparent, Space Invaders.
    This game uses techniques you learned in M4 (To space and beyond) to M6 (Looting): moving a sprite, pickups, collision detection, instantiating nodes, removing nodes, tweens.
    Techniques you'll need to research: shooting a projectile.
    Challenge:
    Make a game like Space Invaders. You will need:
    • A spaceship that can move left and right.
    • An enemy type that animates left and right and shoots a bullet when it timers times out. The bullet will be tweened to the bottom of the screen.
    • Two bullet scenes: one for the player and one for the enemies.
    • The player's bullet will shoot from its position to the top of the screen.
    Ideas for extra challenge: Instead of placing the enemies manually, make enemies spawn from the top and go down slowly with a Tween. If you also use a scrolling background, you have a good prototype for a modern SHMUP!

    click to reveal Hint

How do I start?

First, think a bit about what you'll need for the complete game. Then, find or make a few assets

Where do I find assets?

You'll be able to find free assets online. Always check the license; you usually need to credit the author.
You'll find 2D, 3D, UI, and even sounds, music, and effects on:
People like Kenney and Kay Kit provide a lot of free assets (2D and 3D for Kenney, only 3D for Kay). Of course, all the graphics we use are under a CC-By 4.0 license, so you can use them in your games (CC-By means you need to credit GDQuest).
You can also make your own! Even if you're not an artist, you can also make simple geometric assets using Inkscape.
first.
Once you have some assets, drop them in Godot and program each piece separately, as we have until now. Don't try too hard to get things "right" from the start; be ready to try something, make mistakes, throw it away, and try again.
Show us what you made! We'd love to see it.

What's next?

We've learned a lot so far and covered many foundations of coding, game development, and Godot. After two modules focusing on user interface and data, we'll shift focus to working on different kinds of game mechanics.
In the next module, you'll create the first piece of a top-down arcade puzzle game: a character that can move in 8 directions. See you there!

Lesson Q&A

Use this space for questions related to what you're learning. For any other type of support (website, learning platform, payments, etc...) please get in touch using the contact form.

  • Thank you!AlcedoI didn't know how much I needed this module before I started. I have been using Godot for about a year, and in that time I have started and dropped several projects. Every time I quitted because I started from the code structure and felt overwhelmed by the amount of things you need to do. And here comes the most important lesson from this module for me: start from the mechanics, work on them until you get what you want and, only after, start the refactor to build a nice and intelligent structure. Now I feel I confident enough to finish a project successfully. So, thank you all for what you have done until now. 1 6 Jul. 21, 2024
  • My Asteroids challengeSandra MoenWas fun, spent about 12 hours on this one => [https://sandramoen.itch.io/asteroids](https://sandramoen.itch.io/asteroids) 2 3 Aug. 08, 2024
  • Struggling with bullet direction and rotationimmense-swallow[https://marcus979.itch.io/asteroid](https://marcus979.itch.io/asteroid) Hello, I'm using autoload to track the ship_rotation in the process function, and using Vertor2.RIGHT.rotated(ship_rotation) for the bullet direction. I don't know how to do it correctly, could you give me some guide? Thank you 1 1 Aug. 12, 2024
  • 2nd GameTheEffingLawI made a second game, this one is a cross between a SHMUP and Vampire Survivor. I used a lot of the techniques that were taught in various aspects of the courses as well as some stuff I had to look up. [https://simonlaw89.itch.io/slimeball](https://simonlaw89.itch.io/slimeball) 4 1 Aug. 12, 2024
  • My first gamedisguised-quetzalHello, here is the first game I made : [https://quenean.itch.io/leaf](https://quenean.itch.io/leaf) I used a little bit of everything, including some parts of the M9, and i used some other stuff as well that i found in online tutorials (like for the blinking hurt state). I had fun drawing the assets as well. I could still improve a lot of stuff, but i will stop there for a first creation. I had a little bit of struggle exporting it and publishing it. And i'm not sure to understand everything I did to export it (just following some tutorials). Is there some ressources explaining the exports from Godot ? It's my first time using a game engine, and i am already impressed by what i can do with it in only a couple of months of learning it. I'm really looking forward to the rest of the course :) Thank you for all this qualitative content ! 2 0 Oct. 05, 2024
  • Value keeps showing as "0" when storing string in a variableStonemonkeyWhen I use a variable to store a "score" it keeps changing to "0". If I convert the score value without storing it, it works fine. ```gdscript extends Control var score: int = 000 var display_score: String = str(score) @onready var score_display: Label = $"Score Display" func _ready() -> void: update_score() print(score) print(display_score) func update_score() -> void: score += 10 #score_display.text = str(score) ``` 3 0 Oct. 03, 2024
  • Plans for similar course for creating game assets?detailed-cheetahI really like this course and i find it very helpful. Are there any plans to create one for creating game assets? 1 0 Sep. 23, 2024
  • Game ProjectsEasySpeedsHere is my first game project, Ice Cream Dash. [https://easyspeeds.itch.io/ice-cream-dash](https://easyspeeds.itch.io/ice-cream-dash) Here is my second game project, Stickman Fortress. [https://easyspeeds.itch.io/stickman-fortress](https://easyspeeds.itch.io/stickman-fortress) Here is my third game project, Crack-Man, (disclaimer: this game depicts the use of drugs., Sorry, but using the spray can painter on aseprite and making a few colored blocks is about the limit of my artistic ability.) [https://easyspeeds.itch.io/crack-man](https://easyspeeds.itch.io/crack-man) edit: Making this game was so much fun, so I decided to make another one. I will continue to make and post about my projects here while I wait for the next modules to be released. I had zero experience making games prior to taking this course aside from some basic-intermediate programming knowledge and I am very happy with the course so far. Hopefully playing these little games will inspire others to try and make one of their own, after all, that's what this lesson is about. To all the members of GDQuest, thank you. 6 0 Sep. 17, 2024
  • Art Directed Assets - Technical Requirementsurban-mantisHi GDQuest Team! I want to build some assets for the suggested shoot em up. I know the pixel art works under the power of two. How does this work and change if using a painterly style art direction? For example, Child of Light. Must I build everything in units that can be tiled despite it being hand painted? Thank you. 1 0 Sep. 12, 2024
  • Small typoiDieIn the challenge for the Action Game, it is written buillets instead of bullets 1 0 Sep. 02, 2024
  • A testHludowigTowinaRecycling some old drawings and using music I purchased some time ago I managed to make something. [https://hludowigtowina.itch.io/test](https://hludowigtowina.itch.io/test) 4 0 Aug. 23, 2024
  • Here are my homeworks : a very short VN for a jamSebTo be honest, I was very sceptical about using resources instead of simple dictionaries and arrays, and even more so about the need to export variables in the editor. I learned to code with C and especially R, so I'm not scared of big piles of raw data to manipulate. However by doing my own game, I quickly realised that the way the project was organised into resources meant that it could evolve very flexibly as development progressed. Thank you for this lesson! [https://seb46.itch.io/a-peaceful-wedding](https://seb46.itch.io/a-peaceful-wedding) 1 0 Aug. 19, 2024
  • Conflict between animationsimmense-swallowHello, I made a space invader game. [https://marcus979.itch.io/spaceinvadertest](https://marcus979.itch.io/spaceinvadertest) but It seems that if two animations are triggered too quickly, the graphics do not show properly. And I'm not sure if it is possible to use animation player to play two different animations together 5 0 Aug. 18, 2024
  • Is it possible to make animated portraits?FriedShrimpAnimated characters make dialogues look so much better! Can we do that in Godot 4? My first thought is AnimatedTexture, but I found in the documentation that it's deprecated. 4 0 Aug. 14, 2024
  • About my asteroid gamehumble-pelicanHello, I finished the asteroid game according to the tutorial and the knowledge I learned before, I have two questions, 1: How to do when an asteroid is destroyed, it produces two smaller asteroids? I made two scenes of smaller asteroids, but when I tried to load the asteroids into the scene after they were attacked, there was always a BUG. I didn't find the reason, like boom animation and asteroid loading can't coexist? 2: I think my ship is still a little stiff when turning, how can it be more optimized? This is my project file, please help to look at it when you are free, thank you~ [https://drive.google.com/file/d/1NMBhRzd_WdA3w9kuXT_5p2EoGXoWQ-eO/view?usp=sharing](https://drive.google.com/file/d/1NMBhRzd_WdA3w9kuXT_5p2EoGXoWQ-eO/view?usp=sharing) 8 0 Aug. 05, 2024
  • Help With Asteroid game:)pikminfan71Hi How are you? I'm currently working on an asteroid game and would love some help. Firstly, I searched for a way for the ship to move towards relative to its rotation and came across this - Vector2(cos(rotation), sin(rotation)) While it works great, I Couldn't wrap my head around to understand it. Secondly, I want to implement Acceleration and decceleration like the real game but I don't know how and would love some help (Even Just what to look for or a hint would be great). this is my code so far. Thank you so much in advance! extends Area2D @export var max_speed := 600.0 var direction_vector := Vector2.ZERO @export var rotation_speed := 5.0 @export var steering_factor := 10.0 var velocity := Vector2.ZERO func _process(delta: float) -> void: if Input.is_action_pressed("rotate_right"): rotation += rotation_speed * delta if Input.is_action_pressed("rotate_left"): rotation -= rotation_speed * delta direction_vector = Vector2(cos(rotation), sin(rotation)) var desired_velocity = max_speed * direction_vector var steering_velocity = desired_velocity - velocity velocity = steering_velocity * steering_factor * delta if Input.is_action_pressed("thrust_forward"): position += velocity * delta 22 0 Aug. 03, 2024
  • Clicker GameTheEffingLawHere is a link to my clicker game on itch. [https://simonlaw89.itch.io/game-tycoon](https://simonlaw89.itch.io/game-tycoon) 4 0 Jul. 30, 2024
  • Need a bit more clarification EriksBlue"*story is long, you may want to create resources individually as files, instead of bundling them in the scene."* Is there a resource I can look up to help me figure out how to do this I'm still very new to Godot. 1 0 Jul. 21, 2024
Site is in BETA!found a bug?