Construct 2 - From Beginner to Advanced - Ultimate Course!
4.7 (201 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,226 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Construct 2 - From Beginner to Advanced - Ultimate Course! to your Wishlist.

Add to Wishlist

Construct 2 - From Beginner to Advanced - Ultimate Course!

Programmers and non programmers welcome. This is the editor to make anything you dream of. Apps, Ads & Games.
Best Seller
4.7 (201 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,226 students enrolled
Created by Jeremy Alexander
Last updated 8/2016
Current price: $10 Original price: $150 Discount: 93% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 18 hours on-demand video
  • 17 Articles
  • 12 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Program 5 unique games suggested by users!
  • Each game has a new principle to offer. By using different ways to program, students will be able to wrap their head around logic like never before.
  • Develop applications that you have always wanted to make!
  • Earn money from your new skills
View Curriculum
  • Construct 2 Free [You can make every game but not every feature]
  • Construct 2 Personal [To complete every task]

Updated 5/31/17
About The Course

Learn the concepts, tips and programming techniques to build fully functional games with the popular visual scripting editor, Construct 2. By the end of this course, you will know everything to make your own amazing desktop game.

Build a solid foundation with programming as this course, and Construct 2, whether you have made games before or not, teaches a structured logic experience like nothing else!

  • Understand beginner logic such as Global Variables, Local Variables and Instance Variables.
  • Recognize that as you are making your engines, once challenging concepts like Arrays, Effects and Functions become easy.
  • Find the gameplay experience your games have been missing with lighting, screenshake and more!
A Powerful Tool at Your Disposal

Learning the fundamentals of programming can be frustrating, but that's where Construct 2 comes in and swoops you in off your feet. With the [Free] edition it is easy to learn, has excellent documentation, and is the visual scripting tool your brain has been missing.

Games become your canvas and Construct 2 becomes your paint brush as you will be able to pick up every other language you try. Whether it be, C++, C#, Javascript, Java, Ruby or Pascal, you will find that every programming principle is instilled in Construct 2's editor.

The Content You Won't Find Anywhere

Taken from an existing list of over 70 Construct 2 Developers, each game has been highlighted as there was NO tutorials on these types of games for Construct 2. 

Throughout each game you will learn new programming principles that can be applied to any language. Each section, you will evolve your code. The first section is different from the last. We start with Starter Template Version 1 and end with version 4.

Students completing this course will have the knowledge to create anything they want. Construct 2 doesn't limit you to only games, you can make mobile appsadvertisements, banners and more but better yet you can export them to any platform. Windows, Linux, Mac, Wii, iPhone, Android, Facebook, Kongregate and the Scirra arcade.

Complete with working .capx files and royalty free art assets, you'll have unlimited access to me as you work through each concept, and each game to achieve the certificate of completion upon finishing this course.

Who is the target audience?
  • This course is designed for those who have always wanted to learn how to make a game but had no idea how.
  • This course is meant to be THE goto place for everything logic and Construct 2! You will be a different programmer after this course!
  • Construct 2 makes programming fun, easy and accessible. With this course you will be able to use C2 for business, applications, games and more!
  • With the knowledge gained from this course you will find that programming isn't as scary as it can be made out to be.
  • If you have wanted to take your programming skills to a new level!
  • If you have always wanted to learn more about Construct 2 and go in-depth!
Compare to Other Construct Game Engine Courses
Curriculum For This Course
118 Lectures
Welcome to the course!
3 Lectures 09:50

Welcome to Early Access!

This is the course you have been waiting for. Throughout the next few weeks I will be adding lectures daily for the 9 more games we are adding as well as to our overview section where I get you up to speed with everything Construct 2.

Stay tuned for this course is going to be mega!

Preview 04:12

How to approach this course!

In this lecture I want to give you some background as to how to follow this course.

  • What you should keep in mind
  • How to approach each game
  • Why we use Construct 2 Visual Scripting
How to approach this course

[Optional] but HIGHLY RECOMMENDED you take the time to introduce yourself to your peers!

Introduce Yourself!
Download our templates!
3 Lectures 14:11

Download StarterTemplate+ [Desktop Edition] here!

Download StarterTemplate+ [Version 3.0] UPDATED 5/15/16

How to install StarterTemplate+

How to use StarterTemplate+
Construct 2 Overview
5 Lectures 19:28

Welcome to The Construct 2 Overview Section!

In this text lecture I inform you how this section is going to work and what is to come from it!

Later on I will be releasing a course called 'Programming Logic MADE EASY with Construct 2' a way for anyone who has access to this course to learn more about C2 and programming!

The Construct 2 Overview Section

Construct 2 Overview

Welcome to learning about Layouts. Specifically the difference between the Layout Size and the Window size. In this overview lecture, it's important to note that there are many screen sizes one can use to develop with but by using a 16:9 aspect ratio, we are able to develop for every size monitor!

Preview 03:27

Construct 2 Overview

In this video we look at how we can re-arrange our Construct 2 to create a more user friendly experience. This design is optional however as you can make any design you desire!

By keeping most windows open we are letting ourselves have access to everything Construct 2 has to offer. Mostly, I try to keep the Tilemap window off so I only turn it on when I need it. Every other window

  • Projects
  • Properties
  • Objects
  • Layers

These are the ones we always want to keep active in our Construct 2 editor.

Preview 04:29

Construct 2 Overview

In this lecture we go over how to replicate my exact theme settings that I use for Construct 2. We will be using a familiar style with the Visual Studio Blue 2012 Theme as well as learn how to change our event sheets to become darker. Throughout this lecture, there are bits of information about the Quick Access toolbar and our preferences!

Replicate my exact theme, event sheet color and quick access toolbar!

Construct 2 Overview

In this lecture we go over how event sheets work and their properties. We learn about the event itself, the action and of course the condition. This is a more brief overview before we actually delve into deeper things events and actions can do!

Event Sheet Basics

In this quiz we recap everything learned from the overview section!

Overview Quiz!
3 questions
Game 1: Fighting Game
31 Lectures 04:16:31
Play the Fighting Game!

Fighting Game Overview

In this video we review what kind of Fighting Game we are going to be creating. This is the overview video that will occur before every game to really get a grasp as to what we are developing!

In this game we will be adding

  • Gamepad Movement
  • Player Attack
  • Player Combos
  • Enemy AI
  • Fullscreen/Title features for NW.JS
  • Production Ready Project Structure
Preview 02:11

Fighting Game

In this lecture we begin our game by creating our layout setup. In Construct 2, layouts are the way we design our game! They are extremely flexible and by keeping our entire game in one layout we are able to increase performance!

Preview 03:24

Fighting Game

In this lecture we are creating our intense project structure for those using Construct 2 [Personal Edition] or greater.

We are going to create Controllers, States, Input and other structural folders all tying our main GameEvent sheet. This event sheet will have all of the necessary includes to our game!

This method of project structure will be common throughout our 9 other games!

Preview 07:28

Fighting Game

We begin our game from the start... literally.

In this lecture we add our MenuLayout which will accept our Gamepad Input as well as become our main gateway to actually setting up our game!

Preview 05:01

Fighting Game

In this lecture we setup our Main Menu Event! Now that we have our MenuLayout finished we can program the following:

  • Gamepad Connection
  • Flashing Text
  • Going to our GameLayout
Setting up our MenuEvent

Fighting Game

In this lecture we add our Player to our game! Batting out of order a little bit we are able to:

  • Create our player
  • Setup player behaviors
  • Add our collisions

These functionailites are the core to making our game work so it's important we take this lecture to do this before we go back to continuing setup.

Player: Creation, Behaviors & Collision

Fighting Game

Now the fun can begin! By designing our GameLayout we are able literally 'Create our Game'. In this specific lecture we add our:

  • Backgrounds
  • Layer Structure

Every lecture from here on in is increasingly important to making our game! Melee games aren't easy and having this layout finished, along with our project structure we are ahead of the curve!

Setting up our GameLayout

Fighting Game

Time for the meat and potatoes! Our GameEvent is the only event that has every function tied to our game. For visual scripting editors this is crucial to have one main link to everything going on.

Our game event will control everything we include:

  • Player
  • Enemy
  • Camera
  • Controllers
  • Functions
  • Music Events
  • Menus

etc. Suffice it to say, you don't want to skip this!

Setting up our GameEvent

Fighting Game

In this lecture we learn about Families in Construct 2 and how powerful they can be. Now unfortunately they are only available to those who have the personal edition or greater however...

We also learn how to create a powerful yet decivieingly simple on/off switch that will be apparent in every single game we ever make. This switch is how we can control anything in our game and is the backbone to any options menu, well, anything that needs to be turned on and off.


  • Debug Event
  • Music Slider
  • SFX Slider
  • Door Triggers
  • Invisibility
  • Fullscreen Mode

Setting up our DebugEvent

This is a quick quiz to test your skills on the on/off switch!

On/Off Quiz
2 questions

Fighting Game

In this lecture we add our Animation State to our player. This is our first state and it controls every animation we set our player up for. Every single lecture has had a relevance to getting to our gameplay and this one controls the most crucial aspect to making our game move!

Our player and our enemy will get their own animation state and it is important to understand that this setup is the best performance and code wise going forward to use.


ID_ prefix is taught in this lecture

Player: Adding our AnimationState

Fighting Game

In this lecture we add our first input connection! By adding our Keyboard event we give our user the interaction to our player and thus the first of two ways to control the game!

Adding our keyboard event is simple yet we have to make sure it ties to our GameEvent and we can reuse it's actions for our upcoming Gamepad event!

Player: Adding our KeyboardEvent

Fighting Game

In this lecture we add our second input connection! By adding our Gamepad event we give our user the interaction with the gamepad that has been connected from the MenuEvent lecture. Now we are able to have to devices interact with our game and therefore on our way to making our game commercial ready.

Player: Adding our GamepadEvent

Fighting Game

Our Camera Event completely transforms our game. Once we implement our camera controls we are able to see our:

  • Background Parallax
  • Look Ahead Motion

Both of these things are integral to our fighting games success and without them our game wouldn't be half as interesting!

Player: Adding our Camera

Fighting Game

In this text lecture we have links to an amazing article on Lerps and how they work!

Camera: Lerp Resources

Fighting Game

In this final setup of our games layout we also look into some specific NW.JS features. These features consist of setting our

  • Windows Title to our Game Name
  • Adding Fullscreen mode

Both of which are triggered as functions and perform from the GameEvent. These events relate back to our on/off switch and how important that logic really is.

Game: Final Setup, Title & Fullscreen

Fighting Game

Gameplay time!

It is upon us to add our player attack! This is the moment we have been waiting for because now we can actually move forward with our game. After setting everything up this lecture goes over in detail how we are going to

  • Gamepad Setup
  • Keyboard Setup
  • Trigger combos

And finally, set-up multiple options to control our character!

Player: Adding our AttackTriggerState

Fighting Game

Now that we have our AttackTriggerState we can actually add the attack we need to trigger! By adding our Normal Attack first we give ourselves access

  • Create our own animator
  • Compare individual animation frames
  • Trigger sound effects
  • Trigger special effects [Future lecture but setup is here]
Player: Adding our Normal attack

Fighting Game

In this lecture we do something different. By adding a plugin to simplfy our code we are able to always target our player when we need to.

This lecture however is all about how to setup and install a plugin before we actually use it! Once we look at the process we go further to see it in use and add our new plugin behavior to our Enemy object!

Enemy: Adding the PlatformMoveTo plugin

Fighting Game

In this lecture we mimic what we have already setup for our Player! By creating an Enemy AnimationState we are breathing life into our Enemy and are gearing up for our Enemy AI.

  • Enemy State Engine
  • Dynamically set our Enemies animation
Enemy: Adding our AnimationState

Fighting Game

In this lecture we begin to add our Enemy AI. AI is known to be difficult so with our new plugin installed we should find it considerably easier.

One common misconception with melee AI is that we need to trigger all of our AI attacks while we are overlapping the player. In our case we are going

  • Get and store the distance per pixel from our player to our enemy
  • Use our distance to trigger every enemy animation, Idle, Walk, Attack
  • Compare individual frames
  • Trigger sounds, effects, screenshakes
Enemy: Adding our AI Part 1

Fighting Game

In this lecture we finish our Enemy AI. By adding our own way for our enemy to move around and attack we are able to create a more random gameplay feel.

This lecture's goal is to keep our AI simple enough so anyone can understand how to create more enemy attacks and branch off our AI to continue adding to their own fighting game.

Enemy: Adding our AI Part 2

Fighting Game

Now that we are back working on our player and our Enemy is out to kill us, it's time we have the advantage. With this lecture we add our first combo to our game. In this lecture we:

  • Tie our Combo to our Gamepad
  • Control our Animation Frames
  • Trigger sounds
  • Trigger Special FX
  • Set-up our next Combo
Player: Adding Combo 1

Fighting Game

Finishing our final attack we now have a better understanding how everything works! By adding our animation control and seeing how every X seconds we manually control our animation we have the upperhand. By developing this way we will always be ready to add our next attack and can easily branch off to more things such as dash or block.

In this lecture we:

  • Add our next combo
  • Get ready to setup our screenshake
  • Get ready to setup our special FX
Player: Adding Combo 2

Fighting Game

In this lecture we add our camera screenshake. Our screenshake is one of the tiny features we must have to control our game's feel. Our gameplay is the most important part and having screenshake makes our game feel like an actual game. We have more things to add to make it feel like an actual game but our screenshake is one way to illustrate impact from the player and the enemy that the user won't forget!

Camera: Adding our Screenshake!

Fighting Game

Finally, adding special effects to our already setup event sheets we are able to add more tiny details that without, our game wouldn't feel the same.

In this lecture we add:

  • Sounds
  • Flash Impact Effect (Different from the flash behavior)
  • Sharpen Effect
  • Radial Blur

These effects make our game way more playable and should give the student ideas as to how to branch out to make their own gameplay effects that are missing from most games!

Adding our Special Effects!

Fighting Game

In this lecture we setup our healthbars for our player and our enemy. Although simple at it's concept the execution needs to be correct and we spend time going over our player's and our enemies. We add the HealthController which will include our death event for both entities as well as a way for us to fade out, destroy and go to our game over layout. This lecture ties everything we have worked so hard to create and finally we have an end game!

In this lecture:

  • Player health variables
  • Tie our healthbars to our health variables
  • Fade out and destroy effects
  • Go to game over layout
  • Create our end game
Setting up our Healthbars

Fighting Game

In this lecture we go back to our trusty on/off switch and use it to control our music muted. We also take this time to setup our music functions for our main menu and game event!

  • Add music to our MenuLayout
  • Add music to our GameLayout
  • Control our music with the 'M' key
Setting up our MusicEvent

Fighting Game

In this lecture we add our game over layout functionality as well as our game over event. This event resets our objects and global variables so we can continue playing!

  • Setup game over layout
  • Setup our game over resets to play again

Setting up our OverLayout and Event

Fighting Game

In this lecture we review all of the events and things we went to to setup our fighting game. Now that we have achieved everything we have wanted we have succefully finished our most requested, fighting game!


Game Review

Post your fighting game for everyone to see!

Download Game| Post your .CAPX and Screenshot of your Fighting Game!
Game 2: Run N Gun
16 Lectures 03:51:24
Download the Run N Gun Files Here

In this lecture we start by setting up our game layout with our StarterTemplate+ [Desktop Edition] and get our game going!

Preview 09:54

In this lecture we begin assembling our assets for our game!

Preview 09:41

In this lecture we begin with our tilemap design! We go over how to make our level and the basic elements it takes to make our game.

Preview 11:52

In this lecture we finally add our player to interact with the world we have created! We add all of it's controls and animations, walk, jump and slide!

Preview 19:57

In this lecture we add our first AI, meet the zombie!

Preview 17:03

In this lecture we add our Spider jumping AI that will jump on your head and hurt you if you're not too careful!

Enemy AI 2

In this lecture we add our final flying AI which goes around flying and ready to attack using a state machine!

Enemy AI 3

Now we add our meat by giving our player a weapon to use! We break this down into four videos creating the most intuitive bullet system you've seen yet!

Dynamic Shooting Part 1

Continuing with our bullet system we populate our array with data!

Dynamic Shooting Part 2

In this lecture we continue with our array, adding in our bullet information!

Dynamic Shooting Part 3

In this lecture we handle our bullet interactions!

Dynamic Shooting Part 4

In this lecture we finally have our player and enemies die! In addition, we add a neat little screenshake!

Death & Screenshake

In this lecture we add our HUD so we have a way for the user to see what our game is actually doing!

HUD (Kill Counter, Health, Ammo)

In this lecture we add some environment objects and lighting effects to each level!

Environment & Lights

In our final lecture we add our final fx and sound to make the engine whole!

FX & Sound
Game 3: Space Shooter
15 Lectures 02:27:41

Download the resources for the Space Shooter!

Download The Space Shooter Assets Here!

In this lecture we start defining our project structure and set-up our desktop starter template!

Preview 09:14

In this lecture we design level 1!

Preview 13:23

In this lecture we design level 2!

Level 2

In this lecture we design level 3, the boss!

Level 3

In this lecture we program our player controls (Gamepad, mouse, keyboard) and handle our spawning!

Player Control (Keyboard and Gamepad)

Using DeltaTime

In this lecture we finish our player control, detect our player collision and set-up our endzone to go to the next layout!

Input Control & Collision

Adding our Camera

In this lecture we implement our weapon pickup system!

Player Weapons

In this lecture we program our HUD and our weapon HUD system!

Programming the HUD

In this lecture we add in our Enemy AI!

Enemy AI

In this lecture we add in our Boss AI!

Boss AI

Performance Tips & CPUUTILISATION

Adding in optional effects to make the engine even cooler!

Adding in Effects [Optional]
Game 4: Roguelike
15 Lectures 02:45:32
Download The Roguelike Assets Here

Using StarterTemplate+ we will define our project structure and set-up our roguelike!

Assembling The Layouts

In this lecture we define our Level and Environment assets for our engine!

Making our Level

In this lecture we add in our player control!

Player Set-Up

In this lecture we give our player weapon control!

Player Shooting

In this lecture we add in our camera and mouse control!

Adding our Camera

In this lecture we add in top-down twin stick gamepad control and Input Control!

Twin Stick Gamepad (Input Control)

Gamepad Object

In this lecture we add in torches, shadows and a cool foreground effect!

Environment Objects (Shadows) & Foreground

In this lecture we add in our player dash mechanism!

Player Dash

In this lecture make sure you download LiteTween. It is optional but it's one of the very few plugins I recommend!

Download LiteTween [Optional]

In this lecture, we program in our HUD using LiteTween! (Player Health and Dash Meter)

Programming the HUD

In this lecture we add our enemy AI for our roguelike! Nasty little buggers...

Enemy AI

In this lecture we add feedback to our enemies!

Enemy Feedback

In this lecture we add in lighting to make our roguelike even more awesome!

Point N Click Adventure
13 Lectures 01:51:30
Download Point N Click Adventure Assets

Download Plugins

What we are making!

Project Setup

Player Mask Set-up

Player Animations Set-Up

Player Reflections

Point Camera

Hover Objects Family

Hover Interactions

Global HUD


Download Point N Click Adventure .capx (Stable R233)
What's next!
1 Lecture 02:48
Bonus Section (Mobile Tower Defense Game) Taught by Ed Farias
16 Lectures 01:56:08

Assets used in the tower defense game!

Tower Defense Assets

A brief overview of the game we will be making in this lecture series.

Tower Defense Overview

Setup of the Starter Template Mobile to work with our Tower Defense Game

Starter Template Mobile Setup

Setting up our first level layout and getting all of our global variables put in place with a brief explanation of each.

Layout and Global Variables Setup

In this video we will be setting up our turret bases. These are what the user can click on to create turrets. We will also be setting up our first enemy using the pathfinder behavior.

Turret Bases and Our First Enemy

In this video we will spawn several enemies and make our turrets shoot at them when they are in range.

Spawning and Shooting Enemies

In this video we will get the health bars working for the enemies and add in a little flair with Muzzle flashes and explosions.

Health Bar and a little bit of flair.

In this video we will create a timer to keep track of when new waves will spawn. We will also create a useful function to create our waves of enemies.

Enemy Waves

In this video we will import the sprites for our Tank enemy and get it ready to be added to our waves of enemies.

Adding the Tank Enemy

In this video we are going to take care of our End Point collisions and work on the GameOver function that will be used whenever we reach a game over scenario.

Game Over Function

In this video we will bring in our tanks in waves and I will teach you how to use everything we have setup to create more waves, and how easy it is to customize them and add more enemies if you want.

Adding the Tank to Waves

In this video we are going to setup our level end events. This will be the different actions a user can fulfill in order to successfully complete a level.

Level End Events

This video we will setup the pop up menu that will be used to pick which turret to place and also perform upgrades on turrets that are already in place.

Creating the Pop Up Menu for upgrades and turrets

We continue work on our turret pop up menu. At the end of this video it will be ready for our touch inputs.

Adding Icons to the Pop Up Menu

In this video we will be continuing building of the pop up menu for placing turrets.

Using the Pop Up Menu to Add objects

In this video we will finalize the pop up menu with turret upgrades.

Finalizing the Pop Up Menu, adding upgrades
About the Instructor
Jeremy Alexander
4.5 Average rating
752 Reviews
16,279 Students
7 Courses
Full-Stack Web Developer // Game Creator // Product Designer

Jeremy Alexander (that's me) is a full-stack web developer, game creator and product designer!

Having made his own website using Geocities in 2004, Jeremy developed a knack for all things computer related. While in High School he honed his skills, it wasn’t until college that he realized traditional education was failing him. 

Becoming self-proficient in many programs and languages, he took all of his knowledge and started making the courses he wish he had when he was first starting out. His number one goal has always been to provide the learning experience he wished he had in a traditional setting.