Ok thanks for the response. It’s nice to see that you actually read the comments here
Thanks for the words, and thanks for the work. For sure that in a project like this, is like exploring a new world. Worse if you have decided go onto the “hard” road, that for sure is the right one.
Best whishes to al the team of AC!
To be honest I’m not really fussed if this ships or not, these projects are just as interesting for how they fail (Limit Theory) as how they succeed (Rimworld) or the world in the middle of forever funding (Star Citizen). However having backed a few of these over the years, this post makes me feel a little uneasy.
The first one has been the decision to build an in house engine for the game: Even worse, a state of the art engine.
One would hopefully not be aiming to write a brand new in house engine that was just mediocre, otherwise why not pick up something else out there? What actually concerns me about this is the long term supportability of such an endeavour given what you’ve written here, you’ve potentially fallen into the sunk cost fallacy and it’d be interesting to see what analysis went into the original decision and what experience you folk feel you bring to the table that others don’t. The juxtaposition is Banished, written by a fellow who has rather a significant chunk of engine design experience under their belt.
The second reason is that the project has grown “a bit” over what we initially planned. This is related to the platform idea we have in our minds.
What worries me here is that you’re building too much for a tomorrow that is continuing to be pushed out. YAGNI comes to mind here though it feels like you’re lacking a solid plan of sorts. You’ve expanded scope without accounting for what this means for your timeline. Fundamentally you’re building a game, nobody will die if you get this wrong and you need to do some refactoring later, real artists ship.
Our current plan is to release, or at least to reach the beta stage, at some point along this year.
We still don’t have a settled date for it and we will not announce one until we can be completely positive about it because we don’t want to be in a position where we have to push back another announced date.
Deadlines are a curious innovation in the time management space. Deadlines are useful for attempting to align to a date, to prioritise what can and can’t be built within the time available and to be able to serve as a forcing function to stop doing certain tasks. Without such a forcing function, you fail to bound your project which falls somewhere between the world of Brooks’ Design of Design and Parkinson’s Law.
You’re at two years, you’ve missed your deadline and you’ve written this post with why you’ve missed it. Great. Let’s not forget that the post itself is late from when it was promised. Oops.
You’ve got two years more wisdom, what is it that you’re doing differently that makes you more confident you’ll be able to ship and how will you measure it?
Your worries are reasonable. I think a part of community share your concerns because the history of indie games development is full of fail projects.
Concerning your doubt on the custom engine you quote Banished as the exception due to the experience of the coder, however the AC team said in the kickstater description that they have experience in homemade 3D engine :
From https://www.kickstarter.com/projects/uncasualgames/ancient-cities
This project started as a project of two friends, one coder and one artist, both with passion for technology, video-games and history. Both with a long career, years of expertise in custom 3D engines and full of new ideas.
And they explained why they need a custom one :
Kickstarter
We are developing our own custom engine and gaming technology for Ancient Cities because it allows us to render what we envision: thousands of items on the screen at the same time with nice fps, offering the players breathtaking images of their cities. Both, game-play and detail, are important to us.
We can only trust what they said but I agree it is not an easy road.
Concerning your second concern I agree that it is the greatest danger for indie team. From what I saw so far they are aware of the issue and try to stay focus. However I think that minimum design planning is needed when you release the base game with expected expansions, it will make future work easier and cheaper.
As for deadlines, any projects push them back. Banished release date was been announced only 1 month before the official release. The important thing is to have internal deadlines. However I admit that I would like to have an official date for the beta rather that broad estimate.
Thank you very much for the update. I (we) truly appreciate the communication!
I backed and rarely to never returned to this forum and game. I am very patient
Maybe I will get a notification in 10 years this game is playable and I will have a wife and kids and look back at this project as a forgotten love affair
making your own engine is ambitious but on the upside the payoff for doing so should be huge
If you use a third party engine you have some pros:
1- A ready to go engine usually very well tested with lots of available tools.
2- Possibility of hiring people that is already proficient in the use of that engine.
While building your own engine has other pros, which are mostly avoided “cons” of using a third party engine:
1- Don’t need to share revenue.
2- Project is not conditioned by what the third party engine is well or bad suited to do. Usually third party engines are best suited for FPS. As far as we know KSP is good example of this problem.
3- We are not bounded or trapped in third party development schedules and updates.
For a long term project we think last 2 are very important ones.
3- You have more time to concentrate on the AI and what if’s
4- Your Revenue Stream starts sooner.
3- If you are not doing a FPS you still need to get access to the third party engine code, gain deeper knowledge about how it works and very likely modify it to your needs, which is also a lot of work and you end tied to other team coding style.
4- Sooner revenue, but it needs to be shared due to 3.
I do not know how 3D engine software companies work but as a software integrator engineer in the aerospace industry I can assure you that using third party software is not a walk in the park. To configure a universal product to your specific system is not easy. Moreover if you encounter a major bug you are not always able to correct it yourself (part of the code are binaries so not editable) hence you have to submit a bug report and then the software company will correct it. In my field, the industrial client have the power to decide the schedule for bug fixes. Nonetheless our team have to create scripts and patch in some case. I doubt that an indie game company have the power to impose a bug fixes schedule to a major 3D engine company. Hence they have to wait (hope) for a correction or craft workaround to fix or at least limit the bug impact.
I personally think that if you have the skill to code your own engine, a good idea of how your game should work, a project not too ambitious you will save time and money by designing your own engine.
For debugging alone it could save you so much time. It is not because you use a third party engine that you wont have bugs (specially if you use it for something outside it normal usage). All software have bugs. If you build your own engine you have a lot more tools to investigate the bug origin. With third party software it is sometimes impossible to find the origin of the bug and all you can do is sent the logs to the software company and let them investigate (most of the time this is not free so you have to pay a subscription for support) when with your own engine you have access to the source code and add logs/output to help you investigate.
In the end, it is not guarantee that third party engine will reduce the development time. It will likely generate more bugs (it is basic statistic: more line of code so more bugs), harder to investigate which will impact the review of your game hence your revenue (nobody likes buggy games)
Just to make sure we are all in agreement
Use commercial produced 3d engine Nightmare.
Produce our own 3d engine Nightmare.
Best option daydream
Just this.
As a software dev, I avoid 3rd party software like the plague lol
He was really good! In the meantime I deal with Bannerlord like that. AC is still too fresh …
Can the engine be used for other, similar games or applications?
Its tailored for this kind of games, so we could use it for other city builders indeed.
Been developing software my whole life and I can say without a doubt.
3rd party software development is the best!!!
now read between the lines.
It is best to develop software after 3 parties
Truth I don’t avoid 3rd party software development I just DON’T to the point that the largest two systems I have ever written don’t even use a commercial operating system.
Sounds good and what we have seen so far, should not be uninteresting for some developers …
Just to point this:
The solo developer behind Banished used its own engine.
The same is doing the solo dev behind “Ostriv”.
If DayZ failed was not because they decided to build their own engine.
So big studios using third party engines are years behind schedule. Maybe the engine is not to be blamed here either, or may be it is.
As stated before for small projects that don’t fit the target game third party engines were made for the amount of time when using a third party or developing your own (if you know how to do it) is very similar. For long run projects or games with special requirements third party engines create more problems than they solve. AC meets both conditions.
Third party engines are handy if you are working in projects that fit the workflow of that engine or
projects that doesn’t fit but are not too big or not for the long run. They are amazing for prototyping too.
With this I was talking about using a third party engine. For a long run project that’s more problematic than building your own because you get trapped in the development course of that engine that doesn’t have to met your needs at all, or worse, third party engine updates that can lead to break your own project, or they changing how they engine assets work for a gain that you don’t even need in your game but forcing you to rebuild all your game assets and force to update all mods too, or even the third company changing their economic model in a few years so you get trapped with whatever conditions they decided, and so on… so many potential problems that it’s a no go.
Now that we are in the age of third party engines we quickly forget that not long ago every studio had to built their own engine tailored for their own needs. All games were made that way and they still were made.