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
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
Yet another rust-made text editor, though I’m really liking the looks of how this one works!
New
Docker on MacOS is slow and how to fix it.
Thanks to the DALL·E 2, we finally have a very nice graphic representation of the feelings of...
New
Building GitHub with Ruby and Rails | The GitHub Blog.
Since the beginning, GitHub.com has been a Ruby on Rails monolith. Today, the app...
New
GitHub - TodePond/DreamBerd: perfect programming language.
perfect programming language. Contribute to TodePond/DreamBerd development by...
New
Will Swifties’ war on AI fakes spark a deepfake porn reckoning?
New
Dark mode isn’t as good for your eyes as you believe.
The shadowy display mode has leagues of fans claiming it helps reduce eye strain, ...
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
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
Which, if any, games do you play? On what platform?
I just bought (and completed) Minecraft Dungeons for my Nintendo Switch. Other than ...
New
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
Curious to know which languages and frameworks you’re all thinking about learning next :upside_down_face:
Perhaps if there’s enough peop...
New
Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters...
New
This looks like a stunning keycap set :orange_heart:
A LEGENDARY KEYBOARD LIVES ON
When you bought an Apple Macintosh computer in the e...
New
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first:
asdf plugin-upd...
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
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
Background
Lately I am in a quest to find a good quality TTS ai generation tool to run locally in order to create audio for some videos I...
New
Categories:
Sub Categories:
- All
- In The News
- Dev Chat (206)
- 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
- /flutter
- /elm
- /vscode
- /ash
- /html
- /opensuse
- /zig
- /centos
- /deepseek
- /php
- /scala
- /react-native
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /django
- /deno
- /kubuntu
- /arch-linux
- /nodejs
- /revery
- /ubuntu
- /manjaro
- /spring
- /lua
- /diversity
- /julia
- /markdown
- /v









