Rust: Game Development

40 readers
1 users here now

[Developing]

Goal

Discussions about using Rust for Game development.

founded 1 year ago
MODERATORS
1
2
 
 

It features SSAO, TAA, Morph Targets, WebGPU, Granular Shader Imports, Parallax Mapping, Robust Constrast Adaptive Sharpening, Schedule-First ECS APIs, Gizmos, ECS Audio, UI Borders, Grid UI Layout, and more

3
 
 

The highlights:

  • Screen Space Ambient Occlusion (SSAO): Increase scene render quality by simulating "indirect" diffuse light
  • Temporal Anti-Aliasing (TAA): A popular anti-aliasing technique that blends the current frame with past frames using motion vectors to smooth out artifacts
  • Morph Targets: Animate vertex positions on meshes between predefined states. Great for things like character customization!
  • Robust Constrast Adaptive Sharpening (RCAS): Intelligently sharpens renders, which pairs nicely with TAA
  • WebGPU Support: Bevy can now render on the web faster and with more features using the modern WebGPU web API
  • Improved Shader Imports: Bevy shaders now support granular imports and other new features
  • Parallax Mapping: Materials now support an optional depth map, giving flat surfaces a feel of depth through parallaxing the material's textures
  • Schedule-First ECS APIs: A simpler and more ergonomic ECS system scheduling API
  • Immediate Mode Gizmo Rendering: Easily and efficiently render 2D and 3D shapes for debugging and editor scenarios
  • ECS Audio APIs: A more intuitive and idiomatic way to play back audio
  • UI Borders: UI nodes can now have configurable borders!
  • Grid UI Layout: Bevy UI now supports CSS-style grid layout
  • UI Performance Improvements: The UI batching algorithm was changed, yielding significant performance wins
4
5
6
 
 

cross-posted from: https://beehaw.org/post/607297

So as a sort of follow up to this post, I got my texture atlases to work finally. However now I'm trying to work on the battle scene for my JRPG. I've run into some hurdles, but first, a small synopsis of how I conceptualize this system of a game could work.

So extrapolating all other irrelevant details, I basically have two "scenes": a battle scene and an overworld scene. Both are templates that read in data that is relevant to them (i.e. enemy and player data for the battle scene and map setup, NPC data, etc. for the overworld scene). I'm not entirely sure how to do this with Bevy, my chosen game engine, however I did come across a semi-relevant example.

Enter Dungeon Quest, a game made in Bevy and Rust albeit an older version of Bevy and has multiple scenes that are separated into Plugins. Each Plugin is then only activated when the game is in the correct state. I tried implementing this sort of paradigm for my game, however I got some kind of Schedule error that I couldn't even find in Bevy's documentation.

So my question is this: should I try reworking my code to work like Dungeon Quest, or is there a better alternative?

7
 
 

/c/[email protected]

Also, I get to figure out whether I can successfully post a link to a community on another instance. Let's see how many edits this takes.... oh there's preview. Never mind. Only took one, technically. Couldn't figure out how to make it generate links without, well, using link syntax.

/r/truegaming officially endorsed /c/[email protected], but it's deader than dead. For general gaming, /c/[email protected] (modulo the current defederation issues they need better mod tools)

8
9