Recent from talks
Contribute something
Nothing was collected or created yet.
GDevelop
View on WikipediaThis article's lead section contains information that is not included elsewhere in the article. (March 2023) |
| GDevelop | |
|---|---|
Screenshot of GDevelop version 5-5.2.169 | |
| Original author | Florian Rival (4ian) |
| Developers | Florian Rival (4ian), Davy Hélard (D8H), Clément Pasteau, Alexandre Sapet, Victor Levasseur, Aurélien Vivet (Bouh), Arthur Pacaud (arthuro555), Todor Imreorov (blurymind), Franco Maciel (Lizard-13)[1] |
| Initial release | August 11, 2008 |
| Stable release | 5.5.245[2] |
| Repository | https://github.com/4ian/GDevelop |
| Written in | C++, JavaScript |
| Operating system | Windows, Linux, macOS, Web browser |
| Platform | Linux, macOS, Windows, iOS, Android, HTML5, Universal Windows Platform |
| Available in | English, Community Provided Translations |
| Type | Game creation system Game engine Game integrated development environment |
| License | MIT License |
| Website | gdevelop |
GDevelop is a 2D and 3D cross-platform, free and open-source game engine, which mainly focuses on creating PC and mobile games, as well as HTML5 games playable in the browser.[3][4][5] Created by Florian Rival, a software engineer at Google,[6] GDevelop is mainly aimed at non-programmers and game developers of all skillsets, employing event based visual programming similar to engines like Construct, Stencyl, and Tynker[7][8] and tools for artificial intelligence-assisted development.
As it was distributed under an open-source license, GDevelop has found uses in games education, ranging from primary schools to university courses.[5][9][10] It has also been used by educators and researchers to create learning and serious games.[11][12]
Game creation without programming languages
[edit]GDevelop aims to allow creators to create video games without any programming languages. They use these methods to allow this:
Event-based logic
[edit]GDevelop's primary focus is to allow all users to create games without code or a programming language. This is accomplished via an Event system,[13] which creates logic by monitoring for conditions on when to trigger, and actions to take once the event conditions are met. The majority of events are presented in normalized language, so creators can avoid having to understand coding concepts found in many programming languages. GDevelop’s integrated AI assistant can also be used to automatically generate events based on natural language requests.
Behaviors
[edit]Behaviors allow for advanced combinations of pre-built functions and events to add logic like physics-based movement, pathfinding, acting as a platform or platform character game, allowing to move the object with the mouse or touch, transitions, etc.[14] Behaviors can be added to game objects, and the same object can have several behaviors. Behaviors can also be created through the Event system, enabling users to extend the existing set of behaviors without writing code. The AI assistant can use these behaviors to construct gameplay elements or portions of games based on user-defined prompts.
Built-In Asset Store
[edit]GDevelop has a built-in Asset Store that is host to hundreds of thousands of both free and paid assets. These can easily be inserted into a GDevelop project with a few clicks within the editor interface.[15]
Easy content pipeline
[edit]All game content including character art, backgrounds, text, etc., can be added directly through a point-and-click interface in the editor. Some example content types are Sprites, Tiled Sprites, 9-Patch (Panel) Sprites, Text Objects, Text Objects with BBText support, Shape Painters, and more. Music and Sounds can be imported directly into the events that utilize them.
Other features
[edit]GDevelop has Web, Local and Mobile clients.[16] The web client allowing for game development directly through the browser and saving to a cloud storage solution. Both Web and Local versions share the majority of their feature-set. The mobile version has a more limited feature set to comply with Google Play Store[17] and Apple App Store[18] regulations. A non-exhaustive feature-set available to clients include:
Extensions
[edit]User-made extensions can be created to allow for custom events (functions), behaviors, or objects. Existing events can be turned into extensions from within a project's event sheet. These extensions can be shared within the IDE to the entire community and can be added within a few clicks.[19] Extensions can also implement new engine capabilities such as Kongregate API integrations or full masking support and improve the quality of the creator's game. Some things extensions can add gamepad support and cheats like the Konami code.
JavaScript language support
[edit]Although GDevelop's primary focus is using the event system to enable development without any programming language code, a JavaScript code block can also be used in place of any event.[8]
In addition to using JavaScript code blocks for game logic, this also allows advanced users to extend the capabilities of events by directly manipulating the engine, expanding the capabilities of the engine.
Monetization support
[edit]GDevelop supports AdMob, Facebook ads allowing for advertising in the form of video, banner, interstitial screen and link to purchase. GDevelop also has extensions for integrating games on CrazyGames, Poki, Steamworks and more platforms.
Mobile editor app
[edit]GDevelop is available as a mobile app, optimized for both iOS[20] and Android.[21] Free accounts can store a few projects in the cloud, and premium accounts have access to more projects, AI assistant usage and online game exports.[22] This allows users to create games on Android and iOS devices, with cross-save support, meaning users can start a project on their mobile device and continue on their desktop, or vice-versa.
Game analytics
[edit]Users can opt to collect analytics data from their games, including the number of times the game has been played, the number of players, user retention over time, and more.[23] All of this data is collected anonymously and data collection complies with all current international data protection regulations.[24]
Shader effects
[edit]Introduced in beta 84,[25] GDevelop currently supports effects applied to each layer of a game scene. Shaders allow for advanced graphical effects, such as drop shadows, reflections, scanlines and color swapping, without having to create custom art for the effect.
Built-in content editors
[edit]Gdevelop's IDE also has built-in editors for graphics and audio. Piskel[26] is integrated for editing art, and JFXR[27] is integrated for creating sound effects.
One-click export
[edit]Games can be exported directly to Android, Windows, Linux, and Web platforms.[28] It is possible to make a local export that allows for manual iOS, Android, or desktop OS compiling, as well as export to platforms like Kongregate, itch.io, Google Play, etc.
gd.games: GDevelop's own game hosting platform
[edit]GDevelop also allows unlimited[29] one-click builds to be published on their own game hosting platform, gd.games,[30] even for free accounts. This gives game creators access to permanent URLs, creator profiles and more integrated analytics for their games.[23]
Supported platforms
[edit]GDevelop allows users to compile games into stand-alone games, without requiring the software to run.
The following platforms are supported for One-click export:
- Windows 8/10/11
- macOS
- Linux
- Android
- iOS
- HTML5 (Web)
Additionally, the projects can be exported locally and manually compiled by installing traditional development toolkits.
Technologies used
[edit]For games, GDevelop uses GDJS, a JavaScript engine, with PixiJS and Three.js as 2D and 3D renderers. The editor interface is in React and uses WebAssembly to manipulate projects using the Core classes written in C++.[31] Both the editor interface and games are packaged using Electron.
GDevelop 4 used a GDCpp, a C++ engine, as well as GDJS, a JavaScript engine. GDCpp uses SFML and GDJS used Pixi.JS as a renderer. The editor interface was written in C++ and was essentially based on the library SFML for multimedia management and on wxWidgets user interface. The software also used Boost and TinyXML. The IDE and GDCpp were packaged via a standard C++ compiler. In May 2025 GDevelop announced Playgrama Bridge technology compatibility.[32]
History
[edit]According to the main author of the software:
"The idea with GDevelop is making game creation accessible to anyone, from beginners to seasoned game developers. GDevelop allows you to create the logic of your game using visual events, composed of conditions and actions. You can also build your game objects by composing pre-defined and customizable behaviours. This means that the entry barrier to learning the syntax and idioms of a programming language is removed. For people that are not developers, it’s a way to quickly get up and running with an intuitive interface. Lots of people love sandbox games. GDevelop is a sandbox - but what you can do with it is unlimited."[33]
GDevelop's initial 1.0 release was in 2008, on a foundation that was primarily C++ and had a more native OS focus. Over the years more and more features were added such as tilemap support, a particle system, and limited network support. Leading up to 2018, discussions around migrating GDevelop to a more portable and platform-agnostic base were made, and in January 2018 GDevelop 5 was released.[34]
Until GDevelop 5, the main engine was the C++ engine (GDCpp). GDevelop 5 dropped support for it in favour of the JavaScript engine (GDJS), first introduced on July 1, 2013.[35] The reason for dropping GDCpp was because it had issues across platforms, could not run in the browser or on phones due to the renderer (SFML[36]) it was using, and GDevelop was lacking contributors in general to support both a JavaScript and a C++ engine. It is planned to bring a native engine back in the long term, but not in the short term[37]
GDevelop 5 included a complete rework of the IDE to begin using web technologies, like PixiJS and React. Support around GDevelop 4 was shifted over to GDevelop 5 to bring focus on enhancing the future of the engine.
Since GDevelop's launch, additional features and functionality have continually been added, such as BBText support,[38] Dialogue Support via Yarnspinner, layer-based shaders via PixiJS Shaders,[38] and native mobile apps to develop games on Android and iOS devices. Development and enhancement of the platform continues from 4ian and a group of repeat contributors.
3D support was added to GDevelop 5 on May 18, 2023, along with other changes.[39]
See also
[edit]References
[edit]- ^ "GDevelop contributors list". GitHub. 2021-01-11. Archived from the original on 2021-02-06. Retrieved 2021-01-11.
- ^ "Release 5.5.245". 5 November 2025. Retrieved 5 November 2025.
- ^ Hattersley, Lucy. "How to make your own games on a Mac". Macworld UK. Archived from the original on 2020-07-22. Retrieved 2020-07-22.
- ^ "Get Started in Game Development - GameDev.net". www.gamedev.net. Archived from the original on 2020-06-10. Retrieved 2020-07-22.
- ^ a b Correa, Jose David Cuartas (2015-06-27). Digitopolis II: Creation of video games GDevelop. Jose David Cuartas Correa. ISBN 978-958-9146-71-2. Archived from the original on 2023-03-31. Retrieved 2020-11-27.
- ^ "Porting a Desktop Game Editor to the Browser with WebAssembly". InfoQ. Archived from the original on 2020-08-12. Retrieved 2020-07-22.
- ^ Moore, D. M. (2020-04-14). "11 tools to get you started making video games". The Verge. Archived from the original on 2020-07-22. Retrieved 2020-07-22.
- ^ a b Griffey, Julia V. (2019-12-12). Introduction to Interactive Digital Media: Concept and Practice. Routledge. p. 151. ISBN 978-0-429-62073-7. Archived from the original on 2023-03-31. Retrieved 2020-11-27.
- ^ Yu, Chak Tin; Tomorrowskills, Hobbypress (2020-06-10). STEM Education Series: Write Your First 2-player Tank Game: Using GDevelop. Amazon Digital Services LLC - KDP Print US. ISBN 979-8-6527-6854-6. Archived from the original on 2023-03-31. Retrieved 2020-11-27.
- ^ "GDevelop for the education - Teach game creation". gdevelop-app.com. Archived from the original on 2020-07-23. Retrieved 2020-07-22.
- ^ Kleftodimos, Alexandros; Evangelidis, Georgios (2018). "Augmenting educational videos with interactive exercises and knowledge testing games". 2018 IEEE Global Engineering Education Conference (EDUCON). pp. 872–877. doi:10.1109/EDUCON.2018.8363322. ISBN 978-1-5386-2957-4. S2CID 44107170.
- ^ G, Gabriel Elías Chanchí; A, María Clara Gómez; M, Wilmar Yesid Campo (2019). "Proposal of an educational video game for the teaching-learning of the requirements classification in software engineering [Propuesta de un videojuego educativo para la enseñanza-aprendizaje de la clasificación de requisitos en ingeniería de software]". RISTI - Revista Iberica de Sistemas e Tecnologias de Informacao. 2019 (E22): 1–14. Archived from the original on 2020-07-22. Retrieved 2020-07-22.
- ^ "Events [GDevelop wiki]". wiki.compilgames.net. Archived from the original on 2020-08-03. Retrieved 2020-08-06.
- ^ "Behaviors ["GDevelop Wiki"]". wiki.compilgames.net. Archived from the original on 2020-07-24. Retrieved 2020-08-06.
- ^ "Game assets in the GDevelop Asset Store | GDevelop". gdevelop.io. Retrieved 2023-08-02.
- ^ "Download | GDevelop". gdevelop.io. Retrieved 2023-12-01.
- ^ "GDevelop on Android: The First No-Code & Open-Source Game Engine for Mobile | GDevelop". gdevelop.io. 2023-03-29. Retrieved 2023-12-01.
- ^ "GDevelop now on iOS: The First No-Code & Open-Source Game Engine for Mobile | GDevelop". gdevelop.io. 2023-12-04. Retrieved 2023-12-01.
- ^ "Extensions [GDevelop wiki]". wiki.compilgames.net. Archived from the original on 2020-07-23. Retrieved 2020-08-06.
- ^ "GDevelop - game maker". App Store. 2023-05-28. Retrieved 2023-08-02.
- ^ "GDevelop - 2D/3D game maker - Apps on Google Play". play.google.com. Retrieved 2023-08-02.
- ^ "GDevelop Premium Plans | GDevelop". gdevelop.io. Retrieved 2023-08-02.
- ^ a b "Games Dashboard - GDevelop documentation". wiki.gdevelop.io. Retrieved 2023-08-02.
- ^ "Privacy Policy | GDevelop". gdevelop.io. Retrieved 2023-08-02.
- ^ "GDevelop 5.0.0-beta84". GitHub. 2020-01-06. Archived from the original on 2022-07-08. Retrieved 2020-01-06.
- ^ "Piskel - Free online sprite editor". www.piskelapp.com. Archived from the original on 2020-08-09. Retrieved 2020-08-06.
- ^ "Jfxr : Frozen Fractal". frozenfractal.com. 3 August 2014. Archived from the original on 2023-01-25. Retrieved 2020-08-06.
- ^ "Publishing games [GDevelop wiki]". wiki.compilgames.net. Archived from the original on 2020-08-05. Retrieved 2020-08-06.
- ^ "GDevelop Premium Plans | GDevelop". gdevelop.io. Retrieved 2023-08-02.
- ^ "gd.games - Play games made with GDevelop, the game making app". gd.games. Retrieved 2023-08-02.
- ^ "How has been ported the game editor to the browser with WebAssembly". 2019-10-09. Archived from the original on 2020-08-12. Retrieved 2020-07-22.
- ^ "🎮 Spotlight: Empowering Web Games with Playgama | GDevelop". gdevelop.io (in Russian). 2025-05-23. Retrieved 2025-09-06.
- ^ "Porting a Desktop Game Editor to the Browser with WebAssembly". InfoQ. Archived from the original on 2020-08-12. Retrieved 2020-08-06.
- ^ "Release 5.0.0-beta14 · 4ian/GDevelop". GitHub. Archived from the original on 2022-07-08. Retrieved 2020-08-07.
- ^ "Initial addition of GDJS to the source code". GitHub. Archived from the original on 2022-07-08. Retrieved 2020-08-09.
- ^ "SFML". SFML. Archived from the original on 2020-08-14. Retrieved 2020-08-11.
- ^ "Statement "Native games will be added to GDevelop 5 later." at the bottom of the downloads page". GDevelop official website. Archived from the original on 2020-08-09. Retrieved 2020-08-09.
- ^ a b "Release 5.0.0-beta84 · 4ian/GDevelop". GitHub. Archived from the original on 2022-07-08. Retrieved 2020-08-07.
- ^ "GDevelop Engine Adds 3D Support". GameFromScratch. 2023-05-18. Retrieved 2023-08-20.
External links
[edit]GDevelop
View on GrokipediaOverview
Core Concept
GDevelop is a free, open-source, cross-platform game engine designed for creating 2D and 3D games without requiring programming knowledge.[1][6] It provides visual tools that enable users to build, test, and publish games for platforms including web browsers, mobile devices (iOS and Android), desktop (Windows, macOS, Linux), emphasizing accessibility for rapid development and prototyping.[3] The engine's core strength lies in its no-code paradigm, which allows beginners, educators, and hobbyists to focus on creative aspects rather than syntax or debugging code, making it ideal for quick iterations and learning game design principles.[1] At its foundation is a visual scripting system that implements game logic through intuitive, drag-and-drop interfaces, replacing traditional coding with a more approachable method for defining behaviors and interactions. This approach briefly references an event-based system for structuring logic, but details on its mechanics are covered elsewhere. As an open-source project, GDevelop is released under the MIT license, permitting free use, modification, and distribution for both personal and commercial purposes. Its primary repository is hosted on GitHub at https://github.com/4ian/GDevelop, where the community contributes to its development, ensuring ongoing updates and extensibility.[3] This open nature fosters a collaborative ecosystem, with the engine's codebase actively maintained to support evolving game creation needs.[3]Target Users and Accessibility
GDevelop primarily targets hobbyists, educators, indie developers, and individuals without programming experience who seek to prototype and build games rapidly.[1] This audience benefits from the engine's no-code approach, which democratizes game creation by allowing users to focus on ideas rather than technical barriers. Educators, in particular, use it for teaching concepts in computer science and creative design, while indie developers leverage it for quick iterations on 2D and simple 3D projects.[6] Key accessibility features enhance its reach to diverse users. The core software is free and open-source, eliminating financial hurdles for entry-level creators worldwide.[7] It offers multilingual interface support in multiple languages including English, French, and Chinese (Simplified), facilitating adoption by non-English speakers.[8] System requirements remain low, requiring only a 64-bit processor, 1 GB of RAM, and WebGL-compatible graphics, enabling it to run on Windows, macOS, Linux, web browsers, and even resource-constrained devices like Chromebooks.[9] Community-driven resources further lower the learning curve. Official tutorials on the GDevelop Academy provide step-by-step guidance for beginners, covering everything from basic mechanics to advanced techniques.[10] The active forum at forum.gdevelop.io and Discord server offer peer support, troubleshooting, and knowledge sharing among thousands of users.[11] These platforms foster an inclusive environment where newcomers can access real-time help and collaborative examples. For mobile-first development, GDevelop includes dedicated apps for iOS and Android, allowing users to create, edit, and preview games directly on smartphones or tablets.[12] This portability supports on-the-go creation, particularly appealing to younger users or those in educational settings without access to desktops.[13]No-Code Game Creation
Event-Based Logic
GDevelop employs an event-based logic system that allows users to define game behaviors through visual scripting in event sheets, eliminating the need for traditional coding. These event sheets serve as the core mechanism for implementing game logic, where users create events consisting of conditions—triggers that evaluate to true or false—and corresponding actions that execute when all conditions in an event are satisfied. For instance, a condition might check if a player object collides with an obstacle, prompting actions such as reducing the player's health variable or playing a sound effect.[14][15] To handle more intricate logic, GDevelop supports sub-events, which are nested under parent events and only run if the parent's conditions are met, enabling hierarchical structures for efficient organization and performance optimization. Groups allow users to bundle related events together for better readability, with customizable colors and the ability to disable or enable them en masse during development. Modifiers, such as expressions like TimeDelta(), ensure actions scale consistently across varying frame rates, preventing issues like erratic movement in games running at 60 FPS versus 30 FPS. This setup facilitates complex decision trees without code, such as managing game states through variable comparisons.[15][16] Practical examples illustrate the system's versatility. For collision detection, an event might use the condition "PlayerSprite is in collision with Enemy" to trigger actions like deleting the enemy instance and incrementing a score variable by 1, applying only to the specific colliding objects. In scoring systems, a condition like "Coin is in collision with Player" leads to actions that add points to a global score variable and remove the coin from the scene, often combined with particle effects for feedback. State management can be achieved by tracking variables, such as an event with the condition "PlayerHealth <= 0" activating actions to transition to a game over screen or reset the level, using sub-events to handle variations like invincibility timers.[16][14] The advantages of this approach lie in its intuitiveness for beginners, who can grasp cause-and-effect relationships through a drag-and-drop interface without prior programming knowledge, while offering scalability for advanced users via nested logic and reusable expressions that support increasingly sophisticated games. Behaviors can extend this system by encapsulating common event patterns for objects, further streamlining development.[15][14]Behaviors and Objects
GDevelop provides a variety of object types as the foundational building blocks for game entities, allowing creators to represent visual, interactive, and structural elements without coding. These objects can be placed in scenes and manipulated through properties, animations, and interactions. Common built-in object types include sprites for displaying images or animations, text objects for rendering written content, particle emitters for generating dynamic effects like fire or explosions, 3D models for incorporating three-dimensional assets with support for lighting and shadows, and tilemaps for constructing level layouts using repeating tiles.[17][18][19][20][21] Behaviors in GDevelop extend the functionality of these objects by adding reusable mechanics, such as movement, collision handling, or state management, which are attached directly to individual objects via the editor's properties panel. The engine includes numerous built-in behaviors—over 100 options when considering core and standard extensions—that cover essential game mechanics, enabling quick implementation of complex interactions. Examples include the platformer character behavior for gravity-based jumping and running on platforms, the pathfinding behavior for AI navigation around obstacles, and the draggable behavior for user-controlled object manipulation via mouse or touch input. These behaviors are customizable through parameters like speed, acceleration, or obstacle detection grids, and they integrate seamlessly with object properties to simulate realistic physics or controls.[22][23][24] For more specialized needs, GDevelop supports the creation of custom behaviors using its visual event-based system, where users define logic through a drag-and-drop interface without writing code. These custom behaviors are built as part of extensions, incorporating events that run during object lifecycles such as creation, updates per frame, or destruction. A representative example is a health system behavior, which might include properties for maximum health points, damage intervals, and regeneration rates, along with actions to apply damage or check for death states. Once created, custom behaviors can be reused across multiple objects and projects, promoting modularity in game design.[25][26][27] Objects and behaviors interact dynamically through GDevelop's event system, where conditions detect states or collisions involving specific object instances, and actions trigger behavior methods to update positions, animations, or properties in real-time. For instance, an event might use a collision condition between a sprite object with a platformer behavior and a tilemap to adjust velocity or play a sound effect, ensuring responsive and interconnected game worlds. This integration allows behaviors to respond to event-based triggers, creating emergent interactions like enemy AI pursuing a player or particles emitting on object impact.[14][28]Asset Pipeline
GDevelop features a built-in asset store integrated directly into the editor, offering thousands of free and premium assets such as sprites, sounds, and complete game templates to accelerate project development.[29] These assets can be browsed and imported seamlessly within the application, allowing users to select and incorporate them into their projects without leaving the workspace.[30] The store supports a variety of categories, enabling quick prototyping with ready-made elements like character animations, backgrounds, and audio effects.[31] As of August 2025, GDevelop includes AI-powered tools that assist in generating assets, such as images and prototypes, further streamlining the no-code workflow for creators.[32] The import workflow for custom assets emphasizes simplicity and integration, primarily handled through the Resources tab in the project manager. Users add images, audio files, fonts, and videos by editing resource properties to select local files or URLs via the file explorer, or by using the automatic scanning feature to detect and import assets from the project folder.[33] Although direct drag-and-drop for initial import is not the primary method documented, assets can be efficiently added to objects—such as dragging sprites into scenes after import—and the system supports batch operations for multiple files.[18] Optimization occurs automatically during export to target platforms, with built-in options like toggling image smoothing for pixel art preservation and preloading audio to minimize runtime delays, ensuring compatibility across web, mobile, and desktop.[33] The asset pipeline scales effectively from basic 2D content to advanced formats, accommodating simple sprites alongside 3D models in glTF (.glb) format and skeletal animations through Spine integration.[34] Spine support enables complex 2D character rigging with bone-based animations and smooth transitions, imported as .json and .atlas files for runtime rendering via PixiJS.[35] This versatility allows projects to evolve without external tools for asset preparation. Efficiency in the pipeline is enhanced by real-time previews in the properties panel, where imported assets display immediately for editing and testing, and batch tools for managing resources en masse—such as removing unused or invalid files to streamline project size.[33] These features reduce iteration time, with assets ready for assignment to objects like sprites or 3D models upon import.[17]Advanced Features
Extensions and Customization
GDevelop's extension system allows users to expand the engine's capabilities by adding new objects, behaviors, actions, conditions, expressions, effects, and events, enabling the implementation of advanced game mechanics without relying solely on the core features.[36] These extensions can be created using the engine's visual event-based tools, which facilitate no-code development by leveraging drag-and-drop interfaces and predefined logic structures.[37] Community-created extensions form a significant part of the ecosystem, providing specialized add-ons for features such as advanced user interfaces, networking protocols, or procedural generation tools.[38] Official extensions, like those for ads or camera controls, undergo rigorous review, while community contributions are hosted on GitHub and lightly vetted for inclusion in the shared library.[36] This collaborative approach fosters innovation, with examples including the Dungeon Generator for level creation and Smooth Camera for enhanced movement tracking.[36] The creation process begins in the Project Manager, where users select "Create a new extension," rename it for specificity—such as "HealthSystem" for vitality mechanics—and then define components like objects or behaviors using the built-in visual editor.[37] No deep coding is required for basic extensions, as creators can assemble them from event sheets and reusable logic blocks, though JavaScript integration is available for more complex needs.[37] Representative examples include health bar behaviors that track player damage visually, inventory systems managing item collections through conditions and actions, and custom physics extensions simulating unique collision responses.[37] Extensions are shared and distributed through an integrated marketplace within the GDevelop editor, functioning as a package manager for searching, installing, and updating add-ons directly into projects.[39] Users can download from the in-app store or GitHub repository, with submissions following best practices to ensure compatibility and ease of use across the community.[40] This system promotes accessibility, allowing even novice developers to incorporate professional-grade features like auto-typing animations or in-app purchases.[41]JavaScript Support
GDevelop incorporates JavaScript support through its GDJS runtime, which compiles the visual event sheets into efficient JavaScript code for execution on web and desktop platforms.[42] This runtime enables seamless performance in browser-based games and exported applications by translating no-code logic into a JavaScript-based engine, allowing for cross-platform compatibility without requiring manual coding for basic projects.[43] For advanced customization, GDevelop permits the embedding of custom JavaScript code directly within event sheets via dedicated JavaScript code events. These events can be added by selecting the option from the events toolbar, providing access to the runtime scene object for manipulating variables, objects, and behaviors.[44] Developers can retrieve object instances using methods likeruntimeScene.getObjects("ObjectName") or access global variables through runtimeScene.getVariables().get("VarName"), enabling precise control over game elements.[44] This integration supports the inclusion of external libraries or custom functions, executed sequentially as part of the event flow.[43]
Common use cases for JavaScript in GDevelop include implementing complex algorithms that exceed the capabilities of visual events, such as advanced pathfinding or procedural generation.[43] It also facilitates API integrations, like fetching data from external services, and performance optimizations through low-level tweaks to object behaviors or rendering logic.[44] For reusable code, JavaScript can be packaged into extensions, which extend the engine's functionality for objects, behaviors, or new event types.[43]
This JavaScript layer supports a hybrid development approach, allowing users to transition from no-code event-based design to code-enhanced projects as complexity grows.[43] Beginners can prototype visually and later refine with JavaScript for scalability, maintaining the tool's accessibility while empowering programmers to handle intricate requirements.[44] The Monaco Editor, integrated into GDevelop, provides syntax highlighting, autocompletion, and IntelliSense to streamline this process.[43]