HN user

mondobe

362 karma

Game developer, musician, programmer. https://mondobe.com

Posts9
Comments73
View on HN

I've been working on a music-making website since late spring. This is my first real frontend project, and I'm writing it in pure Rust using Leptos (so far, haven't had to write a single line of JavaScript!)

Most of my work so far has been on the actual music-making interface, but I'm beginning work on the backend now. I've only worked with Django before (for a school project at Georgia Tech), so I'll be deep in the `sqlx` documentation for a while.

There's no manual, so use at your own risk (it's similar to tracker programs like FastTracker and OpenMPT): https://mondobe.com/tracker

I'm getting into frontend web development with Rust by making a tracker [1] (not the advertising kind, rather a type of music-making app that was popular with chiptune artists in the '90s).

This is my first time doing anything with frontend more complex than an image carousel, and I have occasionally felt that I'm in over my head with things like multithreading and audio playback, but it's immensely satisfying seeing the app come together.

I am extremely impressed by the Leptos framework [2], and I'm thrilled that I haven't had to write a single line of JS, even when doing DOM interactions or communicating with web workers.

Once I polish up the tracker frontend, I'd like to add a backend and potentially try to release it as a paid app.

[1] https://mondobe.com/tracker

[2] https://leptos.dev/

I do wonder if we'll ever see this type of technology advance far enough that even a textual description (rather than hours of footage of an existing game) could generate something novel and playable. It seems absurd now, but throw enough compute and efficiency gains on it over a few decades, and it might approach the realm of possibility.

I have a hard time seeing how this isn't obvious. 95% of everyday AI needs (for the people that even bother to interact with it) are covered by ChatGPT, and most of that is the same stuff that Google was handling before.

From personal experience, the only thing that changed when replacing the "old" Google Assistant with the Gemini-powered one on my Pixel was that it's no longer able to create reminders.

Maybe the quantity of the annoyances don't matter (see YouTube's recent anti-ad-blocking shenanigans), but the fact that the annoyances are mostly constant and known (at least, changing at a much slower rate than you view a new slop website) definitely reduces cognitive load.

Rust really hasn't changed much in the past 6 years.

Even more importantly than this, Rust has a major emphasis on backwards compatibility. The author mentions a "hamster wheel" of endless libraries, but, in Rust, nothing's forcing you to switch to a newer library, even if an old one is no longer maintained.

In general, the complexity of your project is completely up to you, and (at least to me) it seems like a lot of the new features (e.g. generator syntax) are trending towards simplicity rather than complexity.

I read Tristan Donovan's "Replay: The History of Video Games" in middle school (back when my own access to video games was very limited, so I had to resort to reading about them), and it partially influenced me to pursue game development myself.

A lot of my current knowledge about the game industry comes from things I learned in this book (or used as a base for further research later on). Each chapter is a vignette into a different era, technology, and country, up to the indie boom of the 2000s. It's not a life-changing read by any means, but it's an extensive and memorable one.

After using Canvas for 2 years, I haven't had any problems with Firefox (except for the Lockdown Browser feature our school used to require, which I think is being gradually phased out).