top | item 31586833

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

1157 points| iliketrains | 3 years ago

I've seen some interests in (simulation) video games here on HN so I thought I'd share a short version of our story.

More than 6 years ago, me and my friend from university were playing around with an idea of making a game we always wanted to play. We worked on it on weekends but the progress was quite slow, especially due to so many dead ends and wasted effort.

Eventually however, we solidified our direction and decided to take the risk to resign from our well paid SWE jobs and work on it full time. It took more than a year but yesterday we have finally released it on Steam: https://store.steampowered.com/app/1594320/Captain_of_Indust...

I am still not sure if this was a good decision financially, but unlike in a corporate environment, I am so much happier working on a product that I can put my love into and see people enjoy it, see my direct impact, and be able to make big decisions (although this also adds a lot of stress).

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.

Anyhow, this is getting a little long, feel free to ask any questions, I will do my best to answer them.

279 comments

order
[+] Sohcahtoa82|3 years ago|reply
I bought it last night and played for about 5 hours and can't wait for my work day to end today to get back into it.

Overall, I'm pretty happy with it. Factory building with a dash of colony sim mechanics. My only criticism is that the tutorial is a bit lacking and basically info-dumps a lot of "what" without a lot of "why". If I didn't have experience with other factory building games, I'd probably be completely lost. It'd be nice if the game guided you more through the first couple tech tiers.

It was also a bit frustrating at first with how expensive conveyer belts are, but then I had a light-bulb moment where I accepted that this is not Factorio/DSP/Satisfactory, and that I don't NEED conveyer belts everywhere. In the early game, trucks are cheap and can easily handle the load until I've got steady production of Construction Parts II.

The Recipe window is REALLY nice. I love it! It makes planning so easy! My only request would be to make it so you can click on a product and have it take you to the recipes involving it.

I also really like the design choice to not have to lay power lines everywhere. In other factory games, it's such a chore and not at all a fun mechanic.

Looking forward to seeing how the game evolves over time.

[+] iliketrains|3 years ago|reply
Aww, thanks! We heard lots of feedback about tutorials and it is our priority to improve them.

> My only request would be to make it so you can click on a product and have it take you to the recipes involving it.

Try right-click!

> I also really like the design choice to not have to lay power lines everywhere.

Haha, this was removed due to time constraints. We were thinking to have it introduced in some lightweight fashion, like substations that cover large area, but this is still in "thinking" phase.

[+] april_22|3 years ago|reply
Also looking forward to how the game will progress over time!
[+] japhib|3 years ago|reply
Looks awesome! Congrats on the release, and it seems like you're getting a pretty good reception so far as well.

A few questions:

1. How did you get all the assets for your game? Did you make them yourselves? I also work on games as a hobby, but I'm no artist so I struggle to get things looking as good as this game.

2. How did you decide to use Unity for your game engine? Did you consider any others, and if so, what was the deciding factor?

3. How did you organize your code in Unity, especially on a big, multi-year project like this? I find Unity scenes and prefabs get messy really fast. The only way around this I've found is to avoid using the scene/prefab stuff as much as possible and just focus on doing stuff with code instead. But I'd love to hear any strategies you have.

4. (Probably most related to the art question) How did you decide to make the game 3d? It just seems a lot more difficult than 2d so it seems like indies tend to avoid 3d when possible. And it definitely seems possible for a top-dow-view strategy game.

[+] iliketrains|3 years ago|reply
Thank you!

1. All 3D assets and music was done by our contractors. All paid work. On average, one model is probably around $500.

2. C#. We both were familiar with it and it is a great language. Lots of nice features, easy to work with, lots of tools, less error prone (looking at you C++), has reflection (very helpful for serialization and code gen), and if you know what you are doing, it can be very performant (avoid allocations, use structs, etc).

3. Great question, yeah, our project is separated to code and graphics. All code is in separate project completely decoupled from Unity. Unity just gets a compiled DLL. Unity has only assets that are referenced by string paths. We also have a separate projects for "data", where all the game entities are instantiated and filled with data. Core project has just functionality with no data. The entire game is one "scene" in Unity, we manage everything internally (like main menu vs. game).

4. We started in 2D, but it seemed "lame", not good looking. Very quickly we started prototyping in 3D and that felt better. Especially the dynamic terrain and mining.

