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
SPWN is a programming language that compiles to Geometry Dash levels. What that means is that you can create levels by using not only the...
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
GitHub - livekit/livekit: Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C...
New
The pool of talented C++ developers is running dry.
Highly sought after, rarely provided.
New
SLUM: The Shadow Library Uptime Monitor.
This dashboard tracks the availability of popular shadow libraries in real time from a US-based...
New
After switching from Firefox to LibreWolf, I became interested in the idea of self-hosting my own Firefox Sync server. Although I had see...
New
About accelerationism, NRx, and the intersection of technology, religion, and philosophy: an analysis of the essential ideas in the new A...
New
GitSyncPad is an innovative micro keypad designed for effortless Git version control. Execute commands like git add, git commit, and git ...
New
Other popular topics
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
Just done a fresh install of macOS Big Sur and on installing Erlang I am getting:
asdf install erlang 23.1.2
Configure failed.
checking ...
New
Small essay with thoughts on macOS vs. Linux:
I know @Exadra37 is just waiting around the corner to scream at me “I TOLD YOU SO!!!” but I...
New
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser.
...
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
Build efficient applications that exploit the unique benefits of a pure functional language, learning from an engineer who uses Haskell t...
New
Author Spotlight
Jamis Buck
@jamis
This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
Author Spotlight
Mike Riley
@mriley
This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
Hair Salon Games for Girls Fun
Girls Hair Saloon game is mainly developed for kids. This game allows users to select virtual avatars to ...
New
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New
Categories:
Sub Categories:
- All
- In The News
- Dev Chat (205)
- Questions (35)
- Resources (122)
- Blogs/Talks (27)
- Jobs (3)
- Events (15)
- Code Editors (59)
- Hardware (59)
- Reviews (5)
- Sales (16)
- Design & UX (5)
- Marketing & SEO (2)
- Industry & Culture (14)
- Ethics & Privacy (19)
- Business (4)
- Learning Methods (6)
- Content Creators (7)
- DevOps & Hosting (9)
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /clojure
- /java
- /emacs
- /haskell
- /svelte
- /typescript
- /onivim
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /django
- /deno
- /kubuntu
- /arch-linux
- /nodejs
- /ubuntu
- /revery
- /spring
- /manjaro
- /diversity
- /julia
- /lua
- /markdown
- /slackware









