r/rust_gamedev

I built a Silent Hill-inspired horror game on my own. If you have 20 minutes, I’d love your feedback on the Steam Playtest!
▲ 49 r/rust_gamedev+4 crossposts

I built a Silent Hill-inspired horror game on my own. If you have 20 minutes, I’d love your feedback on the Steam Playtest!

So, it's been 3 months since I started developing my game. On my own. I wanted to nail a certain vibe, isolation, anxiety, creepy-eerie atmosphere. Kinda like silent hill series. And so here I am - demo version of my game is almost ready. Now I just need to polish and reconsider some decisions. And I need your help!

Game Title: Red Lake
Playable Link (Request Playtest): https://store.steampowered.com/app/4867910/Red_Lake/
Platform: Windows (mac + linux soon to be added)
Description: A psychological horror with no interface to guide you. The forest watches you — so watch it back. Use your notebook to document impossible objects, then descend into the Red Lake. Each time you return, something has changed.
Free to Play Status: Free playtest.
Involvement: Solo-dev.

u/Odd-Pie7133 — 24 hours ago

I've started to work on Piston v2.0

Piston v2.0 will make some breaking changes to v1.0.

  • pistoncore-input will use a Cargo feature "serde" for serialization (#1412)
  • pistoncore-event_loop will use a Cargo feature "spin_loop" for the spin_loop crate (#1409)

This will reduce number of dependencies, improve compile times and CPU usage in many applications.

Also, I've started to think about what we can learn from the Bonsai fork of Piston-AI-Behavior. Not only learn, but take these lessons and apply them to the broader Piston ecosystem. I got an idea about a new concept in the Piston core about Actions, which is also compatible with button events. It will also improve ergonomics for button configuration, for controllers and widgets. You will no longer need to pass in settings manually, but can configure the maps at application code level.

This will simplify the overall architecture, but also, we can get rid of the pistoncore-input dependency in Piston-AI-Behavior. With actions, we might not need the generic A parameter to Behavior as much as before and this can default to (). There are other libraries that might also drop the pistoncore-input dependency, e.g. the camera controller library.

Actions will make bigger parts of the Piston ecosystem decouple from the core, so that these libraries can be used in other game engines.

I am currently looking into SDL3 keyboard compatibility and some edge cases in Piston v1.0 that I'm not satisfied with. This does not impact many applications, but still, if it can be improved, I want to improve it.

I also got some ideas about async and the piston command tool in Piston-Window, but this does not require new features in the core. This is just a heads up that I'm thinking about further improvements after the v2.0 core has been released.

reddit.com
u/long_void — 2 days ago
▲ 72 r/rust_gamedev+7 crossposts

My Rust engine performance

4 physics simulation with increasing physics body count

u/IamRustyRust — 3 days ago
▲ 1.5k r/rust_gamedev+6 crossposts

Bonsai just hit a 100,000 downloads on crates.io! 🎉

A little over 4 years ago I started Bonsai as a side project: a Rust library for building complex, deterministic AI behavior with behavior trees. It has since found its way into a wide range of applications.

The video shows two of them: on the left, a Titanfall 2 gameplay where all the players except the first person view is a NPC (bot) driven by Bonsai behavior trees. On the right, a robot from NASA lunabotics 2026 autonomously digging and dumping regolith in a simulated lunar environment – also powered by Bonsai.

A lot of the library's usefulness today comes from the community. Thanks to everyone who has contributed PRs, filed issues, and pushed it further than I would have on my own.

Repo link in the comments.

u/Sollimann — 5 days ago
▲ 101 r/rust_gamedev+2 crossposts

DRONECOM now has a Steam page :)

Hi Reddit, back in March I posted a screenshot of a prototype RTS based around sensors and air/naval warfare and received such a positive feedback that I decided to dedicate myself to turning it in a real game. I'm happy to announce that as of today the Steam page is up and running and I've been steadily building and improving the game thanks to kind contributions of volunteer playtesters and supporters of the game on the discord . Hoping for a release near the end of 2026. Happy to answer any questions about what the game is all about and where it is heading (and anything else ) :) -- thanks!

store.steampowered.com
u/bigbeardgames — 6 days ago

My incremental game made with Rust is finally out!

Hello again!

I posted here around six months ago about Karma Keepers, the incremental game I was making with Rust and my own framework. Yesterday I finally released it!

I spent a lot of time worrying about all the things that could go wrong once the game was running on machines other than mine. So far, things are going much better than I expected. People are reaching the end of the game with a lot of stuff happening on screen, and I haven't received any performance complaints yet. I am sure something will appear eventually but so far so good hahaha.

There is one technical issue I am investigating. A few people with older Windows laptops are getting crashes when the game starts with Vulkan. Using DX12 fixes it for them. My framework (wgpu) currently tries Vulkan first, so I will probably make DX12 the first option on Windows and keep Vulkan as a fallback. I cannot say for sure that the drivers are the problem yet, but that seems to be the common part between these cases.

The funny thing is that the biggest problem after release has nothing to do with Rust or the framework. It is the onboarding.

