
CommunityNews
Lessons learned after 3 years of fulltime Rust game development, and why we're leaving Rust behind
- Once you get good at Rust all of these problems will go away
- Rust being great at big refactorings solves a largely self-inflicted issues with the borrow checker
- Indirection only solves some problems, and always at the cost of dev ergonomics
- ECS solves the wrong kind problem
- Generalized systems don’t lead to fun gameplay
- Making a fun & interesting games is about rapid prototyping and iteration, Rust’s values are everything but that
- Procedural macros are not even “we have reflection at home”
- Hot reloading is more important for iteration speed than people give it credit for
- Abstraction isn’t a choice
- GUI situation in Rust is terrible
- Reactive UI is not the answer to making highly visual, unique and interactive game UI
- Orphan rule should be optional
- Compile times have improved, but not with proc macros
- Rust gamedev ecosystem lives on hype
- Global state is annoying/inconvenient for the wrong reasons, games are single threaded.
- Dynamic borrow checking causes unexpected crashes after refactorings
- Context objects aren’t flexible enough
- Positives of Rust
- Closing thoughts
Disclaimer: This post is a very long collection of thoughts and problems I’ve had over the years, and also addresses some of the arguments I’ve been repeatedly told. This post expresses my opinion the has been formed over using Rust for gamedev for many thousands of hours over many years, and multiple finished games. This isn’t meant to brag or indicate success, but rather just show there has been more than enough effort put into Rust, to dispel the the commonly said “once you gain enough experience it’ll all make sense” argument.
Read in full here:
https://loglog.games/blog/leaving-rust-gamedev/
This thread was posted by one of our members via one of our news source trackers.
Popular General Dev topics

The following languages will help current and new web developers navigate the programming landscape to code web-based services and apps t...
New

https://permission.site/
This thread was posted by one of our members via one of our news source trackers.
New

:tada: Launching Fig
I am excited to announce that, as of today, Fig is generally available to the public for download.
With our public ...
New

How to have a Neovim configuration compatible with Vim.
So you can have your cake and eat it too.
New

It has some interesting features:
It’s entirely wireless (the left half speaks Bluetooth to the right half, and the right half speaks B...
New

Raspberry Pi security alarm — the basics.
In November last year — I started building a DIY security alarm system, using a Raspberry Pi a...
New

Hector Martin (@[email protected]).
Attached: 1 image
For those wondering why the hell we need all this safety system stuff for...
New

openai-python/chatml.md at main · openai/openai-python.
The OpenAI Python library provides convenient access to the OpenAI API from appl...
New

zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig.
General-purpose programming language and toolchain for maintaini...
New

Christian Mills - Testing Intel’s Arc A770 GPU for Deep Learning Pt. 2.
This post covers my experience training image classification mod...
New
Other popular topics

What chair do you have while working… and why?
Is there a ‘best’ type of chair or working position for developers?
New

Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New

New
New

I am asking for any distro that only has the bare-bones to be able to get a shell in the server and then just install the packages as we ...
New

Intensively researching Erlang books and additional resources on it, I have found that the topic of using Regular Expressions is either c...
New

A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New

The overengineered Solution to my Pigeon Problem.
TL;DR: I built a wifi-equipped water gun to shoot the pigeons on my balcony, controlle...
New

Author Spotlight:
Peter Ullrich
@PJUllrich
Data is at the core of every business, but it is useless if nobody can access and analyze ...
New

A Brief Review of the Minisforum V3 AMD Tablet.
Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
Categories:
Sub Categories:
- All
- In The News
- Dev Chat (200)
- Questions (30)
- Resources (118)
- Blogs/Talks (26)
- Jobs (3)
- Events (14)
- Code Editors (58)
- Hardware (57)
- Reviews (4)
- Sales (15)
- Design & UX (4)
- Marketing & SEO (1)
- Industry & Culture (14)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (4)
- Content Creators (7)
- DevOps & Hosting (9)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /haskell
- /emacs
- /svelte
- /onivim
- /typescript
- /crystal
- /c-plus-plus
- /tailwind
- /kotlin
- /gleam
- /react
- /flutter
- /elm
- /ocaml
- /ash
- /vscode
- /opensuse
- /centos
- /php
- /deepseek
- /zig
- /scala
- /html
- /debian
- /nixos
- /lisp
- /agda
- /react-native
- /textmate
- /sublime-text
- /kubuntu
- /arch-linux
- /revery
- /ubuntu
- /manjaro
- /spring
- /django
- /diversity
- /nodejs
- /lua
- /slackware
- /julia
- /c
- /neovim