Making game creation fast and accessible to all




👋 Hi, I'm Florian

Some things I've done:
- Software engineer in the Android Games team at Google
- ​Android Game Development Kit, support for texture compression format + various gaming related work
- "Full stack" software engineer at Meta
- Built a game for Lil BUB (iOS, Android, desktop)
- Started GDevelop, the open-source project
- And founded the company of the same name
GDevelop?
An open-source, no-code, lightweight and fast game engine
Make game creation radically more fast, simple, accessible.
GDevelop
github.com/4ian/GDevelop
- Designed to be 10x more approachable than anything else,
- 2D and 3D games,
- Large range of games: casual, midcore, education, promotional games...
- Publish to App Stores (Android, iOS), Windows, macOS, Linux, web (HTML5). Consoles one day!

















2D/3D scene editor


Natural language, "event" based logic


Behaviors


3rd party editors


Asset Store

Reminds me of...



Demo!
But why?
- Be the first step for all new game creator. Young or old.
- That's why it's no-code
- That's why it's lightweight & runs anywhere
- Be there for all ambitious games
- That's why it's open-source
- That's why no-code is not a gimmick
- That's why it's based on other proven, open-source libraries

But how?
-
TypeScript + WebAssembly + WebGL game engine
- PixiJS and Three.js for WebGL/WebGPU rendering
- Physics library (Box2D)
- ...
- (Typed) JavaScript + WebAssembly + React editorÂ
- Ready to use cloud build, leaderboards, player accounts backend services.
Bring your own or use our own.

But it's limited
Not really - not at all:
- The "no-code" approach is turing complete. Transpiled to code.
- Object + Behaviors is an "Entity Component" architecture
- Build new Objects, Behaviors, Actions, Conditions directly from the editor
- Use JavaScript at any time...
- ...but you probably won't use it a lot.

But it's for beginners
- We're happy to have beginners!
- It's even perfect for education
- But the truth is that we're building a higher abstraction level - one that is approachable and that developers also want to use.

- Tweens
- Physics engine
- Visual effects (Shaders)
- Behaviors ("components")
- Structures/arrays
- Custom objects ("prefabs" but encapsulated)
- Tilemaps
- Particles
- Lights
- Bitmap texts
- Shape painters
- Debugger
- Profiler
- Hot reloading
- ...
GDevelop has features from all game engines...

- Buttons
- Health system
- Smooth camera
- Bullets handling
- Pixel perfect movement
- Transitions
- Checkpoints
- Linear movement
- Pinching gesture handling
- Explosions
- Orbit movement
- Boomerang
...but goes one level beyond in the abstraction levels

But it's slow
- JavaScript is JIT compiled
- WebAssembly used and to be used much more
- Events transpiled to JavaScript
- We could switch to another rendering engine.

We're not building the best rendering/physics/game engine in the world (other OSS projects are doing this very well!), but building on the shoulders of these giants
But no way to make successful games


Usage for edu?

- Runs from any browser, super lightweight
- Teach logic, game creation or coding
- Get fun, visual results quickly
- Fun results that can be shared!
- Tons of tutorials on gdevelop.io/academy and 2 long format videos on FreeCodeCamp
Thanks! 🙂
gdevelop.io
github.com/4ian/GDevelop
GDevelop - FOSDEM 2024
By Florian Rival
GDevelop - FOSDEM 2024
GDevelop presentation at FOSDEM 2024
- 616