Dev Planet
DTLS progress report #1
Dev snapshot: Godot 3.2 alpha 3
Vulkan progress report #4
Dev snapshot: Godot 3.2 alpha 2
Schedule for GodotCon 2019 in Poznań
Update 2019-10-16: Here is the current schedule with time table: Link to PDF.
Livesteam of the event is online on YouTube.
As announced a few months back, we are organizing a Godot Conference (GodotCon) in Poznań, Poland next week, on 16 & 17 Oct 2019. We expect close to 90 attendees, so this should be a great event!
Thanks again to the organizers of the Game Industry Conference for hosting us as a pre-GIC event, as well as hosting the Godot Sprint on 14 & 15 Oct at the same venue, where engine contributors will meet to work together, discuss the roadmap for 4.0 and future releases and many other technical topics 🙂
Below you will find the preliminary schedule for GodotCon Poznań, as well as a short description of the talks and the speakers. The order of the talks is still likely to change, and a few more talks may be added as we often get last minute proposals (especially from core contributors who tend to prefer making Pull Requests over preparing talks ;)).
Note for GodotCon attendees: Always refer to the Events page when in doubt about specifics regarding the event (time, location). We’ll update this page in priority whenever there is new details (especially more precise indications about how to find the conference room).
For people who cannot attend GodotCon, do not despair―we plan to have a livestream on Godot’s YouTube channel, which will also be available in replay.
GodotCon schedule
Update 2019-10-16: Here is the current schedule with time table: Link to PDF.
Livesteam of the event is online on YouTube.
Note: This is currently an unordered list of talks we will have. This post will be updated with a plan for when each talk should be in coming days.
-
Demo: Diving into the Vulkan: Presentation and demo of the Godot 4.0 rendering backend | Juan Linietsky (reduz)
- Juan will show us the current state of the (work-in-progress) Vulkan branch, and explain how it was designed and the main differences with the Godot 3.x backend. He will show new features such as the reworked Global Illumination probes, anisotropy, and how a project like the TPS demo fares on Vulkan.
-
Talk: Creating open games together with Godot | Nathan Lovato (NathanLovato)
- At GDQuest, we’ve learned to make free software creating small demos, tools, and tutorials for the community. This year was essential for us as we focused on complex projects and learned to work as a team. The next step is to build free and open-source games that both go beyond entertainment and benefit the community. Everyone is welcome to join us on this journey to become better game developers and create meaningful projects together.
-
Talk: GPU procedural map generation in Godot | Paweł Mogila
- Godot has support for simplex noise and you can generate procedural 2D or even 3D noise with with various parameters. If we use and mix one or more of such noises in proper way you can get nice looking maps. All that happens on the CPU. In my talk I would like to show another approach which uses the GPU for making 2D maps. It’s much faster and we can instantly see the effects as we modify the shader. That gives us much faster iterations and more possibilities.
-
Talk: GDScript coding guidelines at GDQuest | Răzvan Cosmin Rădulescu (razcore-art)
- Through the nature of Imperative Programming coupled with Object Oriented Programming countless solutions for solving a problem emerge. This flexibility comes with a cost: beginners struggle with knowing where to start while advanced users seek out coding patterns for simplifying their projects, picking the helpful path not necessarily being an easy task. The GDQuest Coding Guidelines have emerged as a “standardized coding layout system” to improve code readability and project workflow by providing a way to think about code structure and object coupling in Godot.
-
Talk: Practical music composition for video games | Pedro J. Estébanez (RandomShaper)
- This talk will teach the foundations of music composition and will show a workflow by which anyone can create his own instrumental tracks combining that knowledge with the aid of certain software. That’s the exact same workflow the speaker used to create the music for his upcoming game.
-
Demo: My first PR – how to start contributing to Godot | Tomasz Chabora (KoBeWi)
- Ever wanted to become a Godot contributor, but don’t know where to start? This little guide will show how to identify the cause for a simple issue and make a Pull Request (PR) fixing it, following Godot’s contribution workflow.
-
Talk: WebRTC: Low-latency, encrypted, peer-to-peer multiplayer for Godot Engine | Fabio Alessandrelli (Faless)
- Overview of the new WebRTC support in the upcoming Godot 3.2: why and how to use it, how it is implemented, etc.
-
Talk: Using Godot for economic simulation and agent-based modelling | Jeremiah Lasquety-Reyes
- Economic models are difficult to understand for ordinary people. I talk about how Godot can be used for more intuitive and understandable economic models especially through combining a certain school of economics (Austrian economics) and a certain kind of simulation (agent-based modelling). I consider how Godot’s unique scene-node system, flexible graphics, scripting language, and open source code make it a promising alternative to standard agent-based modelling software.
-
Talk: Implementing game programming patterns in Godot | Giovanny Beltrán
- A software design pattern is a repeatable solution that can be useful in many different scenarios. In this talk, I want to share with you how after developing several games in our studio using Godot, we have started improving our software design practices by implementing design patterns that make coding easier for us while making our games easier to maintain.
-
Demo: Enhance your Godot game with PBD based soft bodies | Leszek Nowak (JohnMeadow1)
- Leszek will show how to implement various soft bodies using Position Based Dynamics in Godot. Followed by discussion about advantages of using Position Based Dynamics instead of Mass Spring Systems.
-
Talk: Trip the Ark Fantastic | Aleksandar Gavrilović
- A short presentation of an upcoming Godot based video game called Trip the Ark Fantastic. It is a fable-based RPG cofunded by the MEDIA fund of the European Union which will be released in 2021/2022.
-
Demo: Character rigging using Skeleton2D | Matejs Balodis
- A quick demo on how to set up, rig and animate a 2D character in Godot Engine using 2D meshes and the Skeleton2D node. In the process you’ll learn some tips and tricks that Matejs has picked up from his experience while creating characters for a stream overlay game.
-
More demos of current and upcoming games by several attendees.
-
Possibly a talk on the FBX support in the upcoming Godot 3.2.
The speakers
Here’s some info about our GodotCon speakers. Note that we’re still accepting late proposals, so you could be one of those too 🙂












