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!
4.4 (131 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.
835 students enrolled
90% off
Take This Course
  • Lectures 118
  • Length 18 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2015 English

Course Description

Updated 1/8/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.

What are the requirements?

  • This course in EARLY ACCESS! New lectures are being added daily!
  • Construct 2 Free [You can make every game but not every feature]
  • Construct 2 Personal [To complete every task]

What am I going to get from this course?

  • 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

Who is the target audience?

  • Anyone who doesn't want to make 10 games should not take this course.
  • 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!

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Welcome to the course!

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!


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

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

Section 2: Download our templates!

Download StarterTemplate+ [Desktop Edition] here!

How to install StarterTemplate+
How to use StarterTemplate+
Section 3: Construct 2 Overview

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!


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!


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.


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!


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!

3 questions

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

Section 4: Game 1: Fighting Game
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

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!


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!


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!


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

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.


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!


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!


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

2 questions

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


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


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!


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.


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!


Fighting Game

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


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.


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!


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]

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!


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

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

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.


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

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

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!


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!


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

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

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


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!



Post your fighting game for everyone to see!

Section 5: Game 2: Run N Gun
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!


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


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.


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!


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


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


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


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!


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


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


In this lecture we handle our bullet interactions!


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


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


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


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

Section 6: Game 3: Space Shooter

Download the resources for the Space Shooter!


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


In this lecture we design level 1!


In this lecture we design level 2!


In this lecture we design level 3, the boss!


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

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!

Adding our Camera

In this lecture we implement our weapon pickup system!


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


In this lecture we add in our Enemy AI!


In this lecture we add in our Boss AI!

Performance Tips & CPUUTILISATION

Adding in optional effects to make the engine even cooler!

Section 7: Game 4: Roguelike
Download The Roguelike Assets Here

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


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


In this lecture we add in our player control!


In this lecture we give our player weapon control!


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


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

Gamepad Object

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


In this lecture we add in our player dash mechanism!


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


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


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


In this lecture we add feedback to our enemies!


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

Section 8: Point N Click Adventure
Download Point N Click Adventure Assets
Download Plugins

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jeremy Alexander, Construct 2 Game Developer // Web Developer // Animator

Jeremy Alexander is an online entrepreneur with experience in game development, full stack web design and Animation. Since 2015, Jeremy has gathered a following due to his unique teaching style and superior customer support. With his success, he has launched his own rapidly growing YouTube channel, Jerementor!

Why does he do this?

Having made his own website using Geocities in 2004, Jeremy developed a knack for all things computer related. After having freelanced in High School, it wasn’t until college that he realized - traditional education was failing him. He knew how to learn, becoming self-proficient in many programs and languages, but the typical classroom setting never clicked. Then, one hot summer day in June of 2015, it all came together. After deciding not to continue pursuing a BFA in Animation, Jeremy started teaching with his own skills and determination. His number one goal has always been to provide the learning experience he wished he had in a traditional setting. He has succeeded.

10,000+ Students

2,000+ Subscribers

Ready to start learning?
Take This Course