[+] fnordpiglet|3 years ago|reply
I’m a sad. No Mac. :-(

Looks really good. Congrats man. 84% overwhelmingly positive isn’t anything to sneeze at too. The experience must have been amazing. I learned more about computers in developing games that were 1% of what you’ve done. No matter the financial outcome you are winning at nerd life, which is the only life that matters (other than to your spouse your family and friends).

[+] iliketrains|3 years ago|reply
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.

[+] aasasd|3 years ago|reply
I thought that by now game engines just have two extra checkboxes to ’build for Mac’ and ‘build for Linux’. Perhaps the signing requirements changed that, though.

Notably also, plenty of games work fine under Wine, but Steam client itself doesn't—on Mac.

[+] YSK_TECH|3 years ago|reply
+1 would defenitely pick up a copy with Mac support. It looks awesome!
[+] sitharus|3 years ago|reply
Same, I prefer games like this on my laptop so I can play casually. Still just install it on my gaming PC and use Parsec.
[+] SkyMarshal|3 years ago|reply
>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 it. Factorio's blog has been an enjoyable read, seems like a similar one by you guys would be as well.

[+] iliketrains|3 years ago|reply
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!
[+] cableshaft|3 years ago|reply
Congrats on the release. It looks really solid from the video, I'll probably pick up a copy soonish. I hope it does end up being a good financial decision for you.

I used to be in the game industry a long time ago, and while I'm no longer in it I still try to work on game in Unity (turn based strategy game right now) with my very limited energy in my spare time. I've been out of the whole industry long enough I don't really even know where to chat and bounce ideas off of other indie devs, or find people to work with. Some Discord channels? Itch.io forums?

About how much did you have saved up to take that year leap to work on it full time? How far along were you? At some point I'd like to make a similar leap but I don't think I have enough cushion built up to do that yet.

Also at one point did you decide the game was good enough to put up on Early Access? Core game loop? Core game loop plus certain nice to have features?

[+] bcjordan|3 years ago|reply
This looks super fun! Congrats on the release and hope you continue to grow the game though early access.

Just for fun took a stab at rewording the game description following some tips I saw in a GDC talk on Steam store pages years ago, feel free to use any pieces if helpful. I'll try to find that talk link when I'm at a computer, it had some nice tips around not leading with a game category but rather very specific flavor hooks.

> Colonize, then mechanize! Land your crew of sea-stranded survivors in an exciting natural paradise... and survive! Build, explore and exploit the local environment to truly thrive. Can you automate your way to a space-faring industrial civilization? Or will every last settler perish at your hands...

[+] iliketrains|3 years ago|reply
Nice! I will definitely watch the talk and take a look at your example! Thanks!
[+] stevage|3 years ago|reply
Good call, I also thought the description was a bit weak, and not super enticing.
[+] CaptainJustin|3 years ago|reply
Congratulations and all the best for your venture!

One of my favorite aspects of Factorio was that the environment constrained your scaling. Grow out too fast and your tech won't be able to hold back the evolved hordes. Build too far away before you can defend it and it you'll be defending too far and wide before you even know it.

@iliketrains May I ask if this game will have an environmental component/conflict to constrain the player scaling various concerns and prevent it from becoming a uneventful sim?

[+] iliketrains|3 years ago|reply
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 buildings to scale, because you need to spend materials to maintain your buildings. If you scale too fast, your things will start breaking down (later you can recycle spend products in maintenance to recoup the costs).

Finally, there are a many potential dependency "traps". Scaling too fast and ran out of coal => no steam => steam turbines shut down => no electricity => you built backup diesel generators, fine => now they drained all diesel reserves, oops => trucks cannot deliver food => starvation.

There are many ways how to prevent such death spirals, but my point is that in Factorio (or similar sim games), you cannot loose by scaling too fast. But in COI will. :)

PS: There is air/water pollution too! People will get sick and may die.

[+] Aachen|3 years ago|reply
Any plans for a Linux build?

Made the mistake of watching the trailer before looking if I can even run it. One of the best trailers I've seen on Steam! They're usually only about backstory with concept art and zero idea about what the game will actually be like to play. This could still have shown more UI, but at least the game itself was there the whole time and I feel like I have a good idea whether I'd like it :)

[+] commandertso|3 years ago|reply
In a later comment, the poster noted that the game works via Proton.
[+] herodoturtle|3 years ago|reply
I’m in the exact same boat as you.

Watched the Steam trailer and instantly fell in love.

As a Linux user I’m delighted to hear that this will run with Proton.

Such a gorgeous game, can’t wait to give it a bash.

[+] loxias|3 years ago|reply
Hey, This looks super cool from the videos, and exactly the sort of thing I'd love to play. Would love a Linux build so I can play it though, haven't needed a Windows VM in ages.

