[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)