CFP: Game Development room at FOSDEM 2020
Dev snapshot: Godot 3.2 alpha 1
Rust GameDev: This Month in Rust GameDev #2 – September 2019
Welcome to the second issue of the Rust GameDev Workgroup’s
monthly newsletter.
Rust is a systems language pursuing the trifecta:
safety, concurrency, and speed.
These goals are well-aligned with game development.
We hope to build an inviting ecosystem for anyone wishing
to use Rust in their development process!
Want to get involved? Join the Rust GameDev working group!
Game Updates
Veloren

Veloren is an open-world, open-source multiplayer voxel RPG.
The game is in an early stage of development, but is playable.
Some of the September’s improvements:
- Improved multi-staged towns generation;
- Improved inventory system and character creation;
- Massive progress on water, water physics, lakes, and rivers!
- New chunks data structure;
- Three-dimensional map and minimap;
- First-person view;
- Bows and arrows;
- Performance optimization;
New video: “24 Minutes of Alpha Gameplay”.
Full weekly devlogs “This Week In Veloren…”:
#31,
#32,
#33,
#34,
#35.
Zemeroth v0.6

Zemeroth is a minimalistic 2D turn-based tactical game.
This month Zemeroth v0.6 was released.
Main features of this release are:
- renown and fighter upgrades,
- possessions,
- sprite frames and flips,
- status effect icons.
Read the full devlog post or watch the video version.
Twenty Asteroids
@VladZhukov0 published a few devlogs about their
“Twenty Asteroids” game:
Updates include:
- New enemies: a ship with a big pinball-like bullet and a laser-mesh ship;
- New upgrades: laser range and bullets reflection;
- Explosion size now depends on asteroid’s size;
- Improved main menu, upgrade and death screens;
- Better color contrast;
- New AI behaviors: follow and circle around;
- Debugging performance plots;
Amethyst Games
-
Space Shooter v0.1.3
by @carlosupina introduced a currency system, shop system,
and sound effects: watch the devlog video. -

-
@mvlabat is working on interpolation in his multiplayer prototype (video).
-
Azriel Hoh released a major new devblog update titled “Focus!”.

-
@webshinra made progress with raycasted FOV
in their hexagonal game.
Other Game News
-
@dooskington published their 5th devlog: “Stats And Skills”;

-
Alex Butler continues to polish their “Robo Instructus” game;
1.8, 1.9, 1.10 and 1.11 versions were released:
official macOS support, bugfixes, and better translations.
-
@Wraithan got tower placement working
in their “WraithDefense” tower defence game;
the development process is streamed on Twitch.
-
@oliviff released v0.0.1 and v0.0.2 updates
for Tennis Academy:
simplified gameplay flow, areas, cash flow, animations,
players’ state visual cues and more.
-
The Garden game is
under active development again.
Devlogs are coming soon!
-
“Live” by @pincfloit – a small command-line interface survival game
[twitter,
github]. -
@MrVallentin tweeted a bunch of updates about their voxel engine:
falling cubes,
text rendering,
60M cubes generated in the blink of an eye,
remeshing,
retrospective video,
saving and loading,
and some more.
-
@Mistodon got their entire game “Disconnect” to render in the terminal;
Library & Tooling updates
gfx-rs & wgpu-rs: Project Update
gfx-rs is a Rust project aiming to make low-level GPU programming
portable with low overhead.
It’s a single Vulkan-like Rust API with multiple backends that implement it:
Direct3D 12/11, Metal, Vulkan, and even OpenGL.
wgpu-rs is a Rust project on top of gfx-rs that provides safety,
accessibility, and even stronger portability.
- gfx-rs was slimmed down: “magical” deps (like failure and derivative)
were removed and it sped up the fresh gfx-hal build by a factor of 8.5X;
the “typed” layer of gfx-hal got removed. - Backend features were removed from wgpu-rs;
- An entirely new swapchain model was prototyped and implemented.
Discussions:
/r/rust
Mun and Hot Reloading Experiments

