[HN Gopher] Show HN: Creating a Snake game clone with Rust/Bevy
___________________________________________________________________
Show HN: Creating a Snake game clone with Rust/Bevy
Code is here: https://github.com/bebrws/bevy-snake I had a lot of
fun practicing Rust and Learning some Bevy concepts with this
repository. Bevy has an incredibly powerful dependency injection
system and follows a pattern called ECS which makes it very
powerful (and new to me). This simple < 300 lines of code might
help with learning some Bevy concepts. It also shows how to
copmile for the web/WASM and inject a canvas for the game (or use a
pre existing div).
Author : bebrws
Score : 29 points
Date : 2024-02-19 18:34 UTC (4 hours ago)
(HTM) web link (bbarrows.com)
(TXT) w3m dump (bbarrows.com)
| charcircuit wrote:
| Mobile browsers do support wasm, but the game doesn't offer
| controls for mobile users who aren't using a keyboard.
|
| Taking 100.6 KB (16.46 KB compressed) of javascript and 37.41 MB
| (8.15 MB compressed) for snake is quite a lot compared to what it
| would take for normal javascript.
| lwansbrough wrote:
| For sure, but snake also doesn't _need_ a game engine. I don 't
| think the exercise was code golf.
| jarjoura wrote:
| WASM is kind of coming full circle back around to when browsers
| used to support running Java Applets, or flash, or even
| ActiveX, however, this time, WASM is safe and is built into the
| browser.
|
| Figma has been the one platform to take full advantage of it in
| really jaw-dropping ways that proved you could write real
| creative professional productive software only in the frame of
| a Chrome window.
|
| It's just that WASM is not really practical for use for most
| things you want in a web browser, though the tooling to spit
| out WASM modules seem to keep getting better.
| chaosprint wrote:
| Nice.
|
| Speaking of Snake game, if you want to go even deeper, you can
| try to use the wgpu crate to combine Rust and WebGPU to write
| everything from scratch. Here is the tutorial:
|
| https://sotrh.github.io/learn-wgpu/#what-is-wgpu
|
| I once wrote a code editor with wgpu, from font rendering to
| char/line state management (very rough) for music live coding:
|
| https://github.com/glicol/glicol-wgpu
|
| It runs in browsers, even including Safari!
___________________________________________________________________
(page generated 2024-02-19 23:00 UTC)