HN user

lazypenguin

1,800 karma
Posts5
Comments280
View on HN

Agreed, in my experience VCS still an unsolved problem for gaming. Git/SVN/Perforce are picked not because they’re the best but because there’s really nothing else. My team uses git for code and SVN for assets and it sort of sucks. I’m keeping an eye on lore and while it has great potential it’s still immature and under resourced (seems like side project at Epic from what insights I can gather)

I also prefer Datastar but the new features coming in HTMX4 closes the gap more. Happy to see the ecosystem converging on good patterns.

It’s because nobody has made Steam for Movies. Let me have a movie collection that I can buy movies $1-$5 per movie and never lose it and I promise you I will buy a lot more movies. Just like people buy hundreds of steam games

FLTK is great at being fast and light, that’s about it. It’s kind of cumbersome to use but honestly does what it says on the tin. Highly recommend for smaller use cases but can’t imagine using on a large project. I used the rust bindings which are well maintained.

[dead] 5 months ago

Yes, we recently posted for an entry/mid level position and we got 1800 applications in a few days. It’s impossible to filter the list, I spent several hours to see how feasible it was and after getting through maybe 150 applications I gave up. We’re a small team, we don’t have the resources to cut through the noise without just blanket rejecting people. There doesn’t need to be a board that vets jobs, there needs to be a board that vets candidates and makes it easier for companies find their ideal candidate.

Me, because my work gave me a crappy dell that can barely run the stripe dashboard in the browser. I could put in a request for a Mac or something faster but this is the standard machine everyone gets for the company. It helps me be sympathetic to my users to make sure what I develop is fast enough for them because I definitely am going to make it fast enough for me so I don’t shoot my brains out during development.

Your recent post resonated with me deeply, as someone heavily invested in the Rust GUI I've fallen into this same conundrum. I think ultimately the Rust GUI ecosystem is still not mature and as a consequence we have to make big concessions when picking a framework.

I also came to a similar endpoint when building out a fairy large GUI application using egui. While egui solves the "draw widgets" part of building out the application, inevitably I had to restructure my app entirely with a new architecture to make it maintainable. In many places the "immediate" nature of the GUI mutable editing the state was no longer an advantage. Not to mention that UI code I wrote 6 months ago became difficult to read, especially if there was advanced layout happening.

Ultimately I've boiled my choices down to:

- egui for practicality but you pay the price in architecture + styling

- iced for a nice architecture but you have to roll all your own widgets

- slint maybe one day once they make text rendering a higher priority but even then the architecture side is not solved for you either

- tauri/dioxus/electron if you're not a purist like me

- Rewind 20 years and use Qt/WPF/etc.

A teammate evaluated this and the experience was night and day compared to cmake + vcpkg. However, there wasn’t a lot of motivation to cutover our existing large project over because of the unknown unknowns. I think projects like these looking to dethrone the status quo definitely need some case studies or examples of larger projects using it to increase confidence because I’d much rather use xmake over cmake if it can get the job done

SpacetimeDB looks interesting as a concept (the tech behind this server) but I could never sus out how could it would be in actual practice. I’ve always been interested in some post-mortems or reflections on the tech from other companies besides the founders

Yes! I love this framing and it’s spot on. The successful projects that I’ve been involved in someone either cares deeply and resolves the details in real time or we figured out the details before we started. I’ve seen it outside software as well, someone says “I want a new kitchen” but unless you know exactly where you want your outlets, counter depths, size of fridge, type of cabinets, location of lighting, etc. ad infinitum your project is going to balloon in time and cost and likely frustration.

I think the Rust community is sleeping on the potential of iced for traditional desktop gui. I monitor the gui space in Rust closely and have seen many toolkits come and go. In my opinion a desktop gui library/framework needs to solve two things to be useful: architecture and advanced widgets.

egui has served me well and is eagerly recommended in "what gui should I use" threads since it solves the widget problem well in an easy-to-use package. However, any sufficiently advanced application ends up needing a nice architecture to maintain development speed and enjoyment. I've found whether using egui/slint/fltk/etc. you end up having to roll your own system. When you start needing things like undo/redo you suspiciously start architecting something that smells like the elm architecture.

Iced is the only Rust toolkit that I track that solves the architecture part upfront. The message pattern is hugely powerful but it is hard to appreciate until you've really gotten in the weeds on larger applications. Once iced reaches a point where there is an advanced set of widgets available I suspect its popularity will rise accordingly.