Some players understand the game quickly, but others feel that the beginning is slow or gives them too much information before everything clicks. I already knew this part was difficult, but seeing people play without me sitting next to them makes the problems much more obvious.

Would I use Rust again? Yes, at least for another 2D game. I still think making my own framework was probably not the smartest choice if the plan was to finish the game in less than a year. It took a lot of time, especially the UI, but now the framework exists and I know how everything works. The next game should be easier. At least I hope so. Althought I am not sure yet, I need to move fast with the next one because I have invested lot of time and money on this one that I am not getting back, so still the next game and what I'll be using is unknown. I am just focusing on the release now.

The game is here if you want to see how it turned out. It is also 40% off for the first two weeks: https://store.steampowered.com/app/3979140/Karma_Keepers/

If anyone here has released a wgpu game on Windows, which backend did you use by default? I would love to know how other people handle this.

The stack was mainly:
* wgpu.rs
* kira
* bevy_ecs

If you have question, just let me know!

u/Nazariglez — 6 days ago

My first game in Rust uses WASM. Play now at www.rpgfx.com

I have been developing a game in Rust (webassembly) for a while now, and it's gone through several iterations and updates. Eventually I intend for it to be a fully multiplayer MMORPG! I have most of it working and done - there's just way too much jittering in my current implementation for me to be happy with the multiplayer, so I feel like I have a few weeks of work on just that alone before I can get much more done.

I made a subreddit for updates if you would like to follow along, I tend to spend a few weeks working on the game and engine every few months when I have time.

Follow the subreddit: https://www.reddit.com/r/rpgfx/

Custom ECS engine.

Play now: https://rpgfx.com/

Happy for any thoughts, questions, and feedback :)

u/ryankopf — 7 days ago
▲ 0 r/rust_gamedev+1 crossposts

Project executable is not running when clicked on, but is running when I use the './project_name' command

Hello I am a semi-new rust programmer who has started making games using low level tools such as raylib for c/c++ and recently switched over to learning macroquad and rust. I enjoy using the language and come across a few headaches when try to compile a test game to run on other Os and got it that kinda working and wanted to try an export test just to do something different.