Mun is a scripting language for gamedev
focused on quick iteration times that is written in Rust.
Mun’s pillars:
- Hot Reloading.
Mun natively supports hot reloading – the process of changing
code and resources while an app is running –
on all target platforms and consoles with marginal runtime overhead.
Its runtime has useful error messages,
and can easily be embedded into other languages. - Static Typing.
Mun’s type system eliminates an entire class of runtime errors
and provides powerful IDE integration with
auto-completion and refactoring tools allowing developers
to focus on writing code. - Performance.
Mun uses LLVM to compile to machine code that can be natively executed
on any target platform, guaranteeing the best possible runtime performance.
The driving force behind the development of Mun is natively supported
hot reloading for functions and data.
As such, the language and its syntax will keep growing at the rate
in which hot reloading-supported semantics is added.
Currently, the language looks like this:
fn main() {
let sum = add(a, b);
// Comments: Mun natively supports bool, float, and int
let is_true = true;
let var: float = 0.5;
}
// The order of function definitions doesn't matter
fn add(a: int, b: int): int {
a + b
}
The source code of the project
is available on GitHub
under the MIT or Apache licenses.
Mun’s runtime is implemented in Rust.
Check out a GIF demo of the Rust hot reloading functionality
that shows:
- Catching and logging of errors (e.g. type mismatch),
- hot reloading of a shared library’s symbols (used for reflection) and method logic,
- runtime invocable methods and type/method reflection.
Discussions:
/r/rust
Rust Roguelike Toolkit and Roguelike Tutorial

rltk_rs by @herberticus is a Rust implementation of
C++ Roguelike Toolkit (what is a “roguelike?”).
It provides all the basic functionality one needs to write a roguelike game,
as well as mouse support, an embedded resource system, Web Assembly support,
and more.
All examples are linked to browser WASM to try.
The back-end uses glow to abstract OpenGL between versions.
API for embedding assets directly into your binary.
If you’d like to see a functional roguelike that uses rltk_rs,
check out Rusty Roguelike.
The Roguelike Tutorial includes more than 20 chapters now
and continues to grow.
It covers topics from “hello rust” and “what is an ECS?” to adding monsters,
equipment, nice menus, save/load, multiple levels, bloodstains, particle effects,
magic mapping scrolls, and more.
The tutorial has Web Assembly links to all examples
so you can run them in your browser.
EmbarkStudios/texture-synthesis

Embark has open-sourced their texture synthesis crate texture-synthesis.
It’s an example-based non-parametric image generation algorithm
written in Rust.
The repo also includes multiple
code examples along with test images,
and a compiled binary with a command-line interface
can be found under the release tab.
Also, see a great long recorded talk
“More Like This, Please! Texture Synthesis and Remixing from a Single Example”
which explains this technique and the background more in-depth.
Full list of stuff that Embark has released so far:
embark.rs.
Discussions:
twitter
Also,
- Embark will be sponsoring RustFest in Barcelona this year.
- Embark started hiring new grads
[twitter].
Iced – a Renderer-Agnostic GUI Library
Iced is a renderer-agnostic GUI library focused on simplicity and type-safety.
It was originally born as an attempt at bringing the simplicity of Elm
and The Elm Architecture into Coffee 2D game engine.
Features:
- Simple, easy-to-use, renderer-agnostic API;
- Responsive, flexbox-based layouting;
- Type-safe, reactive programming model;
- Lots of built-in widgets and custom widget support.
Check out the design overview in the repo’s README.
Discussions:
/r/rust
Amethyst

