-1+1508 
Making Games with Construct2

Live Here Chat Here

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.
Live means:

  • 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:
http://www.scirra.com/arcade/addicting-action-games/4255/neon-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 (:

Click This Button To Enroll

Lectures
  1. 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 (:

  2. 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

  3. lecture 2: in-depth

    Again a good session. Here are what we covered:

    • repeat and for loops
    • loopindex
    • 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
    • PickedCount
    • 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.

    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 (:

  4. 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

  5. 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.

  6. 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
    • Stomping
    • 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:

    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 (:

  7. 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.

  8. Extra video: Containers

    What are containers, how do they work, and who to use them to add some animations to our enemies.

  9. Extra video: Effects and graphics

    Explosion, particles, parallaxe and getting our game to look better.

  10. Extra video: Platform Behavior

    In-depth description of the platform behavior and its parameters.

    Understanding how they work to achieve some interesting motions.

  11. 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

Prerequisites

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)

Syllabus

/! 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)
  • dying/respawn/checkpoints
  • end of level/changing level
  • scrolling basic (scroll to behavior)

Week 2 - developping further

  • variables
  • basics of picking pickups
  • many ways to die - how to avoid repetition of code
  • functions
  • Loops & local variables

Week 3 - making things look pretty

  • Add animations (idle, running, jumping, falling, dying)
  • Enemies and containers
  • Stunning, Knockback
  • Stomping
  • FX
  • Data persistency between layouts

Week 4 - wrapping things up

  • Audio
  • Export
  • Third party plugins - where to find them, how to instal
Additional information
Teacher qualifications

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
On top of using C2 almost every day, I'm also continuously learning other programming languages. I currently know php/mySQL, javascript, C, and a bit of C++, AS3, java, Lisp and lua.
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.

Kyatric:
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.
I've learnt languages like C, HTML and PHP along the years and even messed a bit with JavaScript (to write a few plugins for Construct 2) but this is the tool I prefer and get concrete games done with.
You can find my work (published tutorials, games and blog posts) on my website http://kyatric.com

Latest Update
Week#2 live sessions starts soon! (2013-04-27 13:53:39)

"Hey Everyone!

Hope I'm not too late to send this PM but course starts in 10 minuts :D

Hope you'll be there

Today:

  • audio
  • export
  • third party plugins
  • And answering all extra quesiton you can have

Live Here Chat Here

See you soon o/"

Roster
1. byakko
2. tekniko
3. cypherone
4. akisankaku
5. Von.Bednar
6. gauntgames
7. lefthandlemon
8. bpenticuff
9. rogueintegrity
10. jgallaher
11. texbob
12. itdevelop
13. kmilo9999
14. joao.reis
15. htejera
16. _allocate
17. DeathByMonkees
18. KoolPhoneApps
19. dyhaz
20. dyhaz
21. arashikun
22. Solotune
23. Aszuul
24. btgames
25. henriesteves
26. ercu
27. Yatryan
28. jeromyedge
29. poloik007
30. JPEG
31. rafastr
32. karagara
33. mmickyman
34. 6ru83r
35. seyfarth
36. pcfernandesjr
37. devilsportuguese
38. Snowfox17
39. DoctaWorm
40. budmademewiser
41. demiurge94
42. shadowman42
43. awesomejess
44. btw724
45. DoobieDoctor5000
46. josh0027
47. amik
48. hachiko
49. Mr_BoredinIowa
50. lordfroakie
51. jayvfman
52. sword_and_bored
53. miscreantik
54. tinf
55. leito
56. ChillPenguins
57. katekaos
58. Intricity
59. teddy_tesla
60. astrogirl4490
61. executive11
62. DestructoKnight
63. Djfuzion
64. subpoenaed
65. bionip
66. BillyWhizz
67. misseff
68. Hukey
69. 88rarely
70. kristina1c
71. BoomWav
72. ankiseth
73. Kill0byte
74. moofasa16
75. alexbfree
76. ZaGunny
77. johnnym33315
78. McPluckingtonJr
79. LinusJac
80. mathme
81. Gypsy
82. kmajic
83. kuriharak93
84. dragshadow97
85. onkorhonak
86. Obligator
87. leo-rawr
88. rube203
89. Cameron
90. eltotehjosho
91. dolphinwrangler
92. DitzKrieg
93. fwinest_JediThug
94. sebbywebby
95. gigabein
96. bigticket21
97. cdav
98. Dome_Fossil
99. TC23
100. fmena
101. Trevellian
102. MartiniDeluxe
103. KarnageT
104. doom_bledore
105. woodywhatever
106. thesolartaco
107. namesaj
108. ICe287
109. h12321
110. Topher89
111. rustico
112. x1hiro
113. enygmaeve
114. mcgold1
115. Thraxamer
116. slethikk
117. dudewithpants
118. Boundsoy
119. rimrocka09
120. LepreCian
121. Crimsonowl1181
122. RainbowBlast
123. xCharlie
124. intrepion
125. justifun
126. sirtouch
127. DarkNightWing
128. asianwaste
129. thiz
130. cookie_partie
131. L-block
132. pearljam
133. nobeastsofierce
134. JJordizzle
135. NoWuffo
136. TheHalcyonDays
137. RU_Pickman
138. lukeccby
139. KingTheQueen
140. kwhereareyou
141. snufflestheanteater
142. Bookwormser
143. tsunah
144. Schmeell
145. monotone_monochrome
146. jubeh
147. TheFlyWheel
148. fireman4490
149. Cynical_Walrus
150. Mousikos
151. Aaa_battery
152. Logan900687
153. blinkyasswhoremaster
154. jasonmm1979
155. OliverMller
156. Magrias
157. caribou
158. Posibot
159. Tomolonotron
160. excal
161. MajonaZ
162. ixireveng3ixi
163. InStim
164. rfry11
165. jbmoyer
166. lost_angel25
167. UpwardFall
168. thoy19
169. TheGreatRawr
170. omniaura
171. animemecha
172. outragedbroccoli
173. raindove89
174. theKAR
175. EuphoricGiraffe
176. j_g_9
177. vertigo5
178. ender998
179. koma5
180. Peruytu
181. uknojoe
182. drycek
183. mellivex
184. tonchies
185. zaephyrion
186. Hainsley
187. sorenhauter
188. poopasaurus_rex
189. Gandah
190. LazarianParadox
191. Wazabbi
192. ruiisu
193. robloxley
194. caito9
195. Rudess
196. ovensand
197. Vairsys
198. vixle
199. knoxyouout
200. MrBored4
201. ddyerkc
202. XxlovelesslostxX
203. Bramskyyy
204. ddeutsch
205. _hao
206. chaddles
207. igamersbox
208. Powin
209. 0illuminati0
210. dunsta
211. runnick
212. hbish
213. vectology
214. CatoftheCanal
215. gaelbeltran
216. javiusdey
217. dragoonblade99
218. nahtaN
219. fgutz
220. AHGetToDaChoppa
221. ahfckme
222. Nipponshin
223. threeheadedmonkey
224. clausvp
225. JAVA
226. the_egotist
227. Ericdu66
228. Nugglez
229. amxn
230. crix
231. mineet
232. Cerberus024
233. oxymoron
234. FPSEdward
235. cocopelad
236. thesgnl
237. lesox
238. garfieldbot
239. akoji
240. Darth_Bothersome
241. dotnetforce
242. redkush
243. Caileanj
244. Clockwork_Logic_Bomb
245. shade2300
246. Aikaryu
247. g-0ff
248. yahikoy
249. Blackhamer
250. vzhernovoi
251. lerib
252. emanuelmaues
253. Telyko
254. Moaz13
255. stanleylkm
256. dchronos
257. kurdi
258. Ursusphobos
259. almostlseek
260. TuckingFypeos
261. Orwin
262. linkage4
263. YaVs
264. MarteenGreen
265. kazian
266. Mckenz34
267. dudurel
268. bigbubbabob
269. mbortolino
270. newknuckles
271. Shabla
272. Hematite12
273. tyrzaraki
274. obsessionman
275. naatiq
276. chgogos
277. poke53281
278. bloodelves88
279. jamisongraves
280. eisbaer.borealis
281. mediapyre
282. arubishi
283. planetyonx
284. jonjomckay
285. milster775
286. speechx8
287. Delynx
288. Fanakartal
289. dravenx
290. taix86
291. phantomism
292. Attack
293. RadicalBradical
294. Guisouro
295. cataureta
296. rampackwobble
297. jalexan
298. hyegye
299. babymumu
300. Baloucarps
301. Algrokoz
302. almeidamarcell
303. thiagohmcruz
304. bbriggs
305. zxcvbnm
306. jbrown2177
307. Of_Monsters
308. construct4me
309. aerger
310. Thatcrucible
311. tadpaul
312. McScruble
313. Sadri
314. Kiira
315. laughingdevil
316. conceptvangod
317. Aardvark03
318. LiteralGuy
319. sculptedpixels
320. RoastedMax
321. tarock
322. neufrin
323. Marcelo
324. TheSpooneh
325. gryph
326. atticusfaust
327. therealnickwebster
328. MattyjRulz
329. logan2847
330. Jodee
331. TheSuburbanHero
332. Heynim
333. Winda
334. SeanNoonan
335. gazoogle
336. hamrath
337. chrisriis
338. pklobucar
339. DannyBiker
340. MonDieu72
341. 2morrow4ever
342. andrecastel
343. Devincean
344. msc055
345. blasto
346. thetazzbot
347. hyem
348. p3pt
349. thecalmc
350. killermachine
351. Sentinel77
352. crosswalknorway
353. Seasky
354. Richard.Stennett
355. Sobieski74
356. Merries
357. Sugnolsutac
358. Talldub
359. spelster
360. Matty10209
361. rosareven
362. PatrickCG
363. AfternoonHoopla
364. artbane
365. zwarky
366. lazyasnguy
367. sdroadie
368. Animate
369. pdwilliamson5
370. gamezilla
371. ctceismc
372. talkshalk
373. BillyG
374. osamaraddad
375. Camuss
376. darktoad
377. Salvo776
378. nasty
379. NaiveEclectic
380. SmartEnoughToBeLucky
381. imouto
382. mella2424
383. tyfricko
384. perkiller
385. septeven
386. lotzalulz
387. Xavier
388. bert_makk
389. TacoKnight
390. viivoices
391. toto
392. morgangb
393. sqiddster
394. PerniciousPlatypus
395. jeff0
396. mrnewt
397. bakudas
398. arq.lnario
399. Ashesh
400. Ashesh
401. PeterMr
402. Ashesh
403. rsbrowndog
404. me_apps
405. duhtex
406. Hugoribas
407. EmpowerMe
408. Rhindon
409. jugwhisky
410. siks
411. yo_soggy_yo_jimbo
412. st1ckman67
413. austin.barber
414. bigmachinestudios
415. Wenaptic
416. Copperhaze
417. Genki
418. irfuzzy
419. thenightbunny
420. firestorm200
421. Imdavid
422. nighthawk70u
423. troxx
424. Ammarah
425. Ell223
426. miknuggets
427. farmerdwight
428. wrath1138
429. CodeJedi
430. SeriousAdam
431. plut
432. lucdima
433. CyberDagger
434. ggab
435. diegoorjuela
436. Jago55
437. gemaone
438. chillieguy
439. thegreatfoo
440. potpie1010
441. Ga5ch
442. Ragn0rus
443. realisticen
444. peteyboy100
445. EzekialQ
446. uniRedStudent
447. peterpimms
448. caseychourney
449. pepto_dismal81
450. mousematt
451. kakihara
452. DMTandME
453. klayman
454. cparlette
455. Bernard
456. zakchaos
457. Egonor
458. StarvingGameDev
459. The_Tnetennba
460. oh_wayne
461. daihenka
462. Lonesinger
463. windwalker
464. Figly
465. lukedirago
466. mr_cereal
467. BurtmacklinFBI
468. JH_1
469. edobacon
470. Aurus
471. Joskin
472. Radagar
473. Manodrizzle
474. Shiverx
475. kenli-z
476. runx
477. craigd
478. subsense
479. ViolentCheese
480. andyt315
481. glamb417
482. jasonomicon
483. doerie
484. Astuneta
485. MrM00se
486. Chrono32
487. furioustyles
488. freneticDynamic
489. aishiteru290
490. REDVWIN
491. ryanemm
492. Roelof1991
493. dracogriff
494. HansMikesen
495. clrammer
496. onzephyr
497. djoseph
498. kcpunk666
499. deckclubace
500. EdvinBitar
501. drappdev
502. rivadia
503. Islambekm
504. Wsoukkachang
505. tanfucious
506. smorenoe
507. iampolishokay
508. blazah99
509. SehWho
510. Jcdenton2030
511. bigheti
512. funkz
513. schmuxy
514. Pilot
515. bloatedhippo
516. 7Soul
517. ontheinfluence
518. wrongtarget
519. agimptard
520. banana_party
521. rangelrmorais
522. sagar2253