As a comparison, one of the most successful desktop gui toolkit of all times (Qt Widgets) solved the architecture/widget duality long ago with the signal/slot system and advanced widgets like treeviews, datagrid, etc. Since then we must have had hundreds of "desktop" toolkits across all languages that can draw buttons and dropdowns but nobody has toppled the king yet for building advanced desktop GUIs (although there were a few close competitors in C# with WPF and Java with Swing they only solved the widget part in my opinion). I like to think iced can take this mantle one day, best of luck to them and congrats on the 0.14 release.

By switching to fetch(), we can take advantage of its support for readable streams, which allow for a stream of content to be swapped into the DOM, rather than a single response.

Based on this section, it will be interesting to see how this evolves. I've used HTMX a bunch but after stumbling on Datastar I've come to prefer it. Partially because I don't need something like alpine.js to get some frontend goodies but also because I've come to appreciate the power of SSE streaming morphable targets to the browser

Apple M5 chip 9 months ago

Basically you are correct, MacOS has to be treated like a console in that way. Except you get all the downsides of that development workflow with none of the upsides. The consoles provide excellent debugging and other tools for targeting their platform, can't say the same for MacOS.

For testing, I can do a large amount of testing in a VM for my game. Maybe not 100% and not full user testing but nothing beats running on the native hardware and alpha/beta with real users.

Also, since I can pass through hardware to my VM I can get quite good performance by passing through a physical GPU for example. This is possible and quite straightforward to do on a Linux host. I'm not sure if it's possible using Parallels.

Apple M5 chip 9 months ago

I develop a game that easily runs on much weaker hardware and runs fine in a VM, I would say most simple 3D & 2D games would work fine in a VM on modern hardware.

However, these days it's possible pass-through hardware to your VM so I would be able to pass through a 2nd GPU to MacOS...if it would let me run it as a guest.

Apple M5 chip 9 months ago

As far as I’ve seen, Apple is to blame here as they usually make it harder to target their platform and don’t really try to cooperate with the rest of the industry.

As a game developer, I have to literally purchase Apple hardware to test rather than being able to conveniently download a VM

I don't hate React developers. I hate developers who build consumer facing software and use top of the line hardware and networks to test it while being ignorant to the fact that most of their users will be using their products on 8+ year old consumer grade hardware over spotty 3G

No my experience is the inverse. The type of library you describe is nice for the basic queries but once you start needing CTE, subquery, postgres json query, etc. it just because easier to manage it all in SQL directly.

My original title was edited after submission but here the lead developers of bevy/iced/dioxus have an interesting discussion about the ethics of code reuse vs recognition in open source projects. I thought it could trigger some interesting wider discussions

There’s a big advantage to having your whole application in one language. I’m not sure the experience of egui on mobile though but egui is great to use as a developer

Pros

- Solid widget set

- Easy to get started

- Less state management

- Easy to make custom widgets

- Active community and crates (e.g docking view, tables, etc.)

- Fast to build new Ui

Cons

- Harder to do layouts (has multipass and some flexbox crates but still hard and compile loop makes it slow to iterate)

- Bring your own architecture (no restrictions on how you build your app so easy to make spaghetti if you’re not careful)

Egui is currently my favorite Rust UI crate although Slint and iced are also interesting.

I’ve played with Slint and it’s nice but depending on how this plays out it might be a concern. QML is of course much more mature than Slint. It would be interesting to read an in depth blog post by Slint about why fundamentally Slint is better than QML since one of the main advantages (multi-language) is potentially being nullified here.

Strange comment, there’s plenty of videos of both locations on YouTube to make the comparison and I think it’s quite apt. Chinese (and other SEA) major cities definitely feel much more modern than most American cities these days. Most American metropolitan areas are quite bland/bleak outside the “beautified” green areas.

I also married in my early twenties (21 actually) and am still happily married over a decade later. No regrets for me; I was lucky to find someone compatible early on and we were able to grow together. Yes undoubtedly you sacrifice some experiences choosing this path but I cherish that bond and antidote to loneliness. There's something comforting about having someone so close for important parts of your life spanning a long time. A real partner to the challenges so you don't have to do everything alone.

I was hesitant to share but I thought it would be better in the end. We often hear of negative experiences (divorce, abuse, etc.) but I regularly hear about couples quietly enjoying their long relationships together. Feels right to offer a counter-point to those stories to say it's not always a mistake.

Surprisingly the Russian army is mostly volunteer since the average pay right now is quite high by Russian standards. There are also standard conscripted soldiers as part of the country’s required service. Allegedly the conscripts are kept away from front lines since the death of conscripted young men in Afghanistan was part of the political death knell that led to the fall of the Soviet Union.

Unfortunately Ukraine is having to rely more on involuntary conscription to fill the ranks as volunteer numbers have dwindled. There are many documented cases of TASS “kidnapping” military age men.

I don’t see the parent poster blaming anybody. Maybe you can say they provided a one-sided view but what they wrote was factual.