I was able to zip the executable no problem for both Mac Os and windows (linux is being a problem child that I'll save for another day) and when I went to check the Mac Os file I would click to run but that forces the program to abort before it even runs. I was trying to figure out what went wrong and tried to use the './project_name' command just to see if I could replicate the error but it ran just fine (as if I used 'cargo run' on my main file for this project).

I don't know how to exactly describe it other than I double click to run the program it crashes but if I use './project_name' it works.

I would like to have an idea of how to solve this problem before committing to try to using rust as my main programming language because I would like to publish my projects I make.

reddit.com
u/Professional_Top_544 — 8 days ago
▲ 1 r/rust_gamedev+2 crossposts

tengo una pc relativamente buena pero me va el juego con fps insuficientes

tengo de pc i7 14th 48gb de ram y una 4070 ti super en un server oficial y de comunidad me va a 140 fps con todo en bajo siento que deberia minimo tener un poco mas de fps porque en peleas y lugares de alta carga bajan los fps y no se puede pelear tan bien, si alguien me puede ayudar porfa a saber porque me va tan mal

reddit.com
u/ApartLet9415 — 8 days ago

Procedural fantasy world simulation in Rust with plate tectonics, climate modelling, and polity generation

Hi!

I released an update to my free procedural world generator.

If you aren't familiar with it, it uses plate tectonics to create more realistic worlds than your typical perlin noise based generator.

We have most major important tectonic features, like oceanic ridges and trenches, volcanic island arcs, mountains on convergent boundaries, volcanic hotspots following the direction of plate movement and so on. Those are then used to inform the properties of bedrock, with things such as the felsic content of magma, heat and depth to control the formation of metamorphic rocks, etc, all coming together to give us detailed geological maps, that we then use in conjunction with a CPU based climate model (with winds and ocean currents ^-^) to determine rates of erosion for soil formation and hydrology. It also supports loading of png files for plates and crust to help guide the generation.

Recently I made some further improvements to the climate, and I think it's now among the best in its "size category" of CPU based models that can be run without waiting a long time for the results. See the attached Koppen map of Earth for a visualization of what it can do - I think it's not that far off much stronger models like ExoPlaSim.

I also started the work on adding societies, shared on some of the last slides. Their formation is informed by the local flora and fauna, available domesticated plants, as well as the local geography, with mountains and major rivers acting as boundaries.

Its written in Rust + Godot, if it sounds like it'd interest you, we have a growing community on Discord

u/Calandiel — 11 days ago
▲ 23 r/rust_gamedev+9 crossposts

VoidDrift — idle space mining game in Bevy 0.15, runs on Android + browser (no sprites)

Built a mobile idle game with Bevy 0.15 + egui. No sprites anywhere —

all visuals are procedural geometry drawn with egui's painter API.

Runs on Android and WASM.

You mine asteroids, automate a drone fleet, and receive transmissions

from something watching near the black hole.

One technical thing the Bevy community might find useful:

egui::Window click events are unreliable in bevy_egui 0.33. All

interactive UI uses painter + ui.interact() instead. Took a while

to land on that pattern but it's solid now.

Play in browser: https://rdug627.itch.io/voidrift

Source (MIT): https://github.com/rfd62794/VoidDrift

Prototype — more orbital rings and drone types in progress.

Mobile feedback especially welcome.

u/FamiliarAnxiety9 — 10 days ago
▲ 90 r/rust_gamedev+3 crossposts

Keyboard Warrior - a rhythm typing game in Rust + macroquad

Keyboard Warrior puts a spin on Guitar Hero-like rhythm games by assigning a letter to each note, forming words. Type the corresponding letter in rhythm to hit the note. Fans of Guitar Hero and fans of monkeytype alike may find it fun! Browser demo and full downloadable versions.

Try it in your browser: https://elicoggins.github.io/keyboardwarrior/
Github release page: https://github.com/elicoggins/keyboardwarrior

Free to all!

Built with macroquad + CPAL. The audio’s frame counter is the game clock. Web demo runs in WebAssembly with full native downloads for Mac, windows, and linux also available.

Community charters have done incredible work building out the charts for tons of popular songs to be played in popular rhythm games like Clone Hero and YARG, and Keyboard Warrior runs off the same file type so the potential song library is already massive. The full download contains a seamless bridge to Chorus Hero (chart database) to download new songs inside the app.

Feedback of any kind is much appreciated. Thank you for checking it out! 

u/Warm-Till-7404 — 12 days ago
▲ 11 r/rust_gamedev+1 crossposts

I Replaced baked pixel-art dungeon props with real-time SDF shaders in Bevy — before/after, looking for feedback & ideas

Hey all — working solo on CryptFall, a 2D roguelite dungeon crawler in Bevy 0.15, and just wrapped an experiment I'd love feedback on.

Why I started this: a lot of my world props and decor just didn't feel like they belonged in the world — they read as pasted-on clutter rather than objects that actually lived in the room, which made the dungeon feel flatter and less alive than I wanted. Digging into why, I traced it back to a technical ceiling.

The problem: my "hero" props (pillars, barrels, tagged-room furniture) were procedurally-generated pixel art, baked to 32×32 PNGs at build time by a custom generator, then loaded as ordinary Sprites. No matter how much I tuned the CPU-side lighting math, a small object's cross-section only had a handful of texels to carry a shading gradient across — that pixel budget was a hard ceiling I kept slamming into, and it's a big part of why nothing quite sold as "a real object sitting in this room."

What I did instead: moved these props onto a Material2d/AsBindGroup/WGSL pipeline and draw them as signed-distance-field shapes directly in the fragment shader — circles for pillars, capsules for barrels, and hand-composited unions of line-segment + disc primitives for the tagged furniture (weapon rack, treasure pile, bedroll, chain cage). Antialiasing comes from an fwidth()-based smoothstep over the distance field, and lighting is a per-pixel cosine/Lambertian term computed live instead of anything baked in. Continuous math instead of a fixed grid — no more texel ceiling.

Before/after screenshots attached.

This image is of before the changes.

This is an image of after the changes. Currently only affecting a few of the objects.

Still very much WIP (this is a feature branch, not merged): furniture placement needed a couple of follow-up passes to actually read as "resting against a wall" instead of floating in the middle of the room, and I haven't touched the ~24 plain floor-debris decor variants or the floor/wall tiles themselves yet — that last one's the scary one, since it's 35k+ tiles and can't be one draw call per tile the way these props are, so it'll need a single big procedural quad instead.

Curious what this community thinks:

  • Anyone pushed SDF shape rendering this far in a 2D Bevy game before? Pitfalls I should know about before I commit to this for floor/walls too?
  • Techniques worth stealing to make the shading feel more "in the world" — next up I'm looking at reacting to actual nearby torch position/color instead of a fixed light direction.
  • Honest gut-check on whether this reads as an improvement — I've been staring at it too long to trust my own eyes.

Happy to share more shader code if it's useful to anyone.

reddit.com
u/CryptFallGame — 9 days ago

We're back! Now we've Implemented some fluid dynamics and volumetric raymarching!

It's been a while but thought I'd make a post today since I've gotten some cool visuals going :)

The fluid solver is based on the famous webgl demo https://github.com/PavelDoGreat/WebGL-Fluid-simulation https://paveldogreat.github.io/WebGL-Fluid-Simulation/ and the volumetrics are done by raymarching a heightfield that we construct in the editor.

There is a large simulation in the map, and a small simulation running around the player, and together they make the effect happen.

In the world we place zones that can inject wind and smoke and a compute shader weights and blends all the zones and their configuratioins into the simulation.

Since people asked last time I'll immediately post to the gpu abstraction we are using (not wgpu!) but blade by kvark: https://github.com/kvark/blade and ofc lovely egui for the ui (both the debug menu, editor and the in-game text rendering)

u/ErikWDev — 14 days ago