Added to wish list for whenever you release that! (I thought modern game development was cross platform these days?)

[+] iliketrains|3 years ago|reply
Thanks! I have heard that it works on Proton just fine, but your mileage may vary.

We just didn't have time to test things. We need to get Linux and Mac machines and test things thoroughly before claiming official support.

[+] peteforde|3 years ago|reply
I purchased a copy of your supporter edition before I even finished reading.

Part poor impulse control, part believing in the HN filter, part doing my part to support idealistic founders putting their time and opportunity where their mouth is.

I hope that you find great success.

[+] iliketrains|3 years ago|reply
Thanks for your support! I hope you will enjoy the game!
[+] drakonka|3 years ago|reply
Congratulations on the release! Building a game to some often elusive sense of completion is harder than some think. You should feel proud and take some time to bask in the nice feeling of finally having it out there.
[+] the_lonely_road|3 years ago|reply
Huge factorio/satisfactory fan so I can’t wait to get home and try this.

Would you mind sharing a high level number on how much it cost to buy all of the art for the game? I saw you mention around $500 per model in another comment but I’m having trouble deciding how many models went into a project like this.

[+] Meowringer|3 years ago|reply
Great job and everything to get so far!

I like that you actually mine the stuff in the style of mines you use and the stuff is getting removed visually.

What i find disappointing is the trucks/vehicles not needing any streets. I'm not sure if it would make the game more interesting or not though but that i have to build a bridge over a pipe for the trucks but the trucks just drive through each other... not liking it :D

[+] iliketrains|3 years ago|reply
Thank you!

Trucks not needing roads was actually our "feature". You just build things and logistics network will figure things out. This goes hand-in-hand with the free-form mining (also our big feature), since that would be impossible to do with roads.

However, we do hear many people wanting roads, especially later on, it is on our list of potential additions.

Vehicles having no collisions is a technical limitation. Path-finding on dynamic terrain on a large grid, with constraints on vehicle size (small trucks fit under some buildings, large excavators wont) is just too hard to solve with vehicle avoidance. Even with local avoidance vehicles would get stuck too much. One-way roads are probably the answer. Maybe some best-effort local avoidance could be done to minimize it.

PS: I have rewritten the path-finding code 3 times. It's quite complex...

[+] birracerveza|3 years ago|reply
This is very good! It's Factorio, but even better because... it has trucks!! :D My son loves trucks so it's fun to see the little trucks going around and doing stuff.

Good game, although a bit pricey.

[+] pooloo|3 years ago|reply
Just noting that I have interest in multiplayer support similar to Factorio or Satisfactory where players work towards a common goal, and also have purchased with that not being a feature per the road map. These types of games make for good time passers while conversating with distant friends.
[+] iliketrains|3 years ago|reply
Multiplayer is a big topic and it is obviously on our minds. The big questions is what type of multiplayer would be the best for this kind of game?

Would it be coop where each player would start on their corner of the map? Or would it be shared factory? Of maybe each player with its own island + trading?

Also, it is technically very challenging, since the entire simulation must be perfectly deterministic. We actually have most of the things deterministic, maybe like 95%, fixing the last 5% is a lot of work.

[+] wly_cdgr|3 years ago|reply
Congrats on a huge achievement! The game looks highly legit

And now you're set to get a good job in the game industry, working on these kinds of more interesting challenges, if you decide you are tired of the indie life

[+] DaveSapien|3 years ago|reply
Just came here to say congratulations! Releasing a game is a real accomplishment and you should be very proud.

Well done!!!

[+] dsclough|3 years ago|reply
Congratulations! I've had my eye on this game for a while this post + your story motivated me to buy it.

I'd be interested to hear what kinds of resources you found most helpful in getting something like this to a shipped state. I've never worked on a game before but having played factorio, DSP, and satisfactory I've had a lot of ideas / my own views on the genre. There's definitely room in the market still and I think you will be able to find success, especially as a two person shop. Congrats again.

[+] iliketrains|3 years ago|reply
Thanks! I'd say that the most important "resource" is dedication. Anything else is just matter of doing it until it works. We've been chipping away for so many years without an end in sight and if just one of us gave up, that would be probably the end of it.

Of course my degree in computer science and computer graphics helps, but with dedication and you can just search your way through most problems.

I'd also recommend to limit the scope as much as possible. We might have been a little too ambitious. Don't design features that you cant make. For example, in one iteration we had a vision of global economy where you can buy/sell materials, competing with AI players. On paper, that's great. When we started coding, we had no idea how to make this all work, and after a few months of failed attempts we completely scratched it.