It's a real treat! A 4 weeks course on the basics of making HTML5 games with construct 2.
For those who don't know construct 2, it's a very easy to use game making tool. (You can download it for free)
HTML5 is a technology compatible with desktop computers, iOS, Android, and Windows8 devices.
So, in short, you'll learn to make games that everybody in the world will be able to play.
It's free, and it's designed to work on the free version of Construct2.
We don't want your money, just your will to learn, and in exchange, here's what you'll get:
This course will be LIVE every saturday evening (GMT+1) during 4 weeks.
- you'll see Yann or Kyatric using Construct 2 directly on screen
- you'll hear one of us live
- you'll be able to directly ask us any question
- if you miss the session, don't worry, the session will be recorded (on twitch and then uploaded on youtube) and directly replayable.
You'll be able to talk to us via a chatroom. During the live session, one of us will obviously do the presentation, and the other will stay with you on the chat.
If anyone bring something relevant for the current topic of the course, the question will be directly passed to the talker for live answer.
On top of these 4 live sessions, we'll be available all week on reddit and scirra's forums to answer any question about this course.
But remember, our goal is for you to learn. So, we might challenge you to try to answer some of your question yourself, with some hints (:
To support our teaching, we'll go through the making of this simple platformer:
You'll learn many of C2's cool features. How to set up your projects, how to use the most useful plugins and behaviors, how an event sheet is executed, debugging, local/global variables, understanding picking, how containers work, some basics of using function, creating simple patrolling enemies, scrolling, stomping, checkpoint, respawn, changing levels, and so on.
But more than that, you'll learn the thinking and process behind making such game. From the idea, to prototyping, to adding graphics, animation and sounds to get a finished and good looking game you can export to any website.
Our ambition is not to just make a "how to" but to communicate the reasons behind the choices made. So you'll be able to adapt them to your own design.
And that's only what we assure will be during the live courses. We'll also provide some written tutorials, example capx (sources) and videos.
Amongst all of that, we hope to have a fair amount of interaction with you, we'll be waiting for your challenging questions. We don't necessarily intent to reproduce exactly the same game as in the example. The demo game is more of a guideline, and depending on your question and suggestion, we might come up with a different result.
In the end, we hope you'll be able to gain enough momentum to be able to develop games on your own using Construct 2 (:
- lecture 0: prelude
Kyatric made some videos to get you started so we can focus on important things.
If any problem arises during download or installation, or if you don't understand some of what is explained, feel free to ask us here (:
- lecture 1: Getting Started
This first live session went pretty well. We covered every thing we had scheduled to cover:
- setting up a project
- difference between window width/height and layout width/height
- using textbox to have some feedback along the way of the development
- setting up a layer hud that doesn't scroll
- the plugin -> object type -> instance concept
- object type and common properties
- instances and individual values
- behaviors (platform, solid, scrollTo)
- dying by fall
- avoid falling out of the side of the layout
- one of many way to handle checkpoints
- a complex way to handle multiple checkpoints ( with a little introduction to picking an loop)
- a simpler way afterward
- lecture 2: in-depth
Again a good session. Here are what we covered:
- repeat and for loops
- random function and System expressions
- picking with the mouse
- pick all (reset the picking)
- Action, Condition, Expression (and Properties)
- Adding and counting coins: Is Overlapping vs On Collision
- Another way to die: spikes
- Restart layout vs Respawn player (pros and cons)
- Instance vs Global variable
- Groups for organizing events
- Avoid repetition: OR block, Boolean instance variable, function
- How function works (creating, calling, returning, etc)
- Groups as a control flow mecanism (pros & cons)
I also started to give you some challenges.
Here are the two things you can try to re make:
The assets are downloadable here
And as an extra challenge on this one, you can try to optimize these rather unoptimized assets.
- 2- Drag&Drop
And as an extra challenge, try to find a way to only pick on sprite when two are stacked on each other (:
Don't hesitate to post your solution on the subreddit (:
- extra video: Picking
I recorded an extra video to talk a bit more about picking. It's really a topic that deserved its own video and I wasn't so convinced by my earlier explanations.
In this video I cover 4 examples:
- different method of picking randomly placed sprites
- use of the foreach to "look" at instances one by one
- use of the foreach ordered to zSort your instances
- a complex example on connecting nodes
- Extra video : Variables
I felt we needed to take a bit more time to come back on the subject of variables in Construct 2. Hopefully this (more or less improvised) video will fill in the gaps and show you a few interesting tricks to reuse in your own projects.
In this video I cover : * Global variables and how they can be used to pass values from a layout to another. * How to emulate booleans with global variables. * Instance variables and how they can be used for picking. * A quick example of using them to handle the firerate of a cannon * A nice way to use them on a single button object type to execute multiple functions. * Local variables and how they are limited by the scope of the top event they are "attached" to * A bit of "string manipulation" thanks to static and not static instance variables.
- Construct2Live Class - Extra - Variables on Twitch
- Construct2Live Class - Extra - Variables Youtube Playlist
- Global boolean CAPX
- Picking with instance variables CAPX
- Doing a firerate with instance variables CAPX
- One button to call multiple functions CAPX
- Local variables CAPX
- Local static variables CAPX
- Clock example CAPX
- lecture 3: enemies and animation
This one was hard, I wasn't able to do all I wanted to do, so I'll probably make extra videos during the week to cover everything.
So stay in tune (:
For now here are the point we covered:
- Patroling enemies using bullet behavior and colliders
- Patroling enemies using sine behavior
- Health and health bar
- Taking damage and knockback
- Workflow tip on animation (first quick crap animation, then once everything is figured out (speed, scale, etc), create clean final animation)
- Importing animation frame
- Animation properties (looping, repetition, repeat to, ping-pong)
- Setting up origin point
- When and Why cropping image frames
- Setting up the animations in event (idle, run, jump, fall, land, die)
- Refining Death and Respawn to take animation into account
Here are three new challenges:
- 1- Ladder
Reproduce this ladder mecanism.
I choosed shift to grab the ladder but if you have better ideas for control, feel free to do whatever you want. We just need to be able to climb the ladder (:
Reproduce this activable lift mecanism
Same here you're free to use the controls you want.
You just have to reproduce this kind of activable lift mecanism.
There's still some little glitches in C2 where your character's position isn't updated correctly so you see some gap when the lift go down, and your character goes into the platform when the lift go up.
But it's still an interesting mecanism to test your C2 skills (:
- 3- Health bar
In the video I talked about a third challenge I forgot to mention
Just try to make your own health bar. Mine is a bit too simple.
You could have a bunch of heart appearing, you could make a fancier health gauge, etc.
Don't hesitate to post your solution on the subreddit (:
- Extra video: State vs change
Here's an extra video where I explain the difference between things that last over many ticks, "states", and things that should be instantaneous, "change".
One way to think about them and some examples.
- Extra video: Containers
What are containers, how do they work, and who to use them to add some animations to our enemies.
- Extra video: Effects and graphics
Explosion, particles, parallaxe and getting our game to look better.
- Extra video: Platform Behavior
In-depth description of the platform behavior and its parameters.
Understanding how they work to achieve some interesting motions.
- lecture 4: audio, export, publish, plugins
Annnd Last session (:
Here is what we've covered:
- A little word on frame-by-frame animation (animation frames) vs procedural animation (spriter)
- Implementing sound
- Being carefull about what is executed every tick and what is not
- Export for web
- How to embed a game in a web page
- How to avoid scrolling the page with the arrow keys
- How to install a plugin
- Being carefull about third party plugins
It was super interesting and we got a lot of good feedbacks. Hope we can one day do it again. And that I would speak english even better :D
From this point, here are some interesting things you should do to hone your freshly learnt skills:
- help people on the scirra forum, one of the best and challenging ways to learn
- try to reproduce simple mecanism
- test simple ideas
- try discovering other plugins we didn't covered in the course, test them and find some good use for your games
- if you really want to get good, get to know a bit of programming, enough to be able to read some program and reproduce some algorithms on C2.
- try participating in some contest
- have fun... always :D
Your interest. And maybe installing Construct 2... could help.
You can find the last beta version here:
We won't be using the stable version and you won't be able to open our capx with it (only forward compatibility)
/! this syllabus is more like a roadmap. depending on student expectations, speed of the lecturer, and well anything that can happen during the live, it might be reorganized throughout the course.
Week 1 - getting started
- C2 presentation
- basic debugging (write in textbox)
- platform basic (running, jumping)
- end of level/changing level
- scrolling basic (scroll to behavior)
Week 2 - developping further
- basics of picking pickups
- many ways to die - how to avoid repetition of code
- Loops & local variables
Week 3 - making things look pretty
- Add animations (idle, running, jumping, falling, dying)
- Enemies and containers
- Stunning, Knockback
- Data persistency between layouts
Week 4 - wrapping things up
- Third party plugins - where to find them, how to instal
Yann Granjon (a.k.a FrenchYann) :
I'm a 3D artist and a programming hobbyist.
I started using multimedia fusion 2 around January 2010, switched to Construct Classic at the end of the same year, and I've been following C2's development since its first public release, around the begining of 2011 if I remember correctly.
Most of the game I made can be seen on my website
Knowing these other language, progressively changed the way I solve problem on construct 2 and led me to develop some usefull patterns.
As a complement of this course, you can also follow me on my youtube channel. It's a bit of a sandbox of idea, sometimes it looks more like a tutorial, some other time just showing off some weird idea.
I'm an indy game maker and I've written tutorials/provided support about making games in Construct 2 for the past 2 years and a half.
I've been a long time programming hobbyist before finding Construct Classic and then Construct 2 which I totally embraced, allowing me to release my first "true" games.
You can find my work (published tutorials, games and blog posts) on my website http://kyatric.com