Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This sounds like an awesome project but a terrible product, but in a good way. You are not hooking the user, but you are not hooking people with gameplay. However, if you can give it a nice aesthetic, this might work as a game on the desktop/mobile.

Regarding Bevy, my wife and I recently started a games company recently and she did a ton of research on game engines. The verdict in Bevy was that it needs to mature a lot more in comparison to more mainstream engines. YMMV. If you run into issues, take a look at Godot. It's has been fairly simple to learn, its language borrows from TypeScript and Python a lot. You can also use gdextension to write code in C++, or even Rust with the community-supplied bindings.

Good luck!



:) Yeah, the "awesome project, terrible product" idea you're expressing has crossed my mind many times. It's an interesting line to try and walk to be sure.

Care to share more on the research you did? I'd love to hear more.

While I'm not a stranger server-side languages, the last decade of my career has been mostly building CRUD apps with JavaScript. So, I initially tried building out this simulation using React + PixiJS. I ran into performance issues with React's reconciler pretty quickly. That, plus no real modern, 2D JavaScript game engine (BabylonJS for 3D .. PhaserJS for 2D?) made me look elsewhere.

My intention is to build a web-first game not a steam-first game because I see focused interaction with the game being just a couple of minutes each day, but brief check-ups on the game state to occur repeatedly throughout the day. I don't think those use cases align with how I see myself using Steam. Usually Steam is a sit down and game for an hour sort of thing.

Assuming web-first is a priority, but avoiding JS, the only option is WASM. I did some reading around and saw suggestions to avoid using GC'ed languages because JavaScript's GC is one mark against it already and because stuffing a GC into a WASM build makes it very heavy.

Those decisions sort of naturally pushed me into Rust/Bevy for better or worse!


The whole games development has been a wild ride so far, we spent 9 months learning it without bringing out any game. We threw away a lot of prototypes though. Our background is in open source and server side stuff, so we needed to let go of a lot of concepts to be efficient.

Research-wise we did a whole lot of reading and a bunch of work building games we threw away. Here's what we found and I can share publicly:

- Unreal Engine: pain and suffering for awesome results. You must love debugging. You get source code access to help with that. Have a Rider subscription to lessen the pain of C++. (I'm not joking.) Loves to crash a LOT, but at least you get a stack trace. C++ has garbage collection here, which is neat. Did I mention to get Rider? Not web friendly though.

- Unity: works, relatively easy to get good results, lots of tutorials, but no source code access unless you fork out a lot of cash up front. Didn't crash on us.

- Godot: Free, open source, easy to start, stupidly hard to master. Needs a lot of fine tuning to make look good. Random weird bugs pop up with no stack trace. Has a custom DSL called GDScript which has some weiiiiird design decisions. (E.g. a Vector2 is not an object, but a data type.) GDExtension takes some experience to set up. I like C++ with UE a lot more.

- Phaser: It's a toy, lacks too much to do anything serious with. Love it though. Might be wrong on this one, only built one small game.

- BabylonJS: Built our website with it (see my bio), sturdy workhorse but you need to optimize your stuff a lot beforehand. Love it. Forums/community are awesome.

The ones we didn't test:

- Three.js: didn't try, but the API is apparently not very stable.

- Bevy: The community is very small, lots of parts seem to be still missing to build larger stuff. Didn't try it out in the end.

- OGRE3D: Couldn't get it to build, but it looks very robust. Would love to try again some day.

- PyGame: Good to learn the basics, but like Phaser, it seems to lack a lot to build more serious projects with it.

Keep in mind, opinions can be very subjective, it can be very hit and miss. We had fans of either comment on our YouTube videos and we have a feeling that getting into game engine discussions is similar to JS framework discussions.

One thing we learned for ourselves though, since we are trying to make money: stop wasting time. There are 20 year olds out there who release on Steam for a chance to become successful while we spent lots of months learning stuff. Technical prowess does not a good game make. It's all about the gameplay and the vibes.

Regarding Steam being a sit-down thing: both my wife and son love the Steam Deck and they often jump into a few short rounds of something. (Brotato is pretty good for that.) It is what you make of it, but the audience does seem to expect a gameplay loop that works over longer periods of time indeed

I hope this helps. ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: