The Book of Game Develop - GDevelop
The Book of Game Develop - GDevelop
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✓☛✟✔✠✄✁✄✆✕✔✆✑✂✎✕✂✖
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✓☛✟✔✠✄✁✄✆✏✑✆✑✂✎✕✂✖
✢✔✑✂ ✡✕✏✎✂✏ ✎✒ ✎✡✡☛✔✒✂ ☛✒ ✂✁✏ ✝✞✟✞ ✎✒✓ ✔✑✏ ✂✁✏ ✂☛✄ ☞✏✒✔ ✂☛ ✡✕✏✎✂✏ ☛✕ ✏✓✞✂ ✎ ✄✎✍✏✠ ✣☛✔
✆✍✓✏✦✏✌☛✄✖✠
❂ ✭❃ ❂ ❄❅✸❄❅✸❂❄❆❇ ❆❆✷❈❆ ❉❊
➚➪➶➹➶➘➴➷ ➬➮➱➴✃❐❒➘❮ ❰➚➪➶➹➶➘➴➷ Ï❐Ð❐Ñ Ò➱➱➷ÓÔÔÏ❐Ð❐ÕÖ➴×➷❐➘Ø❒×➶❮ÕÙ➶➱ÔÚ➴Ð➮Õ➷Ò➷ÔØÚ➶➹➶➘➴➷Ô➱ÕÕÕ
✺✻✼✽✼✾✿❀❁❂❃❂✿❄❅❆✾❇
Û ➴Ü Ý ÞßÔÞßÔàÞÛá ÛÛÓâà ãä
❚❯❱❲❱❳❨❩ ❬❭❪❨❫❴❵❳❛ ❜❚❯❱❲❱❳❨❩ ❝❴❞❴❡ ❢❪❪❩❣❤❤❝❴❞❴✐❥❨❦❩❴❳❧❵❦❱❛✐♠❱❪❤♥❨❞❭✐❩❢❩❤❧♥❱❲❱❳❨❩❤❪✐✐✐
✁✂✁✄☎✆✝✞✟ ✠☎✡✝✁✆☛☞✌✂✁✁✄☛✟✍
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛✤✥✢✦✣✔✛✥✥✦✥✢✧✔✥✥✦✥✢✍
★✩✪✫✬✭✮✩✯
✟✆✘✂✞✝✁✆☛☞✲✵☛✝✘✆✠✝☎☎✝✵✟✏✆✁✓✟✁☎✂✠✁✂☎✡☛✄✁✝✁✆✄☛✍
✂✟✆☛☞✲✞✞✏✆✁✓✠✔✔✠✄✲✡✍
✹✄✝✲ ✝ ✰✴✺✻ ✗✆✞✡ ✁✄ ✝ ✙✝☎✆✝✌✞✡ ✏✆✁✓ ✁✓✡ ✏✡✌ ✔✞✝✁✗✄☎✘ ✒✎✼✽✹✤ ☞✝✘✡✟✍
✁✂✁✄☎✆✝✞✟ ✄☛✞✆☛✡✓✆☞✓✟✠✄☎✡✟✍
✎✄✏ ✁✄ ✡✑✔✄☎✁ ✵✄✂☎ ☞✝✘✡ ✁✄ ✾☛✲☎✄✆✲ ✆✺✴ ✽✝✠ ✿✆☛✲✄✏✟ ✂✟✆☛☞ ✷✄✠✄✟❀✲
✓✄✏✁✄✡✑✔✄☎✁✏✆✁✓✠✄✠✄✟❀✲✑✍
❁❂❃❃❄✬❅❆❇ ❈❉✫❃❊❋✮●✯
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✔✛✤■✥✤■✧✔✤■✥✤■✍
✷✓✝☎✝✠✁✡☎ ✴✡✞✡✠✁✆✄☛ ✒✓✁✁✔✕ ✗✄☎✂✘✖✠✄✘✔✆✞☞✝✘✡✟✖☛✡✁
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✔✛✤■✤✦✥✧✔✤■✤✦✥✍
✁✛◆❀✦✦✣✔✛✥✢❑✦❀✍
✁✛✤✤✥✥✍
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛■✢✦■✍
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛■✢✦■✍
✴✓✄✄✁ ✌✂✞✞✡✁✟ ✒✓✁✁✔✕ ✗✄☎✂✘✖✠✄✘✔✆✞☞✝✘✡✟✖☛✡✁ ✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛■✢✦■✍
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛✤✥✤■✍
✙✆✡✏✁✄✔✆✠✖✔✓✔✚✗✛✜✢✣✁✛■◆✤✥✣✔✛✤◆▼✥■✍
♦ ❨♣ q rs❤rs❤♦rt✉ tt❣✈♦ ✇①
✉✈✇①✇②③④ ⑤⑥⑦③⑧⑨⑩②❶ ❷✉✈✇①✇②③④ ❸⑨❹⑨❺ ❻⑦⑦④❼❽❽❸⑨❹⑨❾❿③➀④⑨②➁⑩➀✇❶❾➂✇⑦❽➃③❹⑥❾④❻④❽➁➃✇①✇②③④❽⑦❾❾❾
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✎✏✆✌✑✎✎✒✏✓✆✔✕✆✌✍✖✗
✞✌✥✥✦✧★✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✎✏✆✌✥★✧✥✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✎✏✆✌✥★✒✦✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✒✰✏✆✌✥✰✧✒✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✎✏✆✌✥✥✑✖✗
✆✌✥✧✰✎✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✎✏✆✌✥✰★✦✗
✆✌✥✧✥✧✏✓✆✔✕✆✌✍✖✗
✆✌✥✰✖✦✏✞✌★✥✥✒✥✏✡✂✣✂✆✌✤✕✂✩✸✞★✥✥✒✥✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✦✏✆✌✰✎✒✥✗
✁✂✄☎✆✝✞✂✟✠✞✡✞☛☞✌✍✦✏✆✌✰✒✧✧✗
✆✌✰✧✎✥✏✓✆✔✕✆✌✍✖✗
❏❄❈✿❂❑▲❊✿❁ ✿❄ ▼◆❁❖❁P❄◗●
❚✝✙ ✟✔✛ ✔✣✓✝ ✫✕✝☎✓✄ ✆✡✄ ✄✺✔✚✞✣✄✓ ✞✕✝✁✂✩✄✩ ☎✂✆✡ ✮✴✄✁✄✣✝✞✳ ✆✕✬ ✔ ✆✄✚✞✣✔✆✄ ✜✻✙✓✆
✟✕✄✔✆✄ ✔ ✛✄☎ ✞✕✝✯✄✟✆ ✔✛✩ ✟✡✝✝✓✄ ✔ ✆✄✚✞✣✔✆✄✗✳ ✝✕ ✕✄✔✩ ✆✡✄ ✮✄✆✆✂✛✤ ✶✆✔✕✆✄✩ ❯✔✛✙✔✣
✄✩✂✆❙✤✄✆✓✆✔✕✆✗✠
❱❲❳❨❩❬
❵❪❉❁❖❁P❄◗❵✿❊✿❄❂❑❇P❃❵▲❁❪❑❈❈❁❂✿❊✿❄❂❑❇P❞
❵❆❇✿❋❀❣❖❤✐❥❦❧♠♥❊♦♣qrst❁❇✿❊❂❁❤❢❄❊✿❊❜▲❁❞
➄ ③➅ ➆ ➇➈❽➇➈❽➉➇➊➋ ➊➊❼➄➉ ➌➍
❢❣❤✐❤❥❦❧ ♠♥♦❦♣qr❥s t❢❣❤✐❤❥❦❧ ✉q✈q✇ ①♦♦❧②③③✉q✈q④⑤❦⑥❧q❥⑦r⑥❤s④⑧❤♦③⑨❦✈♥④❧①❧③⑦⑨❤✐❤❥❦❧③♦④④④
✁✂✄☎✆✝✞✟✠✡☛☞✌✍✎✏✑✒✏✓
✁✂✄☎✆✝✞✟✪✫✂☎✘✠✘✬✞✬✔✭✛✑✕✄✟✮✫✗✯✰✱☛✎✲✳✴★✵✯✜✶✷✸✸✤✂✹✺✂✔☎✻✷✒✼✽✾✵✰✓
✁✂✄☎✆✝✞✟☞❀✢✴✆✌☞✍✴✶☎✓
✁✂✄☎✆✝✞✟✿✿✖✻❉✎☎✿✰★✺✓
✏☛☛ ✑✄ ✄✜ ✄✆✚ ✛✑✕✄ ✣✚✛✜✁❖ ✣★ ✚☛✑✄✑✖✗ ❬❫❭❴ ❵◗❛❙ ✂✖☛ ✣★ ✂☛☛✑✖✗ ✂ ✛✑✖✚ ✛✑❀✚✦
❜ ❝❝✗☛✚✞✚✛✜✢✦✄✤✄✜✿✑✂✛✕✦P◗❘❙❚❯❱❲❳❨❩❳❬❲❨❭◗❪❞P◗❘❙❚❯❱❲❳❨❩❳❬❲❨❭◗❪❡❡
⑩ ❦❶ ⑩ ❷❸③❷❸③❹❷❺❻ ❺❺②❼❹ ❽❾
GDevelop Documentation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation
Welcome page
(http://wiki.compilgames.net
GDevelop Documentation
/doku.php/start)
Documentation GDevelop allows you to simply and quickly create your own video games.
(http://wiki.compilgames.net Just fire up the editor and start creating, no programming knowledge required!
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net Getting started with GDevelop
/doku.php/gdevelop
To start using GDevelop, read the Getting Started page
/tutorials)
(http://wiki.compilgames.net/doku.php/gdevelop/documentation
Links /manual/edit_getstart) and the Tutorials (http://wiki.compilgames.net
/doku.php/gdevelop/tutorials).
GDevelop Website
You can also open the examples and templates provided with GDevelop or refer to
(http://www.compilgames.net)
this online help when needed.
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Table of Contents
Overview
1 of 5 07/07/2016 12:43 PM
GDevelop Documentation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Operators (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/operators)
Functions
Built-in functions (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/functions/built_in)
Events:
Standards events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/base_events)
Comment events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/comment_events)
Link events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/link_events)
For each events (http://wiki.compilgames.net/doku.php/gdevelop
2 of 5 07/07/2016 12:43 PM
GDevelop Documentation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
/documentation/manual/foreach_events)
Repeat events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/repeat_events)
While events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/while_events)
Events groups (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/group_events)
Javascript events (http://wiki.compilgames.net/doku.php/gdevelop
/tutorials/usingjsevents) (for HTML5 games)
Objects:
Features for all objects (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/base)
Sprite objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_sprite)
Tiled Sprites (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_tiled)
Text objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_text)
Text entry objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_txtentry)
Shape Painter objects (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/built_draw)
Particle system (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_particle) (for native games)
Tile map objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_tilemap) (for native games)
Lights (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_layer) (for native games)
3D Boxes objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_3dbox) (for native games)
AdMob objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_admob) (for HTML5 games)
Behaviors for objects:
Physics behavior (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_physics)
Pathfinding (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_pathfinding)
Destroy outside screen (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/built_destroyoutside)
Platformer objects and platforms (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/built_platformer)
Draggable object (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_draggable)
Top-down movement (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_topdown)
Other features:
Linked objects (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_linkedobjects)
Storage (http://wiki.compilgames.net/doku.php/gdevelop
3 of 5 07/07/2016 12:43 PM
GDevelop Documentation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
/documentation/manual/built_files)
Audio (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/multimedia)
Function events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_events) (for native games)
AES encryption (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_aes) (for native games)
Common dialogs (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_dialog) (for native games)
Timed events (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_timed) (for native games)
Network (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_network) (deprecated, for native games)
Automatic Network Updater Automatism
(http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_network_anua)
Publishing games
Troubleshooting
About GDevelop
Feedback
4 of 5 07/07/2016 12:43 PM
GDevelop Documentation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
If you experience problems using this so�ware, please let us know by posting on the
dedicated Forum (http://www.forum.compilgames.net/) or send an email to
[email protected] (mailto:[email protected]). Before you do that,
please read this documentation carefully and search on the forum if the issue is not
already reported.
5 of 5 07/07/2016 12:43 PM
➼➽➾ ➚➽ ➪➶➹➘ ➶ ➴➷➶➚➬➽➮➪➘➮ ➱➶➪➘✃ ❐❒❮➘❰➘➷➽➴ ➾Ï➹ÏÐ Ñ➚➚➴ÒÓÓ➾Ï➹ÏÔÕ➽➪➴Ï➷➱➶➪➘ÖÔ×➘➚ÓØ➽➹ÙÔ➴Ñ➴Ó➱Ø➘❰➘➷➽➴Ó➚ÔÔÔ
✽✾✿❀✿❁❂❃❄❅❆❅❂❇❈❉❁❊❄❋❂●❅❂❍❉■✿✿❉❃❁❉❅❏❂❇❍✿❇✽❉❍✿
❱❚❲❯P
✚✛✆✙✆✒✁✡ ❳✆❬✔✌✠✆
✟✝✠✠✡✞☛☛☞☞☞✎✏✁✑✡✌✒✓✄✑✆✔✎✕✆✠✗
❭✁☎✂✑
✟✝✠✠✡✞☛☛☞☞☞✎❪✁☎✂✑✎✏✁✑✡✌✒✓✄✑✆✔✎✕✆✠✗
❫✆✒✡ ✠✁ ✠☎✄✕✔✒✄✠✆ ✚✛
✟✝✠✠✡✔✞☛☛✏☎✁☞✖✌✕✎✏✁✑
☛✡☎✁❴✆✏✠☛✓✖✆✙✆✒✁✡✗
➄tr② r♦✈r ④ts ❸✈⑦ ✉②✈❼ r♦② ➅➆➇➇➈➉➊ ➋➇➌➍➇➆➎ ➏➌➊➆ ➐➑➇➇➏➒➓➓➔➈→➈➣↔↕➙➏➈➛➊➌➙➆➜➣➉➆➇
➓➎↕→➝➣➏➑➏➓➊➎➆➞➆➛↕➏➓➎↕↔➝➙➆➉➇➌➇➈↕➉➓➙➌➉➝➌➛➓➆➎➈➇➟➊➆➇➜➇➌➍➇➠ qt ✈q rt ⑥②r ✈⑦
t⑩②✉⑩♣②① t❺ r♦② qt➡①✈✉②❶ ➢r ②➤③✇✈♣⑦q r♦② ❹✈♣⑦ ❸t⑦❸②③rq ✈⑦❼ ❼②q❸✉♣⑤②q r♦② ♣⑦r②✉❺✈❸② t❺
⑧⑨②⑩②✇t③❽
➥➦➧➨➩➦➫➭ ➯➥➲➳➲➩➦➵
Ú ➽➬ ÛÛ ÜÝÓÜÝÓÛÜÚÞ ÚÚÒßÛ àá
❛❜❝ ❞❜ ❡❢❣❤ ❢ ✐❥❢❞❦❜❧❡❤❧ ♠❢❡❤♥ ♦♣q❤r❤❥❜✐ ❝s❣st ✉❞❞✐✈✇✇❝s❣s①②❜❡✐s❥♠❢❡❤③①④❤❞✇⑤❜❣⑥①✐✉✐✇♠⑤❤r❤❥❜✐✇❞①①①
✁✂ ✂✄✁ ☎✆✝✞✁✟ ✝✠✡ ☛✁✟☞✌☛✍✁✟ ✠✁✁✡✁✡
✎☞☛ ✂✄✁ ✂✌✂☞☛☎✝✏
✑✒✓✔✕✒✖✔✗✘✖✓✙✕✚✛✒✕✜✢✒✣✤ ✘✒✒✥✦✔✧✒✗✧★✖✒✦✓✔✕✔✙✕✖★✧✒✩
✪✔✙✫★✘✥✔✢✘✤✔★✥✚✛✒✧✛✒✕✒✬✛✚✚✭✬✮✮✢✢✢✩✫✔✧✭✗✤✖★✧✒✦✩✘✒✚
✮✥✤✮✯✤★✚✓✔✕✧✒✕✰✙✚✔✕✗★✤✱✒✦✔✙✕✫✒✦✩✲✗✭ ✳✛✚✚✭✬✮✮✢✢✢✩✫✔✧✭✗✤✖★✧✒✦✩✘✒✚
✮✥✤✮✯✤★✚✓✔✕✧✒✕✰✙✚✔✕✗★✤✱✒✦✔✙✕✫✒✦✩✲✗✭✴✩
✵✘✫✒✶✔✙✛★✷✒✥✔✢✘✤✔★✥✒✥✚✛✗✦ ✓✗✤✒✜✒✸✚✕★✫✚✗✚✦✫✔✘✚✒✘✚✗✘ ✚✛✒✓✔✤✥✒✕✢✛✒✕✒✶✔✙
✫✕✒★✚✒✥✚✛✒✭✕✔✹✒✫✚✩
✺☛✁✝✂☎✠✞ ✂✄✁ ✻✏✝✼✁☛ ☞✽✾✁✍✂
✰✛✒✭✤★✶✒✕✢✗✤ ✿✒✫✔✘✚✕✔✤✤✗✘✖★✫✛★✕★✫✚✒✕✚✛★✚✫★✘✹✙✧✭★✘✥✧✔✷✒✔✘✭✤★✚✓✔✕✧✦✩
❀✒✣✕✒✖✔✗✘✖✚✔✫✕✒★✚✒✚✛✗✦ ✔✿✹✒✫✚✩
❁★❂✒★✕✗✖✛✚✫✤✗✫❂✔✘✚✛✒✫✒✘✚✒✕✔✓✚✛✒✖✕★✶✦✫✒✘✒✗✘ ❃❄✒✷✒✤✔✭★✘✥✫✛✔✔✦✒ ❅❆❆ ❇
❈❉❊ ❋●❍❉■❏ ✩❑✢✗✘✥✔✢✭✔✭✦✙✭✦✔★✦✚✔✫✛✔✔✦✒✚✛✒✚✶✭✒✔✓✚✛✒✔✿✹✒✫✚✚✔✫✕✒★✚✒✬
▲✛✔✔✦✒✚✔✫✕✒★✚✒★ ▼◆❖P❏❉ ✔✿✹✒✫✚★✘✥✫✤✗✫❂✔✘✵❂✩
✰✛✒✒✥✗✚✔✕✔✓✚✛✒✔✿✹✒✫✚✗✦ ✔✭✒✘✒✥✩◗✔✕✘✔✢✜✚✛✒✔✿✹✒✫✚✛★✦✔✘✤✶✔✘✒✒✧✭✚✶★✘✗✧★✚✗✔✘✩
✰✛✒✓✗✕✦✚✚✛✗✘✖✚✔✥✔✗✦ ✚✔✔★✥✥★✘✗✧★✖✒✓✔✕✚✛✗✦ ★✘✗✧★✚✗✔✘✬❁★❂✒★✕✗✖✛✚✫✤✗✫❂✔✘✚✛✒
✢✛✗✚✒★✕✒★★✚✚✛✒✿✔✚✚✔✧✔✓✚✛✒✢✗✘✥✔✢✜★✘✥✫✛✔✔✦✒ ❅❆❆ ❇❈ P❘❇❙❉ ❚❖❋❘ ❇
❚P❯❉ ✬
⑦ ❜❦ ⑧⑧ ⑨⑩✇⑨⑩✇⑧⑨❶❷ ❶❶✈⑦⑧ ❸❹
❑▲▼ ◆▲ ❖P◗❘ P ❙❚P◆❯▲❱❖❘❱ ❲P❖❘❳ ❨❩❬❘❭❘❚▲❙ ▼❪◗❪❫ ❴◆◆❙❵❛❛▼❪◗❪❜❝▲❖❙❪❚❲P❖❘❞❜❡❘◆❛❢▲◗❣❜❙❴❙❛❲❢❘❭❘❚▲❙❛◆❜❜❜
✁✁✂✄☎ ✆✝✞✟✠✡☛☞✌
✍✎✏✑✒ ✓✔✕✖✗✎✘✏✎ ✘✓✔✙✚✎✖✏✏✛✘✏✕✜✢✢✙✎✣✒✎✤✥✔✗✦✢✘✏✥✔✗✧✒★
✩✪✘✜✓✫✧✘✬✎✘✗✜✪✛✏✖✢✜✖✬✔✓✏✛✎✒✖✎✓✎✘✓✤✖✛✔✔✒✎ ✭✮✮ ✯✰ ✱✲✳✴✵✶ ✷✸✛✜✒✏✜✧✎✫
✖✛✔✔✒✎✏✛✎ ✹✺✻✴✮ ✼✽✾✺✶✴ ✔✙✚✎✖✏✏✿✦✎★
❀✔✗✓✔✕✫✜✏✜✒✪✗✘✿✎✤★❁✛✎✓✿✔✣✖✢✜✖✬✔✓❂✬✫❃❄✎❅✎✢✔✦✕✜✢✢✘✒✬✿✔✣✜✥✿✔✣✕✘✓✏✏✔
✘✖✏✜❅✘✏✎✏✛✎✎❆✏✎✓✒✜✔✓✖✔✓✏✘✜✓✜✓✪✏✛✜✒✔✙✚✎✖✏✥✔✗✿✔✣✗✦✗✔✚✎✖✏★❇✢✜✖✬✔✓❈✎✒✷
✸✛✎✎✤✜✏✔✗✔✥✏✛✎✔✙✚✎✖✏✜✒✔✦✎✓★❂✓ ✏✛✎✢✎❉✫✏✛✎✗✎✜✒✏✛✎✗✎✒✔✣✗✖✎✧✘✓✘✪✎✗✒✛✔✕✜✓✪✘✢✢
✜✧✘✪✎✒✣✒✎✤✙✿✏✛✎✦✗✔✚✎✖✏✷❀✜✗✒✏✫✘✤✤ ✘✓✜✧✘✪✎✏✔✏✛✎ ✢✜✒✏✣✒✜✓✪✏✛✎ ❊ ✙✣✏✏✔✓✔✥✏✛✎
✏✔✔✢✙✘✗★
❤ ▲❯ ✐✐ ❥❦❛❥❦❛✐❥❧♠ ❧❧❵♥✐ ♦♣
◆❖P ◗❖ ❘❙❚❯ ❙ ❱❲❙◗❳❖❨❘❯❨ ❩❙❘❯❬ ❭❪❫❯❴❯❲❖❱ P❵❚❵❛ ❜◗◗❱❝❞❞P❵❚❵❡❢❖❘❱❵❲❩❙❘❯❣❡❤❯◗❞✐❖❚❥❡❱❜❱❞❩✐❯❴❯❲❖❱❞◗❡❡❡
✣✍ ✌✂✑✍ ☞✁ ✛✂☞ ☞✎✍ ✛✞☎☞✜✁✑✢ ✂✆✏✍✑ ☞✎✍ ✛✞☎✗✍✑✤ ✌✁ ☞✎✍ ✛✞☎✗✍✑ ✝✁✆✥☞ ✜☎✞✞ ✁✂☞✌✟✏✍ ☞✎✍
✌✄✑✍✍✆ ✝✎✍✆ ☞✎✍ ✦☎✢✍ ✟✌ ✞☎✂✆✄✎✍✏✒
✧✞✌✁✤ ✟✆ ☞✎✍ ★✩✪✫✬✭✮✯ ✫✰✱✭★✲✤ ✑✍✆☎✢✍ ☞✎✍ ✁✔✕✍✄☞ ✌✁ ☞✎☎☞ ✟☞ ✟✌ ✄☎✞✞✍✏ ✳✴✵✶✶ ✒
✓✎✍ ✢✁✖✍✢✍✆☞ ✁✜ ☞✎✍ ✛✞☎✗✍✑ ✄✁✂✞✏ ✔✍ ✄✑✍☎☞✍✏ ✂✌✟✆✦ ☞✎✍ ✍✖✍✆☞✌ ✁✜ ❅❆✍✖✍✞✁✛✤ ✔✂☞ ✟☞
✝✁✂✞✏ ✔✍ ☎ ❇✂✟☞✍ ✞✁✆✦ ☎✆✏ ✏✟❈✟✄✂✞☞ ☞☎✌✠ ☞✁ ✑✍✄✑✍☎☞✍ ☎ ✦✁✁✏ ✛✞☎☞✜✁✑✢✍✑ ✍✆✦✟✆✍✒ ✓✁ ☎✖✁✟✏
☞✎✟✌✤ ✝✍✥✑✍ ✦✁✟✆✦ ☞✁ ✂✌✍ ✔✍✎☎✖✟✁✑✌✤ ✝✎✟✄✎ ☎✞✞✁✝ ☞✁ ☎✏✏ ✛✑✍✏✍✜✟✆✍✏ ✔✍✎☎✖✟✁✑✌ ☞✁
✁✔✕✍✄☞✌✒
❉☎✠✍ ☎ ✏✁✂✔✞✍ ✄✞✟✄✠ ✁✆ ☞✎✍ ✛✞☎✗✍✑ ✁✔✕✍✄☞ ✁✆ ☞✎✍ ✌✄✍✆✍✘ ✓✎✟✌ ✝✟✞✞ ✌✎✁✝ ☎ ✦✑✟✏ ✄✁✆☞☎✟✆✟✆✦
✛✑✁✛✍✑☞✟✍✌ ✁✜ ☞✎✍ ✁✔✕✍✄☞ ☎✆✏✤ ☎☞ ☞✎✍ ✔✁☞☞✁✢✤ ☞✎✍ ✔✍✎☎✖✟✁✑✌ ☎✛✛✞✟✍✏ ☞✁ ☞✎✍ ✁✔✕✍✄☞✒ ❊✞✟✄✠
✁✆ ❋●● ✵ ❍■❏✵❑▲▼✴ ✘
❦ ❖❳ ❧❧ ♠♥❞♠♥❞❧♠♦♣ ♦♦❝q❧ rs
P◗❘ ❙◗ ❚❯❱❲ ❯ ❳❨❯❙❩◗❬❚❲❬ ❭❯❚❲❪ ❫❴❵❲❛❲❨◗❳ ❘❜❱❜❝ ❞❙❙❳❡❢❢❘❜❱❜❣❤◗❚❳❜❨❭❯❚❲✐❣❥❲❙❢❦◗❱❧❣❳❞❳❢❭❦❲❛❲❨◗❳❢❙❣❣❣
✁✂✄☎ ✆✝ ✞✟✞✂✁✞✠✁✡ ✠✡☛✞✟✂✆☞✄ ✂✄ ✌✂✄✍✁✞✎✡✌✏ ✑✆☞ ☎☛✂✄ ✆✠✒✡✓☎✔ ✓☛✆✆✄✡ ☎☛✡ ✕✖✗✘✙✚✛✜✢✛
✚✣✤✢✥✘ ✠✡☛✞✟✂✆☞✔ ✞✦✌ ✓✁✂✓✧ ✆✦ ★✧✩
✪☛✞☎✫✄ ✞✁✁✩ ✬✆✭ ✓✞✦ ✄✡✡ ✂✦ ☎☛✡ ✍☞✆✍✡☞☎✎ ✮☞✂✌ ☎☛✞☎ ☎☛✡ ✠✡☛✞✟✂✆☞ ✂✄ ✦✆✯ ✌✂✄✍✁✞✎✡✌ ✞✄ ✯✡✁✁
✞✄ ✄✆✰✡ ✍☞✆✍✡☞☎✂✡✄✏ ✬✆✭ ✓✞✦ ✓☛✞✦✮✡ ✄✆✰✡ ✍☞✆✍✡☞☎✂✡✄ ✁✂✧✡ ☎☛✡ ✒✭✰✍ ✄✍✡✡✌✩ ✱✡☎ ✂☎ ✝✆☞
✡✲✞✰✍✁✡ ☎✆ ✳✴✴ ✄✆ ☎☛✞☎ ☎☛✡ ✒✭✰✍ ✂✄ ✰✆☞✡ ✍✆✯✡☞✝✭✁✏
✵✡ ✞✁✄✆ ✦✡✡✌ ☎✆ ✰✞☞✧ ✆✠✒✡✓☎✄ ✠✡✂✦✮ ✍✁✞☎✝✆☞✰✄ ✞✄ ✄✭✓☛✔ ✆☎☛✡☞✯✂✄✡ ☎☛✡ ✍✁✞✎✡☞ ✯✂✁✁ ✝✞✁✁
✡✟✡✦ ✂✝ ✂☎ ✂✄ ✓✆✁✁✂✌✂✦✮ ✯✂☎☛ ✆✠✒✡✓☎✄ ☎☛✞☎ ✁✆✆✧ ✁✂✧✡ ✍✁✞☎✝✆☞✰✄✏
✶✁✂✓✧ ✆✦ ☎☛✡ ✍✁✞☎✝✆☞✰ ✆✠✒✡✓☎ ✆✦ ☎☛✡ ✄✓✡✦✡ ✞✦✌ ✂✦ ☎☛✡ ✍☞✆✍✡☞☎✎ ✮☞✂✌✔ ✓☛✆✆✄✡ ✞✮✞✂✦ ✷✸✸
✗ ✣✢✹✗✺✻✚✛ ✩
✼✆☎✡ ☎☛✞☎ ✠✡☛✞✟✂✆☞✄ ✞☞✡ ✞✍✍✁✂✡✌ ☎✆ ✞✁✁ ✽✾✿❀❁✾❂❃✿ ✆✝ ☎☛✡ ✆✠✒✡✓☎ ✍✭☎ ✆✦ ☎☛✡ ✄✓✡✦✡✩ ❄✝ ✎✆✭
✂✦✄✡☞☎ ✞✦✆☎☛✡☞ ✍✁✞☎✝✆☞✰ ✆✦ ☎☛✡ ✄✓✡✦✡ ❅ ❆✭✄☎ ✌☞✞✮✫✦✫✌☞✆✍ ☎☛✡ ✆✠✒✡✓☎ ✝☞✆✰ ☎☛✡ ✁✂✄☎ ✆✝
✆✠✒✡✓☎✄ ☎✆ ☎☛✡ ✄✓✡✦✡✏ ✬✆✭ ✓✞✦ ✞✁✄✆ ✍☞✡✄✄ ☎☛✡ ❇✘✛✖ ✧✡✎✔ ☎☛✡✦ ✌☞✞✮ ☎☛✡ ✍✁✞☎✝✆☞✰ ☎✆
✓✁✆✦✡ ✂☎❈ ❉✔ ☎☛✡ ✆☎☛✡☞✄ ✍✁✞☎✝✆☞✰✄ ✆✠✒✡✓☎ ✯✂✁✁ ✞✁✄✆ ☛✞✟✡ ☎☛✡ ✠✡☛✞✟✂✆☞✩ ✼✆ ✦✡✡✌ ☎✆ ✞✌✌ ✂☎
✞✮✞✂✦✏
❊❋●❍❋ ● ■❍❏❑▲❏▼
✬✆✭☞ ✝✞✟✆☞✂☎✡ ✠☞✆✯✄✡☞ ✯✂✁✁ ✠✡ ✆✍✡✦✡✌ ✞✦✌ ☎☛✡ ✮✞✰✡ ✯✂✁✁ ✠✡ ✁✞✭✦✓☛✡✌✩
♠ ◗❩ ♥♥ ♦♣❢♦♣❢♥♦q♠ qq❡r♥ st
st✉ ✈t ✇①②③ ① ④⑤①✈⑥t⑦✇③⑦ ⑧①✇③⑨ ⑩❶❷③❸③⑤t④ ✉❹②❹❺ ❻✈✈④❼❽❽✉❹②❹❾❿t✇④❹⑤⑧①✇③➀❾➁③✈❽➂t②➃❾④❻④❽⑧➂③❸③⑤t④❽✈❾❾❾
✁✂✄ ☎✆✝ ☎✝✞☎ ✂✟✠✠ ✡✝ ☛✠✂☛☞✌ ✍✟✌✎✠☛☞✝✍✏ ✑✒✌☎ ✓☛✔✝ ✌✒✕✝ ☎✆☛☎ ✟☎ ✟✌ ✖✁✕✕✝✖☎✠☞ ✎✁✌✟☎✟✁✗✝✍
✁✗ ☎✆✝ ✂✟✗✍✁✂✏ ✘✁✒ ✖☛✗ ✒✌✝ ☎✆✝ ✕✟✡✡✁✗ ☎✁ ✖✝✗☎✝✕ ☎✆✝ ✖☛✓✝✕☛ ✁✗ ☎✆✝ ✌✖✝✗✝ ✁✕✟✙✟✗ ✚
✛✠✟✖✔ ✁✗ ✜✢✣✤✥✦ ✣✧ ✣★✢ ✩✦✩✣✩✪✫ ✬✧✭✩✣✩✧✦ ✡✒☎☎✁✗ ☛✗✍ ☎✆✝✗ ✖✠✟✖✔ ✁✗ ✮✪✭✯ ☎✁
✍✟✌✎✠☛☞ ☛ ✓☛✌✔ ✌✆✁✂✟✗✙ ☎✆✝ ✌✟✰✝ ✁✱ ☎✆✝ ✂✟✗✍✁✂✲
✳✴✴ ✵✶ ✷✶✷✸✹
✺✝☎✻✌ ✝✗✍ ☎✆✟✌ ☎✒☎✁✕✟☛✠ ✡☞ ☛✍✍✟✗✙ ☛✗ ✝✗✝✓☞ ☎✆☛☎ ✂✟✠✠ ✡✝ ✓✁✼✟✗✙ ✁✗ ✎✠☛☎✱✁✕✓✌✏
✽✗ ☎✆✝ ✠☛☞✝✕✌ ✝✍✟☎✁✕✄ ✾✿❀❁ ❂❃❄❁ ❅❆✿❅ ❅❆❁ ❇✿❂❁ ❈✿❉❁❄ ✟✌ ✌✝✠✝✖☎✝✍ ✚ ✁☎✆✝✕✂✟✌✝✄ ☎✆✝ ✗✝✂
✁✡❊✝✖☎✌ ✖✁✒✠✍ ✡✝ ☛✍✍✝✍ ✁✗ ☎✆✝ ❋●❍ ■❋❏❑▲▼◆❖❑P ●◗❘❏ ❍❙❚❘❏❯❑❖❘❱ ✠☛☞✝✕✄ ☛✗✍ ✂✁✗✻☎ ✡✝
✍✟✌✎✠☛☞✝✍ ☛☎ ☎✆✝✟✕ ✕✟✙✆☎ ✎✁✌✟☎✟✁✗ ❲✏
❳✆✝✗✄ ☛✍✍ ☎✆✕✝✝ ☎✆✝✌✝ ✁✡❊✝✖☎✌✲
❳✆✝ ✱✟✕✌☎ ✁✗✝ ✖☛✠✠✝✍ ❨✪❩ ✟✌ ☎✆✝ ✁✡❊✝✖☎ ✕✝✎✕✝✌✝✗☎✟✗✙ ☎✆✝ ✝✗✝✓☞✲ ✽☎ ✟✌ ✖✁✓✎✁✌✝✍ ✁✱ ☛
☛✗✟✓☛☎✟✁✗ ✠✁✁✎✟✗✙ ✡✝☎✂✝✝✗ ✟✓☛✙✝✌ ✭✫✩❬✢❭✪✫✯❪❫✬✦❴ ☛✗✍ ✭✫✩❬✢❭✪✫✯❵❫✬✦❴ ✏
❳✆✝ ☎✂✁ ✁☎✆✝✕ ✁✡❊✝✖☎✌ ✂✟✠✠ ✡✝ ✒✌✝✍ ☛✌ ✓☛✕✔✝✕✌ ☎✁ ✓☛✔✝ ✌✒✕✝ ☎✆☛☎ ☎✆✝ ✝✗✝✓☞ ✂✁✗✻☎
✓✁✼✝ ✁✒☎ ✁✱ ✎✠☛☎✱✁✕✓✌✏ ❛✒☎ ☎✆✝ ✝✗✝✓☞ ✁✗ ☛ ✎✠☛☎✱✁✕✓✏ ❜☛✔✝ ✌✒✕✝ ☎✆☛☎ ✟☎ ✟✌ ✖✁✠✠✟✍✟✗✙
✂✟☎✆ ✁✗✝ ✁✱ ☎✆✝ ✓☛✕✔✝✕✲
➄➅ t⑥ ➆➆ ➇➈❽➇➈❽➆➇➄➉ ➄➄❼➊➆ ➋➌
❤✐❥ ❦✐ ❧♠♥♦ ♠ ♣q♠❦r✐s❧♦s t♠❧♦✉ ✈✇①♦②♦q✐♣ ❥③♥③④ ⑤❦❦♣⑥⑦⑦❥③♥③⑧⑨✐❧♣③qt♠❧♦⑩⑧❶♦❦⑦❷✐♥❸⑧♣⑤♣⑦t❷♦②♦q✐♣⑦❦⑧⑧⑧
✁✁ ✂✄☎✆ ✝✞✝✟✂✠
✡✟☛☎☞✝ ✌✝✍✎✏✝✑ ✒✝✓✏✝ ✟✎✂ ✔✄✕✟✖☎✟✖ ✄✝✏✝ ✕ ✆✔✝✟✝ ✞✕✏☎✕✌☛✝ ✌✗✂ ✕✟ ✎✌✘✝✔✂ ✞✕✏☎✕✌☛✝ ✙ ✚✄✝
✕✔✂☎✎✟ ✔✕✟ ✌✝ ✍✎✗✟✁ ☎✟ ✛✜✜ ✢✣✤✥✦✧★ ✩ ✪✫✬✭✫✣✜✥★ ✮✯ ✰✄✝✟✝✞✝✏ ✕ ✱✫✲ ✎✌✘✝✔✂ ✒☎☛☛
✌✝ ✔✎☛☛☎✁☎✟✖ ✒☎✂✄ ✕ ✳✎✴✝✵ ✎✌✘✝✔✂✑ ☎✂✆ ✶✷✸✥✹✧ ✞✕✏☎✕✌☛✝ ✒☎☛☛ ✌✝ ✆✝✂ ✂✎ ✺✯ ✰✝✓☛☛ ✕✁✁ ✂✄✝
✝✞✝✟✂ ✂✎ ✻✎✞✝ ✂✄✝ ✝✟✝✻✼ ☎✟ ✕ ✍✝✒ ✻✎✻✝✟✂✯
✽✎✏ ✟✎✒✑ ✕✁✁ ✕✟✎✂✄✝✏ ✆☎✻☎☛✕✏ ✝✞✝✟✂ ✂✎ ✆✝✂ ✂✄✝ ✞✕✏☎✕✌☛✝ ✎✍ ✂✄✝ ✎✌✘✝✔✂ ✂✎ ✾ ☎✍ ✄✝ ☎✆
✔✎☛☛☎✁☎✟✖ ✒☎✂✄ ✳✎✿☎✖✄✂✠
❀✎✒ ✂✄✕✂ ✂✄✝ ✎✌✘✝✔✂ ☎✆ ✕✌☛✝ ✂✎ ✏✝✻✝✻✌✝✏ ✒✄✝✏✝ ✄✝ ✆✄✎✗☛✁ ✖✎✑ ✒✝ ✘✗✆✂ ✄✕✞✝ ✂✎
✔✎✻❁✕✏✝ ✂✄✝ ✞✕☛✗✝ ✎✍ ✂✄☎✆ ✞✕✏☎✕✌☛✝ ✕✟✁ ✻✎✞✝ ✂✄✝ ✎✌✘✝✔✂✠
✁✁ ✕✟ ✝✞✝✟✂ ✔✄✝✔☞☎✟✖ ☎✍ ✂✄✝ ✞✕✏☎✕✌☛✝ ✎✍ ✎✌✘✝✔✂ ✱✫✲ ☎✆ ✝❂✗✕☛ ✂✎ ❃ ✯ ✚✄✝✟✑ ✕✁✁ ✕✟
✕✔✂☎✎✟ ✕✁✁☎✟✖ ✂✎ ✱✫✲ ✕ ✍✎✏✔✝ ✒☎✂✄ ✔✎✎✏✁☎✟✕✂✝✆ ✌✝☎✟✖ ❄✾ ❁☎❅✝☛✆ ✎✟ ❆ ✕❅☎✆ ✕✟✁ ✾ ✎✟ ❇
✕❅☎✆✠ ✽✎✏✔✝✆ ✕✏✝ ✕ ✌✗☎☛✂❈☎✟ ✻✝✔✄✕✟☎✆✻ ✕☛☛✎✒☎✟✖ ✂✎ ✝✕✆☎☛✼ ✻✎✞✝ ✎✌✘✝✔✂✆ ✎✟ ✂✄✝ ✆✔✝✟✝ ✙
✚✄✝ ✕✔✂☎✎✟ ☎✆ ✕✞✕☎☛✕✌☛✝ ☎✟ ☛☛ ❉✌✘✝✔✂✆ ❊ ❋☎✆❁☛✕✔✝✻✝✟✂ ❊ ✁✁ ✕ ✍✎✏✔✝ ✂✎ ✕✟ ✎✌✘✝✔✂ ✮✯ ●✝✏✝✑
✂✄✝ ✍✎✏✔✝ ✒☎☛☛ ✻✎✞✝ ✂✄✝ ✎✌✘✝✔✂ ✂✎ ✂✄✝ ✏☎✖✄✂ ✕✂ ✂✄✝ ✆❁✝✝✁ ✎✍ ❄✾ ❁☎❅✝☛✆ ❁✝✏ ✆✝✔✎✟✁✆✠
✁✁ ✕ ✆☎✻☎☛✕✏ ✝✞✝✟✂ ✂✎ ✻✎✞✝ ✂✄✝ ✎✌✘✝✔✂ ✂✎ ✂✄✝ ☛✝✵ ✒✄✝✟ ✞✕✏☎✕✌☛✝ ✶✷✸✥✹✧ ✎✍ ✱✫✲ ☎✆
✝❂✗✕☛ ✂✎ ✺✠
❍✍ ✼✎✗ ☛✕✗✟✔✄ ✂✄✝ ❁✏✝✞☎✝✒✑ ✼✎✗ ✆✄✎✗☛✁ ✆✝✝ ✂✄✕✂ ✂✄✝ ✝✟✝✻✼ ☎✆ ✟✎✒ ✻✎✞☎✟✖ ✌✝✂✒✝✝✟ ✂✄✝
✻✕✏☞✝✏✆✯ ❍✍ ☎✂ ✁✎✝✆ ✟✎✂ ✒✎✏☞✑ ✔✄✝✔☞ ✂✄✕✂ ✂✄✝ ✎✌✘✝✔✂ ☎✆ ✔✎☛☛☎✁☎✟✖ ✒☎✂✄ ✎✟✝ ✎✍ ✂✄✝ ✻✕✏☞✝✏
✕✂ ✂✄✝ ✌✝✖☎✟✟☎✟✖ ✎✍ ✂✄✝ ✆✔✝✟✝ ✙ ✎✂✄✝✏✒☎✆✝✑ ☎✂ ✒✎✟✓✂ ✻✎✞✝ ✕✂ ✕☛☛■ ✮✯ ☛✆✎ ✔✄✝✔☞ ✂✄✕✂ ✂✄✝
✝✞✝✟✂✆ ✕✏✝ ✔✎✏✏✝✔✂✯
✚✄✝ ✻✕✏☞✝✏✆ ✕✏✝ ✞☎✆☎✌☛✝ ✒✄✝✟ ✒✝✓✏✝ ❁☛✕✼☎✟✖✯ ✚✎ ✄☎✁✝ ✂✄✝✻✑ ✘✗✆✂ ✕✁✁ ✂✄☎✆ ✝✞✝✟✂✠
✚✄✝ ✔✎✟✁☎✂☎✎✟ ☎✆ ✕✞✕☎☛✕✌☛✝ ☎✟✆☎✁✝ ❏❑▲▼▲ ✔✕✂✝✖✎✏✼✑ ✕✟✁ ☎✆ ✂✏✗✝ ✎✟☛✼ ✒✄✝✟ ✂✄✝ ✆✔✝✟✝
✌✝✖☎✟✆✯ ✚✄✝ ✂✒✎ ✕✔✂☎✎✟✆✑ ✕✞✕☎☛✕✌☛✝ ☎✟ ◆❖P▲❑◗❘ ❙ ❚❯❘❯❖❯❱❯◗❲ ✕✏✝ ✗✆✝✍✗☛ ✂✎ ✄☎✁✝ ✕✟ ✎✌✘✝✔✂
✒✄☎☛✝ ✻✕☞☎✟✖ ✆✗✏✝ ☎✂ ☎✆ ✆✂☎☛☛ ✎✟ ✂✄✝ ✆✔✝✟✝✯
❹❺ ✐r ❹❹ ❺❻⑦❺❻⑦❹❺❼❽ ❼❼⑥❾❹ ❿➀
qrs tr ✉✈✇① ✈ ②③✈t④r⑤✉①⑤ ⑥✈✉①⑦ ⑧⑨⑩①❶①③r② s❷✇❷❸ ❹tt②❺❻❻s❷✇❷❼❽r✉②❷③⑥✈✉①❾❼❿①t❻➀r✇➁❼②❹②❻⑥➀①❶①③r②❻t❼❼❼
✁ ✂✄☎✆☎ ✝✞✟✠✡✂✡✞✟✆ ☛☞☎ ✂☞✌☎✍ ✂✄☎ ☎✟☎✎✏ ✞✑✒☎✝✂ ✝✞✓✓✡✠✡✟✔ ✕✡✂✄ ✂✄☎ ✖✓☛✏☎☞ ✡✆ ✠☎✆✂☞✞✏☎✠
☛✟✠ ✕☎ ✝☛✟ ☎✗☎✟ ✎☛✘☎ ✂✄☎ ✖✓☛✏☎☞ ✒✌✎✖✡✟✔ ☛✔☛✡✟ ✂✞ ✔✡✗☎ ✂✄☎ ✡✎✖☞☎✆✆✡✞✟ ✄☎ ✡✆
✚☎ ✄☛✗☎ ☛✓☞☎☛✠✏ ✌✆☎✠ ✂✄☎ ✝✞✟✠✡✂✡✞✟✆ ☛✟✠ ✂✄☎ ✁✡☞✆✂ ☛✝✂✡✞✟✛ ✟ ✓☛✆✂ ✂✕✞ ☛✝✂✡✞✟✆ ☛☞☎
✾✠✠✡✟✔ ✆✞✎☎ ✞✑✒☎✝✂✆ ✡✟ ✂✄☎ ✑☛✝✘✔☞✞✌✟✠ ✡✆ ☞☎☛✓✓✏ ☎☛✆✏✙ ✿✌✆✂ ☛✠✠ ✆✞✎☎ ✆✖☞✡✂☎✆ ✕✡✂✄ ✂✄☎
❀✞ ✎☛✘☎ ✆✌☞☎ ✂✄☛✂ ✂✄☎ ✞✑✒☎✝✂✆ ☛☞☎ ✠✡✆✖✓☛✏☎✠ ✑☎✄✡✟✠ ✂✄☎ ✖✓☛✏☎☞✍ ✆☎✓☎✝✂ ✂✄☎✎ ✡✟ ✂✄☎
✆✝☎✟☎ ☎✠✡✂✞☞ ☛✟✠ ✖✌✂ ☛ ✟☎✔☛✂✡✗☎ ✗☛✓✌☎ ☛✆ ☛ ❁ ❂☞✠☎☞✙ ✾✟✏ ✞✑✒☎✝✂ ✕✡✂✄ ☛ ✔☞☎☛✂☎☞ ❁ ❂☞✠☎☞
✾✓✆✞ ✎☛✘☎ ✆✌☞☎ ✂✄☛✂ ✂✄☎✆☎ ✞✑✒☎✝✂✆ ☛☞☎ ✞✟ ✂✄☎ ❃☛✆☎ ✓☛✏☎☞ ❄ ❀✄☎ ✓☛✏☎☞ ✖☞✞✖☎☞✂✏ ✆✄✞✌✓✠ ✑☎
☎✎✖✂✏ ❅✛
❀✄☛✂❉✆ ☛✓✓ ✁✞☞ ✂✄✡✆ ✂✌✂✞☞✡☛✓❊ ❋✞✌ ✝☛✟ ✠✞✕✟✓✞☛✠ ✂✄☎ ✔☛✎☎ ✄☎☞☎
❄✄✂✂✖✙●●✕✡✘✡✛✝✞✎✖✡✓✔☛✎☎✆✛✟☎✂●✓✡✑●☎❍☎●✁☎✂✝✄✛✖✄✖●✔✠☎✗☎✓✞✖●✂✌✂✞☞✡☛✓✆
✾ ☎✟✄☛✟✝☎✠ ✗☎☞✆✡✞✟ ✞✁ ✂✄☎ ✔☛✎☎ ✡✆ ☛✓✆✞ ☛✗☛✡✓☛✑✓☎ ☛✆ ☛ ✂☎✎✖✓☛✂☎ ✕✄☎✟ ✏✞✌ ✝☞☎☛✂☎ ☛ ✟☎✕
❄✄✂✂✖✙●●✕✕✕✛✝✞✎✖✡✓✔☛✎☎✆✛✟☎✂●✔☛✎☎✆●✚☎✑❏✓☛✂✁✞☞✎☎☞❅
❭❪❚❚❫❴❵❵❛❳❜❳❝❞❱❡❫❳❩❢❨❡❣❬❝❤❣❚❵✐❱❜❯❝❫❪❫❵❢✐❣❥❣❩❱❫❵✐❱❞❯❡❣❤❚❨❚❳❱❤❵❡❨❤❯❨❩
❵❣✐❳❚♠❢❣❚❬❚❨❲❚❦✛
❀✄☎☞☎ ✡✆ ☛✓✆✞ ✓✞✂✆ ✞✁ ☎❍☛✎✖✓☎✆ ✑✌✟✠✓☎✠ ✕✡✂✄ ♥♦☎✗☎✓✞✖ ☛✟✠ ✂☎✎✖✓☛✂☎✆ ☛✗☛✡✓☛✑✓☎ ✕✄☎✟
✁ ✏✞✌ ✄☛✗☎ ☛✟✏ ✖☞✞✑✓☎✎✍ ✏✞✌ ✝☛✟ ✆☎✟✠ ☛ ✎☎✆✆☛✔☎ ✞✟ ✂✄☎ ✞♣✡✝✡☛✓ ✁✞☞✌✎
➂➃ r④ ➂➂ ➄➅❻➄➅❻➂➄➃➆ ➃➃❺➇➂ ➈➉
➨➩➫➭ ➯➲ ➳➩➫➭ ➩➵➩➸➺➻➼➽ ➾➸➺ ➚➪➫➶➫➽➸➭ ➹➚➪➫➶➫➽➸➭ ➘➻➴➻➷ ➬➩➩➭➮➱➱➘➻➴➻✃❐➸❒➭➻➽❮➼❒➫➳✃❰➫➩➱Ï➸➴➵✃➭➬➭➱❮Ï➫➶➫➽➸➭➱➩✃✃✃
❁❂❃❄❃❅❆❇❈❉❊❉❆❋●❍❅■❈❏❃❁●❑❑❃❋❉❊❉❆❋●❍❅▲
✚✛✆✙✆✒✁✡ ❩✆❭✔✌✠✆
✟✝✠✠✡✞☛☛☞☞☞✎✏✁✑✡✌✒✓✄✑✆✔✎✕✆✠✗
❪✁☎✂✑
✟✝✠✠✡✞☛☛☞☞☞✎❫✁☎✂✑✎✏✁✑✡✌✒✓✄✑✆✔✎✕
❴✆✒✡ ✠✁ ✠☎✄✕✔✒✄✠✆ ✚✛
✟✝✠✠✡✔✞☛☛✏☎✁☞✖✌✕✎✏✁✑
☛✡☎✁❵✆✏✠☛✓✖✆✙✆✒✁✡✗
➈①✈⑥ ✈s③✈ ⑧①✇ ❼③❶ ②⑥③❾ ✈s⑥ ➉➊➋➋➌➍➎ ➏➋➐➑➋➊➒ ➓➐➎➊ ➔→➋➋➓➣↔↔↕➌➙➌➛➜➝➞➓➌➟➎➐➞➊➠➛➍➊➋
↔➒➝➙➡➛➓→➓↔➎➒➊➢➊➟➝➓↔➒➝➜➡➞➊➍➋➐➋➌➝➍↔➞➐➍➡➐➟↔➊➒➌➋➤➎➊➋➠➋➐➑➋➥ ✉① ③✉ ✈① ⑩⑥✈ ③❶
①❹⑥②❹t⑥⑤ ①➃ ✈s⑥ ✉①➦⑤③②⑥❺ ➧✈ ⑥➁⑦④③t❶✉ ✈s⑥ ❽③t❶ ❼①❶❼⑥⑦✈✉ ③❶❾ ❾⑥✉❼②t⑨⑥ ✈s⑥ t❶✈⑥②➃③❼⑥ ①➃
Ð ➸➾ ÑÒ ÓÔ➱ÓÔ➱ÑÓÐÕ ÐÐ➮ÖÖ ×Ø
❏❑▲▼ ◆❖ P❑▲▼ ❑◗❑❘❙❚❯❱ ❲❘❙ ❳❨▲❩▲❱❘▼ ❬❳❨▲❩▲❱❘▼ ❭❚❪❚❫ ❴❑❑▼❵❛❛❭❚❪❚❜❝❘❞▼❚❱❡❯❞▲P❜❢▲❑❛❣❘❪◗❜▼❴▼❛❡❣▲❩▲❱❘▼❛❑❜❜❜
✁✂✂✄☎ ✆✝✄✂ ✆ ✞✟✠☎✡☛✂✠☞ ✆✌✞ ✆ ✍✟✝☎✌✆✎☎ ✍✂✠ ☞✂✏✠ ✑✆✎☎✒ ✆✌✞ ✓✠☎✄✄ ✔✕ ☛✂ ✡✠☎✆☛☎ ☛✁☎
✓✠✂✖☎✡☛✗
✘ ✍✟✠✄☛ ✄✡☎✌☎ ✟✄ ✆✏☛✂✎✆☛✟✡✆✝✝☞ ✡✠☎✆☛☎ ✆✌✞ ✂✓☎✌☎✞ ✍✂✠ ☞✂✏ ☛✁☎ ✍✟✠✄☛ ☛✟✎☎ ☞✂✏ ✡✠☎✆☛☎ ✆
✑✆✎☎✙
❤ ❘❲ ✐❥ ❦❧❛❦❧❛✐❦♠♥ ♠♠❵❤❤ ♦♣
❅❆❇❈ ❉❊ ❋❆❇❈ ❆●❆❍■❏❑▲ ▼❍■ ◆❖❇P❇▲❍❈ ◗◆❖❇P❇▲❍❈ ❘❏❙❏❚ ❯❆❆❈❱❲❲❘❏❙❏❳❨❍❩❈❏▲❬❑❩❇❋❳❭❇❆❲❪❍❙●❳❈❯❈❲❬❪❇P❇▲❍❈❲❆❳❳❳
✁ ✂✄✁ ☎✆✝✞☎ ✟✆ ✠✄✁✂✟✁ ✟✡✁ ✁☛✁✞✟☞ ✌☞✁✍ ✟✆ ✂✞✝✎✂✟✁ ✟✡✁ ✏✡✆✑✁ ☎✂✎✁✒
✓✝✄☞✟✔ ✟✡✁ ✟✌✄✄✁✟ ✎✌☞✟ ✕✁ ✟✌✄✞✁✍ ✟✆✏✂✄✍ ✟✡✁ ✖✑✂✗✁✄ ✎✆✌☞✁✒
✘✆ ✟✆ ✟✡✁ ✁☛✁✞✟☞ ✁✍✝✟✆✄ ✕✗ ✠✑✝✠✙✝✞☎ ✆✞ ✟✡✁ ✁☛✁✞✟☞ ✟✂✕✚
✛✡✁ ✁☛✁✞✟ ✝☞ ✠✄✁✂✟✁✍✔ ✏✝✟✡ ✂✞ ✁✎✖✟✗ ✑✝☞✟ ✆★ ✠✆✞✍✝✟✝✆✞ ✩ ✆✞ ✟✡✁ ✑✁✪ ✖✂✄✟ ✫ ✂✞✍ ✂✞ ✁✎✖✟✗
✑✝☞✟ ✆★ ✂✠✟✝✆✞☞ ✩ ✆✞ ✟✡✁ ✄✝☎✡✟ ✫✒ ✬✌✟ ✗✆✌✄ ✠✌✄☞✆✄ ✆☛✁✄ ✟✡✁ ✂✠✟✝✆✞ ✑✝☞✟ ✂✞✍ ✠✡✆✆☞✁ ✜✢✢ ✣✤
✣✭✧✮✯✤ ✝✞ ✟✡✁ ✠✆✞✟✁✰✟ ✖✂✞✁✑ ✟✡✂✟ ✂✖✖✁✂✄✁✍✚
✛✡✁ ★✝✄☞✟ ✂✠✟✝✆✞ ✏✝✑✑ ✟✌✄✞ ✟✡✁ ✟✌✄✄✁✟ ✟✆✏✂✄✍ ✟✡✁ ✎✆✌☞✁✚ ✱✞ ✟✡✁ ✏✝✞✍✆✏✔ ✠✡✆✆☞✁ ✟✡✁
✂✠✟✝✆✞ ✜✲✲ ✯✳✴✥✭✧✵ ✶ ✜✤✷✲✥ ✶ ✸✯✧✣✧✥ ✧✯✹✣✺✢ ✻✯✵✮✧✮✯✤ ✒
✡✁✞ ☞✁✑✁✠✟✁✍✔ ✟✡✁ ✄✝☎✡✟ ✖✂✄✟ ✆★ ✟✡✁ ✏✝✞✍✆✏ ☞✡✆✏ ✟✡✁ ✞✂✎✁ ✆★ ✟✡✁ ✂✠✟✝✆✞ ✂☞ ✏✁✑✑ ✂☞
✟✡✁ ✖✂✄✂✎✁✟✁✄☞✒ ✓✝✑✑ ✟✡✁ ★✝✄☞✟ ✖✂✄✂✎✁✟✁✄ ✕✗ ✁✞✟✁✄✝✞☎ ✼✽✺✺✥✧ ✩ ✾✆✌ ✠✂✞ ✂✑☞✆ ✠✑✝✠✙ ✆✞
✟✡✁ ✕✌✟✟✆✞ ✞✁✰✟ ✟✆ ✟✡✁ ✖✂✄✂✎✁✟✁✄ ✟✆ ☎✁✟ ✂ ✑✝☞✟ ✆★ ✟✡✁ ✂☛✂✝✑✂✕✑✁ ✆✕✿✁✠✟☞ ✫✒ ✓✆✄ ✟✡✁ ✞✁✰✟
✖✂✄✂✎✁✟✁✄☞✔ ✁✞✟✁✄ ❀✯✽✵✥❁❂❃ ✂✞✍ ❀✯✽✵✥❄❂❃ ☞✆ ✟✡✂✟ ✟✡✁ ✆✕✿✁✠✟ ✟✌✄✞☞ ✟✆✏✂✄✍ ✟✡✁
✎✆✌☞✁ ✖✆☞✝✟✝✆✞✒ ✡✁✞ ✟✡✁ ☎✂✎✁ ✏✝✑✑ ✕✁ ✑✂✌✞✠✡✁✍✔ ✟✡✁☞✁ ✟✏✆ ✁✰✖✄✁☞☞✝✆✞☞ ✏✝✑✑ ✕✁
✄✁✖✑✂✠✁✍ ✕✗ ✟✡✁ ✖✆☞✝✟✝✆✞ ✆★ ✟✡✁ ✎✆✌☞✁✒
❫ ❍▼ ❴❵ ❛❜❲❛❜❲❴❛❝❫ ❝❝❱❞❞ ❡❢
❚❯❱❲ ❳❨ ❩❯❱❲ ❯❬❯❭❪❫❴❵ ❛❭❪ ❜❝❱❞❱❵❭❲ ❡❜❝❱❞❱❵❭❲ ❢❫❣❫❤ ✐❯❯❲❥❦❦❢❫❣❫❧♠❭♥❲❫❵♦❴♥❱❩❧♣❱❯❦q❭❣❬❧❲✐❲❦♦q❱❞❱❵❭❲❦❯❧❧❧
✁✂✄☎✆✝✞ ✟✠✡ ✁✂✄☎☛✝✞ ✟☞✌ ✍✠✎✏ ✑✒✍ ✍✓ ✑✔✌ ✕✌✖✌☞✟✎ ✓✗✠✘✑✙✍✠✕ ✟✖✟✙✎✟✚✎✌ ✒✔✌✠ ✟✠
✌✛✜☞✌✕✕✙✍✠ ✙✕ ☞✌✢✗✌✕✑✌✡ ✚✏ ✟ ✜✟☞✟✣✌✑✌☞✤
✥✎✙✘✦ ✍✠ ✑✔✌ ✚✗✑✑✍✠ ✠✌✛✑ ✑✍ ✟ ✜✟☞✟✣✌✑✌☞ ✒✟✙✑✙✠✧ ✓✍☞ ✟✠ ✌✛✜☞✌✕✕✙✍✠ ✑✍ ✍✜✌✠ ✑✔✌
★✩✪✫✬✭✭✮✯✰ ✬✱✮✲✯✫ ✒✔✙✘✔ ✒✙✎✎ ✚✌ ✡✙✕✜✎✟✏ ✎✙✕✑✕ ✒✙✑✔ ✟✎✎ ✑✔✌ ✟✖✟✙✎✟✚✎✌ ✓✗✠✘✑✙✍✠✕✤
✥✎✙✘✦ ✍✠ ✳✴ ✤ ✵✔✌ ✟✘✑✙✍✠ ✙✕ ✟✡✡✌✡ ✑✍ ✑✔✌ ✌✖✌✠✑✤
✶✕ ✑✔✌☞✌ ✙✕ ✠✍✑ ✟✠✏ ✘✍✠✡✙✑✙✍✠✷ ✑✔✌ ✟✘✑✙✍✠ ✒✙✎✎ ✚✌ ☞✌✜✌✟✑✌✡ ✌✟✘✔ ✑✙✣✌ ✑✔✌ ✕✘☞✌✌✠ ✙✕
☞✌✓☞✌✕✔✌✡ ✸ ✶✚✍✗✑ ✹✺ ✑✙✣✌✕ ✜✌☞ ✕✌✘✍✠✡✕ ✻✤ ✵✔✌ ✑✗☞☞✌✑ ✒✙✎✎ ✑✔✗✕ ✚✌ ✟✎✒✟✏✕ ✍☞✙✌✠✑✌✡
✑✍✒✟☞✡ ✑✔✌ ✣✍✗✕✌✤
✼✍✗ ✘✟✠ ✎✟✗✠✘✔ ✟ ✜☞✌✖✙✌✒ ✍✓ ✑✔✌ ✧✟✣✌✽ ✾✗✕✑ ✧✍ ✚✟✘✦ ✑✍ ✑✔✌ ✕✘✌✠✌ ✌✡✙✑✍☞ ✸ ✥✎✙✘✦ ✍✠ ✑✔✌
✿❀☎❁☎ ✑✟✚ ✠✌✛✑ ✑✍ ✑✔✌ ❂❃☎❁❄✄ ✑✟✚ ✻ ✟✠✡ ✑✔✌✠✷ ✙✠ ✑✔✌ ☞✙✚✚✍✠✷ ✘✎✙✘✦ ✍✠ ❅❆☎❃❇☎❈ ✤
❉❊✌✖✌✎✍✜ ✒✙✎✎ ✎✟✗✠✘✔ ✏✍✗☞ ✡✌✓✟✗✎✑ ✚☞✍✒✕✌☞ ✟✠✡ ✍✜✌✠ ✏✍✗☞ ✧✟✣✌✽
r ❭❛ st ✉r❦✉r❦s✉✈✇ ✈✈❥①① ②③
❂❃❄❅ ❆❇ ❈❃❄❅ ❃❉❃❊❋●❍■ ❏❊❋ ❑▲❄▼❄■❊❅ ◆❑▲❄▼❄■❊❅ ❖●P●◗ ❘❃❃❅❙❚❚❖●P●❯❱❊❲❅●■❳❍❲❄❈❯❨❄❃❚❩❊P❉❯❅❘❅❚❳❩❄▼❄■❊❅❚❃❯❯❯
✎✝✝ ✆ ✏ ✂☎✞ ☞✑ ✡✒✂✡✓✂☎✄ ☎ ✞✟✠ ✔ ✂☎ ✞✟✠ ✞ ✒☞✆✁ ☛ ✞✟✠ ✕✖✗✘✙✚ ✛✂☎✝ ✛✍ ✜✆✢✠ ✞✟✠
☎✠✛ ✏ ✂☎✞ ✣✤✘✖✘ ✍ ✥✟✠☎ ✂✞ ✂✦ ✡✁✠✆✞✠✝ ✆☎✝ ✁✠☎✆✢✠✝✧ ✢✆✓✠ ✦★✁✠ ✂✞ ✂✦ ✦✠✒✠✡✞✠✝ ✂☎ ✞✟✠ ✒✂✦✞
✩ ✪✂✢✏✒✑ ✢✆✓✠ ✆ ✡✒✂✡✓ ☎ ✂✞ ✫ ✆☎✝ ✞✟✠☎ ✡✒✂✡✓ ☎ ✞✟✠ ✂✢✆✄✠ ✞ ✡✟✆☎✄✠ ✂✞✦ ✏ ✦✂✞✂ ☎✬
✭ ★ ✡✆☎ ☎ ✛ ✏✁✠✰✂✠✛ ✞✟✠ ✄✆✢✠ ✩ ✮ ✞ ✞✟✠ ✦✡✠☎✠ ✠✝✂✞ ✁ ☞✑ ✡✒✂✡✓✂☎✄ ☎ ✞✟✠ ✾✿✵✘✵ ✞✆☞✧
✆☎✝ ✡✒✂✡✓ ☎ ✕✴✵❀✗✵❁ ✂☎ ✞✟✠ ✁✂☞☞ ☎ ✫✍
❬❬ ❊❏ ❭❪ ❫❴❚❫❴❚❭❫❬❵ ❬❬❙❛❛ ❜❝
P◗❘❙ ❚❯ ❱◗❘❙ ◗❲◗❳❨❩❬❭ ❪❳❨ ❫❴❘❵❘❭❳❙ ❛❫❴❘❵❘❭❳❙ ❜❩❝❩❞ ❡◗◗❙❢❣❣❜❩❝❩❤✐❳❥❙❩❭❦❬❥❘❱❤❧❘◗❣♠❳❝❲❤❙❡❙❣❦♠❘❵❘❭❳❙❣◗❤❤❤
♥♦ ❳❪ ♦♣ qr❣qr❣♦q♥s ♥♥❢tt ✉✈
✳✴✵✶ ✷✸ ✹✴✵✶ ✴✺✴✻✼✽✾✿ ❀✻✼ ❁❂✵❃✵✿✻✶ ❄❁❂✵❃✵✿✻✶ ❅✽❆✽❇ ❈✴✴✶❉❊❊❅✽❆✽❋●✻❍✶✽✿■✾❍✵✹❋❏✵✴❊❑✻❆✺❋✶❈✶❊■❑✵❃✵✿✻✶❊✴❋❋❋
✩✢ ✥✓✔ ✦☛✔☞✛✖ ☛ ✜✕✒✧✎✒✚✪ ✥✓✔ ✚✎✦✦ ✏✒✒ ✑✖☛✑ ✒☞✒✫✎✒✏ ☛✕✒ ✛✕✒☛✑✒✌ ☛☞✌ ☛✕✒ ✫✓✧✎☞✬✣ ✩✢ ✎✑
✌✓✒✏☞✭✑ ✚✓✕✮✪ ✌✓✔✯✦✒ ✛✖✒✛✮ ✥✓✔✕ ✒✧✒☞✑✏★ ✰✖✒✛✮ ✑✖☛✑ ✑✖✒ ✑✎✫✒✕✭✏ ☞☛✫✒ ✎✏ ✛✓✕✕✒✛✑ ☛☞✌ ✎✏
✑✖✒ ✏☛✫✒ ✎☞ ✑✖✒ ✛✓☞✌✎✑✎✓☞ ☛☞✌ ✎☞ ✑✖✒ ☛✛✑✎✓☞✣ ✱✦✏✓ ✛✖✒✛✮ ✑✖☛✑ ✑✖✒ ✦☛✏✑ ✜☛✕☛✫✒✑✒✕ ✓✢ ✑✖✒
☛✛✑✎✓☞ ✔✏✒✌ ✑✓ ✫✓✧✒ ✑✖✒ ✒☞✒✫✎✒✏ ✎✏ ✲✣
▲▼ ✻❀ ◆▼ ❖P❊❖P❊◆❖▲◗ ▲▲❉❘❘ ❙❚
✻✼✽✾ ✿❀ ❁✼✽✾ ✼❂✼❃❄❅❆❇ ❈❃❄ ❉❊✽❋✽❇❃✾ ●❉❊✽❋✽❇❃✾ ❍❅■❅❏ ❑✼✼✾▲▼▼❍❅■❅◆❖❃P✾❅❇◗❆P✽❁◆❘✽✼▼❙❃■❂◆✾❑✾▼◗❙✽❋✽❇❃✾▼✼◆◆◆
✁✂✂✄☎✄ ✆✝✞✟ ✞✂✠✡ ✂ ✂☛☞☎✌✞✡ ✄✂✝✠✍ ✠✂✞✟✝✠✍ ☎✎✌☎✏✞ ✡✁✂✆✝✠✍ ✄✂✆✠ ✞✟☎ ✆✟✂✁☎ ✞✟✝✠✍✑
✒✟✓✞✔✡ ✆✟✕ ✆☎ ✞✓✖☎ ✌✓✗☎ ✂ ✄☎✁☎✞✝✠✍ ✞✟☎ ☎✎✏✁✂✡✝✂✠✡ ✆✟☎✠ ✞✟☎ ✓✠✝✘✓✞✝✂✠✡ ✝✡ ✂✙☎✗✑ ✚✛✞
✆✟✓✞ ✓☛✂✛✞ ✞✟☎ ☛✛✁✁☎✞✡✜ ✢✟☎✠ ✞✟☎✕ ✍✂ ✂✛✞✡✝✄☎ ✂ ✞✟☎ ✡✌✗☎☎✠✣ ✞✟☎✕ ✡✞✝✁✁ ☎✎✝✡✞✡ ✓✠✄ ✞✟☎
✌✂✘✏✛✞☎✗ ✘✛✡✞ ✛✏✄✓✞☎ ✞✟☎✘ ☎✓✌✟ ✞✝✘☎ ✞✟☎ ✡✌✗☎☎✠ ✝✡ ✗☎ ✗☎✡✟☎✄✤ ✒✟✝✡ ✌✓✠ ☛☎✌✂✘☎ ✓
✢☎ ✌✂✛✁✄ ✓✄✄ ✓✠ ☎✙☎✠✞ ✞✂ ✄☎✡✞✗✂✕ ✞✟☎ ☛✛✁✁☎✞✡ ✆✟☎✠ ✞✟☎✕ ✓✗☎ ✞✂✂ ✓✗ ✗✂✘ ✞✟☎ ✞✛✗✗☎✞✣
✞✟✓✞ ✝✡ ✥✛✝✞☎ ☎✓✡✕✑ ✚✛✞ ✆☎ ✌✓✠ ✓✁✡✂ ✛✡☎ ✓ ☛☎✟✓✙✝✂✗✤ ✦✠ ☛☎✟✓✙✝✂✗ ✝✡ ✛✡☎✄ ✞✂ ✓✄✄ ✓
✡✏☎✌✝ ✝✌ ☛☎✟✓✙✝✂✗ ✞✂ ✓✠ ✂☛☞☎✌✞✑ ✧☎✗☎✣ ✆☎ ✓✗☎ ✍✂✝✠✍ ✞✂ ✛✡☎ ✓ ☛☎✟✓✙✝✂✗ ✞✟✓✞ ✆✝✁✁
★✓✖☎ ✓ ✗✝✍✟✞ ✌✁✝✌✖ ✂✠ ✞✟☎ ✂☛☞☎✌✞ ✝✠ ✞✟☎ ✂☛☞☎✌✞ ✁✝✡✞ ✓✠✄ ✌✟✂✂✡☎ ✩✪✫✬✭ ✮✭✯✮✬✭✪✰✬✱ ✤
✦ ✍✗✝✄ ✆✝✞✟ ✏✗✂✏☎✗✞✝☎✡ ✝✡ ✡✟✂✆✠✑ ✦✞ ✞✟☎ ☛✂✞✞✂✘ ✂ ✞✟☎ ✍✗✝✄✣ ✕✂✛ ✌✓✠ ✡☎☎ ✞✟☎ ☛☎✟✓✙✝✂✗✡
✦ ✁✝✡✞ ✂ ✞✟☎ ✓✙✓✝✁✓☛✁☎ ☛☎✟✓✙✝✂✗✡ ✝✡ ✄✝✡✏✁✓✕☎✄✤ ✲✟✂✂✡☎ ✞✟☎ ✳✬✱✪✭✯✴ ✵✫✬✶ ✯✷✪✱✰✸✬
✱✹✭✬✬✶ ☛☎✟✓✙✝✂✗✤
✒✟✓✞✔✡ ✓✁✁✤ ✺✂✛ ✌✓✠ ✠✂✆ ✡☎☎ ✞✟✓✞ ✞✟☎ ☛☎✟✓✙✝✂✗ ✝✡ ✓✄✄☎✄ ✞✂ ✞✟☎ ✂☛☞☎✌✞✤
❚❚ ❃❈ ❚❯ ❱❲▼❱❲▼❚❱❳❨ ❳❳▲❩❩ ❬❭
❯❱❲❳ ❨❩ ❬❱❲❳ ❱❭❱❪❫❴❵❛ ❜❪❫ ❝❞❲❡❲❛❪❳ ❢❝❞❲❡❲❛❪❳ ❣❴❤❴✐ ❥❱❱❳❦❧❧❣❴❤❴♠♥❪♦❳❴❛♣❵♦❲❬♠q❲❱❧r❪❤❭♠❳❥❳❧♣r❲❡❲❛❪❳❧❱♠♠♠
✢✎☎✞✣✠ ☎✤✤ ✥✁☛ ✞✎✍✠ ✞✂✞✁☛✍☎✤✦ ✁✂ ✄☎✆ ✒✁✝✆✤✁☎✒ ✞✎✟ ☞☎✌✟ ✎✟☛✟
✧✎✞✞★✓✩✩✝✝✝✪✄✁✌★✍✤☞☎✌✟✠✪✆✟✞✩✒✤✩✫✟☞✍✆✆✟☛✢✂✞✁☛✍☎✤✬☛✁✭✟✄✞✪✮✍★✯ ✍✥ ✆✟✄✟✠✠☎☛✡✰ ✍✥ ✡✁✂
✝☎✆✞ ✞✁ ✄✁✌★☎☛✟ ✝✍✞✎ ✡✁✂☛ ✱✟☛✠✍✁✆ ✁☛ ✍✥ ✠✁✌✟✞✎✍✆☞ ✒✁✟✠ ✆✁✞ ✝✁☛✑✪
✲ ✟✆✎☎✆✄✟✒ ✱✟☛✠✍✁✆ ✁✥ ✞✎✟ ☞☎✌✟ ✍✠ ☎✤✠✁ ✍✆ ✞✎✍✠ ☎☛✄✎✍✱✟✪ ✁✂ ✄☎✆ ✞☛✡ ✍✞ ✁✆✤✍✆✟✓
✎✞✞★✓✩✩✝✝✝✪✄✁✌★✍✤☞☎✌✟✠✪✆✟✞✩☞☎✌✟✠✩✳✆✎☎✆✄✟✒✢✂✞✁☛✍☎✤
✧✎✞✞★✓✩✩✝✝✝✪✄✁✌★✍✤☞☎✌✟✠✪✆✟✞✩☞☎✌✟✠✩✳✆✎☎✆✄✟✒✢✂✞✁☛✍☎✤✯
st ❪❜ s✉ ✈✇❧✈✇❧s✈①② ①①❦③③ ④⑤
❶❷❸ ❹❺❻❸❼ ❽❾❿ ❻➀ ❸➁➂➀➃❻ ❻➀ ➄❺➅➃➀➆➅ ➀➃ ➆➇➈ ➉➊❾❸➋❸➌➌➌ ➍❻❻➂➎➏➏➐➆➑➆➌➒➀➓➂➆❼➔→➓❸❷➌❺❸❻➏➅➀➑➣➌➂➍➂➏➔➅❸➋❸❼➀➂➏❻➌➌➌
✁✂✄✂✁☎✂✆✝
↔ ➀↕ ➙ ➛➜➏➛➜➏➝➛➞➟ ➞➞➎↔↔ ➄➠
◆❖P ◗❘❙P❚ ❯❱❲ ❙❳ P❨❩❳❬❙ ❙❳ ❭❘❪❬❳❫❪ ❳❬ ❫❴❵ ❛❜❱P❝P❞❞❞ ❡❙❙❩❢❣❣❤❫✐❫❞❥❳❦❩❫❚❧♠❦P❖❞❘P❙❣❪❳✐♥❞❩❡❩❣❧❪P❝P❚❳❩❣❙❞❞❞
✁✂✄☎✆✂
✝✞✟ ✠✡☛✟✞☞☛✌ ✍✎✞✞✏✑ ✒✓✔✕✕✖✗✘✙ ✚✔✓ ✛✜✢✓✔✣✢✤
✝✞✟ ❀✞✏✲ ✠✡☛✟✞☞☛ ☛✑✷☞✍✑✏✌ ✮✞✯ ✎✭✷✑ ✲✞ ✯✏✑ ✲✎✑ ✗✓■ ✠❅✶✤ ❏✎✑ ❑▲▼ ✠❅✶ ☞✏ ✞✡✦✮ ❃✞✟ ✏✞❀✑
☛✑✷☞✍✑✏ ✦☞✧✑ ✲✭✸✦✑✲✏ ✲✎✭✲ ✯✏✑ ✭✡ ✳✡✲✑✦✰✟✞✍✑✏✏✞✟✤
♦ ❳♣ ♦ qr❣qr❣sqt✉ tt❢✈✈ ❭✇
➭➯➲ ➳➯ ➵➸➯➲ ➺➻➵ ➲➼➳➸ ➽➻➾➯➚ ➺➪➻ ➶➪➳➹➘ ➴➷➬ ➮➱➷➹✃✃✃ ➸➳➳❐❒❮❮➲➼❰➼✃Ï➯Ð❐➼➘Ñ➺Ð➹➵✃➪➹➳❮➻➯❰Ò✃❐➸❐❮Ñ➻➹Ó➹➘➯❐❮➳✃✃✃
❃❄❅❆❅❇❈❉❊❋●❋❈❍■❏❇❑❊▲❈▼❋❈❑▲❈▼❏❄❑▼■❋▲❏❄◆❈❖❏P❄■P❋❅❇◗❄❘
✚✛✆✙✆✒✁✡ ❵✆❜✔✌✠✆
✟✝✠✠✡✞☛☛☞☞☞✎✏✁✑✡✌✒✓✄✑✆✔✎✕✆✠✗
❝✁☎✂✑
✟✝✠✠✡✞☛☛☞☞☞✎❞✁☎✂✑✎✏✁✑✡✌✒✓✄✑✆✔✎✕✆✠✗
❡✆✒✡ ✠✁ ✠☎✄✕✔✒✄✠✆ ✚✛ ❼➍❿➆ ➂➄➄ ➙❽➣➃ ➂➎➎➒➋➓➂➀➋❽➆ ➉➙ ❿➆➀❿➃➋➆❾ ➋➀➁ ➆➂➔❿ ➂➆➄ ➓➍❽❽➁➋➆❾ ➋➀➁ ➎➒➂➀➨❽➃➔ ➌➋➨ ➙❽➣➃
✟✝✠✠✡✔✞☛☛✏☎✁☞✖✌✕✎✏✁✑ ❾➂➔❿ ➋➁ ➨❽➃ ➉❽➀➍ ➋↔➩ ➂➆➄ ➇➆➄➃❽➋➄➅ ➙❽➣ ➔➣➁➀ ➃❿❾➋➁➀❿➃ ➀➊❽ ➂➄ ➣➆➋➀➁→➑
☛✡☎✁❢✆✏✠☛✓✖✆✙✆✒✁✡✗
➫❽➣ ➓➂➆ ➀➍❿➆ ➓➍❽❽➁❿ ➋➨ ➙❽➣ ➊➂➆➀ ➀❽ ➓➃❿➂➀❿ ➀➍❿ ➂➄ ➣➆➋➀ ➀❽ ➄➋➁➎➒➂➙ ➂ ➉➂➆➆❿➃ ❽➃ ➂➆
➋➆➀❿➃➁➀➋➀➋➂➒ ➁➓➃❿❿➆➑ ❼❽ ➉❿❾➋➆➅ ➊❿↕➃❿ ❾❽➋➆❾ ➀❽ ➄➋➁➎➒➂➙ ➂ ➉➂➆➆❿➃➑
Ô ➯Õ Ö ×Ø❮ר❮Ù×ÔÚ ÔÔ❒ÛÛ ➽➾
➾➚➪ ➶➚ ➹➘➴➷➬➮ ➱➚✃❐➬➮❒ ➬➚❮❰➱ Ï Ð➹➮ Ñ➴❰➶➮ Ò➶➘➶➮ ✃➘ÓÓÓ ➹➶➶❐ÔÕÕ➪❰Ö❰Ó➱➚✃❐❰➬❮➘✃➮ÒÓ➴➮➶Õ➷➚Ö×Ó❐➹❐Õ❮➷➮Ø➮➬➚❐Õ➶ÓÓÓ
❂❃❄❅❄❆❇❈❉❊❋❊❇●❍■❆❏❉❑❇▲❊❇▼❍◆❍❊❄❏❊■❊❄❖■P❑❍◆❄
➭➜↕↕➙➟➯ ➛↕↔➲↕➜➳
➤⑧ ❹❽➁❿ ➃❽➁ ❿➁❸❶➁❽❾ ❷❺ ❾⑧❼➅❹⑧❸❾➄➅➃ ➁➂❽ ❸❿❿❽➁❿ ❻❶⑧➀ ➁➂❽ ➦➵⑧❼ ➁⑧ ➀❸➍❽ ❸ ⑩❹❸➁❻⑧❶➀❽❶
➃❸➀❽➫➧ ➁⑨➁⑧❶➄❸❹ ➸➂➁➁⑩➺➻➻➆⑧➀⑩➄❹➃❸➀❽❿➉➅❽➁➻❼➄➍➄➻❾⑧➍⑨➉⑩➂⑩➻➃❾❽➈❽❹⑧⑩➻➁⑨➁⑧❶➄❸❹❿
➻➂⑧❼➁⑧➀❸➍❽❽❸⑩❹❸➁❻⑧❶➀❽❶➃❸➀❽➼ ➐➂➁➁⑩➺➻➻➆⑧➀⑩➄❹➃❸➀❽❿➉➅❽➁➻❼➄➍➄➻❾⑧➍⑨➉⑩➂⑩➻➃❾❽➈❽❹⑧⑩
➻➁⑨➁⑧❶➄❸❹❿➻➂⑧❼➁⑧➀❸➍❽❽❸⑩❹❸➁❻⑧❶➀❽❶➃❸➀❽➼➑➉ ➽❶❽❸➁❽ ❸ ⑩❹❸❺❽❶ ❸❿ ❸ ➦⑩❹❸➁❻⑧❶➀❽❶ ⑧❷➇❽➆➁➧
❸➅❾ ❿⑧➀❽ ⑩❹❸➁❻⑧❶➀❿ ➐➦⑩❹❸➁❻⑧❶➀➧ ❷❽➂❸➈➄⑧❶➑ ➁⑧ ❼❸❹➍ ❸➅❾ ➇⑨➀⑩ ⑧➅ ❸❿ ❾❽❿➆❶➄❷❽❾ ➄➅ ➁➂❽
❸❷⑧➈❽ ➀❽➅➁➄⑧➅❽❾ ➁⑨➁⑧❶➄❸❹➉
Ù ➚Ú Û ÜÝÕÜÝÕÞÜÙÛ ÙÙÔßÛ àá
✿❀❁ ❂❀ ❃❄❅❆❇❈ ❉❀❊❋❇❈● ❇❀❍■❉ ❏ ❑❃❈ ▲❅■❂❈ ▼❂❄❂❈ ❊❄◆◆◆ ❃❂❂❋❖PP❁■◗■◆❉❀❊❋■❇❍❄❊❈▼◆❅❈❂P❆❀◗❘◆❋❃❋P❍❆❈❙❈❇❀❋P❂◆◆◆
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✌✞✓✆✏✔✏✆✕✏✂✎✞✌✠✄✁✄✆✍✕✏✖✏✌☛✄✆✂✗✂☛✘✞✎✌✑
✆✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏
✆✑✡✘✏✏✒✑✁☛✂✚✑✡✏✒✏✑✠✄✒✍✛✞✕✜✍✕✏✖✏✌☛✄✢✣✤✂✗✂☛✘✞✎✌✑✢✣✤✁☛✝✂☛✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✥
✦✄✏✒ ✂✁✏ ✄✘☛✄✏✘✂✞✏✑ ☛✙ ✂✁✏ ✄✌✎✧✏✘ ☛✓★✏✡✂ ✎✒✕ ✡✘✏✎✂✏ ✎ ✖✎✘✞✎✓✌✏ ✡✎✌✌✏✕ ✩✑✂✎✂✏✪ ✝✞✂✁ ✂✁✏
✑✂✘✞✒✍ ✖✎✌✗✏ ✩✞✒✞✂✪ ✎✒✕ ✎ ✑✂✘✞✒✍ ✖✎✘✞✎✓✌✏ ✡✎✌✌✏✕ ✩✕✞✘✏✡✂✞☛✒✪ ✝✞✂✁ ✂✁✏ ✖✎✌✗✏ ✩✘✞✍✁✂✪✠
✫✝✞✂✡✁ ✂☛ ✂✁✏ ✏✖✏✒✂ ✏✕✞✂☛✘ ✩☞✎✞✒✪ ✑✡✏✒✏✥ ✎✒✕ ✡✘✏✎✂✏ ✂✁✏✑✏ ✏✔✂✏✘✒✎✌ ✏✖✏✒✂✑
✡✘✏✎✂✏ ✎ ✒✏✝ ✏✖✏✒✂ ✍✘☛✗✄ ✙✘☛☞ ✂✁✏ ✕✘☛✄ ✕☛✝✒ ☞✏✒✗ ☛✒ ✂✁✏ ✘✞✍✁✂ ✁✎✒✕ ✑✞✕✏✠ ✮✎☞✏ ✞✂
✩✯✌✎✧✏✘ ✌☛✍✞✡✪✠ ✮☛✝ ✎✕✕ ✎ ✡☛✒✕✞✂✞☛✒ ✂☛ ✡✁✏✡✟ ✞✙ ✂✁✏ ✖✎✌✗✏ ☛✙ ✂✁✏ ✄✌✎✧✏✘ ✖✎✘✞✎✓✌✏ ✩✑✂✎✂✏✪
✞✑ ✩✞✒✞✂✪✠ ✤✕✕ ✎ ✑✗✓ ✏✖✏✒✂ ✂☛ ✂✁✏ ✡☛✒✕✞✂✞☛✒ ✎✒✕ ✌✞✒✟ ✞✒ ✂✁✏ ✏✔✂✏✘✒✎✌ ✏✖✏✒✂ ✑✁✏✏✂
✩✄✌✎✧✏✘✚✑✂✎✂✏✚✞✒✞✂✪ ✖✞✎ ✂✁✏ ✩✎✕✕✪✆✪☛✂✁✏✘✪ ✓✗✂✂☛✒✠ ✰☛ ✂✁✏ ✑✎☞✏ ✙☛✘ ✎✌✌ ✂✁✏ ☛✂✁✏✘ ✄✌✎✧✏✘
✑✂✎✂✏✑✠
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✌✞✓✆✏✔✏✆✕✏✂✎✞✌✠✄✁✄✆✍✕✏✖✏✌☛✄✆✂✗✂☛✘✞✎✌✑
✆✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✆☞✎✞✒✚✏✖✏✒✂✑✚✑✂✎✂✏✱
✌✞✒✟✞✒✍✠✄✒✍✛✞✕✜✍✕✏✖✏✌☛✄✢✣✤✂✗✂☛✘✞✎✌✑✢✣✤✁☛✝✂☛✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✥
✲✳✴✵✶✶✷✸✶ ✷✸✹✺✻✼✽✾✷✺✸
❚ ❀❯ ❱ ❲❳P❲❳P❚❲❨❱ ❨❨❖❩❱ ❬❭
❇❈❉ ❊❈ ❋●❍■❏❑ ▲❈▼◆❏❑❖ ❏❈P◗▲ ❘ ❙❋❑ ❚❍◗❊❑ ❯❊●❊❑ ▼●❱❱❱ ❋❊❊◆❲❳❳❉◗❨◗❱▲❈▼◆◗❏P●▼❑❯❱❍❑❊❳■❈❨❩❱◆❋◆❳P■❑❬❑❏❈◆❳❊❱❱❱
✁ ✂✄☎✆✄ ✝✂ ☎✆✝✆✄✞✟✁✆ ✟✁ ✠✡✟☛✡ ☞✝✌✝✆ ✝✡✆ ✍✎✌✏✆✄ ☛✑✄✄✆✁✝✎✏ ✟☞ ✠✆ ✠✟✎✎ ✌☎☎ ✌ ✝✆✒✝ ✂✓✔✆☛✝
✌✁☎ ☛✌✎✎ ✟✝ ✕☎✆✓✑✖✗☞✝✌✝✆✘✙ ✚☎☎ ✟✝ ✝✂ ✝✡✆ ✞✌✟✁ ☞☛✆✁✆ ✌✁☎ ☛✄✆✌✝✆ ✝✡✆ ✛✂✎✎✂✠✟✁✖ ✎✂✖✟☛ ✌✝
✝✡✆ ✆✁☎ ✂✛ ✞✌✟✁ ☞☛✆✁✆☞ ✎✂✖✟☛ ✎✟☞✝ ✟✁ ✂✄☎✆✄ ✝✂ ☎✟☞✍✎✌✏ ✝✡✆ ☛✑✄✄✆✁✝ ✍✎✌✏✆✄ ☞✝✌✝✆ ✄✟✖✡✝
✌✓✂✜✆ ✟✝✢☞ ✡✆✌☎ ✛✂✄ ☎✆✓✑✖✖✟✁✖ ✍✑✄✍✂☞✆☞✙ ✣✂ ✠✡✆✁✆✜✆✄ ☞✂✞✆✝✡✟✁✖ ☎✂✆☞✁✢✝ ✛✑✁☛✝✟✂✁ ✝✡✆
✠✌✏ ✠✆ ✠✌✁✝ ✠✆ ✠✟✎✎ ✌✎✠✌✏☞ ✤✁✂✠ ✟✁ ✠✡✟☛✡ ☞✝✌✝✆ ✠✆ ✡✌✜✆ ✝✂ ✎✂✂✤ ✛✂✄ ✝✡✆ ✆✄✄✂✄✙
✥✡✝✝✍✦✧✧✠✟✤✟✙☛✂✞✍✟✎✖✌✞✆☞✙✁✆✝✧✎✟✓✧✆✒✆✧☎✆✝✌✟✎✙✍✡✍✧✖☎✆✜✆✎✂✍✧✝✑✝✂✄✟✌✎☞
✧✛✟✁✟✝✆☞✝✌✝✆✞✌☛✡✟✁✆
✧✞✌✟✁✗✆✜✆✁✝☞✗☎✆✓✑✖✙✍✁✖★✟☎✩✖☎✆✜✆✎✂✍✪✫✚✝✑✝✂✄✟✌✎☞✪✫✚✡✂✠✝✂✛✟✁✟✝✆☞✝✌✝✆✞✌☛✡✟✁✆✬
✹✍✆✁ ✝✡✆ ✆✒✝✆✄✁✌✎ ☞✝✌✝✆ ✕✍✎✌✏✆✄✗☞✝✌✝✆✗✟✁✟✝✘✙ ✺✡✟☞ ☞✝✌✝✆ ✟☞ ✑☞✆☎ ✛✂✄ ✟✁✟✝✟✌✎✟✻✟✁✖ ✂✑✄ ✍✎✌✏✆✄
✂✓✔✆☛✝ ✠✡✆✁ ✝✡✆ ✖✌✞✆ ☞✝✌✄✝☞✙ ✁ ✝✡✆ ✛✟✆✎☎ ✕✆☎✟✝ ✌☞ ✟✛ ✆✜✆✁✝☞ ✠✆✄✆ ✟✁☛✎✑☎✆☎ ✝✂ ☞☛✆✁✆✘
✣✟✁☛✆ ✠✆ ✌✎✄✆✌☎✏ ☞✆✝ ✝✡✆ ☛✂✁☎✟✝✟✂✁ ✌✓✂✑✝ ✠✡✆✁ ✝✂ ✆✒✆☛✑✝✆ ✝✡✆ ☛✂☎✆ ✂✛ ✝✡✆ ✟✁✟✝ ☞✝✌✝✆ ✟✁
✝✡✆ ✞✌✟✁ ☞☛✆✁✆ ✆✜✆✁✝☞ ☞✡✆✆✝ ✠✆ ☛✌✁ ✎✆✌✜✆ ✂✑✝ ✝✡✆ ☛✂✁☎✟✝✟✂✁ ✡✆✄✆ ✌✁☎ ✔✑☞✝ ✌☎☎ ✌☛✝✟✂✁☞✙
✼✟✄☞✝ ✂✛ ✌✎✎ ✠✆ ✁✆✆☎ ✝✂ ☎✟☞✌✓✎✆ ✝✡✆ ☎✆✛✌✑✎✝ ☛✂✁✝✄✂✎☞ ✂✛ ✝✡✆ ✍✎✌✝✛✂✄✞✆✄ ✓✆✡✌✜✟✂✄ ✓✆☛✌✑☞✆
✽✆✒✝ ✠✆ ☞✆✝ ✝✡✆ ✜✌✎✑✆ ✂✛ ✝✡✆ ✍✎✌✏✆✄ ✜✌✄✟✌✓✎✆ ✕☞✝✌✝✆✘ ✝✂ ✕✛✌✎✎✟✁✖✘✙ ✣✂ ✟✁ ✝✡✆ ✁✆✒✝ ✟✝✆✄✌✝✟✂✁
✂✛ ✝✡✆ ✖✌✞✆ ✎✂✂✍ ✝✡✆ ✆✜✆✁✝☞ ✛✄✂✞ ✝✡✆ ✕✛✌✎✎✟✁✖✘ ☞✝✌✝✆ ✠✟✎✎ ✓✆ ✆✒✆☛✑✝✆☎✙ ✾✆ ☛✡✂✂☞✆ ✝✡✆
✛✌✎✎✟✁✖ ☞✝✌✝✆ ✡✆✄✆ ✓✆☛✌✑☞✆ ✝✡✆ ✍✎✌✏✆✄ ✠✌☞ ✍✎✌☛✆☎ ✟✁ ✝✡✆ ✌✟✄ ✌✁☎ ✠✟✎✎ ✆✜✆✁✝✑✌✎✎✏ ✛✌✎✎ ✝✂
✿✂✑ ☛✂✑✎☎ ✌✎☞✂ ✑☞✆ ✝✡✟☞ ☞✝✌✝✆ ✝✂ ✥✄✆✬☞✆✝ ✝✡✆ ✍✎✌✏✆✄☞ ✡✟✝ ✍✂✟✁✝☞❀ ✌✞✞✂ ✂✄ ✂✝✡✆✄ ✝✡✟✁✖☞✙ ✛
✏✂✑ ☎✆☛✟☎✆ ✝✂ ✄✆☞✝✌✄✝ ✝✡✆ ✎✆✜✆✎ ✏✂✑ ☛✌✁ ✌✎✠✌✏☞ ✝✄✌✁☞✟✝ ✓✌☛✤ ✟✁✝✂ ✝✡✆ ✕✟✁✟✝✘ ☞✝✌✝✆ ✝✂ ✄✆☞✆✝
✥✡✝✝✍✦✧✧✠✟✤✟✙☛✂✞✍✟✎✖✌✞✆☞✙✁✆✝✧✎✟✓✧✆✒✆✧☎✆✝✌✟✎✙✍✡✍✧✖☎✆✜✆✎✂✍✧✝✑✝✂✄✟✌✎☞
✧✛✟✁✟✝✆☞✝✌✝✆✞✌☛✡✟✁✆
✧ ✟✁✟✝✗☞✝✌✝✆✗✆✜✆✁✝☞✙✍✁✖★✟☎✩✖☎✆✜✆✎✂✍✪✫✚✝✑✝✂✄✟✌✎☞✪✫✚✡✂✠✝✂✛✟✁✟✝✆☞✝✌✝✆✞✌☛✡✟✁✆✬
✼✌✎✎✟✁✖ ✟☞ ✝✡✆ ✞✂☞✝ ✑✁✟✜✆✄☞✌✎ ☞✝✌✝✆ ✂✛ ✌✎✎✙ ✾✡✆✁✆✜✆✄ ✏✂✑ ✌✄✆ ✑✁☞✑✄✆ ✠✡✟☛✡ ☞✝✌✝✆ ✝✂
✝✄✌✁☞✟✝ ✟✁✝✂ ✕✛✌✎✎✟✁✖✘ ☞✝✌✝✆ ✟☞ ✑☞✑✌✎✎✏ ✌ ✖✂✂☎ ☛✡✂✟☛✆ ✓✆☛✌✑☞✆ ✟✝ ✠✟✎✎ ✆✜✆✁✝✑✌✎✎✏ ✎✆✌☎ ✟✁✝✂
✌ ☞✆✁☞✟✓✎✆ ✂✝✡✆✄ ☞✝✌✝✆ ✌☞ ☞✂✂✁ ✌☞ ✝✡✆ ✍✎✌✏✆✄ ☛✂✎✎✟☎✆☞ ✠✟✝✡ ✌✁ ✂✓✔✆☛✝✙ ✾✡✟✎✆ ✛✌✎✎✟✁✖ ✝✡✆
✍✎✌✏✆✄ ✠✂✁✢✝ ✓✆ ✌✓✎✆ ✝✂ ✍✆✄✛✂✄✞ ✌✁✏ ✌☛✝✟✜✆ ✌☛✝✟✂✁☞✙ ❅✆ ✠✟✎✎ ✂✁✎✏ ✓✆ ✍✌☞☞✟✜✆✎✏ ✌❆✆☛✝✆☎
✓✏ ✝✡✆ ✛✂✄☛✆☞ ✝✡✌✝ ✠✆✄✆ ✌✍✍✎✟✆☎ ✝✂ ✡✟✞ ✓✆✛✂✄✆ ✡✆ ✆✁✝✆✄✆☎ ✝✡✆ ✛✌✎✎✟✁✖ ☞✝✌✝✆✙ ✼✂✄ ✆✒✌✞✍✎✆
❭ ❈❪ ❫ ❴❵❳❴❵❳❛❴❜❫ ❜❜❲❭❫ ❝❞
❁❂❃ ❄❂ ❅❆❇❈❉❊ ❋❂●❍❉❊■ ❉❂❏❑❋ ▲ ▼❅❊ ◆❇❑❄❊ ❖❄❆❄❊ ●❆PPP ❅❄❄❍◗❘❘❃❑❙❑P❋❂●❍❑❉❏❆●❊❖P❇❊❄❘❈❂❙❚P❍❅❍❘❏❈❊❯❊❉❂❍❘❄PPP
✁ ✂✄☎ ✆✝✞✆✟ ✞✠✆ ✁✡☛☛ ✝☞ ✌✞✡✞✆ ✡✍✆✟ ✎✆✟✁✄✟✏ ✝☞ ✡ ✑☎✏✎ ✂✄☎ ✒ ☛☛ ✌✞ ☛☛ ✎✡✌✌ ✓✆☛✂ ✏✄✓✆ ✝
✞✠✆ ✔ ✟✆✕✞ ✄✝ ✂✄☎ ✒✆✟✆ ✑☎✏✎ ✝☞ ✖☎✞ ✂✄☎ ✕✡✝✗✞ ✡✔✑☎✌✞ ✞✠✆ ✔ ✟✆✕✞ ✄✝ ✡✝✂✏✄✟✆✘ ✙✌✆✆ ✞✠✆
✆✚✆✟✕ ✌✆✌ ✌✆✕✞ ✄✝ ✡✞ ✞✠✆ ✖✄✞✞✄✏ ✄✁ ✞✠ ✌ ✞☎✞✄✟ ✡☛ ✞✄ ✕✠✡✝☞✆ ✞✠ ✌ ✖✆✠✡✓ ✄✟✛✘ ✜✄ ✡☛☛ ✒✆ ✡✟✆
✔✄ ✝☞ ✝ ✞✠ ✌ ✌✞✡✞✆ ✌ ✞✄ ✕✠✆✕✢ ✁ ✞✠✆ ✎☛✡✂✆✟ ✕✄☛☛ ✔✆✌ ✒ ✞✠ ✞✠✆ ✁☛✄✄✟✘ ✣✁ ✌✄ ✒✆ ✞✟✡✝✌ ✞ ✞✠✆
✧✁ ✝ ✞✆✌✞✡✞✆✏✡✕✠ ✝✆
✹✠✆ ✔☛✆ ✌✞✡✞✆ ☞✆✞✌ ✞✟ ☞☞✆✟✆✔ ✒✠✆✝✆✓✆✟ ✞✠✆ ✎✆✟✌✄✝ ✝ ✁✟✄✝✞ ✄✁ ✞✠✆ ✕✄✏✎☎✞✆✟ ✔✄✆✌✝✗✞ ✔✄
✡✝✂✞✠ ✝☞✘ ✣✝ ✄✞✠✆✟ ✒✄✟✔✌ ✝✄ ✢✆✂✌ ✡✟✆ ✎✟✆✌✌✆✔ ✡✝✔ ✞✠✆ ✎☛✡✂✆✟ ✄✖✑✆✕✞ ✌ ✑☎✌✞ ✌✞✡✝✔ ✝☞
✌✞ ☛☛✘ ✺ ✢✆ ✝ ✞✠✆ ✤✁✡☛☛ ✝☞✥ ✌✞✡✞✆ ✞✠✆✟✆ ✡✟✆✝✗✞ ✡✝✂ ✡✕✞ ✓✆ ✡✕✞ ✄✝✌ ✞✄ ✖✆ ✎✆✟✁✄✟✏✆✔✘ ✻✆ ✑☎✌✞
✕✠✆✕✢ ✁✄✟ ✕✄✝✔ ✞ ✄✝✌ ✞✠✡✞ ✏✡✢✆ ☎✌ ☛✆✡✓✆ ✞✠✆ ✤ ✔☛✆✥ ✌✞✡✞✆✘ ✜✄ ✁ ✟✌✞ ✄✁ ✡☛☛ ✒✆ ✕✠✆✕✢ ✁ ✞✠✆
✎☛✡✂✆✟ ✌ ✄✝ ✞✠✆ ✁☛✄✄✟✘ ✣✁ ✝✄✞ ✒✆ ✞✟✡✝✌ ✞ ✝✞✄ ✞✠✆ ✁✡☛☛ ✝☞ ✌✞✡✞✆✘ ✼✆✚✞ ✒✆ ✕✠✆✕✢ ✁ ✞✠✆ ✎☛✡✂✆✟
✎✟✆✌✌✆✔ ✞✠✆ ☛✆✍ ✄✟ ✟ ☞✠✞ ✡✟✟✄✒ ✢✆✂✌✘ ✣✁ ✌✄ ✒✆ ✞✟✡✝✌ ✞ ✝✞✄ ✞✠✆ ✒✡☛✢ ✝☞ ✌✞✡✞✆✘ ✺✡✌✞ ✖☎✞ ✝✄✞
☛✆✡✌✞ ✞✠✆ ☎✎ ✡✟✟✄✒ ✢✆✂ ✌ ✕✠✆✕✢✆✔ ✡✝✔ ✁ ✎✟✆✌✌✆✔ ✒✆ ✌✒ ✞✕✠ ✞✠✆ ✎☛✡✂✆✟ ✞✄ ✞✠✆ ✑☎✏✎ ✝☞
✧✁ ✝ ✞✆✌✞✡✞✆✏✡✕✠ ✝✆
✣✝ ✞✠✆ ✒✡☛✢ ✝☞ ✌✞✡✞✆ ✒✆ ✁ ✝✡☛☛✂ ☞✆✞ ✞✄ ✝✞✆☞✟✡✞✆ ✌✄✏✆ ✡✕✞ ✓✆ ✡✕✞ ✄✝✌ ✁✄✟ ✄☎✟ ✎☛✡✂✆✟ ✞✄
✎✆✟✁✄✟✏✘ ✜ ✝✕✆ ✒✆ ☎✌✆ ✑☎✌✞ ✄✝✆ ✌✞✡✞✆ ✁✄✟ ✒✡☛✢ ✝☞ ✞✄ ✞✠✆ ☛✆✍ ✡✝✔ ✁✄✟ ✒✡☛✢ ✝☞ ✞✄ ✞✠✆ ✟ ☞✠✞
✒✆ ✁ ✟✌✞ ✠✡✓✆ ✞✄ ✔✆✞✆✟✏ ✝✆ ✞✠✆ ✔ ✟✆✕✞ ✄✝ ✞✠✆ ✎☛✡✂✆✟ ✠✡✌ ✞✄ ✏✄✓✆✘ ✜✄ ✒✆ ✕✠✆✕✢ ✡☞✡ ✝
✒✠ ✕✠ ✢✆✂ ✒✡✌ ✎✟✆✌✌✆✔ ✡✝✔ ✌✆✞ ✞✠✆ ✔ ✟✆✕✞ ✄✝ ✓✡✟ ✡✖☛✆ ✄✁ ✞✠✆ ✎☛✡✂✆✟ ✡✕✕✄✟✔ ✝☞☛✂ ✄✝✕✆
✒✠✆✝ ✆✝✞✆✟ ✝☞ ✞✠✆ ✒✡☛✢ ✝☞ ✌✞✡✞✆✘ ✭✍✆✟ ✞✠✡✞ ✒✆ ✒ ☛☛ ✏✡✢✆ ✞✠✆ ✎☛✡✂✆✟ ✏✄✓✆ ✝ ✞✠✡✞
✼✄✒ ✞✠✡✞ ✞✠✆ ✎☛✡✂✆✟ ✌ ✡✖☛✆ ✞✄ ✒✡☛✢ ✒✆✗☛☛ ✡☞✡ ✝ ☞✆✞ ✞✄ ✞✠✆ ✕✄✝✔ ✞ ✄✝✌ ✞✠✡✞ ✏✡✢✆ ✠ ✏
☛✆✡✓✆ ✞✠✆ ✕☎✟✟✆✝✞ ✌✞✡✞✆✘ ✜✄ ✒✠✡✞ ✕✄☎☛✔ ✠✡✎✎✆✝ ✒✠ ☛✆ ✒✆ ✡✟✆ ✒✡☛✢ ✝☞✩ ✹✠✆ ✏✄✌✞
✄✖✓ ✄☎✌ ✞✠ ✝☞ ✒✄☎☛✔ ✖✆ ✞✠✡✞ ✞✠✆ ✒✡☛✢ ✝☞ ✢✆✂ ✌ ✟✆☛✆✡✌✆✔✘ ✣✝ ✞✠✡✞ ✕✡✌✆ ✒✆ ✒ ☛☛ ✞✟✡✝✌ ✞
✝✞✄ ✞✠✆ ✤ ✔☛✆✥ ✌✞✡✞✆✘ ✣✁ ✒✆ ✒✡☛✢ ✄✓✆✟ ✞✠✆ ✆✔☞✆ ✄✁ ✞✠✆ ✕☎✟✟✆✝✞ ✎☛✡✞✁✄✟✏ ✒✆ ✞✟✡✝✌ ✞ ✝✞✄
✞✠✆ ✤✁✡☛☛ ✝☞✥ ✌✞✡✞✆✘ ✭✝✔ ✁ ✞✠✆ ✑☎✏✎ ✢✆✂ ✌ ✎✟✆✌✌✆✔ ✒✆ ✌✒ ✞✕✠ ✝✞✄ ✞✠✆ ✑☎✏✎ ✝☞ ✌✞✡✞✆✘
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✌✞✓✆✏✔✏✆✕✏✂✎✞✌✠✄✁✄✆✍✕✏✖✏✌☛✄✆✂✗✂☛✘✞✎✌✑
✆✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏
✆✝✎✌✟✞✒✍✚✑✂✎✂✏✚✏✖✏✒✂✑✠✄✒✍✛✞✕✜✍✕✏✖✏✌☛✄✢✣✤✂✗✂☛✘✞✎✌✑✢✣✤✁☛✝✂☛✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✥
✤✑ ✵☛✗ ☞✎✵ ✁✎✖✏ ✍✗✏✑✑✏✕✶ ✂✁✏ ✙✞✘✑✂ ✂✁✞✒✍ ✝✏ ✝✞✌✌ ✕☛ ✞✑ ✂✘✞✍✍✏✘✞✒✍ ✂✁✏ ✷✗☞✄ ✎✡✂✞☛✒ ☛✒✡✏
✝✏ ✏✒✂✏✘ ✂✁✏ ✑✂✎✂✏✠ ✸✁✏ ✙☛✘✡✏ ✝✞✌✌ ✓✏ ✎✄✄✌✞✏✕ ✄✎✑✑✞✖✏✌✵ ✑☛ ✝✏ ✕☛✒✹✂ ✁✎✖✏ ✂☛ ✝☛✘✘✵
✎✓☛✗✂ ✞✂ ✎✒✵☞☛✘✏ ☛✒✡✏ ✝✏ ✄✏✘✙☛✘☞✏✕ ✂✁✏ ✷✗☞✄✠ ✤✑ ✎✌✝✎✵✑ ✂✁✏ ✌✎✑✂ ✂✁✞✒✍ ✝✏ ✒✏✏✕ ✂☛ ✕☛
✞✑ ✙✞✒✕ ✡☛✒✕✞✂✞☛✒✑ ✂✁✎✂ ☞✎✟✏ ✗✑ ✂✘✎✒✑✞✂ ✞✒✂☛ ✎✒☛✂✁✏✘ ✑✂✎✂✏✠ ✺✒ ✂✁✞✑ ✡✎✑✏ ✝✏ ✝✞✌✌ ✡✁✏✡✟ ✞✙
✂✁✏ ✄✌✎✵✏✘ ✞✑ ✏✞✂✁✏✘ ✒☛✂ ✷✗☞✄✞✒✍ ☛✘ ✙✎✌✌✞✒✍✠ ✺✙ ✂✁✞✑ ✞✑ ✂✁✏ ✡✎✑✏ ✂✁✏ ✄✌✎✵✏✘ ✍✏✂✑ ✂✘✎✒✑✙✏✘✘✏✕
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✌✞✓✆✏✔✏✆✕✏✂✎✞✌✠✄✁✄✆✍✕✏✖✏✌☛✄✆✂✗✂☛✘✞✎✌✑
✆✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏
✆✷✗☞✄✞✒✍✚✑✂✎✂✏✚✏✖✏✒✂✑✠✄✒✍✛✞✕✜✍✕✏✖✏✌☛✄✢✣✤✂✗✂☛✘✞✎✌✑✢✣✤✁☛✝✂☛✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✥
✽✾✿❀❁❂❃❄✾✿
❅✏ ✁✎✖✏ ✒☛✝ ✑✄✌✞✂ ✗✄ ✂✁✏ ✄✌✎✵✏✘ ✌☛✍✞✡ ✞✒✂☛ ✙✞✖✏ ✕✞❆✏✘✏✒✂ ✑✂✎✂✏✑ ✝✁✞✡✁ ☛✒✌✵ ✁✎✒✕✌✏ ✂✁✏
✌☛✍✞✡ ✂✁✎✂ ✞✑ ✎✄✄✌✞✡✎✓✌✏ ✂☛ ✂✁✏☞ ✎✒✕ ✒☛✂✁✞✒✍ ☞☛✘✏✠ ✺✙ ✵☛✗ ✝✎✒✂ ✵☛✗✘ ✄✌✎✵✏✘ ✂☛ ✍✎✞✒
✎✕✕✞✂✞☛✒✎✌ ✎✓✞✌✞✂✞✏✑ ✌✞✟✏ ✙✌✵✞✒✍✶ ✕✞✖✞✒✍✶ ✕✞✏✞✒✍ ☛✘ ✍✏✂✂✞✒✍ ✑☞✎✑✁✏✕ ✎✍✎✞✒✑✂ ✎ ✝✎✌✌ ✷✗✑✂
✁✂✂✄☎✆✆✝✞✟✞✠✡☛☞✄✞✌✍✎☞✏✑✠✒✏✂✆✌✞✓✆✏✔✏✆✙✏✂✡✁✠✄✁✄✆✍✕✏✖✏✌☛✄✆✂✗✂☛✘✞✎✌✑
✆✙✞✒✞✂✏✑✂✎✂✏☞✎✡✁✞✒✏✆✙✑☞✚✂✗✂☛✘✞✎✌✠❈✞✄✥
❉❊❋●❀❄❃❋❃
❍✥ ✤✑ ✵☛✗ ☞✎✵ ✁✎✖✏ ✎✌✘✏✎✕✵ ✒☛✂✞✡✏✕ ✂✁✏ ✄✌✎✵✏✘ ✞✑ ✡✗✘✘✏✒✂✌✵ ✎✡✂✞✒✍ ✎ ✌✞✂✂✌✏ ✕✞❆✏✘✏✒✂
❝ ❏❞ ❡ ❢❣❴❢❣❴❤❢✐❡ ✐✐❫❥❡ ❦❧
✥✦✧ ★✦ ✩✪✫✬✭✮ ✯✦✰✱✭✮✲ ✭✦✳✴✯ ✵ ✶✩✮ ✷✫✴★✮ ✸★✪★✮ ✰✪✹✹✹ ✩★★✱✺✻✻✧✴✼✴✹✯✦✰✱✴✭✳✪✰✮✸✹✫✮★✻✬✦✼✽✹✱✩✱✻✳✬✮✾✮✭✦✱✻★✹✹✹
✁✂✄☎ ✂✆ ✝✁☎ ✞✂✟ ✝✁✞✆ ✂✝✁ ✝✁☎ ✠☎✡✞☛✄✝ ☞✌✆✝✟✌✄✍ ✞☞✝✂✎✞✝☎✠✏ ✑✁✂✍ ✂✍ ✒☎☞✞☛✍☎ ☎ ☞☛✟✟☎✆✝✄✓
✁✞✎☎ ✆✌ ✞☞✝✂✎☎ ✂✆✔☛✝ ✂✆ ✝✁☎ ✕✡✞✄✄✂✆✖✗ ✍✝✞✝☎✏ ✘✌ ✓✌☛✟ ✝✞✍✙ ✂✍ ✝✌ ☎✆✞✒✄☎ ✝✁☎ ✔✄✞✓☎✟ ✝✌ ✚✌✎☎
✁✂✄☎ ✁☎ ✂✍ ✂✆ ✝✁☎ ✡✞✄✄✂✆✖ ✍✝✞✝☎✏ ✛✁☎☞✙ ✂✡ ✝✁☎ ✚✌✎☎✚☎✆✝ ✙☎✓✍ ✞✟☎ ✔✟☎✍✍☎✠ ✞✆✠ ✞✔✔✄✓ ✁✞✄✡
✌✡ ✝✁☎ ☛✍☛✞✄ ✚✌✎☎✚☎✆✝ ✡✌✟☞☎ ✝✌ ✝✁☎ ✔✄✞✓☎✟✏
✜✢ ✣✁✂✄☎ ✂✆ ✕✂✠✄☎✗ ✍✝✞✝☎ ✝✁☎ ✔✄✞✓☎✟ ✂✍ ✤☛✍✝ ✍✝✞✆✠✂✆✖ ✝✁☎✟☎ ✠✌✂✆✖ ✆✌✝✁✂✆✖✏ ✛✟☎✞✝☎ ✞✆ ✕☎✓☎
✒✄✂✆✙✂✆✖✗ ✞✆✂✚✞✝✂✌✆ ✞✆✠ ✞✔✔✄✓ ✝✁✂✍ ☎✎☎✟✓ ☞✌☛✔✄☎ ✌✡ ✍☎☞✌✆✠✍ ✁✂✄☎ ✂✆ ✂✠✄☎ ✍✝✞✝☎ ✝✌
☞✟☎✞✝☎ ✚✌✟☎ ✟☎✞✄✂✍✚✏
✿ ✦❀ ✿ ❁❂✻❁❂✻❃❁❄✿ ❄❄✺❅✿ ❆❇
How to use variables ? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtousevariables
Welcome page
(http://wiki.compilgames.net
How to use variables ?
/doku.php/start)
Documentation Variables are extremely useful in a game: They can be used to remember lots of
(http://wiki.compilgames.net information, like the life of the player, the state of an object, the amount of ammo
/doku.php/gdevelop available…
/documentation) In this tutorial, we are going to show how to uses variables in di�erent context.
Tutorials
You can download the small project used for the tutorial here:
(http://wiki.compilgames.net
/doku.php/gdevelop http://www.compilgames.net/dl/VariablesTutorial.zip
/tutorials) (http://www.compilgames.net/dl/VariablesTutorial.zip)
and you can also try it online (http://www.compilgames.net/games
Links
/VariablesTutorial).
GDevelop Website
And of course, do not hesitate to experiment with the project and the events!
(http://www.compilgames.net)
Forum
Quick reminder about variables in
(http://www.forum.compilgames.net)
Variables are attached to a scene ( We call them Scene variable ) or to the game (
Global variables ). The values of global variables are not changed when switching to a
new scene, whereas scene variables are reset.
Every object of a scene can also have its own set of variables: In this case, the
variables are called Object variables.
Using variables
Store the state of an object
Variables can be used to store the state of an object: In the example, the Player
object contains a variable called Jumping .
When the variable is set to 0, we consider that the object is not jumping and when it is
set to 1, we consider that the object is in the air. Here, the variable is used to avoid
adding more than one impulsion to the player when Space is pressed:
1 of 4 07/07/2016 11:45 AM
How to use variables ? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
The conditions are testing if Space is pressed and if the variable is set to 0. If the
conditions are fulfilled, the actions are triggered: The object is moved, and the
Jumping variable is set to 1. Thus, the actions won't be able to be triggered more
than once.
We then need to set back the Jumping variable to 0 when the object has landed on
the ground:
And that's all. Using this variable, we can now easily know if the object is in the air or
on the ground, and prevent unwanted repetitions of actions.
Store an amount
Variables are also o�en used to store the life/ammo or any other amount related to
the player or to objects.
In our example, the life is stored inside a scene variable called Life . By default, the
variable is set to 100 ( In the project manager, make a right click on the scene and
choose 'Initial variables' to show the initial values set. )
When the player click on the character, the character is sent in the air and a hurt
animation is set. We also want to decrease the life by 20:
Here we've just used an action to decrease the variable, so whenever the player is
clicked, the life will be decreased.
Note that the conditions ensures that the actions won't be repeated more than one
time in a row ( Otherwise, it would decrease the life several times per second, and we
do not want this! )
You could also decrease a variable in the same manner: Just replace the + by a - .
2 of 4 07/07/2016 11:45 AM
How to use variables ? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Note that these kind of events must be done at the end of the event sheet, or at least
put a�er every events modifying the variable, otherwise these events could change
again the value of the variable and make it go out of the range.
The value is get using the Variable(Life) part. Then, we convert it to a text using
ToString , and finally, we concatenate it with a small text ( Always remember to use
quotes when you want to display a text ). We've also added a call to the round
function so that the variable is displayed as a whole number without decimal places:
“Life: ”+ToString(round(Variable(Life))) .
The last part of the tutorial is devoted to structures, an advanced type of variable. If
you're a beginner, you probably do not need to read this part for now: Experiment
first all the techniques shown above, and then come back if you want more
information about structure
If you want to use a variable as a structure, you just have to avoid changing its value
or text ( As structures variables do not have any value ). Then, to modify the value of a
child variable, just enter as variable name: the name of the variable followed by a
period and finally the name of the child variable. For example:
PlayersStats.NumberOfDeaths .
3 of 4 07/07/2016 11:45 AM
How to use variables ? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
called Level1, Level2, Level3… If you want to show to the player the stats for a
specific level, you may store the number of the level in a variable called
CurrentLevel .
Then, you can access to the stats using this syntax:
PlayersStats[“Level”+ToString(Variable(CurrentLevel))] .
4 of 4 07/07/2016 11:45 AM
How to distribute your game? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtodistribute
Welcome page
(http://wiki.compilgames.net
How to distribute your game?
/doku.php/start)
Documentation When developing your game, you can preview it using the Preview button of the
(http://wiki.compilgames.net ribbon. When you want to distribute your games, you have to go through the export
/doku.php/gdevelop process.
/documentation)
Tutorials
(http://wiki.compilgames.net Exporting a HTML5 game
/doku.php/gdevelop
If you are creating a game using the Web Platform, this section applies for you:
/tutorials)
In File menu, choose Export to the web :
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Then, choose a directory where export the game. You can also choose if the game will
be minified.
1 of 2 07/07/2016 11:48 AM
How to distribute your game? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Click on Export to launch the export process. When it's over, you will be asked if you
want to open the export directory.
In this directory, all the files needed by your game are present:
You can't play to the game from here, you have first to send all the files to a web
hosting and then go with a browser to the location where you uploaded the game.
* In the dialog, choose an export directory and then click on Compile . You can read
here (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/distribution/compilation) a description of all the options available.
* When the compilation is finished, all the files needed by your game are present in
the chosen directory.
You can launch the game by double clicking on the executable ( GameWin.exe by
default on Windows, GameLinux by default on Linux ). If you want to share your game,
you can compress the whole directory in a zip file, and then send it on the web using a
web hosting or a service like DropBox.
If you use external text files (.txt or .xml) for value storage/reading, files will not be
compiled in an unique file nor moved in the folder, you'll have to copy/paste it and
respect the relative path you've choosen in the project.
2 of 2 07/07/2016 11:48 AM
GDevelop & GDevApp community View topic - Sma... http://www.forum.compilgames.net/viewtopic.ph...
Forums for GDevelop, the open source game development so�ware, and GDevApp,
the online and easy-to-use game creation webapp.
Hi guys,
Here is a tutorial showing how you can alert all enemies to the player's presence. It also shows how an object can be
moved within screen limits and shows how to reset scenes.
Attachments
moving_in_limits.zip (./download/file.php?id=1676)
How to move an object in screen limits.
(8.56 KiB) Downloaded 777 times
Check out my Game Develop tutorials on Youtube: https://www.youtube.com/watch?v=0ZW57s2WT1o
(https://www.youtube.com/watch?v=0ZW57s2WT1o)
I am creating memory game where di�erent sound You are working on a network game on native
1 of 2 07/07/2016 12:16 PM
GDevelop & GDevApp community View topic - Sma... http://www.forum.compilgames.net/viewtopic.ph...
is[…] platfo[…]
2 of 2 07/07/2016 12:16 PM
GDevelop & GDevApp community View topic - Tut... http://www.forum.compilgames.net/viewtopic.ph...
Forums for GDevelop, the open source game development so�ware, and GDevApp,
the online and easy-to-use game creation webapp.
User avatar TUTORIAL: HOW TO GET YOUR HTML5 GAME MADE WITH GD ON KONG!
#42338 (./VIEWTOPIC.PHP?P=42338#P42338)
By Darkhog (./memberlist.php?mode=viewprofile&u=343) - Sun 20 Apr 2014, 01:32
This tutorial will explain how to get your game on site like Kongregate. This doesn't cover any advanced subject like
using Kong leaderboards/API in your game as I don't know this myself.
First of all, log in into your Kong Account. This is easiest step .
()
1 of 3 07/07/2016 11:56 AM
GDevelop & GDevApp community View topic - Tut... http://www.forum.compilgames.net/viewtopic.ph...
Fill in game details such as game's name, description and instructions. Unless someone helped you with game, you
can leave contributors list empty as well. It is safe to leave API callback URL not filled too.
Now the tricky part (I assume you already build your game for web from GD. If not - do it now!).
You upload your index.html file as game file. Enter width and height of game's area as well (you can get it from within
GD).
Next check "I would like to upload additional files for my game"
It's bit a tricky part. First you need to put your game's data into ZIP file. Data need to be in root of ZIP and cannot con-
tain index.html file (we uploaded it separately, remember?)
()
2 of 3 07/07/2016 11:56 AM
GDevelop & GDevApp community View topic - Tut... http://www.forum.compilgames.net/viewtopic.ph...
Now we need game icon. It needs to be 250x200px at least. Icon is required to publish your game.. If you don't plan
upload game to other services such as your own site or gdshare, you can check "This game is exclusive to Kongregate"
for a bit of more ad revenue.
Next step is to check all checkboxes under license agreement. Now you can upload your game! A�er verifying game
plays OK, you can hit publish to make game go live! Awesome, isn't it?
There are no impossible things. There is only lack of skills.
_______
C++ and C are like a sea. You can easily get lost in it.
()
3 of 3 07/07/2016 11:56 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:multiplayer_racing_game
Welcome page
(http://wiki.compilgames.net
Tutorial on making a multiplayer
/doku.php/start) racing game
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop This tutorial assumes that you know how to use game develop well and is not new to
/documentation) it. For beginner tutorials, go to http://www.wiki.compilgames.net/doku.php/gdevelop
Tutorials /tutorials (http://www.wiki.compilgames.net/doku.php/gdevelop/tutorials) to see
(http://wiki.compilgames.net more tutorials. The final product should look like this:
/doku.php/gdevelop
/tutorials)
Preparation
Links
First make sure you have already downloaded GDevelop. If not, please download the
GDevelop Website latest version from here http://compilgames.net (http://compilgames.net).
(http://www.compilgames.net) Make sure that you always have the newest version because the older versions might
Forum have bugs.
(http://www.forum.compilgames.net)
Help to translate GD
Creating the project
(https://crowdin.com Create a new project. For this tutorial, we will be using the native platform because it
/project/gdevelop)
has the network extension and the web platform doesn't. Click on empty project and
choose the path you want to save your project at.
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=cce83d&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage1.png
Extensions
We will need 4 extensions:
1 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=636822&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage2.png)
Graphics
We need images to make the game. The graphics I used are already bundled with
GDevelop, so you should have them. You don't need to use them though if you draw
your own graphics. The graphics I used are voiture2nd.png, voiture.png, police.png,
LargeGrass.png, finishline.png, RouteHorizontale.png, RouteVerticale.png, and
2dSmallWoodBox.jpg. The images should all be in the examples folder that is inside
the game develop folder.
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=c9e70f&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage3.png)
2 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
named Background. Use LargeGrass.png for the graphic. You don't really need to do
anything with it, as we will add in the background last because we do not know how
large the track will be. Now, create two other tiled sprites and name them
RoadHorizontal and RoadVertical.Use RouteHorizontale.png and RouteVerticale.png
accordingly for the sprites. We won't be making the track yet. Also, I'm sorry, but
GDevelop did not provide curved roads, so you have to put horizontal and vertical
roads beside each other to make a “curve”.
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=5a09b3&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage4.png)
Now, lets start working on the events. Go to the event page and create a 4 new events:
If up key is pressed, add to car a force, angle: Car.Angle() degrees and length: 300
pixels
This moves the car forward when pressing up key and also enables steering.
3 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
If down key is pressed, add to car a force, angle: Car.Angle()+180 degrees and length:
100 pixels
This moves the car backward when pressing down key and is a�ected by the direction of
the car.
If le� key is pressed, do -200*TimeDelta() to the angle of car
This allows you to steer to the le� by pressing the le� key. Time delta allows events to
run always the same speed so even if your fps is like 10, your results would be around
the same as a guy who has 60 fps. Read more about TimeDelta() here
http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/pres_concepts (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/pres_concepts).
If right key is pressed, do +200*TimeDelta() to the angle of car
The same concept as steering le�, only opposite.
I am fully aware that I did not mention adding the events for car2. We will add that
a�erwards.
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=f74052&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage5.png)
Polizia!
Police, drop your guns! Okay, I'm just joking. We are going to add police cars to the
equation. Add 2 new sprites and both use police.png as graphic. Change their
collision masks to 61, 26.
4 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe
/fetch.php?tok=024151&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage6.png)
Make them be a little behind the racing cars. Their AI will be simple:
Always, add to police a force, angle: Police.Angle() degrees and length: 250 pixels, add
to police2 a force, angle: Police2.Angle() degrees and length: 250 pixels, rotate police
towards Car.PointX(Centre);Car.PointY(Centre) at speed 0deg/second, rotate police2
towards Car2.PointX(Centre);Car2.PointY(Centre) at speed 0deg/second
This moves police toward car and police2 toward car2
5 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=9cb994&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage7.png)
Multiplayer
Add these events:
At the beginning of scene:
Now you need to add in the events that send and receives the information. But before
that, you need to add the controls for car2. Add 2 new events:
The text of variable player is “yes” and variable win =0
The text of variable player is “no” and variable win =0
Now put the first car's control as sub events of the first new event. Duplicate the first
car's controls and do the same for the second event, except rename the controls for
car2. Now in the yes event, add these:
Receive data
Send value Car.X() with title “XPosition” to recipients This sends the car's X
position to the other player
Send value Car.Y() with title “YPosition” to recipients This sends the car's Y
position to the other player
Send value Car.Angle() with title “Angle” to recipients This sends the car's angle
to the other player
Do
=Network::GetReceivedDataValue(“XPosition2”);=Network::GetReceivedDataValue(“YPosition2”)
to the position of car2 This receives the other car's X and Y position
Do =Network::GetReceivedDataValue(“Angle2”) to the angle of car2 This
receives the other car's angle
6 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=ecdca0&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage8.png)
Starting Message
Create a new text object. Write the text “Ready” inside it. Name it start. Create a new
layer and move it to the top. Name it HUD. Add 3 events (I used compare expressions
condition for the first three conditions):
Now we have to add it so that the racing cars and police cars can't move until the text
says “GO!!!” Simply create a new event with TimeFromStart()>=3 and put all of car
and police movement to its sub event.
The Tracks
Now add the background, the cars, the police, the tracks, and the goal to the game!
Nothing more needed to be mentioned.
Camera
We need the camera to follow the player in case the track is bigger than the screen.
Add an action to both car and car2. They should be placed where the networking
7 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
events are so that the camera will follow car/car2 all the time. Use a Center the
camera on object within limits. Center the camera on car/car2. To know more about
centering camera on objects within limits, read: http://www.forum.compilgames.net
/viewtopic.php?f=20&t=5252 (http://www.forum.compilgames.net
/viewtopic.php?f=20&t=5252)
Boundary
Almost done! We need to stop the car from going out of the playfield by creating a
new sprite called obstacle with 2dSmallWoodBox.jpg. We add the event:
Car/car2 is in collision with obstacle (pixel perfect), move away car/car2 of obstacle
(only car/car2 will move).
This moves the car away from the obstacle when the car touches the obstacle.
Now add the obstacles around the playfield so that the player cannot get out of the
playfield.
Bug Fix
There is a little problem when playing the game. When you finish playing, you have to
restart. When you try to close the game while the dialog is out, the game will freeze. A
fix to it is add to the event when win!=0 is first delete go to scene and add :
Open a Yes/No message box and, and save the result in Continue
Now add 2 new event :
The text of variable Continue is =“yes”, go to scene “your_scene”
The text of variable Continue is =“no”, quit the game
The action quit the game is at scene actions.
Congratulations
Good job! You finished this extremely boring tutorial without quitting! Give yourself a
pat on the back. Compile the game to wherever you want and have fun!
Extra
In order to play this game, you and your friend must both port forward
(http://www.portforward.com) to port 50001 and use each other's external IP to
connect to each other. You can find your external ip by going to
http://www.whatismyip.com (http://www.whatismyip.com). Have fun playing this
game with your friends!
Also here (http://www.uploadhosting.co/uploads/123.110.190.113/Network
Tutorial.rar) is a link to my version of the game.
A picture of the game in my scene editor:
8 of 9 07/07/2016 11:58 AM
Tutorial on making a multiplayer racing game [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php?tok=c4c8d5&media=http%3A%2F
%2Fwww.wiki.compilgames.net%2Flib%2Fexe%2Ffetch.php%2Fgdevelop%2Ftutorials%2Fimage9.png)
9 of 9 07/07/2016 11:58 AM
Creating a Memory Match Game in GDevelop [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:memorymatchgame
Welcome page
(http://wiki.compilgames.net
Creating a Memory Match Game
/doku.php/start) in GDevelop
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop by komencanto
/documentation)
This tutorial is based on the original tutorial “Creating a Memory Match Game in
Tutorials
Construct 2” by kittiewan:
(http://wiki.compilgames.net
/doku.php/gdevelop https://www.scirra.com/tutorials/280/creating-a-memory-match-game/page-1
/tutorials) (https://www.scirra.com/tutorials/280/creating-a-memory-match-game/page-1)
Links
For this tutorial you'll need GDevelop, ver. 3.5.74.0 or higher.
GDevelop Website We also will use the card graphics, created by kittiewan in this tutorial, which you can
(http://www.compilgames.net)
download from the linked page (look for Memory Match Tutorial bundle, the folder
Forum Cards Graphics). Or if you want to use your own images you'll need 13 of them: 12 for
face side of the card and 1 for the back of a card.
(http://www.forum.compilgames.net)
Help to translate GD You can try the original game here: http://www.scirra.com/arcade/addicting-
(https://crowdin.com example-games/956/memory-match-tutorial (http://www.scirra.com/arcade
/project/gdevelop) /addicting-example-games/956/memory-match-tutorial)
The goal of the game is to find matching pairs of cards in the least number of turns
possible.
The tutorial consists of 5 parts which will guide you step by step in creating this game.
1 of 5 07/07/2016 12:01 PM
Creating a Memory Match Game in GDevelop [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
Create a new project (the New button at the top or Create a new project in the main
window on the Start page), select Empty project, Native platform (you can always
change to the Web platform, but the debugger is available only on the Native
platform). Under Choose a file for the project, rename the folder My project to
MemoryMatch and the name of the project from Project.gdg to
MemoryMatch_1.gdg (we will save each part of the project as a separate file). At the
end click on the button Create the new project.
Now let's choose the size of the game window and the color of its background.
Right-click on the Project in the Project Manager and select Edit the property
of the game. Set the Window Width to 640 and the Window Height to 480. Close the
window Project Properties .
Next, right-click on the New scene in the Project Manager and select Edit the
properties. Change the background color of the Scene to the one that will contrast
with the white cards - green, for example, and click OK . Also let's rename our Scene
from New scene to Game . Right click on the name New scene and select
Rename . Type in the new name.
- Right-click on the Scene (green field with a frame in the main window) and select
Insert a new object. Select Sprite , and then click OK .
- In the sprite editor, right-click in the Images window and select Add an image from
a file. From the folder containing the card graphics, select the file CardBack.png
and click Open . Then close the sprite editor.
Let's move it inside the frame on our Scene, which shows its visible part when the
game is running.
Now we'll rename our card object from New Object to the card . To do this in the
Objects' Editor , right click on the object New Object , select Rename and
rename it to card .
(Note:
- GDevelop is case sensitive. The 'card' and 'Card' will be names for two di�erent
objects.)
- If the window Object Editor is closed, open it by selecting Scene-Objects Editor
in the top menu.)
Now add another animation to our card, which will contain its face images.
2 of 5 07/07/2016 12:01 PM
Creating a Memory Match Game in GDevelop [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
To do this in the Animation window click on the plus sign (Add animation).
Animation 1 will be added. Then right click in the bottom Images window and
select Add an image from a file. Select all the files with images of the card faces (click
on the first image, then Shift +click on the last and click Open . You'll see then 12
images - frames 0-11 of the Animation 1 of our card.
Now we need to repeat the same action and insert another 12 frames to our
animation and place same pictures side by side. It will help us in the future identify
cards matches.
To place the same pictures next to each other, click on the frame 12 (leaf) and press
“j” to move it to the le� until it will be placed next to the frame 0 (the same image of a
leaf). And repeat that for each of the remaining frames. As a result, you shall see 12
pairs of frames with the same pictures. Now you can close the window Edition of
a Sprite object .
To do this, go to the Event editor (tab Events next to the tab Scene), and create our first
event.
So, in the event editor, in the top panel click Add an Event.
Move your mouse cursor to the part of it which says No condition and select Add a
condition.
A window opens with a list of possible conditions, grouped into categories on the le�
and with the description of them on the right.
Choose:
In the right side of the window choose object card by clicking on a button with
picture of cube on it and selecting card from the list. Then click OK .
To do this, select our first event by clicking on the number 1 , and add a sub-event by
button Add a sub-event on the top or a tab A sub-event under our event ).
Add a condition:
Click on the button with picture of a mouse on it and choose Le� button. Click OK.
Now we need to add Trigger once condition to not constantly execute our event while
the mouse button is pressed.
3 of 5 07/07/2016 12:01 PM
Creating a Memory Match Game in GDevelop [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
So, if the mouse cursor is on the card and le� mouse button was pressed, then … We
need to add an action that changes the animation of the card, when these conditions
are met.
Move your mouse to the part of our sub-event with words No Action and select Add an
action.
Choose:
and click OK
Now, if we'll run our game (Scene-Preview) a�er clicking on the card it will show all its
face images from the first to the last.
Let's fix it. (To exit the Preview mode click on the Edition button.)
We need the card to show only one face image of it - not all of them. To do this, we
need to stop the animation.
Go to the events editor and add another action to our sub-event: Action:
Sprite - Animations and images - Pause the animation
Object: card .
(http://wiki.compilgames.net/lib/exe/detail.php/gdevelop/tutorials
/part1_events.png?id=gdevelop%3Atutorials%3Amemorymatchgame)
If we click on our card it changes its image from card back to its first face picture
(leaf).
(http://wiki.compilgames.net/lib/exe/detail.php/gdevelop/tutorials
/part1_01.png?id=gdevelop%3Atutorials%3Amemorymatchgame)
To exit preview mode, press Edition button in the ribbon on the top.
4 of 5 07/07/2016 12:01 PM
Creating a Memory Match Game in GDevelop [G... http://wiki.compilgames.net/doku.php/gdevelop/t...
In the next part we'll lay out the cards, and make each card show its own face image.
Part 2 (http://wiki.compilgames.net/doku.php/gdevelop/tutorials
/memorymatchgame/part2_choice)
5 of 5 07/07/2016 12:01 PM
How to play sounds on buttons? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtoplaysoundsonbuttons
Welcome page
(http://wiki.compilgames.net
How to play sounds on buttons?
/doku.php/start)
Documentation This is a tutorial on how to play sounds on buttons.
(http://wiki.compilgames.net You should first know how to make/create a button (http://wiki.compilgames.net
/doku.php/gdevelop
/doku.php/gdevelop/tutorials/creatingbuttons) before doing this tutorial.
/documentation)
Tutorials If you know how to make buttons, follow the following steps in order for your buttons
(http://wiki.compilgames.net to play sounds.
/doku.php/gdevelop
/tutorials) 1. Create an event with a condition that the cursor/touch is on an object where the
object being referred is the button.
Links
2. Add the condition “if(and)” below the cursor/touch and trigger once on the if
GDevelop Website
condition.
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/tutorials
/screen_shot_2015-07-08_at_1.09.42_pm.png)
1 of 3 07/07/2016 12:01 PM
How to play sounds on buttons? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/tutorials
/screen_shot_2015-07-08_at_1.04.00_pm.png)
Take note: The sounds must be an .ogg or .wav file and the repeat is not active.
4. Create a new event with cursor/touch on an object condition to the button with the
animation of the button as the action of the event.
5. Create a sub-event that contains the touch of Le� Button of Mouse condition, and
the animation action of the button and the action that contains the sound being
played when the button is being clicked.
In a nutshell, the entire process of event must be organized like this in order to
achieve desired e�ects.
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/tutorials
/screen_shot_2015-07-08_at_1.04.38_pm.png)
Reminders:
Group the events with the same condition/actions like the ones shown on the
screenshot below.
2 of 3 07/07/2016 12:01 PM
How to play sounds on buttons? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/tutorials
/screen_shot_2015-07-08_at_1.41.13_pm.png)
The actions on click may depend on your own desire but the ones shown on
the screenshot above is just an example.
3 of 3 07/07/2016 12:01 PM
gdevelop:tutorials:playingvideos [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:playingvideos
Browse the wiki This tutorial will show you how to play videos in your game using java script. This
Welcome page method was made by my brother Zeal Mayfield. It works on Chrome I haven't tested it
(http://wiki.compilgames.net in other browsers.
/doku.php/start)
First start by enabling JavaScript in your game. Right click on your project icon and
Documentation select “Edit the property of the game”
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com Next you will need to download the java script code file below to your computer.
/project/gdevelop)
https://drive.google.com/file/d/0B0ytvwZTF0r1UVhCbHBCUVI2QlE/view?usp=sharing
(https://drive.google.com/file/d/0B0ytvwZTF0r1UVhCbHBCUVI2QlE
/view?usp=sharing)
In GDevelop add this file as a source code by right clicking on the source file and
selecting “Add an already existing source file”.
It will open a browser locate the file you just downloaded and select it and press
“Open”. Don't quote me on this but this file allows for the use of JQuery which is a
Java Script Library so we can easily write simple code to display a video later.
1 of 2 07/07/2016 12:02 PM
gdevelop:tutorials:playingvideos [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
OK to create the Java Script to play the video Cick “Events” then on the bar above
“Add” then “JavaScrip Code(Web platform only)” and type:
window.video.play(“<Filename.ext>”, “controls”);
If you don't remove the comma and “controls” the video will just auto play. There is
more options you can add with controls being displayed, auto start and di�erent
things maybe someone can add those to this wiki later.
A JavaScript box will appear now you can create a condition, you can see I chose on
click. Create a SubEvent on that event and drag the JavaScript Code box underneath
it.
UNTESTED: Before you can preview it and test it out you will need to add the video
file to the preview folder, you can do this by clicking the image icon and then
selecting add image *the add image button will not work unless you have the image
tab open*. When adding the image be sure to select to display all files as seen in the
picture.
This will not work in the preview because the video file is not placed in the preview
folder. I export the Web Platform game and then just put the videos I'm using inside
the main folder.
If you want you can export to a folder that has local server running out of it to test it
quickly. I use http://www.freeutils.net/source/jlhttp/ (http://www.freeutils.net/source
/jlhttp/) it works great for video playback, and even video scanning.
2 of 2 07/07/2016 12:02 PM
Make a pause menu with two scenes [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:createapausemenu
Welcome page
(http://wiki.compilgames.net
Make a pause menu with two
/doku.php/start) scenes
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop We will see how to pause scene using basic event and action. This tutorial is really
/documentation) basic, the best is to download and test by yourself the attached file.
Tutorials
Explanations: you'll need at least 2 scenes in your project to be able to pause a scene,
(http://wiki.compilgames.net
/doku.php/gdevelop
load another one (to access a menu with options for example). We're using:
/tutorials) Conditions from the “scene” folder
Links Actions from the “scene” folder
Conditions from the “keyboard” folder
GDevelop Website
(http://www.compilgames.net) Basically, pushing the “b” key in the example files (a�er you compiled/exported it to
the web) will switch from scene #1 to scene #2. While the scene #2 is displayed, ths
Forum
scene 1 isn't destructed but all actions/avents are frozen (paused!) in it.
(http://www.forum.compilgames.net)
The example file is both in english and french: pause_scenes_switch.zip
Help to translate GD
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/tutorials
(https://crowdin.com
/project/gdevelop) /pause_scenes_switch.zip)
1 of 1 07/07/2016 12:04 PM
Parallax scrolling [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:parallaxscolling
Welcome page
(http://wiki.compilgames.net
Parallax scrolling
/doku.php/start)
Documentation Parallax scrolling is technique o�en used to display backgrounds to create an illusion
(http://wiki.compilgames.net of depth : An image displaying a background element which is near the camera will
/doku.php/gdevelop scroll faster than a a background element which is far from the camera.
/documentation)
Here is an example : http://forum.compilgames.net/download/file.php?id=1353
Tutorials
(http://forum.compilgames.net/download/file.php?id=1353)
(http://wiki.compilgames.net
/doku.php/gdevelop With GDevelop, you just have to create some layers used for the backgrounds, and put
/tutorials) the di�erent backgrounds on it.
Links Then, instead of centering the camera of these layers on the object to follow ( let's call
it MyObjectToFollow ), just put the X position of the camera of these layers to
GDevelop Website
MyObjectToFollow.X()*0.25 for example ( and the same thing for Y if needed ).
(http://www.compilgames.net)
The 0.25 factor used here tells that the background will follow
Forum MyObjectToFollow 4 times slower than usual ( 1/0.25 = 4 ). You can use others
(http://www.forum.compilgames.net)
factors for the others backgrounds ( See the examples ).
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 12:09 PM
Creating buttons for a menu [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:creatingbuttons
Welcome page
(http://wiki.compilgames.net
Creating buttons for a menu
/doku.php/start)
Documentation Creating a button is very simple: Just add a Sprite object with 3 animations:
(http://wiki.compilgames.net In animation 0, put an image of the button.
/doku.php/gdevelop
In the second animation, put an image of the hovered button.
/documentation)
Finally, in the third animation, put an image of the pressed button.
Tutorials
(http://wiki.compilgames.net Then, using the events, just check if the cursor is on the button and if the mouse le�
/doku.php/gdevelop button is being clicked, and change the animation accordingly:
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
There is a more advanced example called “Buttons.gdg” bundled with GD: In
Forum particular, you can use groups to generalize these events to all your buttons.
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 12:10 PM
GDevelop & GDevApp community View topic - Tex... http://www.forum.compilgames.net/viewtopic.ph...
Forums for GDevelop, the open source game development so�ware, and GDevApp,
the online and easy-to-use game creation webapp.
Hello,
I have just now started using Game Develop so I'm sorry if this question is stupid, but yeah, I figured I'd try asking.
I have a text and I want the text to appear in a manner of "typing itself out" - characters appear one by one. It works
fine, but what I want to do is make them appear from the center of the screen, so that the string is centered when it's
completely "written". Considering there is no option for text alignment, how could I manage to do what I need?
Anyway, you just have to add this action in the event you "refresh" the text to show a new letter:
CODE: SELECT ALL
Do = "Position_to_be_centered" - Text_Object.Width()/2 to the X position of the Text ob‐
ject
"Position_to_be_centered" is the X position where you want the text to be centered (e.g. the centre of the scene)
1 of 3 07/07/2016 12:11 PM
GDevelop & GDevApp community View topic - Tex... http://www.forum.compilgames.net/viewtopic.ph...
I am creating memory game where di�erent sound You are working on a network game on native
is[…] platfo[…]
2 of 3 07/07/2016 12:11 PM
GDevelop & GDevApp community View topic - Tex... http://www.forum.compilgames.net/viewtopic.ph...
3 of 3 07/07/2016 12:11 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:usingjsevents
Welcome page
(http://wiki.compilgames.net
How to use Javascript events
/doku.php/start)
Documentation Using Javascript events, you can insert an arbitrary code of Javascript into your
(http://wiki.compilgames.net games created with the Web platform.
/doku.php/gdevelop
This can be useful if you want to use some external libraries or a very specific code.
/documentation)
With external source files, you can also integrate entire Javascript source files into
Tutorials
your game: it's nice to progressively learn Javascript programming or create a game
(http://wiki.compilgames.net
/doku.php/gdevelop with a programmer.
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
When added, double click on it to edit the code that will be executed. Note that in the
code, you have access to a variable named runtimeScene representing the scene
being played. If you choose some objects in the field below the code, then an
objects variable will be available. It's an array containing the selected objects.
RuntimeScene (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/classes/gdjs.RuntimeScene.html)
RuntimeObject (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/classes/gdjs.RuntimeObject.html)
1 of 3 07/07/2016 12:22 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
To check that the event is working, you can start by calling a simple method on the
runtimeScene , like the one to change background color:
for(var i = 0;i<objects.length;++i) {
objects[i].setX(50); //Set the X position of all picked objects to 50.
}
Then, activate the use of external source files in your game property (right click on the
game name in the Project Manager, than choose properties, and finally check
Activate the use of C++/JS source files ).
Now there is a new item in the structure of your projet called Sources . Make a right
click on it to choose to create a new source file or to import an existing one.
You can edit the files using GD integrated editor or you preferred text editor (take a
look at Sublime Text (http://www.sublimetext.com/)). When your game will be
exported or when you launch a preview, the source files will be integrated to the
game.
Source files are included like any other javascript file: if you want to access to
functions defined inside, you have to store them into a global object or make these
functions globals (just declare it with any prefix, like this: function
myFunction() { … } ). Then you can call them from your events using a Javascript
event.
Here are some tips about Javascript events and external source files:
Always use the debugging tools available in your browser to check if you made
2 of 3 07/07/2016 12:22 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
errors in your code: any error will block the game from running. Developers
tools are most of the time available by pressing F12 in your browser.
If you use lots of Javascript in your game, you'll better use external sources
files and a dedicated text editor (like Sublime Text).
Read the documentation (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/index.html) to know how to use the
objects and functions provided by GDevelop.
Code examples
Read and change the value of a variable:
myVar2.setString("Hello, world");
3 of 3 07/07/2016 12:22 PM
Simulating dynamic arrays with structure notatio... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:simulatingdynamicarrayswithstructurenotation
Welcome page
(http://wiki.compilgames.net
Simulating dynamic arrays with
/doku.php/start) structure notation
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop In GDevelop you can use structure notation applied to an action to declare the child
/documentation) of a structure:
Tutorials
(http://wiki.compilgames.net Do = 1 To Variable myStruct["myChildVar"]
/doku.php/gdevelop
/tutorials) NOTE: any argument passed between square brackets must be a string.
Links TIP: use the VariableString() function (instead of the Variable() function) to get the
value of a variable expressed as a string.
GDevelop Website
(http://www.compilgames.net) You can also declare it dynamically:
Forum
Do = 1 To Variable myStruct[VariableString(myVar)]
(http://www.forum.compilgames.net)
Help to translate GD And use almost the same syntax to dynamically access its value:
(https://crowdin.com
/project/gdevelop) Do = Variable(myStruct[VariableString(myVar)]) To Variable myVar
NOTE: the syntax used in the “name field” (the field that holds the name of the
variable) must be wrapped by the Variable() function when used in the “value field”
(the field that holds the value of the variable).
EXAMPLE:
So, you can simulate dynamic arrays (declared during an iteration for example):
Do = 1 To Variable myStruct[VariableString(myCounterVar)].myChildVar
Do = Variable(myStruct[VariableString(myCounterVar)].myChildVar) To Variable m
Or access the value of a specific element of the array (in this example, 5):
1 of 2 07/07/2016 12:24 PM
Simulating dynamic arrays with structure notatio... http://wiki.compilgames.net/doku.php/gdevelop/t...
Do = 1 To Variable myStruct[VariableString(counter1)][VariableString(counter2)].
And dynamically access to its value with almost the same syntax (wrapped by the
Variable() function):
Do = Variable(myStruct[VariableString(counter1)][VariableString(counter2)].child
2 of 2 07/07/2016 12:24 PM
Using an external function from a dll with C++ c... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:usingdllwithcppcode
Welcome page
(http://wiki.compilgames.net
Using an external function from a
/doku.php/start) dll with C++ code events
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop Using C++ code events, you can load a DLL (or a shared library on Ubuntu) and call a
/documentation) function exported by this DLL.
Tutorials
Beware! This kind of feature is obviously compatible only with native games!
(http://wiki.compilgames.net
/doku.php/gdevelop
You should try to avoid using DLL or external shared library as much as possible to
/tutorials) ensure that your game will remain compatible with newer version of GDevelop.
Links
GDevelop Website
Activate external C++ sources for your
(http://www.compilgames.net) game
Forum First, make sure that external C++ sources are activated for your game: In the project
(http://www.forum.compilgames.net)
manager, edit the properties of your game and check the corresponding option.
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Add .cpp and .h files
Add two files a cpp source file and a header source file to your game. You can name
them Functions.cpp and Functions.h for example.
As usual when working with C++, the .cpp file will contains the implementation of
functions (that will be called from the events), and the .h file will only contains the
declaration of these functions.
1 of 4 07/07/2016 12:24 PM
Using an external function from a dll with C++ c... http://wiki.compilgames.net/doku.php/gdevelop/t...
#include <GDCpp/RuntimeScene.h>
if (scene.IsFirstLoop())
MyFunction(scene);
The C++ code event must not be placed as a sub event, due to a bug in GD. It should
be fixed in the next version.
For now, be sure that the C++ event you've added is not a sub event of another event.
The DLL must be put next to the game project (or the game executable when the
game is compiled).
2 of 4 07/07/2016 12:24 PM
Using an external function from a dll with C++ c... http://wiki.compilgames.net/doku.php/gdevelop/t...
#include <GDCpp/RuntimeScene.h>
#define WINDOWS //As I'm testing it on Windows. Replace it by LINUX if you are u
#include <GDCpp/DynamicLibrariesTools.h>
#include <stdint.h>
3 of 4 07/07/2016 12:24 PM
Using an external function from a dll with C++ c... http://wiki.compilgames.net/doku.php/gdevelop/t...
specifies we want to use the SHA1 hashing function. Refer to the documentation or
the source code of the DLL for more information.
Other example
#include <GDCpp/RuntimeScene.h>
#define WINDOWS //As I'm testing it on Windows. Replace it by LINUX if you are u
#include <GDCpp/DynamicLibrariesTools.h>
#include <stdint.h>
4 of 4 07/07/2016 12:24 PM
Load a JSON file to a variable [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:jsonfile
Welcome page
(http://wiki.compilgames.net
Load a JSON file to a variable
/doku.php/start)
Documentation You can load the content of a local JSON file into a variable.
(http://wiki.compilgames.net For native games, you can only load a JSON file from a website. See the note at the
/doku.php/gdevelop
end of this page.
/documentation)
Tutorials First, you need a json file that you'll put next to the index.html file when your game is
(http://wiki.compilgames.net exported. For example:
/doku.php/gdevelop
/tutorials) {
Links "title": "My great news",
"content": "Hello everybody"
GDevelop Website }
(http://www.compilgames.net)
Forum In your game, add an action called “Send a HTTP request to a website”.
(http://www.forum.compilgames.net) For the host, enter an empty string: “” (as we're using a local file put in the
Add a Text object, and set the text of this object to the value of the RawNews
variable. Put the object on the scene. Export your game, put the news.json file next
to the index.html , send the game to a website and open it with a browser. You'll
see the variable filled with the JSON.
Ok, great, we can now display the content of the JSON file! How to read the value of
the title and content.
Add an action a�er the first one. Choose action Convert JSON to variable .
For the first parameter (“JSON string”), the action expect the content of the
json, so enter VariableString(RawNews) . (As the RawNews variable
contains the JSON)
Then enter the name of the variable that will contain the value of the JSON.
For example, News .
That's all! Now you can access to the title like this VariableString(News.title)
(and the content in the same way: VariableString(News.content) ).
1 of 2 07/07/2016 12:24 PM
Load a JSON file to a variable [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
For example, you can add a text object and this action:
Again, export the game, put it on a website, put the json file next to the
index.html .
The object called MyTextObject will now display Hello everybody! You can update
the json file and relaunch the game, and the text will be updated! This is great to
make a news system.
Here we are loading a local JSON file. It works only for HTML5 games.
For native games, you have to enter the website name in the “host” parameter. For
example, if your JSON file is hosted at http://www.example.com/test/news.json
(http://www.example.com/test/news.json), enter “http://www.example.com
(http://www.example.com)” for the name of the host, and “test/news.json”
for the name of the page. It will works for native games and HTML5 games (For HTML5
games, just be sure to host your game on the same domain, www.example.com
(http://www.example.com) here).
2 of 2 07/07/2016 12:24 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:onlinehighscores
Welcome page
(http://wiki.compilgames.net
Online High Scores
/doku.php/start)
Documentation Adapted from mtarzaim tutorial(the credits go for him, please).
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Pre-requisites:
Tutorials A website with a PHP server + MySQL server
(http://wiki.compilgames.net Full Access to the MySQL server, to create tables and then update it
/doku.php/gdevelop
Gdevelop
/tutorials)
The variables (global variables usually) to send to your website
Links
Variables used in my game: Note: all these variables are Global Variables inside
GDevelop Website Gdevelop
(http://www.compilgames.net)
Name
Forum TimeLe�
(http://www.forum.compilgames.net) Deaths
Help to translate GD
Fire
(https://crowdin.com Energy
/project/gdevelop) Oxygen
Score
Using the “root” account is too dangerous, since the password will be hardcoded in a
1 of 6 07/07/2016 12:25 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Create a new user “readonly” with a password, whose rights will only be SELECT, for
the database “GDProject”. It will be used for SELECT queries (read data in the
database). Create a new user “update” with a password, whose rights will be
INSERT, for the database “GDProject”.
Like this, even if your php pages are hacked, they will only get low-level access to your
database, unable to destroy the core of your system.
Using PHPMyadmin With PhpMyAdmin is easy to create a table and the fields. Create
inside the table “player” with the following settings :
Note: In my case, I did not use Timestamp or date! I have more columms as the
columm 2 example.
Note: Insert a few dummy rows, to be sure everything works, and to have some inputs
to display later.
PhpMyAdmin:
2 of 6 07/07/2016 12:25 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
goxygen=”+GlobalVariableString(oxygen) +“&gscore=”+GlobalVariableString(score)
Take a look:
index.htm
HiscoresToUpdate.php
Hiscores.php
Why two php pages ? Couldn't one just be enough? Because we will need to trick a
little the user.
The first page will update the database with the variables sent by GD. But we must
prevent the user to access this page manually (and modify the variables in the
address bar, so he could get a higher score or mess with the database). So immediatly
a�er he accesses it, he will be redirect to the second page, designed for display only. It
will be harder for him to mess with the variables. It's still possible with sni�er tools.
But why wasting time using those for a little amateur game?..
Connect to your website and create a directory “GDProject”, via FTP (File Transfer
Protocol).
Note: In my case, had to create a .htaccess file with some instructions to make it work.
Take a look:
Add two new files : A) “HiscoresToUpdate.php”, the PHP page to update the
database . Don't forget to replace “db user”, “user pass”, and “db name” to yours.
3 of 6 07/07/2016 12:25 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Note: In my case, I did create a styled page with the use of Bootstrap( teached by my
friend Bruno Cochito. Thanks!).
4 of 6 07/07/2016 12:25 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
5 of 6 07/07/2016 12:25 PM
Online High Scores [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Well, below you can see the Final Game Screen, with the option to save score: (with
text entry object ). And the High score Page working.
6 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtoexportwithcocos2dx
Welcome page
(http://wiki.compilgames.net
How to export your game with
/doku.php/start) Cocos2d-x
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop Cocos2d-x is a game engine that can used by GDevelop to render HTML5 games. By
/documentation) default, the underlying rendering engine used by GDevelop when previewing or
Tutorials exporting HTML5 games is Pixi.js.
(http://wiki.compilgames.net
/doku.php/gdevelop
Cocos2d-x provides an engine that enables games to be both exported to the web
/tutorials) (using HTML5 and webGL) and to native platforms, including iOS, Android, Windows,
Mac OS (Operating System) X and Linux. In both cases, GDevelop game engine is the
Links
same, but the rendering is done with Cocos2d-x, using either WebGL on the web or
GDevelop Website native OpenGL on the other platforms.
(http://www.compilgames.net)
Export with Cocos2d-x is still experimental. Also, native export to iOS, Android,
Forum Windows, Mac OS (Operating System) X and Linux involves installation of some
additional tools.
(http://www.forum.compilgames.net)
Help to translate GD If you want to read about the normal export, read How to distribute your game
(https://crowdin.com (http://wiki.compilgames.net/doku.php/gdevelop/tutorials/howtodistribute).
/project/gdevelop)
1 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
You can't play directly to the game by opening index.html. You need to upload it to a
web server.
2 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
To open a command line (also called Command Prompt) on Windows, type cmd in
the start menu.
On OS (Operating System) X or Linux, open the Terminal app.
Open a new command line and go to the directory where Cocos2d-x was
extracted. To do this, type cd followed by the path of the folder of Cocos2d-x.
Put quote at the beginning and the end of the path if it contains spaces.
For example:
cd C:/Users/Florian/Downloads/Cocos2d-x-3.10 on Windows,
cd /Users/florian/Downloads/cocos2d-x-3.10 on OS (Operating System) X.
Wait a bit: Cocos will now create a new folder with the name of your game. It will
contains everything needed to compile the game.
3 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
Now, using GDevelop, choose to export your game with Cocos2d-x (see the first
section if you need help). Choose the folder created by Cocos2d-x as the export
folder in GDevelop. Finally press Export.
You're ready! You now have a full game exported with GDevelop and ready to be
compiled with cocos : see the sections below to know how to export for a specific
platform.
Later, if you change your game and want to rebuild the native games, just export the
game in the same folder using GDevelop, and relaunch the cocos commands
explained in the sections below.
Android export
This section is a dra� and not yet complete. You can help by completing
it with more information!
The following command requires keytool which is installed as part of the Java
Development Kit (JDK). It will create a keystore in the current folder, just remember to
change 'Your_personal_file_title' and then press enter. You will be asked a few
questions and then be prompted to create the keystore, just type yes and press enter.
Wait for the compilation to be done: this can be quite long the first time you launch it.
When it's done, an APK file should be available in the folder publish/android .
4 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
Mac OS X export
You need to have XCode (https://developer.apple.com/xcode/) installed on
your Mac. You can install it from the App Store.
With the command line, in the folder of your game, launch cocos compile
-p mac -m release .
Wait for the compilation to be done: this can be quite long the first time you launch it.
When it's done, the app is available in publish/mac .
iOS export
You need to have XCode (https://developer.apple.com/xcode/) installed on
your Mac. You can install it from the App Store.
Open the XCode project
In XCode, click on Play.
Wait for the compilation to be done: this can be quite long the first time you launch it.
Windows export
This section is a dra� and not yet complete. You can help by completing
it with more information!
5 of 6 07/07/2016 12:25 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
With the command line, in the folder of your game, launch cocos compile
-p metro -m release
If the result of the command is Can't find correct Visual Studio's path
in the registry. , then you have not Visual Studio properly installed. Check that
you've installed it, close and relaunch the command line a�er the installation.
Wait for the compilation to be done: this can be quite long the first time you launch it.
6 of 6 07/07/2016 12:25 PM
Animation/Graphics [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:usefulso�wares
Browse the wiki Many open sources so�wares may help you when creating a game with GDevelop :
Welcome page graphics so�wares (pixel art or not), 2D/3D animations, audio creation and mixes.
(http://wiki.compilgames.net
The purpose of this page is to create a knowledge base, to be complete by anyone,
/doku.php/start)
where so�wares are organized by themes:
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop Animation/Graphics
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
Animation
/tutorials) Spriter :
Links Website : http://www.brashmonkey.com/ (http://www.brashmonkey.com/)
Description : Spriter from BrashMonkey.com creates optimized and flexible
GDevelop Website
modular 2D and bone-based sprite animations for making games.
(http://www.compilgames.net)
Licence : Free and commercial for pro version.
Forum
DragonBones :
(http://www.forum.compilgames.net)
Website : https://dragonbones.github.io/ (https://dragonbones.github.io/)
Help to translate GD
(https://crowdin.com Description : The Open Source 2D skeleton animation solution not just for
/project/gdevelop) Flash.
Licence : Free.
Pencil2D :
Website : http://www.pencil2d.org/ (http://www.pencil2d.org/)
Description : 'Pencil2D', an open-source animation so�ware in development.
Licence : Free.
Graphics
Gimp : http://www.gimp.org/ (http://www.gimp.org/)
Inkscape : https://inkscape.org (https://inkscape.org)
Paint.NET : http://www.getpaint.net/index.html (http://www.getpaint.net
/index.html)
MyPaint : http://mypaint.intilinux.com/ (http://mypaint.intilinux.com/)
Krita : https://krita.org/ (https://krita.org/)
Pixothelo : http://teknopants.com/pixothello/ (http://teknopants.com
/pixothello/)
Pixelaria : http://sourceforge.net/projects/pixelaria/ (http://sourceforge.net
/projects/pixelaria/)
GraphisGale : http://www.humanbalance.net/gale/us/
(http://www.humanbalance.net/gale/us/)
Grafx2.0 : https://code.google.com/p/grafx2/wiki/Downloads?tm=2
1 of 3 07/07/2016 12:42 PM
Animation/Graphics [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
(https://code.google.com/p/grafx2/wiki/Downloads?tm=2)
Spritecutter : http://spritecutter.sourceforge.net/
(http://spritecutter.sourceforge.net/)
Piskel : http://www.piskelapp.com/ (http://www.piskelapp.com/)
3D2Sprite : http://3d2sprite.blogspot.com (http://3d2sprite.blogspot.com)
Blender :
Website : https://www.blender.org/ (https://www.blender.org/)
Description : open source 3D graphics and animation so�ware.
Licence : Free.
Anim8or :
Website : http://www.anim8or.com/ (http://www.anim8or.com/)
Licence : Free.
Conception
Xmind
Website : https://www.xmind.net/ (https://www.xmind.net/)
Description : The Most Popular Mind Mapping Tool, millions of people use
XMind to clarify thinking, manage complex information, run brainstorming and
get work organized.
Licence : Free, commercial for pro version.
Tile Studio
Website : http://tilestudio.sourceforge.net/ (http://tilestudio.sourceforge.net/)
Description : Tile Studio is a complete development utility for graphics of
tile-based games. The application contains a bitmap editor for creating tiles
and sprites and a map editor for designing level maps.
Licence : Free.
Audio
Audacity
Website : http://sourceforge.net/projects/audacity/ (http://sourceforge.net
/projects/audacity/)
Description : Audacity® is free, open source, cross-platform so�ware for
recording and editing sounds.
Licence : Free.
2 of 3 07/07/2016 12:42 PM
Animation/Graphics [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
bfxr
bfxr : http://www.bfxr.net/ (http://www.bfxr.net/)
Description : Bfxr is an elaboration of the glorious Sfxr, the program of choice
for many people looking to make sound e�ects for computer games.
Licence : Free
VST Hosts
Description : Various VST Host are open source. VST hosts are designed to use
VST and VSTi (Virtual instruments) in the aim of creating music. In videogames,
it means creating your own OST.
Websites (list of links) :
1. http://bedroomproducersblog.com/2011/05/16/bpb-freeware-studio-
best-free-vst-host-applications/ (http://bedroomproducersblog.com
/2011/05/16/bpb-freeware-studio-best-free-vst-host-applications/)
Video
IceCream Screen Recorder : http://icecreamapps.com/fr/Screen-Recorder
/upgrade.html (http://icecreamapps.com/fr/Screen-Recorder/upgrade.html)
Others
Overlap2D : http://overlap2d.com/ (http://overlap2d.com/)
3 of 3 07/07/2016 12:42 PM
How to translate GDevelop [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/ar...
gdevelop:articles:translate_gd
Welcome page
(http://wiki.compilgames.net
How to translate GDevelop
/doku.php/start)
Documentation GDevelop can be translated into any language.
(http://wiki.compilgames.net Translation is done using Crowdin:
/doku.php/gdevelop
/documentation) 1. To begin, go on the GDevelop Crowdin project (https://crowdin.com/project
Tutorials /gdevelop).
(http://wiki.compilgames.net 2. Choose the language for which you want to translate GD. If your language is
/doku.php/gdevelop not listed, just send a mail to the project owner (https://crowdin.com
/tutorials) /mail/compose/4ian) and it will be added to the list!
Links 3. A�er choosing the language, click on All GDevelop texts to be
translated .
GDevelop Website
4. Now, you can contribute to the translation! Choose a string on the le�,
(http://www.compilgames.net)
translate it on the center and click on Commit translation .
Forum
Please do not hesitate to send a message (https://crowdin.com/mail/compose/4ian)
(http://www.forum.compilgames.net)
to notify that you started a translation or when you think a translation is advanced
Help to translate GD enough to be integrated to the so�ware!
(https://crowdin.com And you'll be integrated into the GDevelop contributors list.
/project/gdevelop)
Try a translation in GD
Each time a new version of GD is released, translations are downloaded from Crowdin
and integrated to the so�ware. If you want to see your translation in the so�ware
without having to wait for the next version, follow these steps:
1 of 1 07/07/2016 12:42 PM
Getting started [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_getstart
Welcome page
(http://wiki.compilgames.net
Getting started
/doku.php/start)
Documentation Using GDevelop is easy!
(http://wiki.compilgames.net You just have to read some pages if you've never created games before so as to be
/doku.php/gdevelop sure that you understand the basic concepts used in GDevelop :
/documentation)
1. You should start out by reading the Mechanisms
Tutorials
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
(http://wiki.compilgames.net
/doku.php/gdevelop /pres_mechanisms) and Concepts (http://wiki.compilgames.net/doku.php
/tutorials) /gdevelop/documentation/manual/pres_concepts) sections for some basics
and background.
Links
2. Then you should read the overview of the interface
GDevelop Website (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
(http://www.compilgames.net) /edit_overview) to see the main editors of GDevelop.
3. You can finally go through the introductory tutorials
Forum
(http://wiki.compilgames.net/doku.php/gdevelop/tutorials) and open
(http://www.forum.compilgames.net)
examples in GDevelop – there are a lot of examples!
Help to translate GD
In particular, take a look at How to make a platformer game?
(https://crowdin.com
/project/gdevelop) (http://wiki.compilgames.net/doku.php/gdevelop/tutorials
/howtomakeeaplatformergame) or this step-by-step tutorial for beginners
(http://wiki.compilgames.net/doku.php/gdevelop/tutorials/beginnertutorial2).
1 of 1 07/07/2016 12:50 PM
Mechanisms [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:pres_mechanisms
Welcome page
(http://wiki.compilgames.net
Mechanisms
/doku.php/start)
Documentation A game created with GDevelop is composed of several elements:
(http://wiki.compilgames.net Images, which can be displayed within objects;
/doku.php/gdevelop
Objects, your game's building blocks. Almost everything displayed on screen
/documentation)
is an object: missiles, heroes, backgrounds, text, you name it. Di�erent types of
Tutorials
objects are available: Sprite objects display animations, and each animation
(http://wiki.compilgames.net
/doku.php/gdevelop consists of one or more images. Di�erent animations can be set up depending
/tutorials) on the status of an object (standing up, running, destroyed, …) or the direction
the object is moving;
Links
Events give life to the game. Whenever some set conditions are met within an
GDevelop Website event, actions will be triggered: for example, an object will move, appear, or
(http://www.compilgames.net) change its direction;
Behaviors allow to automatically modify the objects behavior. For example,
Forum
the Physics behavior makes objects behave realistically, as if they were
(http://www.forum.compilgames.net)
subject to the laws of physics;
Help to translate GD Scenes are the di�erent screens making up a game. Each scene contains
(https://crowdin.com objects and events and can represent a menu, a level, or an options screen.
/project/gdevelop) You can navigate across scenes by using events.
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_object.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_mechanisms)
Platforms
Since GDevelop 3, you can choose the platform on which the game will be used. There
1 of 2 07/07/2016 12:50 PM
Mechanisms [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
are two o�icials plaforms: The Web platform and the Native platform.
The HTML5 platform is fairly new and can be used to create games which will
be available for the web browsers ( HTML5 games ).
The Native platform allows to create compiled games which can be played on
Windows or Linux. This platform is older and support a lots of features which
are not (yet!) available on the web platform. Natives games can also be played
at a higher speed most of the time.
If you want to develop a game for both platforms, it's possible! Create your game with
one platform and then activate the other in the extension window
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/extensions). Remember to use features that are available on both platforms - and
regularly test your game.
This o�ers several advantages: For example, and unlike some other video game
creation tools, nobody is able to create a decompiler which could be used to steal
your project.
2 of 2 07/07/2016 12:50 PM
Concepts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:pres_concepts
Welcome page
(http://wiki.compilgames.net
Concepts
/doku.php/start)
Documentation The basic concepts of GDevelop are simple. Read the following information to get
(http://wiki.compilgames.net started with the program.
/doku.php/gdevelop
/documentation)
Tutorials
Coordinate system
(http://wiki.compilgames.net Objects on the scene have an X and a Y coordinate, corresponding to the horizontal
/doku.php/gdevelop
position (X-axis) and the vertical (Y-axis) position on the Cartesian plane.
/tutorials)
The mouse coordinates are shown in the Scene Editor (http://wiki.compilgames.net
Links
/doku.php/gdevelop/documentation/manual/editors/scene_editor/edit_scene_edit)
GDevelop Website status bar:
(http://www.compilgames.net)
(http://wiki.compilgames.net/lib/exe/detail.php
Forum
(http://www.forum.compilgames.net)
/wiki/pres_position.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
Help to translate GD As shown below, the X-coordinate decreases as you scroll to the le� and increases as
(https://crowdin.com you scroll to the right, while the Y-coordinate decreases as you scroll upwards and
/project/gdevelop)
increases as you scroll downwards.
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_coord1.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
In order to move or rotate objects, you will need to specify the desired angle in
degrees. See below how GDevelop understands the angle rotation:
1 of 5 07/07/2016 12:51 PM
Concepts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
(http://wiki.compilgames.net
/lib/exe/detail.php
/wiki/pres_coord2.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
If you use trigonometric functions like the sine or the cosine, note that you will have
to express angles in radians. ( 1 radian = 180/PI degrees and 1 degree = PI/180
radians, PI being the number which is approximately equal to 3.14159 )
This process is a mere application of logic. This event will delete all objects called
“Square”:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event1.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
This event will instead delete only the “Square” objects with X position inferior to 100
pixels:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event2.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
2 of 5 07/07/2016 12:51 PM
Concepts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event3.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event4.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
The first pair creates a “Square” object in position 200;100 and then deletes it. No
“Square” is displayed on screen.
The second pair deletes all “Square” objects from the scene, and then creates one
“Square” in position 200;100, so the square remains visible.
You can specify the Cartesian coordinates of a force (i.e. X and Y, in pixels), its polar
coordinates (the force vector angle and length), and the force dispersion, a
coe�icient between 0 and 1. Each second, the force length will be multiplied by the
dispersion: a value of 1 means that force will continue forever, a value of 0 will make it
stop immediately. All intermediate values will cause the force to gradually stop.
Example
Say you want to move an object towards the bottom:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_vector.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
You can add a force using X/Y coordinates, specifying 0 for the X coordinate and, say,
150 pixels for the Y coordinate. You can also use polar coordinates and add a force
with an angle of 90° and a length of 150 pixels.
Variables
3 of 5 07/07/2016 12:51 PM
Concepts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Variables allow you to store data, for example a number or a text. We might compare
them to drawers or boxes where we can file notes. Any data can be stored, as long as
it is in text or number format: number of lives remaining, high-score, bullets le�, killed
enemies, etc… You are probably going to use numbers o�en.
(http://wiki.compilgames.net
/lib/exe/detail.php
/wiki/pres_variable.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
Variable scope
The scope of a variable determines where a variable can be accessed. In GDevelop,
three variable scopes are available:
Global variables are accessible from all the game scenes; for instance, they can be
used to store the player's score across di�erent levels;
Scene variables are only accessible from a scene. They can be used for data that only
concern one scene and not the entire game, like the time remaining before an
explosion;
Object variables only concern one object. For example, a hero can have a “Health” or
“Ammo” variable.
To make the speed of changes constant, use the TimeDelta() expression, which
returns the time in seconds since the last frame. For example, do not do the following:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event5.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
4 of 5 07/07/2016 12:51 PM
Concepts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event6.png?id=gdevelop%3Adocumentation%3Amanual%3Apres_concepts)
The first event is adding 20 to the variable every time the game is refreshed ( i.e. as
much as possible ). It's not correct to use a such event as the speed of the increase of
the variable will not be the same from computer to computer: We cannot predict the
value of the variable a�er 10 seconds for example.
The second event is correct and reliable : The number 300 is multiplied by
TimeDelta(). Thus, the variable will be increased at the same time on all computers.
As TimeDelta() returns a time in second, it allows you to quantify exactly the amount:
In our case, the variable will grow at 300 unit/seconds. Thus, we can predicate that
the life will increase by 3000 units in 10 seconds.
Remember to use TimeDelta when you want to continually add some amount to a
value.
When you're moving an object using forces, there is no need to use TimeDelta() as
GDevelop automatically uses it.
5 of 5 07/07/2016 12:51 PM
Overview of the interface [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_overview
Welcome page
(http://wiki.compilgames.net
Overview of the interface
/doku.php/start)
Documentation
(http://wiki.compilgames.net
Interface a�er launching GDevelop
/doku.php/gdevelop When you first start GDevelop, the interface looks like this:
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
If no game is opened, the project manager, on the le�, is empty. The project manager
shows the list of the opened game and their structure, notably the scenes composing
the game :
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/edit_project.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_overview)
For more information about the other elements of the project manager, read this
page (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/edit_projman).
1 of 4 07/07/2016 12:52 PM
Overview of the interface [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
The ribbon at the top of the window displays the main commands that can be used.
The ribbon page is automatically changed when you're using an editor. At the start,
the ruban is showing the “Projects” page which has notably a button New allowing
to create a new game:
If you create a new game, a scene is automatically added to the game and opened. If
you open a game, double click on a scene in the project manager to open it.
The main area allows you to put objects on the scene so as to create a level, a
main menu…
On the right, the objects available for the scene are displayed by the objects
editor (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/edit_object).
You can display the events by clicking on the Events tab which is on the
bottom.
Others editors can also be used but are not shown by default: For example, the
layers editor can be displayed by clicking on its icon in the ribbon.
Add objects
2 of 4 07/07/2016 12:52 PM
Overview of the interface [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
To add objects, make a right click on the scene and choose Add an object . You
can also directly use the objects editor (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/edit_object):
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/edit_object.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_overview)
To put objects on the scene, do a drag'n'drop: Make a click on an object in the list and
keep the le� button pressed. Then, move the cursor over the scene and release the
le� button to put the object.
You can learn more about the objects editor on its page (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/editors/scene_editor/edit_scene_edit).
Create events
To edit events, click on the Events tab at the bottom. The events editor
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/edit_event) is displayed:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/edit_event.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_overview)
Preview a scene
Editors presented above can be used when you are in edition mode. You can play to
the scene being edited by launching a preview. Click on the Preview button in the
ribbon, and then on Play :
3 of 4 07/07/2016 12:52 PM
Overview of the interface [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/scene_edit_mode.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_overview)
As usual, you can learn more about the editor by reading its dedicated page
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual/editors
/scene_editor/edit_scene_preview).
Learn more
This quick overview was designed to present the most useful editors.
If you want to learn more about a specific editor, browse the table of contents
(http://wiki.compilgames.net/doku.php/gdevelop/documentation) of the help to find
the appropriate page.
Learn more about how to use GDevelop by reading the Getting Started page
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/edit_getstart).
4 of 4 07/07/2016 12:52 PM
The Project Manager [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_projman
Welcome page
(http://wiki.compilgames.net
The Project Manager
/doku.php/start)
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
From the Project Manager you can modify the game parameters and access other
(http://www.forum.compilgames.net)
editors.
Help to translate GD
Several games can be opened at once.
(https://crowdin.com
/project/gdevelop)
Managing games
You can create a new game by clicking on the New button in the ribbon, or by
pressing Ctrl-N . A window will popup to let you choose a file for your new project
as well as a template ( You can also choose to start from an empty project ).
You can close a game by right-clicking on it in the Project Manager and choosing
Close this project , or by pressing Ctrl-W . Right-clicking on an item in the
Project Manager will activate a menu: from there you can modify other settings, like
the game parameters or the global variables.
Once a game is open, you need to double-click on it to activate it. To save a game, use
the Save icon in the ribbon or press Ctrl-S .
Images
Double-click on Images to open the Image Bank (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/edit_image).
1 of 2 07/07/2016 01:00 PM
The Project Manager [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Scenes
A game is composed of scenes: the first scene in the list will be launched first.
To add a scene, right-click on Scenes and choose Add a scene . Double-click on a
scene to modify it in the Scene Editor (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/editors/scene_editor/edit_layer), or right-click it
for more options.
External events
External events (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/external_events) are events which are not directly linked to a scene. They
can be included to one or more scene using Link events.
External layouts
External layouts (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/external_layouts) are objects which are not directly linked to a scene. They
can be dynamically created on a scene using the appropriate action.
It can be very useful to load a level into a scene ( See example “Multiple levels with
external layouts” ).
Extensions
Extensions allow to add, extend and simplify GDevelop creation capabilities. Double
click on Extensions to choose the extensions (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/extensions) to use in your project.
2 of 2 07/07/2016 01:00 PM
Extensions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:extensions
Welcome page
(http://wiki.compilgames.net
Extensions
/doku.php/start)
Documentation All features o�ered by GDevelop are built using the extensions system. Extensions can
(http://wiki.compilgames.net provide new objects, new events, actions, conditions and behaviors. A lot of
/doku.php/gdevelop extensions are bundled with GDevelop, o�ering a large range of features.
/documentation)
To view the extensions available and select which one you want to use in your project,
Tutorials
double click on “Extensions” in the Project Manager (http://wiki.compilgames.net
(http://wiki.compilgames.net
/doku.php/gdevelop /doku.php/gdevelop/documentation/manual/edit_projman). The following window
/tutorials) will popup:
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
You can see all the extensions available. Check the ones you want to use in your
project.
You must close any scene editor already open and open them again to see the
changes (notably for extensions providing new events)
If you activate both native and HTML5 platforms for your game, you'll be able to
1 of 2 07/07/2016 01:01 PM
Extensions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
compile your game as a native game and also export it as HTML5. Just make sure to
only use features compatible with both platforms.
Are you a developer? You can create your extensions! See how in http://4ian.github.io
/GD-Documentation/GDCore%20Documentation/ (http://4ian.github.io
/GD-Documentation/GDCore%20Documentation/)
2 of 2 07/07/2016 01:01 PM
Edit initial variables [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:global_variables
Welcome page
(http://wiki.compilgames.net
Edit initial variables
/doku.php/start)
Documentation You can declare variables and their initial values for any variable type: global
(http://wiki.compilgames.net variables, scenes variables or objects variables.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Variables can be used in events without declaring them, but declaring variables
allows to attribute initial values and declared variables are more e�icient than not
declared variables when used intensively in events.
Basic changes
Use the first button of the toolbar to add a new variable. You can then change its
value by double cliking on it. Toolbar can also be used to reorder the variables, delete
the selected variable or modify the name of an existing variable.
1 of 2 07/07/2016 01:01 PM
Edit initial variables [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
A�er clicking on it, GDevelop will scan the project and will present you a list
containing the name of variables used in the events but not declared in the list. You
can then check in this list the variable you want to be added to the already declared
variables.
Declaring structures
GDevelop supports the use of structures: structures are variables that contains other
variables, called the child variables, instead of a single value or text.
You can add a child to a variable by making a right click on it, and choosing Add a
new child : The variable will be transformed into a structure and the child variable
will be added.
In the events, you can access to a child variable using this syntax:
Variable.ChildName . You can also enter a text expression instead of the child
name using brackets : Variable.[“Child”+ToString(Variable(Index))]
2 of 2 07/07/2016 01:01 PM
The Image Bank [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_image
Welcome page
(http://wiki.compilgames.net
The Image Bank
/doku.php/start)
Documentation The Image Bank contains all images used by your game. The top-le� part of the
(http://wiki.compilgames.net editor contains an image list, and the bottom-right part shows a preview of the
/doku.php/gdevelop selected images. As explained below, you can organize images in folders.
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum (http://wiki.compilgames.net/lib/exe/detail.php
(http://www.forum.compilgames.net)
/wiki/image_bank.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_image)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Basic Changes
To add an image, right-click it and choose Add an image . A window will
pop-up and let you choose a file. A new image will be named like its source file
and added to the list;
Right-click on an image to access other properties and to copy, cut and paste
it.
Properties
You can access to an image properties by simply selecting it. Properties are shown in
the bottom-right part of the editor by default. You can then modify the image file, its
name, choose if the image must be smoothed ( True by default; deactivate this
option if you want a pixel-perfect display) and if the image must be kept in memory
(useful with drawing actions and if no objects use the image).
Folders
You can use folders to organize your images. Click on the Add a virtual folder
1 of 2 07/07/2016 01:01 PM
The Image Bank [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
icon in the ribbon or on the toolbar in the Images Bank to open the window below:
(http://wiki.compilgames.net/lib/exe/detail.php
/wiki/folder.png?id=gdevelop%3Adocumentation%3Amanual%3Aedit_image)
Multiple folders can contain the same image, and all the images in your game are
visible in the All images folder. To add a folder, right-click and choose Add a
folder . You can rename the new folder by right-clicking it and choosing Rename .
To add an image to a folder, right-click on the folder and choose Add an image . A
window will appear and let you choose a file. The image will be added to the folder
and to the All images folder. You can remove an image by right-clicking on it and
choosing Remove from the folder only .
Other features
You can edit an image in your favorite image manipulation program with the
button Edit ;
You can search an image by typing a part of its name in the search box display
on the bottom part of the editor.
2 of 2 07/07/2016 01:01 PM
The Scene Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_scene
Welcome page
(http://wiki.compilgames.net
The Scene Editor
/doku.php/start)
Documentation From the Scene Editor you can edit the scene layout and access other editors.
(http://wiki.compilgames.net The Scene Editor can be launched in two modes, the edit mode
/doku.php/gdevelop (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/documentation) /editors/scene_editor/edit_scene_edit) and, for native games, the preview mode
Tutorials (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
(http://wiki.compilgames.net /editors/scene_editor/edit_scene_preview).
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Click on the second button to launch a preview.
Forum
HTML5 games will be launched in your browser. Native games will be launched inside
(http://www.forum.compilgames.net)
the scene editor: click on the first button to go back to the edit mode
Help to translate GD
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual/editors
(https://crowdin.com
/project/gdevelop) /scene_editor/edit_scene_edit).
1 of 1 07/07/2016 01:01 PM
The Scene Editor: the edit mode [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:editors:scene_editor:edit_scene_edit
Welcome page
(http://wiki.compilgames.net
The Scene Editor: the edit mode
/doku.php/start)
Documentation The edit mode allows you to design the scene (which represent a level of your game,
(http://wiki.compilgames.net or a menu, or any particular screen that should be shown to the user). You put objects
/doku.php/gdevelop on the scene, move, resize and rotate them, and you specify additional properties if
/documentation) needed.
Tutorials
Note that objects can be put on di�erent layers: by default, objects are put on the
(http://wiki.compilgames.net
/doku.php/gdevelop Base layer. Most objects should live on this layer, but you can add other layers and
/tutorials) objects on it using the layer editor (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/editors/scene_editor/edit_layer).
Links
GDevelop Website
(http://www.compilgames.net)
Basic usage
Forum
Help to translate GD
(https://crowdin.com
To put an object on the scene, drag it (that means that you click on the object, then
/project/gdevelop) move your mouse to the scene while keeping the le� button pressed) from the object
list of the Object Editor, which is on the right by default.
1 of 3 07/07/2016 01:02 PM
The Scene Editor: the edit mode [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
To delete an object, just select it by clicking on it and press the Delete key on your
keyboard.
To resize an object, click to select it and drag one of the buttons that are around the
border. If you keep pressing the SHIFT key while doing it, the ratio width/height of the
object will be preserved.
You can also rotate an object: drag the button that is near the center of the object.
Keep pressing SHIFT to make sure that the angle of the object is a multiple of 45
degrees.
Note that you can choose more than one object by holding the Shift key while
clicking.
2 of 3 07/07/2016 01:02 PM
The Scene Editor: the edit mode [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Editors
The first buttons allow you to open the Objects Editor
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/edit_object) and the Layer Editor (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/editors/scene_editor/edit_layer). By default,
the Objects Editor is opened on the right.
Instances is used to open a list of all objects put on the scene (called instances of
objects). You can use it if you need to search for a specific objects that may be hidden
by others on the scene.
Undo/Redo
You can Undo and Redo the changes you've made on the scene. You can use the
menu below the Undo button to undo a lot of changes.
The mask button will display a rectangle on the screen, showing the size of the game
area. You can update the size of the game window from the projects manager.
You can also zoom/unzoom in the scene editor using the mouse wheel.
3 of 3 07/07/2016 01:02 PM
Layer Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:editors:scene_editor:edit_layer
Welcome page
(http://wiki.compilgames.net
Layer Editor
/doku.php/start)
Documentation Layers allow to set which objects are to be displayed. For example, you can create an
(http://wiki.compilgames.net Interface layer for all the objects in the interface and a Base layer for the rest. This
/doku.php/gdevelop way you can move the camera around the Base layer without a�ecting the interface.
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
The Layer Editor can be opened from the Scene Editor (http://wiki.compilgames.net
/project/gdevelop)
/doku.php/gdevelop/documentation/manual/edit_scene) ribbon. From there you can
add, remove and move layers from the toolbar. The layer currently selected is
highlighted with a blue arrow: objects added to the scene will be added to the
selected layer. Double-click on a layer to edit it, and on the eye to hide/show it.
Editing a layer
The Edit layer window allows you to change the layer name and the camera
behavior. By default, a layer only has one camera of standard size (the game window
size) covering the whole window. You can add another camera by clicking on Add
another camera and choosing the camera to display in the list.
1 of 2 07/07/2016 01:02 PM
Layer Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
The area where a camera is rendered on the screen is called the viewport. The first
coordinates represent the viewport top-le� corner, and the second pair of
coordinates the bottom-right corner. The values need to be between 0 and 1: they are
then multiplied by the window size.
In the picture above, the top-right corner coordinates are three quarters of the total
screen width and three quarters of the total screen height. With a resolution of for
example 1024×768, that corresponds to point (768, 576). The bottom-le� corner is the
same as the monitor bottom-le� screen, so in our example (1024, 768). As explained
in the Concepts (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/pres_concepts) section, remember that the Y-axis increases from top to
bottom, and the origin is in the top-le� corner.
You can also change the size “filmed” by the camera by checking Personalized
size .
2 of 2 07/07/2016 01:02 PM
Edit initial variables [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:global_variables
Welcome page
(http://wiki.compilgames.net
Edit initial variables
/doku.php/start)
Documentation You can declare variables and their initial values for any variable type: global
(http://wiki.compilgames.net variables, scenes variables or objects variables.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Variables can be used in events without declaring them, but declaring variables
allows to attribute initial values and declared variables are more e�icient than not
declared variables when used intensively in events.
Basic changes
Use the first button of the toolbar to add a new variable. You can then change its
value by double cliking on it. Toolbar can also be used to reorder the variables, delete
the selected variable or modify the name of an existing variable.
1 of 2 07/07/2016 01:02 PM
Edit initial variables [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
A�er clicking on it, GDevelop will scan the project and will present you a list
containing the name of variables used in the events but not declared in the list. You
can then check in this list the variable you want to be added to the already declared
variables.
Declaring structures
GDevelop supports the use of structures: structures are variables that contains other
variables, called the child variables, instead of a single value or text.
You can add a child to a variable by making a right click on it, and choosing Add a
new child : The variable will be transformed into a structure and the child variable
will be added.
In the events, you can access to a child variable using this syntax:
Variable.ChildName . You can also enter a text expression instead of the child
name using brackets : Variable.[“Child”+ToString(Variable(Index))]
2 of 2 07/07/2016 01:02 PM
The Scene Editor: preview mode [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:editors:scene_editor:edit_scene_preview
Forum
(http://www.forum.compilgames.net)
You can try to improve your game performance using the Profiler
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual/editors
/scene_editor/edit_preview_profiler):
1 of 1 07/07/2016 01:02 PM
The Profiler [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:editors:scene_editor:edit_preview_profiler
Welcome page
(http://wiki.compilgames.net
The Profiler
/doku.php/start)
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
Basic usage
(http://www.forum.compilgames.net)
Help to translate GD The Profiler helps you improve the performance of your game. Open it by clicking on
(https://crowdin.com Profiler in the ribbon of a scene in Preview Mode (http://wiki.compilgames.net
/project/gdevelop) /doku.php/gdevelop/documentation/manual/editors/scene_editor
/edit_scene_preview). To activate profiling, tick the box in the top-le� corner: this will
reload the scene. Now launch the game as usual. The Profiler will display graphs
about the event execution speed, scene rendering and number of objects. You can
change the refresh rate and add/hide curves by right-clicking on the graphics.
1 of 2 07/07/2016 01:04 PM
The Profiler [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
The first number represents the time taken by the event in milliseconds. The second is
the same value as a percentage of the total execution time. The higher this
percentage, the brighter red the rectangle will be: use this feature to identify bottle-
necks.
Note that if an event has sub-events, their execution time is included in the total
event execution time.
2 of 2 07/07/2016 01:04 PM
Preview mode: the debugger [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:editors:scene_editor:edit_preview_debug
Welcome page
(http://wiki.compilgames.net
Preview mode: the debugger
/doku.php/start)
Documentation The debugger allows you to view and modify data related to the scene, like the scene
(http://wiki.compilgames.net properties or an object variable.
/doku.php/gdevelop
The debugger displays the properties in lists. At any moment, double click on a
/documentation)
property to edit it.
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Objects tab
1 of 2 07/07/2016 01:04 PM
Preview mode: the debugger [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Objects are displayed in the tree on the le� side. Choose an object by first clicking on
its name and then on its number (Remember that there can be multiple objects with
the same name). You can view data about the objects and their variables.
Double-click on the objects to modify them.
Extension-related tabs
More tabs can be available depending on which extensions in use. Use them to get
information about the extension features.
2 of 2 07/07/2016 01:04 PM
Objects Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_object
Welcome page
(http://wiki.compilgames.net
Objects Editor
/doku.php/start)
Documentation The Objects Editor lists all the objects in a scene. Each object has a unique name and
(http://wiki.compilgames.net a type which determines its appearance and capabilities. From the Objects Editor
/doku.php/gdevelop you can also access to global objects (i.e. objects that can be used in any scene) and
/documentation) groups (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
Tutorials /edit_group).
(http://wiki.compilgames.net
/doku.php/gdevelop You can add new objects, remove, rename existing ones and edit them (for example,
/tutorials) most of your objects will be Sprite objects: you can edit them to add animations with
images inside).
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
For example, Sprite objects are objects with animations and that can be used for most
part of your game. Text objects are used to display texts. Some objects can have a
very specific usage. For example, the AdMob (http://wiki.compilgames.net/doku.php
/gdevelop/documentation/manual/built_admob) object is used to display ads when
you export your game with Intel XDK on iOS or Android (http://wiki.compilgames.net
/doku.php/gdevelop/tutorials/howtoshowadswithadmobandintelxdk).
1 of 2 07/07/2016 01:06 PM
Objects Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Advanced usage
Right-click on an object or use the ribbon to access to more options:
2 of 2 07/07/2016 01:06 PM
Behaviors of objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_automatisms
Welcome page
(http://wiki.compilgames.net
Behaviors of objects
/doku.php/start)
Documentation Behaviors are premades features that can be used to add a specific behaviour to any
(http://wiki.compilgames.net kind of object.
/doku.php/gdevelop For example, the Physics behavior (http://wiki.compilgames.net/doku.php/gdevelop
/documentation) /documentation/manual/built_physics) can be used to add a realistic behaviour to
Tutorials objects.
(http://wiki.compilgames.net
Links To see the behaviors of an object, make a right click on the object in the objects editor
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
GDevelop Website
/edit_object) and then click on Properties. Behaviors are shown in the window
(http://www.compilgames.net)
containing all the object properties:
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
The behaviors used by the object are displayed at the bottom of the list. To edit a
behavior, simply edit the properties in the list. To add or remove a behavior, use the
Add and Remove buttons in the list.
1 of 2 07/07/2016 01:06 PM
Behaviors of objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
For example, it can be useful to disable useless behaviors such as the Light obstacle
behavior (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/built_layer) or Platform behavior (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/built_platformer), when objects are far from the player.
Behaviors can also bring new actions, conditions or expressions: In this case, there
will be a new category in the actions or conditions list.
Most of the time, you should try to use as much as possible actions or conditions of
the behavior: for example, when using the Physics behavior, you should not use the
built-in force system to move the object, but rather use the actions provided by the
behavior.
2 of 2 07/07/2016 01:06 PM
Edit groups of objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_group
Welcome page
(http://wiki.compilgames.net
Edit groups of objects
/doku.php/start)
Documentation The objects editor has a tab which is displaying the object groups :
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
Each object group contains the name of one or more objects. You can then use the
GDevelop Website name of the group in the event to refer to all the objects contained in the group.
(http://www.compilgames.net) To add a group, use the ribbon. You can edit the objects included in a group by double
Forum clicking on it in the list.
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:06 PM
Events Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_event
Welcome page
(http://wiki.compilgames.net
Events Editor
/doku.php/start)
Documentation In the Events Editor you can design how a scene works.
(http://wiki.compilgames.net Events are presented in a list, with conditions on the le� and actions on the right. In
/doku.php/gdevelop addition to standard events using conditions and actions, other event types can be
/documentation) added: For example, with comment events you can add some text in the event list.
Tutorials Finally, you can add sub-events, which are executed only if the parent conditions are
(http://wiki.compilgames.net fulfilled.
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
Standard events
/project/gdevelop)
Standard events animate the game using actions, making it possible to create
objects, move them, change animations, etc…
Actions are triggered by conditions: the hero's health must equal a given number, or
the object position must be within a particular area, etc…
With Comments you can add some text in the event list, for example to explain
what an event block does;
Links allow you to include events from other scenes;
Repeat events are repeated a certain number of times;
For each object events are repeated for all objects specified in a list;
While events are repeated while their specified conditions are true.
Manipulating events
1 of 3 07/07/2016 01:06 PM
Events Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
To add an event, click on Add an event in the ribbon. You can also hover with the
mouse on an already existing event and choose Add an event in the resulting
panel. You can add and edit other type of events and sub-events in the same way,
either by using the ribbon or the panel appearing the event (in the latter case, choose
Other ).
Delete an event by selecting it and pressing the Delete key, picking Delete
selection from the ribbon, or right-clicking on it and then choosing Delete from
the menu, as shown below:
You can also use right click to copy/cut and paste events.
To add an action or a condition in a list, hover on the list with the mouse and choose
Add an action/condition from the panel appearing below. Actions and
conditions can be moved and deleted in the same way as events.
2 of 3 07/07/2016 01:06 PM
Events Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
ribbon:
Events available in the Event Store are the events shared on GDevApp.com
(https://gdevapp.com), the online game creator based on GDevelop.
Other features
The ribbon provides access to other features such as Undo , Redo and Search
and Replace (http://wiki.compilgames.net/doku.php/gdevelop
/documentation/manual/edit_event_find) operations.
Conditions and actions are listed in two separate columns. You can resize these
columns by dragging the column separator.
3 of 3 07/07/2016 01:06 PM
The event store [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:event_store
Welcome page
(http://wiki.compilgames.net
The event store
/doku.php/start)
Documentation The event store give you access to events made by others users of GDevelop: you can
(http://wiki.compilgames.net browse the events using the list on the le� and customize the event to your game
/doku.php/gdevelop using the right part, just like when your editing a condition or an action (that's why
/documentation) these events are also called templates).
Tutorials Templates are powerful because you can add complex events to your game in a few
(http://wiki.compilgames.net clicks: for example, some templates are very simple (like the one to rotate an object
/doku.php/gdevelop toward the mouse) and others are more advanced (like the one to add spaceship-like
/tutorials) controls to an object).
Links
When you're in the events editor, click on Insert from the events store in the ribbon
GDevelop Website to open the store:
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
The event store is composed of two part: the list of templates on the le� and, on the
right, the description and the parameters of the selected template.
1 of 2 07/07/2016 01:06 PM
The event store [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Choose a template
All templates available are listed on the le�: they are fetched from GDevApp.com
(https://gdevapp.com), the online game creator based on GDevelop.
Each template has a name and a description to let you know what it does: just choose
a template by clicking on it. You can also enter a keyword in the search field, at the
bottom of the list, to search for a specific event.
Customize the parameters just like a condition or an action: you can either enter
manually the value of the parameters or click on the buttons on the right to
autocomplete them.
When you're done, just click on Ok and the template is inserted in the events editor:
Here, the template we've added is a very simple template that turn an object toward
the mouse (or the finger on a touchscreen).
You can see that all the events of the template are contained inside a group
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/group_events). You can click on the arrow on the le� of the group to collapse the
events if you don't care or want to hide the events.
The event store will be opened again with the parameters you've entered when you
inserted the template: it's really useful if you made a mistake in the name of a
parameter, or if you want to change the template.
Note that if the author of the template updated it, for example to enhance it or fix an
issue, the template will be updated in your game a�er closing the event store!
2 of 2 07/07/2016 01:06 PM
External events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:external_events
Welcome page
(http://wiki.compilgames.net
External events
/doku.php/start)
Documentation External events are events which are not directly linked to a scene. They can be
(http://wiki.compilgames.net included to one or more scene using Link events. They can be used to separate and
/doku.php/gdevelop organize large events sheets into smaller ones: Typically, a scene can contains some
/documentation) events and a bunch of Link events linking to one or more external events sheets.
Tutorials
For example, you can have a scene called GameEngine with links to external events
(http://wiki.compilgames.net
/doku.php/gdevelop called EnemyManagement, PlayerManagement , UserInterfaceManagement,
/tutorials) EnvironmentManagement.
Links
GDevelop Website
Basic usage
(http://www.compilgames.net) You can create a new external events using the project manager. Double click then on
the newly added external events to open the editor.
Forum
Before using it, you just need to choose, using the list located at the top of the editor,
(http://www.forum.compilgames.net)
the scene to use to edit the events. When you choose a scene, the events can be
Help to translate GD edited as if they were included to the scene: You can use the objects, variables and
(https://crowdin.com everything o�ered by the scene.
/project/gdevelop)
The editor can be used as a classical events editor (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/edit_event).
1. Include the external events using a Link event which is located at the root of
the events of the scene. That is too say, the Link events which is used to
include the external events must not have any parent event.
2. Make sure that the external events are included from only one scene.
3. Activate the separate compilation in the properties of the external events
sheet.
When these requirements are meet, GDevelop will compile the external events
separately from the scene: Any change in the external events will only trigger the
internal compilation of the external events. And similarly, a change in the events of
the scene won't require the external events to be recompiled.
1 of 2 07/07/2016 01:07 PM
External events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
This can be useful when you have a very large amount of events which require a lot of
time to be compiled.
If you do not need any speed boost, you can still use external events: They provide a
nice way of structuring the events of your scene by putting together the events
related to a specific task.
2 of 2 07/07/2016 01:07 PM
External layouts [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:external_layouts
Welcome page
(http://wiki.compilgames.net
External layouts
/doku.php/start)
Documentation An external layout can be used to create a layout of objects, just as in a scene editor.
(http://wiki.compilgames.net The objects can be then dynamically inserted in a scene using the actions in the
/doku.php/gdevelop External layouts category.
/documentation) This can be useful to :
Tutorials
Create entire levels into di�erent external layouts, and then load them into the
(http://wiki.compilgames.net
/doku.php/gdevelop scene containing the game engine.
/tutorials) Create complex layout of objects ( For example, a fleet of spaceships ) and then
insert them into a scene.
Links
GDevelop Website
(http://www.compilgames.net)
Basic usage
Forum
As with external events (http://wiki.compilgames.net/doku.php/gdevelop
(http://www.forum.compilgames.net)
/documentation/manual/external_events), you have to choose a scene before editing
Help to translate GD an external layout. A�er choosing a scene using the list, the editor will be loaded,
(https://crowdin.com displaying the external layout with the objects and the layers of the chosen scene.
/project/gdevelop)
To edit the layout, the editor is similar to a scene editor (http://wiki.compilgames.net
/doku.php/gdevelop/documentation/manual/edit_scene).
1 of 1 07/07/2016 01:07 PM
Expression Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_expr
Welcome page
(http://wiki.compilgames.net
Expression Editor
/doku.php/start)
Documentation The expression editor allows you to edit expressions in actions and conditions. An
(http://wiki.compilgames.net expression is a calculation using object properties like its position or angle, as shown
/doku.php/gdevelop at the top of the below image:
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Expression structure
An expression is a mathematical calculation. It can be composed of numbers (e.g. 42),
operators (e.g. 42 + 5), or functions (e.g. the random function: Random(5)).
In order to invoke the function of an object, use the object name followed by a dot
before the function (e.g. MyObject.X()).
1 of 2 07/07/2016 01:07 PM
Expression Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
ToNumber(StrAt("157",Random(2)))
2 of 2 07/07/2016 01:07 PM
The Text Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:edit_text
Welcome page
(http://wiki.compilgames.net
The Text Editor
/doku.php/start)
Documentation The text editor allows you to edit strings and combine them with parameters from
(http://wiki.compilgames.net actions and conditions, as shown below:
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Writing expressions
Expressions are displayed in the upper part of the window. They can contain a simple
text in quotation marks (e.g. “Game Over” ) or function calls (e.g.
VariableString(PlayerName) ), separated by the plus sign + (e.g. “Lives: ” +
Variable(Lives) ).
The bottom half of the editor shows the available properties: choose a property in
one of the two lists, click on Add, and fill out the necessary parameters. You can also
insert the result of a numeric expression by clicking on Insert a numeric expression:
edit the numeric expression in the pop-up.
1 of 2 07/07/2016 01:07 PM
The Text Editor [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
By pressing the Insert a numeric expression button, you can enter a numeric
expression. The ToString() function will be automatically added:
2 of 2 07/07/2016 01:07 PM
Operators [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:operators
Welcome page
(http://wiki.compilgames.net
Operators
/doku.php/start)
Operator Description
Documentation
(http://wiki.compilgames.net -A Unary minus.
/doku.php/gdevelop
A *B Multiplication.
/documentation)
Tutorials A/B Division.
(http://wiki.compilgames.net
/doku.php/gdevelop A+B Sum.
/tutorials)
A-B Subtraction.
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:13 PM
Built in functions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:functions:built_in
Welcome page
(http://wiki.compilgames.net
Built in functions
/doku.php/start)
Documentation
Variable
(http://wiki.compilgames.net
/doku.php/gdevelop ToJSON(var)
/documentation) Object.VariableString(var)
Tutorials GlobalVariableString(var)
(http://wiki.compilgames.net VariableString(var)
/doku.php/gdevelop GlobalVariable(var)
/tutorials) Variable(var)
Object.Variable(var)
Links
GDevelop Website
(http://www.compilgames.net) Window
Forum WindowTitle()
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com Screen
/project/gdevelop)
ColorDepth()
SceneWindowHeight()
SceneWindowWidth()
ScreenHeight()
ScreenWidth()
All objects
1 of 3 07/07/2016 01:13 PM
Built in functions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Object.Angle()
Object1.Distance(Object2)
Object1.SqDistance(Object2)
Object.X()
Object.Y()
Object.ForceAngle()
Object.ForceLength()
Object.ForceX()
Object.ForceY()
Object.Height()
Object.Width()
Object.Variable(var)
Object.ZOrder()
Count(Object)
Sprite
Object.Animation()
Object.Sprite()
Object.Direction()
Object.PointX(pointName)
Object.PointY(pointName)
Object.ScaleX()
Object.ScaleY()
Conversion
ToDeg(angleRad)
ToRad(angleGrad)
ToNumber("text")
LargeNumberToString(numExpression)
ToString(num)
Mouse
MouseWheelDelta() - returns 0, 1, -1
MouseX("",0) - Default: Base layer, camera 0
MouseY("",0)
Joystick
GetJoystickAxis(0,axis) - joystick, axis
Random
Random(MaxNumber)
2 of 3 07/07/2016 01:13 PM
Built in functions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Time
Time(keyWord) Keywords: hour, min, sec, mday, mon, year, wday, yday
TimeDelta()
TimeFromStart()
TimerElapsedTime("timerName")
Math
AngleDifference(angle1,angle2)
Camera
CameraHeight("layer",camNum)
CameraRotation("",0)
CameraViewportBottom("",0)
CameraViewportLeft("",0)
CameraViewportRight("",0)
CameraViewportTop("",0)
CameraWidth("",0)
CameraX("",0)
CameraY("",0)
Sound
GlobalVolume()
SoundChannelPitch(0)
SoundChannelPlayingOffset(0)
SoundChannelVolume(0)
Musics
MusicChannelPitch(0)
MusicChannelPlayingOffset(0)
MusicChannelVolume(0)
3 of 3 07/07/2016 01:13 PM
Standard events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:base_events
Welcome page
(http://wiki.compilgames.net
Standard events
/doku.php/start)
Documentation The most common events used in GDevelop are the standard events:
(http://wiki.compilgames.net They are composed of a list of conditions, displayed on the le�, and a list of actions,
/doku.php/gdevelop
displayed on the right. When all the conditions are true, the actions are executed.
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
Example
/tutorials) Here is an event that will destroy the “Square” objects whose X position is inferior to
100 pixels:
Links
GDevelop Website
(http://www.compilgames.net) (http://wiki.compilgames.net/lib/exe/detail.php
/wiki/pres_event2.png?id=gdevelop%3Adocumentation%3Amanual%3Abase_events)
Forum
If you are still unsure on how the events work, take a look at the basic concepts
(http://www.forum.compilgames.net)
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
Help to translate GD
/pres_concepts) used by GDevelop.
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:13 PM
Comment events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:comment_events
Welcome page
(http://wiki.compilgames.net
Comment events
/doku.php/start)
Documentation Comments events are not used during the game, but they are useful to insert texts
(http://wiki.compilgames.net displayed in the events editor.
/doku.php/gdevelop
If you want to organize your events, take also a look at Events groups
/documentation)
(http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
Tutorials
/group_events).
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:13 PM
Link events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:link_events
Welcome page
(http://wiki.compilgames.net
Link events
/doku.php/start)
Documentation Link events are placeholder to indicate to GDevelop that it must insert at this place
(http://wiki.compilgames.net some events that are stored into an external events sheet
/doku.php/gdevelop (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/documentation) /external_events).
Tutorials
When adding a link event or when double clicking on it in the events editor, a window
(http://wiki.compilgames.net
/doku.php/gdevelop will popup, allowing you to choose the external events to be included here.
/tutorials) You can create external events from the project manager.
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:15 PM
For each Event [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:foreach_events
Welcome page
(http://wiki.compilgames.net
For each Event
/doku.php/start)
Documentation For each objects events allows to repeat their conditions and actions ( as well as their
(http://wiki.compilgames.net sub events ) for each object specified.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:15 PM
Repeat events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:repeat_events
Welcome page
(http://wiki.compilgames.net
Repeat events
/doku.php/start)
Documentation Repeat events are working like standards events, but they are repeated more than
(http://wiki.compilgames.net one time. ( The other events are not executed as long as the number of repetition has
/doku.php/gdevelop not been reached ).
/documentation)
A�er adding a such event, you can enter the number of repetition to be done each
Tutorials
time. Note that this number can be an expression (http://wiki.compilgames.net
(http://wiki.compilgames.net
/doku.php/gdevelop /doku.php/gdevelop/documentation/manual/edit_expr).
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:15 PM
While events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:while_events
Welcome page
(http://wiki.compilgames.net
While events
/doku.php/start)
Documentation While events are a special kind of events : As long as the While conditions are true,
(http://wiki.compilgames.net the event is repeated, without interruption ( i.e : next events are not executed and
/doku.php/gdevelop the screen is not refreshed ).
/documentation)
They can be used to repeat actions as long as a condition is true.
Tutorials
(http://wiki.compilgames.net Be careful, if the While conditions are always true, the events will be repeated
/doku.php/gdevelop indefinitely and the game will be frozen. In the editor, GDevelop will display a
/tutorials)
message to ask you if you want to stop the preview if a such events is repeated for
Links more than 100 000 times. You can deactivate this warning by double clicking on the
event.
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:16 PM
Events groups [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:group_events
Welcome page
(http://wiki.compilgames.net
Events groups
/doku.php/start)
Documentation Groups are events that do nothing particular: they are used to organize and structure
(http://wiki.compilgames.net your events. To add a group, go in the events editor, and click on Add… in the ribbon,
/doku.php/gdevelop and choose Group .
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website You can add a group and choose a name describing what it contains (“Player
(http://www.compilgames.net)
management”, “Map creation”…). In the events editor, click on the arrow on the le�
Forum of the group event to hide the sub events. Click again on this arrow to unfold the
group and show what it contains.
(http://www.forum.compilgames.net)
Help to translate GD Groups are added automatically when you add events using the Event Store
(https://crowdin.com (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/project/gdevelop) /event_store).
1 of 1 07/07/2016 01:16 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:usingjsevents
Welcome page
(http://wiki.compilgames.net
How to use Javascript events
/doku.php/start)
Documentation Using Javascript events, you can insert an arbitrary code of Javascript into your
(http://wiki.compilgames.net games created with the Web platform.
/doku.php/gdevelop
This can be useful if you want to use some external libraries or a very specific code.
/documentation)
With external source files, you can also integrate entire Javascript source files into
Tutorials
your game: it's nice to progressively learn Javascript programming or create a game
(http://wiki.compilgames.net
/doku.php/gdevelop with a programmer.
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
When added, double click on it to edit the code that will be executed. Note that in the
code, you have access to a variable named runtimeScene representing the scene
being played. If you choose some objects in the field below the code, then an
objects variable will be available. It's an array containing the selected objects.
RuntimeScene (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/classes/gdjs.RuntimeScene.html)
RuntimeObject (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/classes/gdjs.RuntimeObject.html)
1 of 3 07/07/2016 01:16 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
To check that the event is working, you can start by calling a simple method on the
runtimeScene , like the one to change background color:
for(var i = 0;i<objects.length;++i) {
objects[i].setX(50); //Set the X position of all picked objects to 50.
}
Then, activate the use of external source files in your game property (right click on the
game name in the Project Manager, than choose properties, and finally check
Activate the use of C++/JS source files ).
Now there is a new item in the structure of your projet called Sources . Make a right
click on it to choose to create a new source file or to import an existing one.
You can edit the files using GD integrated editor or you preferred text editor (take a
look at Sublime Text (http://www.sublimetext.com/)). When your game will be
exported or when you launch a preview, the source files will be integrated to the
game.
Source files are included like any other javascript file: if you want to access to
functions defined inside, you have to store them into a global object or make these
functions globals (just declare it with any prefix, like this: function
myFunction() { … } ). Then you can call them from your events using a Javascript
event.
Here are some tips about Javascript events and external source files:
Always use the debugging tools available in your browser to check if you made
2 of 3 07/07/2016 01:16 PM
How to use Javascript events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
errors in your code: any error will block the game from running. Developers
tools are most of the time available by pressing F12 in your browser.
If you use lots of Javascript in your game, you'll better use external sources
files and a dedicated text editor (like Sublime Text).
Read the documentation (http://4ian.github.io/GD-Documentation
/GDJS%20Runtime%20Documentation/index.html) to know how to use the
objects and functions provided by GDevelop.
Code examples
Read and change the value of a variable:
myVar2.setString("Hello, world");
3 of 3 07/07/2016 01:16 PM
The Base object [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:base
Welcome page
(http://wiki.compilgames.net
The Base object
/doku.php/start)
Documentation GDevelop provides many built-in features and o�icial extensions. For example, games
(http://wiki.compilgames.net automatically use the Base object extension, which provides actions, conditions and
/doku.php/gdevelop expressions for all objects.
/documentation)
Tutorials
(http://wiki.compilgames.net Displacement
/doku.php/gdevelop
Actions belonging to this category allow to apply forces of an object and move it. The
/tutorials)
corresponding conditions allow to test if an object has stopped, if it is moving and
Links where to (for example towards another object, or in a particular direction).
GDevelop Website
(http://www.compilgames.net) Visibility
Forum You can hide and show objects thanks to the actions of this category.
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
Layers and cameras
/project/gdevelop) These actions and conditions allow to test and modify layers.
Z Order
These actions and conditions allow to test and modify the Z order of an object.
Objects
These actions and conditions allow to create, delete, pick an object at random or
duplicate an object.
Position
These actions and conditions allow to change an object's position.
Variables
These actions and conditions allow to test and modify variables of objects.
1 of 1 07/07/2016 01:19 PM
Sprites [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_sprite
Welcome page
(http://wiki.compilgames.net
Sprites
/doku.php/start)
Documentation Sprite objects consist of images and animations and are very popular in games:
(http://wiki.compilgames.net Sprites can display a large variety of game components such as characters, platforms
/doku.php/gdevelop and user interface elements..
/documentation) Each animation can represent for example a state of the object (running, walking,
Tutorials exploding…). An animation is itself composed of directions, corresponding to the
(http://wiki.compilgames.net angle of the object (looking le�, right, etc…).
/doku.php/gdevelop
/tutorials)
Links
Editing sprites
All the objects in a scene are listed in the Object Editor (http://wiki.compilgames.net
GDevelop Website
/doku.php/gdevelop/documentation/manual/edit_object), on the screen right-side.
(http://www.compilgames.net)
Double-clicking on a Sprite object opens a pop-up from where you can edit sprites:
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Animations
Animations are displayed in the Animations panel, on the le� by default.
A default animation exists when a Sprite object is created:
To add a new animation, just click on the first button of the toolbar. You can also
make a right click on an already existing animation and choose “Add an animation”.
1 of 3 07/07/2016 01:19 PM
Sprites [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
To edit a specific animation, just select it, and its images will be displayed in the
Images panel.
Images
When an animation is chosen, its images are displayed in the Images panel. You can
add or remove an image by making a right click in this panel:
You can set the interval between each image, and specify if the animation should
loop, using the toolbar of the Animation panel :
If you want to see a preview of the animation, just click on the preview button:
Points
Points allow to specify special positions on objects (Like the motor for a vehicle, the
gun for a soldier…) Each image can have one or more points. Points can be edited by
clicking on the first button of the center toolbar:
When editing points, the following window will popup. It displays the list of the
points:
Select an point in the list to display it on the image. You can then click on the image to
move the point.
2 of 3 07/07/2016 01:19 PM
Sprites [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Collision masks
You can test whether objects are colliding with conditions in the All objects category.
Collision detection works with collision masks ( also called Hit boxes ). Collision masks
are, by default, a single invisible rectangle with the size of the object. You can
customize collision masks for your object by click on this button in the toolbar:
When editing collision masks, the following window will popup. It displays the list of
the collision masks:
You can add a new rectangle by clicking on the first button of the toolbar. Masks are
displayed on the image, and they can be moved by dragging them. You can also make
a double click on a mask in the list to enter its coordinates.
3 of 3 07/07/2016 01:19 PM
Tiled background [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_tiled
Welcome page
(http://wiki.compilgames.net
Tiled background
/doku.php/start)
Documentation The Tiled background object displays a repeating pattern:
(http://wiki.compilgames.net Using a Tiled background is much more e�icient than using multiple Sprite object:
/doku.php/gdevelop
The Tiled background object is designed to be able to display a very large pattern
/documentation)
while display lots of Sprite can decrease performances.
Tutorials
(http://wiki.compilgames.net It is also much more convenient to use a Tiled background object in a scene editor:
/doku.php/gdevelop Just add the object and resize it so as it covers the area you want. You can then lock
/tutorials) the object to work on the others objects without moving the background (see the
Links Scene editor page (http://wiki.compilgames.net/doku.php/gdevelop/documentation
/manual/edit_scene) to get more information about locking objects).
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:20 PM
Text Object extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_text
Welcome page
(http://wiki.compilgames.net
Text Object extension
/doku.php/start)
Documentation This extension provides objects displaying a text on the scene:
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
1 of 3 07/07/2016 01:21 PM
Text Object extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
When the object is added in the object list, double click on it to edit its properties. If
you inserted the object by right clicking on the scene, the window is automatically
shown:
2 of 3 07/07/2016 01:21 PM
Text Object extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
You can then close the window and drag'n'drop the Text object on the scene.
Text object comes with several actions to change its states during the game.
3 of 3 07/07/2016 01:21 PM
Text Entry Object [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_txtentry
Welcome page
(http://wiki.compilgames.net
Text Entry Object
/doku.php/start)
Documentation The link to the forum with examples how to use it:
(http://wiki.compilgames.net http://www.forum.compilgames.net/viewtopic.php?f=19&t=5258
/doku.php/gdevelop (http://www.forum.compilgames.net/viewtopic.php?f=19&t=5258)
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:22 PM
GDevelop & GDevApp community View topic - [So... http://www.forum.compilgames.net/viewtopic.ph...
Forums for GDevelop, the open source game development so�ware, and GDevApp,
the online and easy-to-use game creation webapp.
(./index.php?sid=9d9a35e3a9880fdc1f25�211db04cd1)
GDevelop (./viewforum.php?f=42&sid=9d9a35e3a9880fdc1f25�211db04cd1)
(./viewtopic.php?f=19&t=5258&sid=9d9a35e3a9880fdc1f25�211db04cd1&view=print)
Reply (./posting.php?mode=reply&f=19&t=5258&sid=9d9a35e3a9880fdc1f25�211db04cd1)
For example, how to ask to input a name and then print "Hello, <name>!"
In my case I cannot terminate input a�er pressing Enter...
“
Example
how to ask to input a name and then print "Hello, <name>!"
1 of 5 07/07/2016 01:23 PM
GDevelop & GDevApp community View topic - [So... http://www.forum.compilgames.net/viewtopic.ph...
Note: variable checkNext is my "elif or else if", other way GD will read:
Text entry is desactived ===> Activate it
Text entry is now activated ===> Desactivate it
Before using Text Entry Object in Events you need to put it somewhere on the Scene and add the object Text to the ()
2 of 5 07/07/2016 01:23 PM
GDevelop & GDevApp community View topic - [So... http://www.forum.compilgames.net/viewtopic.ph...
“ komencanto wrote:
Currently you can type only English text in the Text Entry, no Russian, for exampple.
”
You can also type spanish text on it
I'm sure you wanted to say "currently you can type only modern latin characters on it, not cyrillic ones"
BTW, this a very cool example and useful of how to use the input entry.
Yeah, my english is not perfect but you don't want to meet my french.
SPAM ALERT!
Test this small board game made in GD:
http://gamejolt.com/games/puzzle/group-it/30709/ (http://gamejolt.com/games/puzzle/group-it/30709/)
Image
Hi all,
Currently investigating GameDevelop as an option for a project, but one of the requirements is a form at the end for
users to enter some details and have those details plus some of the variables entered on di�erent scenes emailed to
the organisation who is running the project.
We were planning to use the Web platform, but is it even possible to have user entry text forms (or a mail function) in
the Web platform?
Other than that, it seems GameDevelop is able to do all the things we need it to.
Cheers,
Ben.
Not really for now, it would be a matter of porting the text entry extension to the web platform to get the text entered
on Keyboard...
But GD is fully capable of sending classical http requests so you can perfectly send details/variables to an API end-
()
3 of 5 07/07/2016 01:23 PM
GDevelop & GDevApp community View topic - [So... http://www.forum.compilgames.net/viewtopic.ph...
Just make sure to ask the user for its details using a classic HTML form before starting the game, or wait for the text
entry extension but I can't promise any release date.
4ian
GDevelop lead developer
Thanks very much for the quick reply, we will keep that in mind as we design it.
Reply (./posting.php?mode=reply&f=19&t=5258&sid=9d9a35e3a9880fdc1f25�211db04cd1)
I am creating memory game where di�erent sound You are working on a network game on native
is[…] platfo[…]
()
4 of 5 07/07/2016 01:23 PM
GDevelop & GDevApp community View topic - [So... http://www.forum.compilgames.net/viewtopic.ph...
Advertise ()
Privacy policy (./ucp.php?mode=privacy&
sid=9d9a35e3a9880fdc1f25�211db04cd1) (https://plus.google.com
(https://github.com
(https://www.facebook.com
(https://twitter.com
(https://www.facebook.com
(https://twitter.com
(http://www.forum.compilgames.n
Terms (./ucp.php?mode=terms& /115765205668071442683)
/4ian/GD)
/GameDevelop)
/Game_Develop)
/gdevapp)
/GDevApp)
/feed.php)
sid=9d9a35e3a9880fdc1f25�211db04cd1)
HandCra�ed With and By SiteSplat (http://www.sitesplat.com/)
()
5 of 5 07/07/2016 01:23 PM
Shape Painter objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_draw
Welcome page
(http://wiki.compilgames.net
Shape Painter objects
/doku.php/start)
Documentation The *Primitive Drawing* extension provides Shape Painter objects. These invisible
(http://wiki.compilgames.net objects can be put on the scene, and used to display simple shapes using the
/doku.php/gdevelop appropriate actions.
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:23 PM
The Particle system extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_particle
Welcome page
(http://wiki.compilgames.net
The Particle system extension
/doku.php/start)
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
This extension provides the Particle Emitter object, which allows to display a large
number of small particles, so as to simulate e�ects like fire, explosion and many more.
Rendering mode
3 rendering mode are available : Points, Lines and Quad.
The first mode will display points with the specified size.
The second will display lines with specified thickness, and a length that will vary
according to the length specified and the speed of the particle.
The last mode will display image with the specified size.
You can also choose if the particles must be rendered using standard or additive
mode.
1 of 3 07/07/2016 01:24 PM
The Particle system extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Particles
Each particle have a limited lifetime, chosen randomly between two values which can
be changed.
Quantity of particle can be unlimited or fixed to a number, in which case the emitter
will stop emitting a�er reaching this number of particle.
The flow is the number of particle created by seconds. You can enter -1 so as to throw
all particles in a single shot.
You can also change the maximum number of particle. Note that this number change
the memory taken by the emitter. If this number is really huge, it can cause a crash.
Simple setup
You can choose an initial color for particles, and a color to fade to.
Advanced setup
Each particle have a red, green, blue component. For each of them, you can choose if
the value must be fixed ( In which case you can enter the value in the box below ), if
the value must be randomly choosen ( In which case, you can choose the minimum
and maximum using the two boxes ) or if the value must be changed over the time ( In
which case, you can also choose the minimum and maximum using the two boxes ).
You can also choose an initial and final value for the transparency.
Size and angle of particles can also be customized in the same way. You can in
addition choose if these values must changed over the time or take a random value
when they are created.
Simple setup
Particles will be emitted in a direction. You can choose the angle of this direction as
well as the angle of the spray cone. A important value for this spray cone will result in
a emission of particles in a large number of direction around the direction specified. A
value of 0 will emit particles only in the specified direction.
Advanced setup
Particles will be emitted in a direction. This direction is characterized by its value on
X, Y and Z axis ( like forces, with an additional Z axis representing depth ).
A direction using values like 1;0;0 will thus be the same as a direction using values like
5;0;0
You can also personalize two angle which describe a portion of a sphere.
For example :
0 et 6.28 will define a complete sphere, meaning particles will be thrown in all
directions.
0 et 0 will throw particles only in the specified direction.
3.14 and 3.14 will create a disc.
1.57 and 1.57 will define a cone of angle 1.57 radians ( 90° )
2 of 3 07/07/2016 01:24 PM
The Particle system extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
You can finally choose the force of the emission, by choosing a minimal and a
maximal value.
Advanced setup
You can change the gravity applied to particle of the emitter : Enter its value on X, Y
and Z ( depth ) axis. A value of 0;0;0 will define no gravity. Finally, friction influence
particles' deceleration.
3 of 3 07/07/2016 01:24 PM
Tile map objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_tilemap
Welcome page
(http://wiki.compilgames.net
Tile map objects
/doku.php/start)
Documentation The tile map object allow you to create maps composed of tiles.
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
How does it work ?
Tutorials This object manages a tileset which is the texture containing all the tiles. These tiles
(http://wiki.compilgames.net are cut depending on the size and the spacing you have requested. Eventually, they
/doku.php/gdevelop
can be set into the tile map to create a scenery.
/tutorials)
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/documentation/manual
Links
/built_tilemap/tilemapprinciple.jpg)
GDevelop Website
(http://www.compilgames.net)
Edition
Forum
This tile map object editor is composed of 2 main parts.
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
(http://wiki.compilgames.net/lib/exe/fetch.php/gdevelop/documentation/manual
/built_tilemap/maineditor.jpg)
1 of 1 07/07/2016 01:27 PM
Lights extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_layer
Welcome page
(http://wiki.compilgames.net
Lights extension
/doku.php/start)
Documentation Lights extension provides Light object and Light obstacle behavior.
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Lights
Tutorials Lights can be created and placed as any other object. You can change their color,
(http://wiki.compilgames.net radius ( in pixels ), intensity ( A high intensity will create a bright light ), and quality.
/doku.php/gdevelop
/tutorials) Quality represents the initial number of triangles that are going to be used to create
the light. Be sure to set the quality to 4 at least. A high number will require more
Links
processing power. 16 is usually enough.
GDevelop Website
You can also choose if the light is a global light : Whereas a simple light makes things
(http://www.compilgames.net)
brighter, a global light makes the whole scene darker, excepting area covered by the
Forum light. Currently, only one global light can be used on the scene.
(http://www.forum.compilgames.net)
Simple light:
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Global light:
1 of 2 07/07/2016 01:27 PM
Lights extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Using this behavior on a lot of objects can lead to bad performance. You can instead
activate this behavior only for objects which are near the light. For example :
2 of 2 07/07/2016 01:27 PM
gdevelop:documentation:manual:built_3dbox [GD... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_3dbox
Welcome page
(http://wiki.compilgames.net
This topic does not exist yet
/doku.php/start)
Documentation You've followed a link to a topic that doesn't exist yet. If permissions allow, you may
(http://wiki.compilgames.net create it by clicking on “Create this page”.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:33 PM
AdMob object [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_admob
Welcome page
(http://wiki.compilgames.net
AdMob object
/doku.php/start)
Documentation The AdMob object can be used to display an ad banner or an interstitial screen (an ad
(http://wiki.compilgames.net covering the whole screen, usually shown at the end of a level).
/doku.php/gdevelop
A�er adding the AdMob object you need to configure it with the ad unit identifiers
/documentation)
from your AdMob account. You also need to export your game with Intel XDK and the
Tutorials
third-party plugin com.google.cordova.admob . For a detailed explanation, read
(http://wiki.compilgames.net
/doku.php/gdevelop the step-by-step tutorial How to show ads with AdMob and Intel XDK
/tutorials) (http://wiki.compilgames.net/doku.php/gdevelop/tutorials
/howtoshowadswithadmobandintelxdk).
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:34 PM
Physics behavior [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_physics
Welcome page
(http://wiki.compilgames.net
Physics behavior
/doku.php/start)
Documentation This extension provide Physics behavior, which gives a realistic behavior to the
(http://wiki.compilgames.net object.
/doku.php/gdevelop
/documentation)
Tutorials
Editing the behavior
(http://wiki.compilgames.net The edition of the behavior allows you to modify some properties relative to the
/doku.php/gdevelop
object and to the physics engine :
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 2 07/07/2016 01:40 PM
Physics behavior [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
You can also change parameters global to the whole physics engine:
2 of 2 07/07/2016 01:40 PM
Pathfinding [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_pathfinding
Welcome page
(http://wiki.compilgames.net
Pathfinding
/doku.php/start)
Documentation Pathfinding extension provide a behavior that is able to move an object and avoid
(http://wiki.compilgames.net obstacles. Note that pathfinding is not able to avoid obstacle that have moved a�er
/doku.php/gdevelop the object started moving on the computed path.
/documentation) So as to compute a path, GDevelop will use a virtual grid. You can setup the size of
Tutorials this grid when editing an object with the behavior.
(http://wiki.compilgames.net
/doku.php/gdevelop The algorithm used to compute path is A* : http://fr.wikipedia.org/wiki/Algorithme_A
/tutorials) (http://fr.wikipedia.org/wiki/Algorithme_A)*
Links
GDevelop Website
Using the behavior
(http://www.compilgames.net) Add the behavior to objects that will be moved, and to the objects that will act as
obstacle. You can then use the action “Go to a position” to move an object, avoiding
Forum
obstacles.
(http://www.forum.compilgames.net)
Help to translate GD
As said before, you can change the virtual grid size so as to adapt it to the size of your
(https://crowdin.com objects. You can also change objects speed using actions.
/project/gdevelop)
If your objects are bigger than grid size, they can collide with obstacles when moving
on their path. So as to avoid this, you can add to the obstacle some “extra borders”,
when editing the behavior. For example, on this picture, the cells which are grayed
represent the area the “pea” cannot cross :
1 of 2 07/07/2016 01:40 PM
Pathfinding [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Advanced functions
Path computed by the behavior are internally represented as a succession of “nodes”.
The object will thus go from node to node.
Expressions are available to get the X/Y position of the last or next node, so as to turn
for example the object according to its movement.
2 of 2 07/07/2016 01:40 PM
Destroy outside screen [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_destroyoutside
Welcome page
(http://wiki.compilgames.net
Destroy outside screen
/doku.php/start)
Documentation This behavior is one of the most simple, yet useful, behavior: just add it to an object
(http://wiki.compilgames.net and then, whenever an instance of this object will go out of the screen, this instance
/doku.php/gdevelop will be destroyed.
/documentation)
It's a simple way of making sure that your game is not filled with garbage objects that
Tutorials
could slow down it.
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:41 PM
gdevelop:documentation:manual:built_platformer... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_platformer
Welcome page
(http://wiki.compilgames.net
This topic does not exist yet
/doku.php/start)
Documentation You've followed a link to a topic that doesn't exist yet. If permissions allow, you may
(http://wiki.compilgames.net create it by clicking on “Create this page”.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:41 PM
gdevelop:documentation:manual:built_draggable... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_draggable
Welcome page
(http://wiki.compilgames.net
This topic does not exist yet
/doku.php/start)
Documentation You've followed a link to a topic that doesn't exist yet. If permissions allow, you may
(http://wiki.compilgames.net create it by clicking on “Create this page”.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:42 PM
gdevelop:documentation:manual:built_topdown ... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_topdown
Welcome page
(http://wiki.compilgames.net
This topic does not exist yet
/doku.php/start)
Documentation You've followed a link to a topic that doesn't exist yet. If permissions allow, you may
(http://wiki.compilgames.net create it by clicking on “Create this page”.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:42 PM
Linked objects [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_linkedobjects
Welcome page
(http://wiki.compilgames.net
Linked objects
/doku.php/start)
Documentation Linked objects extension allows to virtually link two objects that are on the scene.
(http://wiki.compilgames.net When two objects are linked, you can easily access to the other: Just call “Take linked
/doku.php/gdevelop
object into account” condition/action and the linked object will be concerned for next
/documentation)
actions or conditions.
Tutorials
(http://wiki.compilgames.net It is important to link objects on a case by case basis: If you are linking a lot of objects,
/doku.php/gdevelop make sure that only two objects are concerned by the “Link two objects” actions.
/tutorials) Typically, you can link two objects when creating them, or by using a “For each
Links object” event to take each object individually.
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:42 PM
Storage [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_files
Welcome page
(http://wiki.compilgames.net
Storage
/doku.php/start)
Documentation Games automatically use the Storage features extension. This extension provides
(http://wiki.compilgames.net actions and conditions to manage files, and to save and load data from XML Files (for
/doku.php/gdevelop native games) or Browser Local Storage (for HTML5 games).
/documentation)
Tutorials
(http://wiki.compilgames.net XML Files (for native games)
/doku.php/gdevelop
XML is a widespread format used to represent data structure. XML files basically allow
/tutorials)
you to categorize the value you want to save into groups, which can themselves
Links contain other groups with values.
GDevelop Website XML files are written in plain text and you can edit with any text editor.
(http://www.compilgames.net)
Expression editor
In the expression editor it's possible to walk up in the the file tree by typing “../”
1 of 1 07/07/2016 01:42 PM
Multimedia extensions [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:multimedia
Welcome page
(http://wiki.compilgames.net
Multimedia extensions
/doku.php/start)
Documentation GDevelop provides the following multimedia extensions: the Audio extension, the 3D
(http://wiki.compilgames.net Box Object, the Primitive Drawing and the - experimental - Video object extensions.
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net The Audio extension
/doku.php/gdevelop
The Audio extension enables actions to reproduce sounds (.wav files) and music (.ogg
/tutorials)
files ), optionally using channels.
Links
Actions that launch sounds or music must not be called repeatedly. Use conditions
GDevelop Website like At the beginning of the scene or a variable to prevent multiple calls.
(http://www.compilgames.net)
Forum
Help to translate GD
The 3D Box Object extension provides an object that will be displayed a simple three-
(https://crowdin.com
dimensional box in the scene. Each 3D Box can have a di�erent image on each side.
/project/gdevelop)
You can also modify the box size, choose the initial angle of the object, and its Z
coordinate.
1 of 1 07/07/2016 01:43 PM
Function events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_events
Welcome page
(http://wiki.compilgames.net
Function events
/doku.php/start)
Documentation This extension allow to use functions-like events, in other words, events that are
(http://wiki.compilgames.net launched only when they are called thanks to action “Launch a function”.
/doku.php/gdevelop
/documentation)
Tutorials
Name of functions
(http://wiki.compilgames.net Each function name must be unique.
/doku.php/gdevelop
/tutorials)
1 of 1 07/07/2016 01:43 PM
AES encryption [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_aes
Welcome page
(http://wiki.compilgames.net
AES encryption
/doku.php/start)
Documentation This extension allow to use AES algorithm on files. Each action/condition need a
(http://wiki.compilgames.net password of exactly 24 characters.
/doku.php/gdevelop
/documentation)
Tutorials
Example
(http://wiki.compilgames.net When saving a file, you will want to :
/doku.php/gdevelop
/tutorials) 1. Save using usual actions in a temporay file. ( i.e. save.tmp )
2. Encrypt the temporary file in another file ( i.e. save.sav )
Links
3. Delete the temporary file
GDevelop Website
To reload the file, you will want to :
(http://www.compilgames.net)
1. Decrypt the encrypted file in a temporary file.
Forum
(http://www.forum.compilgames.net)
2. Load, from the temporary file, using usual actions.
3. Delete the temporary file when loading is finished.
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:44 PM
Common dialogs [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_dialog
Welcome page
(http://wiki.compilgames.net
Common dialogs
/doku.php/start)
Documentation This extension provides actions allowing to use common dialogs, like message boxes:
(http://wiki.compilgames.net
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:44 PM
Timed events [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_timed
Welcome page
(http://wiki.compilgames.net
Timed events
/doku.php/start)
Documentation This extension allow to use events executing their conditions and actions only when a
(http://wiki.compilgames.net specific amount of time is reached.
/doku.php/gdevelop
/documentation)
Tutorials
Use of timed events
(http://wiki.compilgames.net Timed events automatically increment their internal timer each time GDevelop
/doku.php/gdevelop
execute them. When the timer reach the specified time, they execute their conditions
/tutorials)
and actions as standard events. Conditions and actions are executed as long as
Links events is not reset.
GDevelop Website Note that the time is not updated if the events is not executed : For example, if a
(http://www.compilgames.net) timed event is put as a sub events, you have to be sure that the parent event remains
executed to let the timed event be executed.
Forum
(http://www.forum.compilgames.net)
1 of 1 07/07/2016 01:44 PM
The Network Extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_network
Welcome page
(http://wiki.compilgames.net
The Network Extension
/doku.php/start)
Documentation The Network extension allows inter-game communication, for example to create
(http://wiki.compilgames.net multiplayer games.
/doku.php/gdevelop
/documentation)
Tutorials
How a network works
(http://wiki.compilgames.net In order to communicate on a network, a computer needs an IP address and a port. IP
/doku.php/gdevelop
addresses uniquely identify network interfaces, while ports specify the desired kind of
/tutorials)
communication. IP addresses and ports are together referred to as sockets, and two
Links or more sockets can communicate with each other thanks to the TCP/IP protocol
stack.
GDevelop Website
(http://www.compilgames.net)
Forum
How the extension works
(http://www.forum.compilgames.net)
Sockets used by GDevelop are based on the UDP protocol, which allows to easily and
Help to translate GD quickly send data on a network.
(https://crowdin.com
You can set up a computer for data exchange from within GDevelop thanks to the
/project/gdevelop)
action Initialize data reception: from there you can set up a port number the computer
will be listening to. If no port is chosen, a default one will be assigned.
Then, you have to specify which computer to send the data to. You can do so with the
action Add a recipient: insert here the the IP adress and port number of the other
computer.
Make sure that the IP addresses are correct and the port the same for both
computers:
1 of 2 07/07/2016 01:45 PM
The Network Extension [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
A�er this initialization step, which can be done at the start of the scene, you can send
and receive data. GDevelop makes it easy by adding a title to each data send or
receive. Data can be texts or numbers.
To send data, use action Send a value ou Send a text, specifying the title of the data,
and then its value.
To receive data sent by other computers, you have to first receive data waiting on the
network and save them in memory. Use the action Receive waiting data. This action
can be placed in an event without condition, for example at the beginning of the
events.
When the action is called, data received from others computers will be saved in
memory. You can get their values using the expressions
GetReceivedDataValue(DataTitle) or GetReceivedDataString(DataTitle). You can
access the data from the expression editor/text editor.
2 of 2 07/07/2016 01:45 PM
The Automatic Network Updater Automatism [G... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:built_network_anua
Welcome page
(http://wiki.compilgames.net
The Automatic Network Updater
/doku.php/start) Automatism
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop The Automatic Network Updater Automatism allows to automatically synchronize
/documentation) objects position/size/angle on di�erent computers.
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop The Basics
/tutorials)
This behavior works by automatically sending data concerning position, size or angle
Links of the objects, or by updating these objects according to data received.
GDevelop Website
(http://www.compilgames.net) Using the behavior
Forum In order to get the behavior working properly, each object to be synchronized must be
(http://www.forum.compilgames.net)
identified by a unique number, which must be the same on all computers running the
Help to translate GD game. You can use the Generate objects' identifier action to assign a unique number
(https://crowdin.com to each object. In order to be sure that the identifiers are the same on all computers,
/project/gdevelop) you must call this action at the beginning of the scene or make sure that all objects to
be used by the action are the same on all computers. You can manually attribute an
identifier using the action Change object's identifier.
Be careful! If this action is used on more than one object, these objects will have all
the same identifier. Make sure that only one object is used (For example, with a “For
each object” event).
Once identifiers are generated, a computer must send the data, and the other only
receive it. You can specify whether the computer should send the data (typically the
computer hosting the game) or receive it (typically a client joining the online game).
1 of 1 07/07/2016 01:45 PM
Compilation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:distribution:compilation
Welcome page
(http://wiki.compilgames.net
Compilation
/doku.php/start)
Documentation
(http://wiki.compilgames.net
Exporting HTML5 games
/doku.php/gdevelop You can learn more about how to distribute HTML5 games on this page
/documentation) (http://wiki.compilgames.net/doku.php/gdevelop/tutorials/howtodistribute).
Tutorials
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Compilation is the name of the process that create all the files needed to distribute
your game.
Open the project to compile in the editor, and click on “Compilation” button in
Ribbon.
1 of 2 07/07/2016 01:49 PM
Compilation [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
2 of 2 07/07/2016 01:49 PM
Export native games to Android [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:native_android_export
Welcome page
(http://wiki.compilgames.net
Export native games to Android
/doku.php/start)
Documentation The latest version of GDevelop has an experimental feature allowing to compile a
(http://wiki.compilgames.net native game for Android. Compared to HTML5 games built with Intel XDK, the games
/doku.php/gdevelop natively built for Android have better performances and can use more extensions.
/documentation)
Currently, only the base features (including “Sprites”), “Text objects”, “Tiled Sprite
Tutorials
objects”, “Panel Sprites (9-patch) objects”, “TileMap object”, “Physics behavior”,
(http://wiki.compilgames.net
/doku.php/gdevelop “Top-down movement”, “Destroy outside screen behavior”, “Platformer behavior”
/tutorials) and “Platform behavior” are compatible with the android export feature. The other
extensions will be available soon!
Links
GDevelop Website
(http://www.compilgames.net)
Tools installation
This section explains the installation of all required tools used to compile a game to
Forum
Android.
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
CMake
/project/gdevelop) For Windows, download CMake on the o�icial website: https://cmake.org/
(https://cmake.org/). Be sure to check “Add CMake to the system PATH for all users”
ou “Add CMake to the system PATH for the current user”.
Apache Ant
Download Ant for Windows on the o�icial website (http://ant.apache.org
/bindownload.cgi). Extract the compressed file somewhere on your computer.
JDK
The Java Development Kit is needed to build Android apps:
For Linux, you can install the package called openjdk-7-jdk or openjdk-8-jdk (this can
varies according to your distribution).
Android SDK
1 of 4 07/07/2016 01:49 PM
Export native games to Android [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
The Android SDK contains the tools that are specific to Android development. For
Windows and Linux, download it on the website by selecting your operating system in
the section called “Get just the command line tools” on this SDK download page
(http://developer.android.com/sdk/index.html#downloads).
At the end, launch “SDK Manager.exe” (This file is inside the folder where the SDK was
installed) on Windows or the script called “android” inside the “tools” folder on Linux.
Wait a bit for this window to appear:
Select “SDK Platform”, “Source for Android SDK” in the category 4.4.2, API
(Application Programming Interface) 19. If you want to launch the game in an
emulator later, select “System images” in “ARM EABI v7a System image” and “Intel
x86 Atom System image”.
The game will works on older/newer versions of Android even if we select a particular
version of the “API (Application Programming Interface)”.
Then in “Tools”, check “Android SDK Tools”, “Android SDK Platform-tools” et “Android
SDK Build-tools” (the most recent one). Finally, for Windows only, in “Extras”, choose
“Google USB Driver”.
Android NDK
To compile games exported by GDevelop, you also need the Android NDK (a
so�ware development kit for native apps). GDevelop currently supports the r11c
version of the Android NDK. You can download this version by following these links:
2 of 4 07/07/2016 01:49 PM
Export native games to Android [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
It seems that the 32 bits NDK causes some problems when compiling a game for
Android. If you have Windows 32 bits, you may not be able to export your game to
Android.
SFML
Download this file (http://wiki.compilgames.net/lib/exe/fetch.php/fr/gdevelop
/documentation/manual/sfml-2.3.2-for-ndk-r11c.zip) and extract it into the “sources”
folder inside the folder where you extracted the Android NDK.
Start by exporting your game in GDevelop. In the File menu, choose “Export for
Android (experimental)” and export the game in a folder.
Open a terminal and go to the folder where the game was exported. For example, on
Windows: cd C:\Users\Florian\MyExportedGame
Windows : Linux :
3 of 4 07/07/2016 01:49 PM
Export native games to Android [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Stay in the folder of the game and type these commands in this order:
ndk-build
ant debug
4 of 4 07/07/2016 01:49 PM
How to distribute your game? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtodistribute
Welcome page
(http://wiki.compilgames.net
How to distribute your game?
/doku.php/start)
Documentation When developing your game, you can preview it using the Preview button of the
(http://wiki.compilgames.net ribbon. When you want to distribute your games, you have to go through the export
/doku.php/gdevelop process.
/documentation)
Tutorials
(http://wiki.compilgames.net Exporting a HTML5 game
/doku.php/gdevelop
If you are creating a game using the Web Platform, this section applies for you:
/tutorials)
In File menu, choose Export to the web :
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Then, choose a directory where export the game. You can also choose if the game will
be minified.
1 of 2 07/07/2016 01:49 PM
How to distribute your game? [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/t...
Click on Export to launch the export process. When it's over, you will be asked if you
want to open the export directory.
In this directory, all the files needed by your game are present:
You can't play to the game from here, you have first to send all the files to a web
hosting and then go with a browser to the location where you uploaded the game.
* In the dialog, choose an export directory and then click on Compile . You can read
here (http://wiki.compilgames.net/doku.php/gdevelop/documentation/manual
/distribution/compilation) a description of all the options available.
* When the compilation is finished, all the files needed by your game are present in
the chosen directory.
You can launch the game by double clicking on the executable ( GameWin.exe by
default on Windows, GameLinux by default on Linux ). If you want to share your game,
you can compress the whole directory in a zip file, and then send it on the web using a
web hosting or a service like DropBox.
If you use external text files (.txt or .xml) for value storage/reading, files will not be
compiled in an unique file nor moved in the folder, you'll have to copy/paste it and
respect the relative path you've choosen in the project.
2 of 2 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
gdevelop:tutorials:howtoexportwithcocos2dx
Welcome page
(http://wiki.compilgames.net
How to export your game with
/doku.php/start) Cocos2d-x
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop Cocos2d-x is a game engine that can used by GDevelop to render HTML5 games. By
/documentation) default, the underlying rendering engine used by GDevelop when previewing or
Tutorials exporting HTML5 games is Pixi.js.
(http://wiki.compilgames.net
/doku.php/gdevelop
Cocos2d-x provides an engine that enables games to be both exported to the web
/tutorials) (using HTML5 and webGL) and to native platforms, including iOS, Android, Windows,
Mac OS (Operating System) X and Linux. In both cases, GDevelop game engine is the
Links
same, but the rendering is done with Cocos2d-x, using either WebGL on the web or
GDevelop Website native OpenGL on the other platforms.
(http://www.compilgames.net)
Export with Cocos2d-x is still experimental. Also, native export to iOS, Android,
Forum Windows, Mac OS (Operating System) X and Linux involves installation of some
additional tools.
(http://www.forum.compilgames.net)
Help to translate GD If you want to read about the normal export, read How to distribute your game
(https://crowdin.com (http://wiki.compilgames.net/doku.php/gdevelop/tutorials/howtodistribute).
/project/gdevelop)
1 of 6 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
You can't play directly to the game by opening index.html. You need to upload it to a
web server.
2 of 6 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
To open a command line (also called Command Prompt) on Windows, type cmd in
the start menu.
On OS (Operating System) X or Linux, open the Terminal app.
Open a new command line and go to the directory where Cocos2d-x was
extracted. To do this, type cd followed by the path of the folder of Cocos2d-x.
Put quote at the beginning and the end of the path if it contains spaces.
For example:
cd C:/Users/Florian/Downloads/Cocos2d-x-3.10 on Windows,
cd /Users/florian/Downloads/cocos2d-x-3.10 on OS (Operating System) X.
Wait a bit: Cocos will now create a new folder with the name of your game. It will
contains everything needed to compile the game.
3 of 6 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
Now, using GDevelop, choose to export your game with Cocos2d-x (see the first
section if you need help). Choose the folder created by Cocos2d-x as the export
folder in GDevelop. Finally press Export.
You're ready! You now have a full game exported with GDevelop and ready to be
compiled with cocos : see the sections below to know how to export for a specific
platform.
Later, if you change your game and want to rebuild the native games, just export the
game in the same folder using GDevelop, and relaunch the cocos commands
explained in the sections below.
Android export
This section is a dra� and not yet complete. You can help by completing
it with more information!
The following command requires keytool which is installed as part of the Java
Development Kit (JDK). It will create a keystore in the current folder, just remember to
change 'Your_personal_file_title' and then press enter. You will be asked a few
questions and then be prompted to create the keystore, just type yes and press enter.
Wait for the compilation to be done: this can be quite long the first time you launch it.
When it's done, an APK file should be available in the folder publish/android .
4 of 6 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
Mac OS X export
You need to have XCode (https://developer.apple.com/xcode/) installed on
your Mac. You can install it from the App Store.
With the command line, in the folder of your game, launch cocos compile
-p mac -m release .
Wait for the compilation to be done: this can be quite long the first time you launch it.
When it's done, the app is available in publish/mac .
iOS export
You need to have XCode (https://developer.apple.com/xcode/) installed on
your Mac. You can install it from the App Store.
Open the XCode project
In XCode, click on Play.
Wait for the compilation to be done: this can be quite long the first time you launch it.
Windows export
This section is a dra� and not yet complete. You can help by completing
it with more information!
5 of 6 07/07/2016 01:49 PM
How to export your game with Cocos2d-x [GDevel... http://wiki.compilgames.net/doku.php/gdevelop/t...
With the command line, in the folder of your game, launch cocos compile
-p metro -m release
If the result of the command is Can't find correct Visual Studio's path
in the registry. , then you have not Visual Studio properly installed. Check that
you've installed it, close and relaunch the command line a�er the installation.
Wait for the compilation to be done: this can be quite long the first time you launch it.
6 of 6 07/07/2016 01:49 PM
Reporting a bug [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:troubleshooting:bug
Welcome page
(http://wiki.compilgames.net
Reporting a bug
/doku.php/start)
Documentation If the program has freezed or crashed, you have encountered a bug.
(http://wiki.compilgames.net When reopening GDevelop, a window will popup, o�ering you the possibility to create
/doku.php/gdevelop
an error report.
/documentation)
Tutorials If the window does not open, please send a message ( to [email protected]
(http://wiki.compilgames.net (mailto:[email protected]) or on the forum
/doku.php/gdevelop (http://www.forum.compilgames.net) ) with some explanations :
/tutorials) -How to recreate the bug.
Links -If you cannot recreate the bug, where did it happened.
-What was the error message
GDevelop Website
-If the bug is related to game, please send us also the game.
(http://www.compilgames.net)
Thanks !
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:50 PM
Two objects are flickering/An object disappeared... http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:troubleshooting:flickering
Welcome page
(http://wiki.compilgames.net
Two objects are flickering/An
/doku.php/start) object disappeared
Documentation
(http://wiki.compilgames.net
/doku.php/gdevelop If two objects are flickering, some z-fighting must be happening: If the objects have
/documentation) the same z order value, GDevelop cannot decide which one must be drawn first, so
Tutorials that some times one of the object is drawn first, and some times it is the other
(http://wiki.compilgames.net objects.
/doku.php/gdevelop You can prevent this issue from happening by changing the z Order of your objects in
/tutorials) the Scene editor (http://wiki.compilgames.net/doku.php/gdevelop/documentation
Links /manual/edit_scene).
GDevelop Website If an object seems to have disappeared, check that it is not hidden by a large image
(http://www.compilgames.net) such as a background.
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:50 PM
About GDevelop [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:about
Welcome page
(http://wiki.compilgames.net
About GDevelop
/doku.php/start)
Documentation
(http://wiki.compilgames.net
The developers
/doku.php/gdevelop GDevelop was created by Florian “4ian” Rival.
/documentation)
To contact me: [email protected] (mailto:[email protected])
Tutorials
(http://wiki.compilgames.net You can also go on: www.FlorianRival.com (http://www.FlorianRival.com)
/doku.php/gdevelop Check this GitHub page (https://github.com/4ian/GD/graphs/contributors) for other
/tutorials) developers contributing to GDevelop.
Links
GDevelop Website
Contributors, used technologies and
(http://www.compilgames.net) thanks
Forum
In GDevelop, click on ? in the ribbon then on “About…” to display more information
(http://www.forum.compilgames.net)
about technologies and contributors.
Help to translate GD
Your contribution is also welcome (http://wiki.compilgames.net/doku.php/gdevelop
(https://crowdin.com
/project/gdevelop) /documentation/manual/takepart)!
1 of 1 07/07/2016 01:50 PM
GDevelop license [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:license
Welcome page
(http://wiki.compilgames.net
GDevelop license
/doku.php/start)
Documentation GDevelop is an open source so�ware:
(http://wiki.compilgames.net The IDE is distributed under the GPL v3 (http://www.gnu.org/copyle�
/doku.php/gdevelop
/gpl.html) license.
/documentation)
The Core library, the native and HTML5 platforms are distributed under the
Tutorials
LGPL v3 (https://www.gnu.org/licenses/lgpl.html) license.
(http://wiki.compilgames.net
/doku.php/gdevelop Extensions (in the Extensions folder) are distributed under the zlib/libpng
/tutorials) (http://opensource.org/licenses/Zlib) license.
The name, GDevelop, and its logo are the exclusive property of Florian Rival.
Links
GDevelop Website
(http://www.compilgames.net)
About games created with GDevelop
Games exported with GDevelop are based on the native and/or HTML5 platforms:
Forum
these platforms are distributed under the LPGL v3 license, so that you can distribute,
(http://www.forum.compilgames.net)
sell or do anything with the games you created with GDevelop. In particular, you are
Help to translate GD not forced to make your game open source.
(https://crowdin.com
/project/gdevelop)
Contributing to GDevelop
GDevelop code source is available on http://www.github.com/4ian/GD
(http://www.github.com/4ian/GD).
1 of 1 07/07/2016 01:50 PM
Contribute to GDevelop [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:takepart
Welcome page
(http://wiki.compilgames.net
Contribute to GDevelop
/doku.php/start)
Documentation GDevelop is open source, but its development takes time and sometimes money. If
(http://wiki.compilgames.net you want to help the author, you can :
/doku.php/gdevelop
If you have some knowledge in programming, GDevelop is open source and
/documentation)
you can help its development on GitHub (https://github.com/4ian/gd).
Tutorials
You can help to translate GD on Crowdin (http://crowdin.com/project
(http://wiki.compilgames.net
/doku.php/gdevelop /gdevelop) with other contributors.
/tutorials) Create tutorial about how to use GDevelop or contribute to the wiki: you can
edit most of the pages available on the wiki to enhance them.
Links
You can publish an article about GDevelop in the press.
GDevelop Website Create a nice game (http://compilgames.net) with GDevelop.
(http://www.compilgames.net)
Thanks!
Forum
(http://www.forum.compilgames.net)
Help to translate GD
(https://crowdin.com
/project/gdevelop)
1 of 1 07/07/2016 01:50 PM
Updating GDevelop [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:update
Welcome page
(http://wiki.compilgames.net
Updating GDevelop
/doku.php/start)
Documentation GDevelop checks at startup if there is a new version available and will alert you in this
(http://wiki.compilgames.net case:
/doku.php/gdevelop
/documentation)
Tutorials
(http://wiki.compilgames.net
/doku.php/gdevelop
/tutorials)
Links
GDevelop Website
(http://www.compilgames.net)
Forum
(http://www.forum.compilgames.net
Help to translate GD
(https://crowdin.com
/project/gdevelop)
Update window
Note that you can manually open this window by clicking on ? button in the ribbon,
and then choosing Check for update .
1 of 2 07/07/2016 01:51 PM
Updating GDevelop [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
2 of 2 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
gdevelop:documentation:manual:history_of_changes
Welcome page
(http://wiki.compilgames.net
Revision history
/doku.php/start)
The history of version is now available on GitHub
Documentation
(http://wiki.compilgames.net To see the history of changes, go on the GitHub Release page of GDevelop
/doku.php/gdevelop (https://github.com/4ian/GD/releases).
/documentation)
Tutorials
History of changes of old versions
(http://wiki.compilgames.net You can see here the release history of old versions:
/doku.php/gdevelop
/tutorials) Version 3.6.77
Links Added Shape Painter objects for HTML5 games (already available for native
games).
GDevelop Website
Added Panel Sprite (“9-patch”) objects for HTML5 games (already available
(http://www.compilgames.net)
for native games).
Forum Added Text entry objects for HTML5 games (already available for native
(http://www.forum.compilgames.net) games).
Added support for “Change global color” action for Sprite objects in HTML5
Help to translate GD
(https://crowdin.com
games.
/project/gdevelop) Added LastPressedKey() expression to get the name of the latest pressed key.
Fixed hitboxes of Tiled Sprite and Text objects not always properly updated on
HTML5 games.
Ensure that platformer objects are able to jump a�er being stuck into an
obstacle.
HTML5 games are now fullscreen by default.
Fixed crashes with extensions (like LinkedObjects) due to an internal error in
the game engine.
Auto complete behavior name when editing a condition or action and clicking
on the button next to the parameter field.
Updated Pixi.js, the HTML5 rendering engine used by GDevelop, to the latest
version.
Disable ribbon buttons in the Scene tab according to the scene editor state
(preview or edition).
Translations are now made using Crowdin.com: https://crowdin.com/project
/gdevelop (https://crowdin.com/project/gdevelop) (Any help is welcome! :D).
Version 3.6.76
1 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
clear.
Added the Event Store: Browse the events templates made by users from
GDevApp.com, customize and insert them in your game. And double click on a
template inserted in your game to edit it even a�er its insertion.
Added Event Groups, that can be used to organize events.
Added experimental support for Javascript events, for HTML5 games (see
examples).
Added support for saving (and loading) games to JSON files.
New start page, and fixed bad alignment on Ubuntu.
Fixed severe memory leaks when loading textures.
Changed the middle click behavior: the middle button must be kept pressed to
move in the scene editor.
Platformer characters are pushed out of platforms if stuck inside.
Added a Fill tool and Undo/Redo buttons in the editor of Tile Map objects.
Various fixes and performance improvements for Tile Map objects.
Added optional o�set for the grid in the scene editor.
Fixed bad cursor shown on Ubuntu in the scene editor.
Fixed condition testing for the visibilty of a layer.
Changed titles of some mouse related conditions to highlight the support of
touchscreens.
Added ScreenWidth and ScreenHeight expressions for HTML5 games.
Fixed SceneWindowWidth and SceneWindowHeight for HTML5 games.
Ensure that when multiple images are added to a sprite object on Ubuntu, the
insertion is made in alphabetical order.
Fixed syntax highlighting in the events editor.
Various minor fixes and improvements.
Switched from LGPL (GNU Lesser General Public License) to MIT license for
most codebase. Enjoy!
Version 3.5.75
Version 3.5.74
GDevelop is now called GDevelop! If you have any article, website or forum
related to GDevelop, please rename any mention of “GDevelop” to “GDevelop”.
New Tilemap object: easily create tile based games with tilemaps! (Native
games only)
Fix functions not working properly with multiples scenes or external events.
Fix object not renamed properly a�er it was added (Linux).
Fix debugger and profiler graphical glitches.
Fix some toolbars not rendered properly on Linux.
Fix conditions testing Joysticks' axis values.
Fix crash with the pathfinding behavior.
Updated UglifyJS to fix minification issues with HTML5 games.
Added link to download Node.js if needed for minification of games.
New “Advanced Shape based Painter” example.
Other minor bugfixes.
2 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 3.4.73
Updated SFML multimedia library: Fix crash with audio files introduced in
3.4.72
Fix layers not hidden in HTML5 games
Updated Russian translation (thanks to Komencanto)
Version 3.4.72
Version 3.3.71
Version 3.3.70
Entirely new icons for the interface, specifically designed for GDevelop. Many
thanks to Constantine Shvetsov !
Spanish translation available: Merci à Franco Maciel !
Pathfinding behavior is now available for HTML5 games.
The pathfinding behavior has been rewritten and enhanced: You have to
update your game if you're using it.
Added condition “Trigger once”.
Custom collision mask are now supported by HTML5 games.
The maximum angle of slopes is now customizable for objects on platforms.
Added “lerp” function.
Fixed crashs
3 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 3.2.69
Version 3.2.68
Version 3.2.67
Version 3.2.66
Version 3.2.65
Version 3.2.64
4 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 3.2.63
Version 3.2.62
Version 3.1.61
Version 3.1.60
Version 3.1.59
5 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 3.0.11299
Version 3.0.11298
Version 3.0.11297
Version 3.0
Support for creating HTML5 based games using the Web Platform.
Also support for creating games with support for the Web platform and the
native platform
Properties of objects are shown using a properties grid.
New way of resizing objects: The origin point is now fixed when an object is
scaled.
Dialogs showing the objects/behaviors available also show the unused
objects/behavior as grayed.
Improved user interface.
Fixed GDevelop not launching with some graphics cards.
Fixed several bugs
Version 2.2.11127
-Scene editor improved:
6 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 2.2.11076
-New project dialog with predefined templates for creating a new game.
-New action to separate objects from obstacles, using collisions masks: Try the
“Space marine” template.
-The interface of some windows have been updated so as to make them cleaner and
more e�icient.
-The images bank editor has been updated with a property grid: You can for example
edit the properties of several images at the same time.
-No more “Save into portable mode”: When you save a game into a new directory,
GDevelop automatically asks you if you also want to copy the resources into this
directory.
-Updated SFML library used by GD for multimedia tasks. This can solve issues with
Intel graphics chipset.
-Solved issues with some strings which were showing strange characters.
-The options of the IDE are kept a�er a new installation.
-Fixed bad position of objects a�er pasting them.
-Added option to change the font of the events editor.
-GD warns that events can not be modified during a preview.
-Added “Animation is over” condition for Sprite objects.
-Various fixes.
Version 2.1.10939
-Collisions masks can now be arbitrary convex polygons.
-Corrected a crash when closing all projects.
-Corrected a bug with behaviors and global objects.
-Others bug fixes.
Version 2.1.10904
-New Sprite object editor
-New feature: External layouts.
-New example: “Multiple levels with external layouts.gdg”.
-Free to use resources are provided with GD: Browse them thanks to the Resource
library in the images bank editor.
-The edition of the properties of a game is now made thanks to a property grid.
-Small changes in expression editors.
-Minor fixes and enhancements ( Zoom level is now saved, new expressions ToDeg,
ToRad and AngleDi�erence )
Version 2.1.10873.54813
-Enhanced Shoot example : Thanks to MillionthVector for the graphics.
-Resources ( i.e. images ) are now using paths relative to the project directory.
-Editors are greyed out when previewing a scene.
-Fixed internal compilation errors.
Version 2.1.10871.54807
-Minor bug fixes concerning variables-related functions.
-New example CastleDoodle
Version 2.1.10822.54540
-New extension Advanced XML and Path behavior. Thanks to Victor Levasseur
-New extension Sound object. Thanks to Thomas Flecy and Victor Levasseur.
7 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 2.1.10682.53886
Version 2.0.10541.53179
Version 2.0.10538.53165
-English tutorial now available : Thanks to Diego Schiavon for the translation.
-Corrected bug ( concerning the working directory ) with games compiled to a single
executable.
-Added action to change the icon of the window.
-Events modified in external events are now properly taken in account.
-Corrected compilation crash when using scenes with a name containing special
8 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
characters.
-Corrected non working modulo operator ( % )
-Corrected crash with pixel perfect collision test on an invalid image.
-Corrected crash with string expressions.
-Minor bugfixes and enhancements.
Version 2.0.10498.52954
-Minor bugfixes.
Version 2.0
-New events management: Events are now compiled to machine code ( making them
as powerful and e�icient as games written with programming languages like C++ ).
-Completely new events editor: faster and more flexible.
-New linked objects extension
-Other improvements
-New logo and splashscreen : Thanks to François Dumortier (
http://www.fdumortier.com (http://www.fdumortier.com) )
Version 1.5.10151.51202
Version 1.5.10139.51138
Version 1.5.10138.51136
9 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.5.9980.50345
Version 1.5.9979.50340
Version 1.5.9955.50216
10 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
-Minor corrections.
Version 1.5.9954.50214
Version 1.5.9910.49996
Version 1.5.9904.49966
-Minor corrections.
Version 1.5.9900.49954
-Added behaviors.
-Added Physics Automatism. ( + Example PhysicsCrush )
-Added search controls in several windows.
-Actions and conditions can be sorted by objects.
-Actions to open and close a XML file in memory.
-Updated SFML library : Corrected border around images.
-Added ability to change 3D parameters.
-Added events deactivation
-Optimizations
-Progressive loading of images.
-Corrected layer window
-Copy/Cut/Paste for objects groups.
11 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.4.9641.48562
Version 1.4.9606.48375
Version 1.4.9601.48349
Version 1.4.9599.48338
Version 1.4.9587.48275
Version 1.4.9573.48212
Version 1.4.9552.48094
-Corrected bad conversion of quotes when opening a game saved with an old version.
-Corrected function name so as to get the text of an object's variable.
-Added undo/redo to scene editors.
12 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.3.9262.46622
Version 1.3.9550.48084
Version 1.3.9254.46592
Version 1.3.9245.46555
-New event structure allowing to use subconditions, and providing new types of
event.
-Correction of bugs
Version 1.3.8890.44757
13 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.3.8844.44538
Version 1.2.7630.38327
14 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.1.6397.32168
Version 1.1.6042.30362
Debugger
Correction de l'action Dupliquer
Choix de la précision de “le curseur est sur un objet”
Action/Condition de Rotation de caméra
Accès à l'heure et au temps
Version 1.1.5813.29156
Version 1.1.5429.27129
15 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.1.4961.24740
Version 1.1.4896.24425
Version 1.0.4599.22886
Version 1.0.4584.22811
Version 1.0.4485.22325
16 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Version 1.0.4041.20109
Icones à la place des boutons dans les fenêtres de modifications des paramètres
Ajout d'un bouton annuler édition condition/action
Correction du bug Mauvais évènement sélectionné
Mode Simple ( Possibilité d'activer un mode simple, qui réduit l'interface de GDevelop
aux fonctions principales, idéal pour débuter. )
Nouvelle action pour modifier le zoom de la caméra.
Nouvelle condition pour tester la distance entre deux objets.
Version 1.0.3637.18164
Version 1.0.3628.18123
Version 1.0.3287.16387
Variables globales
Correction d'un bug avec le changement de scène et la taille de la fenêtre
Interface : Utilisation barres d'outils
Interface : Editeur de scènes multiples
Correction d'un crash avec l'a�ichage de texte sur certains pc
Option Synchronisation verticale et FPS max/min
Nouvel éditeur d'évènements
Sous évènements
Version 1.0.2385.11851
17 of 18 07/07/2016 01:51 PM
Revision history [GDevelop wiki] http://wiki.compilgames.net/doku.php/gdevelop/d...
Nouvelles actions “Tourner Vers une position” et “Se diriger Vers une position”
Les descriptions des paramètres sont maintenant situés au dessus du paramètre.
Nouvel exemple très simple : Aimant.
Version 1.0.2111.10497
Réduction des dépendances des jeux linux : Le jeu se lance sur de nombreuses
distributions sans nécessiter de paquets supplémentaires ( autre que X et OpenGL et
les paquets de bases ). Les jeux ont été testés et se lancent directement sur : Ubuntu,
Debian, Fedora, OpenSUSE, Mandriva One…
Possibilité d'enregistrer et de charger des données depuis des fichiers.
Possibilité d'envoyer des scores ou des données sur internet.
Correction de l'éditeur d'évènements : Après modification d'un évènement, l'éditeur
ne revient plus en haut de la liste.
Correction de l'action “Tourne Vers” : ne se tournait auparavant jamais vers 0.
Correction de la condition “Souris sur objet” : le test s'e�ectuait mal si la caméra
n'était pas en 0;0
Correction de l'action “Créer un objet” avec un objet inexistant : GDevelop crashait si
l'objet spécifié n'existait pas.
Version 1.0.1979
Version 1.0
18 of 18 07/07/2016 01:51 PM