Live data from Hacker News

Show HN: A friend and I spent 6 years making a simulation game, finally released

news.ycombinator.com

141–150 of 289 posts

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#141

Earlier quoted context omitted.

Yes, but we are the cool 1%.

1st Quarter 2022, Apple shipped nearly 15% of all PCs sold in the US.

Is this because they fab their own parts rather than off-the-shelf stuff that has been in supply side limbo for 2 years?

$1000 "arm board" with impressive power and performance envelopes will get you some market share, especially if the existing ecosystem bends to the manufacturer's will. As they do.

I fully expect the first company to really try and make an impressive risc-V workstation to clean up in that market, especially with people like myself that use higher end consumer parts as servers.

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#142
post #112

Earlier quoted context omitted.

No. If you’re just waking up a lot has changed. There’s a pandemic. Donald Trump (seriously!) was president. There’s a new Cold War. Everyone works from home and drives an EV. Cars can drive themselves now. It’s a weird time to be alive. Good luck!

And Apple is no longer the cool company it used to be. Their decline in hardware and software quality was what made me stopped buying Macs after being a fan for the longest time.

Also Steve Jobs is dead

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#143

Earlier quoted context omitted.

Thanks and sorry for no Mac support. The hard truth is that Mac users represents less than 1% of our potential user base and it is hard to justify the time to support Mac. We are planning to revisit this decision soon and see how much effort would it be.

> 1% of our potential user base How did you determine this? Factorio is available for Mac. How did they, and other game developers, justify the work for a Mac port?

Author mentioned that they only use unity for the rendering and audio, cross-platform games will use unity for a lot more, and generally get cross-platform for a significantly reduced "cost".

This project is in C# so that's the first hurdle, I'd guess.

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#144
post #133

Earlier quoted context omitted.

It is basically a big rendering library, providing C# APIs for rendering and sound. It also packages all assets, and can be used as editor.

Awesome, I’ve been developing with Unreal since 2014 recently checked out C# support with UnrealCLR it’s very basic but probably enough to create an API between your game code and Unreal. Really curious to know what level of granularity your API is at?

Nice! I was not aware that Unreal has C# support.

Making Unreal rendering layer would obviously be a huge task. Our current solution is overfit to Unity since the separation was done for ease of development and testing, not for support of different renderers. However, the communication between core sim and rendering is mostly based on (custom) events.

Sim runs in a separate thread. Once it is done, renderer can read data (sync) and launch the sim for another iteration. We do this at 10 Hz. In the meantime, the renderer should interpolate all moving objects from state (t-1) to (t) so that movements are smooth (say for target of 60 FPS).

For example, a `TreeRenderer` can listen to `TreeManager.TreeAdded(TreeId id)` and `TreeManager.TreeRemoved(TreeId id)`, and handle rendering of the trees however it pleases. Trees don't move so this one is easy. `VehiclesRenderer` has to also update a vehicle state on every sync.

One can also inspect sim state without usage of events. For example, our debug renderer just draws a picture of a game state by simply looping over all entities.

Reality is of course much more complex. If you happen to own the game, our DLLs are non-obfuscated and quite easy to read with tools like ILSpy :)

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#145
post #65

Earlier quoted context omitted.

So what exactly is the utility of Unity in this setup then?

It is basically a big rendering library, providing C# APIs for rendering and sound. It also packages all assets, and can be used as editor.

Very interesting. Like the sibling comment, I'm also curious about your API for this.

I've been using Unity in a similar way but with Luau (a gradually typed Lua by Roblox) for the API. It's been very educational to treat Unity as a box like this, and I've been making the Luau API very high-level, often following Roblox patterns (more coarsely grained).

As a side-effect of this separation, it's also refreshing to have the option to make everything work with other engines.

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#146
post #112

Earlier quoted context omitted.

And Apple is no longer the cool company it used to be. Their decline in hardware and software quality was what made me stopped buying Macs after being a fan for the longest time.

Is this a joke? Apple with M1 and iterations is changing the industry.

In the industry I'm in (just fintech SAAS), the only "change" I've been noticing is that all of our Mac user devs have even worse local development performance than before: inability to run some Docker containers, and very slow local server runtime.

I may be straying away from M1-related issues now, but I've also been seeing widespread Linux-style "why can't I share my screen?"-type problems. Not to mention fear of installing new updates and things breaking. It's like Mac is now the worst of both worlds of old Windows and Linux.

To be fair, I'm not actually a Mac user - this is just stuff I've been observing from the outside.

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#148

Earlier quoted context omitted.

We do use Unity that does lots of heavy lifting for you regarding porting to other platforms. However, it's not always that easy as checking a box. For example some shader optimizations may be specific to DirectX. File system works differently (no "User/Documents" on Mac). Or issues with native libraries. Our game does work on Linux Proton though, that was a surprise to us.

Curious, why targeting DirectX, rather than Vulkan... it's not like you think about releasing on Xbox, do you ?

I remember writing some GPU instancing optimization that had #ifdef for DirectX 11+, but that code is old. Now I've learned how to go without it.

It's just all those small things that has to be right to make it work cross platform.

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#149

>I also quite enjoy the added SWE challenges. I had to write so many complex algorithms (path-finding, logistics, serialization, ...) and optimize things down to bits (shaders, compression of in-memory data, ...) that were rarely required by my corp job. If you ever need a reprieve or change of pace and want to write some words instead of code, do consider writing an engineering blog about how you designed and built…

Thank you for suggesting this! I think that there are some gems in the code that are worth sharing with the world. I hope to be able to find some free time to do so!

Re: Show HN: A friend and I spent 6 years making a simulation game, finally released

#150
post #97

Earlier quoted context omitted.

Thank you! I think that our game is way more "constraining" your growth than Factorio. Let me explain. First, you need people to man your machines and vehicles. You need to first get your workers somewhere (takes time) and also take care of them (food, water, trash, etc). If you scale too fast, you might run out of food and people will starve. Another aspect is maintenance. Unlike in Factorio, you cannot just spam bu…

Another question over here: Did you fallow a sociotechnical approach? What school if any? What about the economics and political things I can found there? Did you think about how this game could work as capitalism? Socialism? Cooperative factory? Having an union among the workers? Having a legislation about protecting industries of something? What about events like the current container crisis? Or the lack of labor?

Unfortunately we haven't tapped into these topics. We used to have a mechanic based on worker skill level, universities, etc, but that was just not working well for us. The game is already quite hard and we didn't want to add more layers of complexity.

However, we are hoping to polish our modding APIs and allow players to add more layers to the simulation like what you described :)

Post reply on HN