Amethyst is a game engine and tool-set
for ambitious game developers.
It enables game developers to make complex games without getting
into too much trouble, by means of data-driven design
and the ECS architecture.
Tooling:
-
Amethyst Engine v0.13 was released.
A newamethyst_tilescrate was added and
the Pong tutorial
is now complete with the addition of an audio section. -
@_AndreaCatania published
an “Initialize physics world – Amethyst physics tutorial #1”
video. -
amethyst-imgui v0.5 is out,
supporting a beta-version of the new imgui docking feature.
-
“How to do a turn-based game with the ECS pattern”
post, by @webshinra. -
@valkum is
implementing area lights using linearly transformed cosines.
Godot and Rust

Tom Leys is working on a “The Recall Singularity” game
about designing autonomous factory ships and stations
and this month they published a few posts
about using the Godot engine with Rust:
- “How I use Rust and Godot to Explore Space”
[/r/godot]; - “Gorgeous Godot games in Rust”
[/r/rust]; - “A Basic Godot-Rust Structure”;
Use Prebuilt Rooms with Rust Macros for More Interesting Procedural Dungeons

@whostolemyhat published the fourth part
of their tutorial series on procedural generation with Rust.
In this tutorial, the room generation is updated so it can pick from a selection
of pre-built room patterns as well as create the standard empty room.
Discussions:
/r/rust
Other Library & Tooling News
-
uset – an implementation of sets and maps
designed for small and medium number of stored elements
which change quickly – i.e. in a dynamically evolving scene in a video game. -
blend – a parser and runtime for Blender‘s .blend files
that can be used to read (almost) everything inside the file:
from mesh data, materials, cameras and animations to user preferences,
window locations and render settings
[/r/rust]. -
cubism-rs (Rust bindings for Live2D Cubism) got renderer support for Piston2D.

-
“Github Actions CI with Rust and SDL2” –
Alexandru Ene wrote a post about CI with github actions
for their hobby game project that uses Rust and SDL2.
-
@phaazon released luminance 0.33 that
brings geometry instancing support;
also, the third wiki chapter “Wavefront .obj loader”
was released.
-
phaazon/spline-editor – a simple spline editor
for the splines crate written using luminance.
-
@magistratic gave a talk on the Doom’s BSP rendering engine using their
Rust implementation as a demonstration at RevolverConf:
recording (in Norwegian) and a WASM demo available
here
(source code).
-
rx by @cloudhead is a modern pixel editor and animator;
this month, v0.2.0 was released, with new brush modes –
pixel perfect drawing, symmetry and multi-frame drawing –
a new GLFW backend and.gifoutput.
[/r/rust,
github]. -
Pixel art editor Xprite is now open source under GNU GPL
[/r/rust,
/r/rust_gamedev].
-
minimum by (@aclysma) is a game development framework that provides
basic tooling and a content authoring workflow;
this month, rendering of draggable shapes in the editor
and rotation/scaling were added
[YouTube demo].
-
The imgui-inspect macro-based property editor by @aclysma
is a by-product of the above-mentioned “minimum” project.
-
Project Deios decided to implement their core in Rust
and has been looking for a Rust graphics programmer:
/r/rust announcement.
Popular Workgroup Issues in Github
- #36 “Adoption of Rust over time in existing game codebases”
- #48 “Placement New”
- #49 “Branch prediction hints (i.e. Likely/Unlikely)”
- #51 “Using wasm-bindgen for games”
Meeting Minutes
See all meeting issues including full text notes
or join the next meeting.
Requests for Contribution
- winit:
- gfx-rs’s “contributor-friendly” issues;
- wgpu’s “help wanted” issues;
- luminance’s “low hanging fruit” issues;
- Request from Amethyst:
“The renderer-agnostic GUI library “Iced” by @hecrj looks so good.
If someone wants to make this work with Amethyst please get in touch with us!
(or just do it…)”.
Bonus
Just an interesting Rust gamedev link from the past. 🙂
Sandspiel is a falling sand game by @MaxBittker
built in late 2018 using Rust (via WASM), WebGL,
and some JS glueing things together.
Sandspiel is a pixel physics simulation sandbox where
you can paint with elements, conduct experiments and build your own world!Elements include Ice, Water, Sand, Lava, Fire, Oil, Plant, Fungus,
and many more!The goal was to produce an cellular automata environment that’s
interesting to play with and supports the sharing and forking
of fun creations with other players.
Ultimately, I want the platform to support editing and uploading
of your own elements via a programmable cellular automata API.
The history of the game and the development process are documented in a great
“Making Sandspiel” blog post.
The source code is available on GitHub.
The game’s community is still active: check
@sandspiel_feed feed of uploads.
Discussions:
/r/rust,
/r/programming,
hacker news
That’s all news for today, thanks for reading!
Want something mentioned in the next newsletter?
Send us a pull request.
Also, subscribe to @rust_gamedev on Twitter
or /r/rust_gamedev subreddit if you want to receive fresh news!








