Make a 2D Flappy Bird Game in Unity®: Code in C# & Make Art!
This course was funded by a wildly successful Kickstarter.
Let’s make an Endless Flyer game! Join Mammoth Interactive step-by-step in building a fully featured game from scratch. We show you how to make all the code and art for the game from scratch.
Do you love Flappy Bird? You can make your own game inspired by it!
After purchasing this course, you’ll be taken step-by-step through every process needed to do just that. Our two very talented instructors, Kevin Liao and Glauco Pires, explain everything from a basic, beginner level. That means, you don’t have to have any prior coding or digital art experience to succeed here.
Glauco Pires will take you through the process of coding a game in Unity® from scratch. Kevin Liao will teach you how to create all the artistic elements you will need to complete the game. Kevin will teach this section of the course in Photoshop to make original 2D art. The final section will teach you how to integrate the art to the game in Unity®.
The beauty of taking an online course like this is the ability to replay any of the lectures at any time. There is no time limit or final tests. You get to learn at your own pace with a practical model method of learning.
Feel free to leave us any questions in our Q&A section. Please leave this course a rating. We love hearing from you!
This course is project-based, so you will not be learning a bunch of useless coding practices. At the end of this course you will have real world apps to use in your portfolio. We feel that project based training content is the best way to get from A to B. Taking this course means that you learn practical, employable skills immediately.
You can use the projects you build in this course to add to your LinkedIn profile. Give your portfolio fuel to take your career to the next level.
Learning how to code is a great way to jump in a new career or enhance your current career. Coding is the new math and learning how to code will propel you forward for any situation. Learn it today and get a head start for tomorrow. People who can master technology will rule the future.
You get full lifetime access to this course for a single one-time fee. Enroll today to join the Mammoth community!
Introduction to the Course
Introduction to Unity Section 1
Unity is the best user-friendly 3D engine on the market
If you want to make a VR game, Unity is the program for you. The Unity engine comes with built-in models, materials, and more, which you can use to make your own 2D or 3D games.
Unity is the most popular platform for building VR games. You can build a variety of 2D and 3D games with its user-friendly interface.
In Part One, we will cover features of the Unity engine. We will look at 3D models, simple shapes like cubes and spheres. We will look at how to navigate throughout a scene, add shapes, and change appearances.
In this lecture we will enable user input to move a cube!
The Mesh Renderer draws game objects in the Scene. This component contains several properties. For example, Cast Shadows defines whether shadows will be drawn from the cube. Receive Shadows determines if shadows of other elements will be drawn in this cube. In this lecture, we will cover the Materials property.
What is a material? Suppose we want to change the color of Cube. Unity provides the default material "Default-Material" for the cube. To change the cube's color, we need to create our own material.
Lighting is a crucial part of game development. The lighting in your game can set the tone of the scene and provide useful information for your players. Unity's default light is Directional Light. Rays extend from Directional Light in all directions. When a ray hits an object, a shadow will project on the floor.
To create effects such explosions, smoke, or flames in Unity, you can use particle systems. Each particle in such a system is a simple mesh. The effect of all the combined particles creates a moving object.
For your game to feel real, its objects should move like they would in real life. In this tutorial, you will learn how to make your game objects respect the laws of physics. We will apply physics to Cube so that it respects gravity.
So far, we have worked with logic provided by Unity. You can extend the working logic by finding new assets. For instance, to change a visual element of the game, you can create your own assets or find an asset in Unity's Asset Store.
To access the Asset Store, go to Window > Asset Store or visit www.assetstore.unity3d.com.
Introduction to Unity Section 2 (Coding)
Here you will learn the foundations of coding a C# script for Unity. We will use different coding concepts like variables, methods, conditions, and loops to change how a game object is rendered.
Variables: the building blocks of code. When building a game in Unity, you often need to store information, such as a player's age or the current time. Variables are perfect for storing data.
In this lecture, we will use an example of a cube to show some of the useful things variables can do. We will change the size, name, and rotation of a cube using variables in C#.
A method in a script performs an operation or function. There are two methods that appear in any C# script you create in Unity.
A method can perform an operation and return the result. For instance, a method can add numbers, return the sum, and store the sum in a variable. void means the Start method does not return anything. The method can still execute operations.
Suppose we wanted to run code only when a certain condition is met. For instance, a player could only fly in a game if they had a jet pack. A player could only buy a bicycle if they had enough money. To implement this kind of functionality, we can use if blocks.
An if block runs code when a specified condition passes.
Introduction to Unity Section 3 (Inputs)
In this section:
We will enable our game to respond to user input. For instance, we will have key presses on a keyboard move a cube around a plane. We will have the cube jump when the Space bar is pressed.
Many games use a system with multiple cameras. We will be able to click, hold, and move a mouse to look at the cube from different perspectives.
When playing a game, a user should interact with the game's software. For instance, to enter a building, a player may have to show their ID. This is an example of an input. Input is important in games because games rely on interaction.
We will enable user input to move the cube.
There are two ways to make the logic for a player to jump.
Here you will enable a player to move forward and back using their keyboard!
Introduction to Unity Section 4 (Prefabs)
A prefab is a stored instance of a game object that you can reuse. Instead of making multiple enemies in the scene in Unity, you can make an enemy prefab and replicate it.
Coming up, we will create a game where a player shoots a bullet at a wall. When the bullet hits the wall, the bullet will split into multiple pieces. We will use prefabs to achieve the explosion effect. With a prefab, we can make one bullet and replicate it in the scene as many times as needed.
Coming up: we will offset the movement of the bullets!
Now that we have learned how to spawn a bullet, we will make a simple explosion prefab. Every time a bullet touches the wall, we will spawn an explosion.
Creating the Game (Unity Projects)
Introduction to Photoshop
Have you used Photoshop before? If so, feel free to skip this introductory section. Go to Section 8, where we make art for our Flappy Bird game.