41 min

ECS / Game Development with Elixir vs. Python, JavaScript, React with Dorian Iacobescu & Daniel Luu Elixir Wizards

    • Technology

In Episode 4, the Elixir Wizards are joined by Dorian Iacobescu, author of the ECSpanse ECS library for Elixir, and Daniel Luu, founder and CEO of the game development studio AKREW. The guests compare notes on backend game development using ECS, the Entity Component System approach.


Akrew is currently building the multiplayer game Galactic Getaway using the Photon Unity networking framework, which employs ECS. They discuss challenges like collections of component types and persistence beyond runtime, building games for various platforms like MacOS, and handling inventory storage in a backend database.


Game development is complex and has many technical hurdles, but open communication across different programming communities and game development approaches can foster collaboration, innovation, and continued learning.


Topics Discussed in this Episode


Dorian explains the ECSpanse ECS library and component-based architecture
Dorian took inspiration for ECSpanse from the Rust library Bevy ECS and its component-based API
The guests discuss popular game development platforms and languages, including C#, JavaScript, and Godot
Owen and Daniel translate ECS concepts to familiar database and backend terminology for devs without game-specific experience
ECSpanse uses many tools from the Elixir Erlang toolbox, including GenServers, ETS tables, tasks, queries, and Phoenix LiveView
ECS challenges representing inventory collections that broke typical ECS singleton patterns
AKREW is developing Galactic Getaway using the Photon Unity framework
Relationships between parent and child entities in ECSpanse
Persistence, serialization, and replay features to save game state
Optimizing assets and code for performance on various devices


Links Mentioned

https://en.wikipedia.org/wiki/Entity_component_system
https://iacobson.medium.com/elixir-for-fun-ecspanse-2852a7993ecd
https://hexdocs.pm/ecspanse/Ecspanse.html
https://bevyengine.org/learn/book/getting-started/ecs/
https://www.photonengine.com/quantum
Add Galactic Getaway to your Steam Wishlist: https://store.steampowered.com/app/2012390/Galactic_Getaway/
https://godotengine.org/
https://unity.com/
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
https://www.tiktok.com/@galacticgetaway
https://docs.rs/bevy_ecs/latest/bevy_ecs/
Special Guests: Daniel Luu and Dorian Iacobescu.

In Episode 4, the Elixir Wizards are joined by Dorian Iacobescu, author of the ECSpanse ECS library for Elixir, and Daniel Luu, founder and CEO of the game development studio AKREW. The guests compare notes on backend game development using ECS, the Entity Component System approach.


Akrew is currently building the multiplayer game Galactic Getaway using the Photon Unity networking framework, which employs ECS. They discuss challenges like collections of component types and persistence beyond runtime, building games for various platforms like MacOS, and handling inventory storage in a backend database.


Game development is complex and has many technical hurdles, but open communication across different programming communities and game development approaches can foster collaboration, innovation, and continued learning.


Topics Discussed in this Episode


Dorian explains the ECSpanse ECS library and component-based architecture
Dorian took inspiration for ECSpanse from the Rust library Bevy ECS and its component-based API
The guests discuss popular game development platforms and languages, including C#, JavaScript, and Godot
Owen and Daniel translate ECS concepts to familiar database and backend terminology for devs without game-specific experience
ECSpanse uses many tools from the Elixir Erlang toolbox, including GenServers, ETS tables, tasks, queries, and Phoenix LiveView
ECS challenges representing inventory collections that broke typical ECS singleton patterns
AKREW is developing Galactic Getaway using the Photon Unity framework
Relationships between parent and child entities in ECSpanse
Persistence, serialization, and replay features to save game state
Optimizing assets and code for performance on various devices


Links Mentioned

https://en.wikipedia.org/wiki/Entity_component_system
https://iacobson.medium.com/elixir-for-fun-ecspanse-2852a7993ecd
https://hexdocs.pm/ecspanse/Ecspanse.html
https://bevyengine.org/learn/book/getting-started/ecs/
https://www.photonengine.com/quantum
Add Galactic Getaway to your Steam Wishlist: https://store.steampowered.com/app/2012390/Galactic_Getaway/
https://godotengine.org/
https://unity.com/
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
https://www.tiktok.com/@galacticgetaway
https://docs.rs/bevy_ecs/latest/bevy_ecs/
Special Guests: Daniel Luu and Dorian Iacobescu.

41 min

Top Podcasts In Technology

Acquired
Ben Gilbert and David Rosenthal
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Lex Fridman Podcast
Lex Fridman
Hard Fork
The New York Times
The TED AI Show
TED
TED Radio Hour
NPR