An Open Letter to TaleWorlds from the Kingdoms of Arda team, and the Total-Conversion Mod Community about our concerns and frustrations with Bannerlor

Users who are viewing this thread

I don't think that's relevant. All games may have **** code for all I care. The question is - do they have to have **** code? The answer is no and they would be better off with well-written and documented code. "It just works" code is a good excuse only in emergencies and would need to be reviewed once the emergency is over. If game devs tend to be sloppy and careless, they are only making things more difficult for themselves.
Good coding is a habit, not some luxury time-intensive activity that could be skipped without problems.
 
I hate to hear that such companies exist.
It's way more common than you seem to think. Demands for software products are really high. Getting things work is always your first priority. Maintainability comes much later. As long as the product works, it's usually enough for the money to roll in, and that's how people normally do business.

You can't have that many experts in this world. Programming is a much tougher discipline than meets the eye. Getting things to work is actually the bare minimum, yet so many people still struggle to achieve that, which is fair because there are so many libraries/framework/whatever in this world, and they're constantly changing. Bad education and the like also add to it. Not everyone has enough time or ability to internalize their experience to form a more efficient programming skill.
 
The answer is that the choice is between getting it to work in a pragmatic way and documenting a file that only the author will see.
The problem with Bannerlord is that it doesn't do what it's supposed to do right now. At least what most of us expect it to.

If the game and the tools worked as intended we'd make the documentation ourselves, no matter how opaque it is.
If we reached that baseline and we could ask for clarifications to whoever wrote it it wouldn't even be a real issue.
 
I'm talking about the code and practices. I explained to you why this is not the case in real life by giving you a real example. You are claiming that you are a Software Engineer but it appears that you never worked on a project that is tightly time-bounded. Do what works - make it pretty later is always the main approach whether it's a military project or game. As long as the deadline is close and you are outnumbered, you don't care about patterns and go full-on waterfall most of the time.
I worked as SE for almost two decades in four countries (Turkey, Belgium, Canada and now Germany,) all projects I worked on were "time-bounded" just as any engineering project is time-bounded by definition. If you cannot make the deadline, it is obvious that you failed your analysis stage; particularly if you are doing waterfall... Besides, which waterfall methodology is it without proper analysis, design, testing etc.? Lol... :smile: Waterfall was abandoned because it was taking longer to produce software with it. I don't even understand how you can make the switch from any methodology to waterfall "at the last minute." Maybe you meant going full-on Extreme programming? Who knows at this point...
That's hardly a skill - foresee that TW won't be able to deliver a game within a year. I'm a Software Engineer but even non-engineers were able to guess that. It's not rocket science.
You earlier said, "Only reason why we are able to criticize TW is that we are able to see it's source code right now." If you read my linked message you will find that I criticise the lack of engineering practices along with Testing and QA, long before I read any piece of code. This is still my whole point. So that message was obviously not just about some estimation.
Genius coding solutions have nothing to do with following engineering principles. For example, you can have a really robust and functional codebase that is not following Liskov substitution principle and greening all the test cases. You can also have something that fulfils the latter but then you have to spend more time on the project because designing and decision making also takes time.
No code that does not follow engineering principles is "genius." An abstract solution can be genius, but the code has to be principled.
Feel free to disagree but I'm not talking about the times of Teknokent - I'm not talking about 2010-to our date. Last 10-11 years, they were already popular and the game was selling quite good. I'm talking about the times when Armagan first decided to go for it. We are from the same University and I had chat with his thesis supervisor professor. Apart from other stuff, he said "He was quite clever and knew what he was doing. I told him that he shouldn't waste his time with games and should join to military simulation companies or should stay here and work with me on SIGGRAPH papers. But he wanted to make games and his business took off very rapidly" - so at that time, even "educated" people looked down upon Game development and dismissed the idea. Now you can think about how average joe thought about games back in those days. And even in Teknokent times, whether you envied or not, TW employees were getting less salary than what their peers were getting in other companies. I'm not tracking their salary or any salary bracket in Turkey anymore, but I'm pretty sure they are still not getting a fancy salary - compared to Ubisoft Montreal vs Montreal based company.
Ok, I do not totally disagree with you here. And the reason I never went into gaming industry is literally because their budgets and my expectations would never meet. I just feel that game development "seen as garbage" is a bit exaggerated; but I am ready to relent here, particularly because I suck at the social aspect of any discussion :smile:
Tbh, You are not in a position to advise me anything actually since you have no idea about my experience or whatsoever. Still, to explain what exactly is going on, I never said: "testing can be optional". Again, you falsely assumed that I said this.

You are keep saying what they should have and I'm telling you what they have right now and converting this to that is not possible in any near future. That ship is sailed long ago. Unless you are not aiming to become their consultant or whatever in the next game, I think there is no point in discussing this. You should go back to the topic and provide direct suggestions to TW about how they can make this game more moddable. But don't suggest things like "Architecture change" since you are not Ken and this is not a Barbie World. Be realistic and do your suggestions based on that. You may be saying "Why? I don't care about modding" then you can just drop it. No need to discuss further that.
I am criticising lack of SE principles at TW, and "testing and QA" is not just the majority of my criticism, it is also the phase of development that arguably takes the longest time to complete. So, when you defend TW approach by saying that principles can be avoided for a "black-box"(?) project to save time, you implicitly deem lack of testing and QA as acceptable within the context of this discussion. I wish you explicitly excluded testing from your argument; it would still be wrong but still...

From your messages thus far, it actually does look like I should be able to give you some advice in SE. But "whether I should" is, of course, a totally different matter. As to my intention here; I am merely trying to correct some mistakes made by one of my favourite gaming studios. I work in Germany not Turkey; and my rates are not compatible with the gaming industry (or any other company in Turkey.) So while I would love to work as consultant in gaming, the only realistic option for me is to create my own studio which is something I am already planning. That said, most autistic people with ADHD will tell you that our plans rarely see fruition... So we'll see :smile:

There are many reasons as to why we should be discussing the mistakes that hindered TW from creating a better game. I understand that it is a bit late for Bannerlord, but I also know that it is possible to recover from past mistakes. I imagine TW refactored a lot of code, redesigned(?) and reimplemented various components. Employing engineering principles would have saved them all that lost time and effort. Similarly; employing a principled SE methodology today might save TW from such failures in the future, both in Bannerlord and future projects.

Also, being from Turkey, I want nothing more than to see proper engineering done in my homeland. I have this naive hope that discussing these issues will not only benefit Bannerlord, but will have some positive impact on gaming industry in Turkey.
 
Last edited:
Mate, this thread is full of you. We all know at this point that you are very talented software engineer. So please make some useful suggestions for TW how to improve their code (in the appropriate sections). They are asking for it. I am certain we could all benefit from it.
Thanks
 
Mate, this thread is full of you. We all know at this point that you are very talented software engineer. So please make some useful suggestions for TW how to improve their code (in the appropriate sections). They are asking for it. I am certain we could all benefit from it.
Thanks
Sorry, you are correct I posted too much, I get carried away in such discussions. I already made all suggestions I have, but I suppose they fade in comparison to the creativity and excellence of solutions provided elsewhere on this thread.
 
You are keep saying what they should have and I'm telling you what they have right now and converting this to that is not possible in any near future. That ship is sailed long ago. Unless you are not aiming to become their consultant or whatever in the next game, I think there is no point in discussing this. You should go back to the topic and provide direct suggestions to TW about how they can make this game more moddable. But don't suggest things like "Architecture change" since you are not Ken and this is not a Barbie World. Be realistic and do your suggestions based on that. You may be saying "Why? I don't care about modding" then you can just drop it. No need to discuss further that.
I'm not going to waste my time again. Read this. Print it out if you like.
TW won't read your comment and say "Mehmet is right. Let's hold the release for another 2 years or so - meanwhile we can re-write the architecture in a more "principled" way". If you really do think there is a possibility for that to happen, then this is not about your condition but it's about you being inexperienced in terms of business and project management. But if you have feasible solutions/suggestions, go for it. They want to hear such things. It's anyway up to them whether follow those suggestions or not.
Can I restrict your dreamland-suggestions? No. But I won't waste my personal time on them for sure.

From your messages thus far, it actually does look like I should be able to give you some advice in SE.
Also, lol :lol:
 
but it's about you being inexperienced in terms of business and project management.
I have no business management experience at all, but I don't see the example before us as positive. I have led and completed many projects; however, I have to admit I have no experience with leading a project that is seemingly a mess nine years after announcement. Never even met a self-respecting engineer who would not consider this situation "so horrible, not even funny." I would never be the cause of that, nor would I suffer working at a company where SE principles are not followed.
But if you have feasible solutions/suggestions, go for it. They want to hear such things. It's anyway up to them whether follow those suggestions or not.
My suggestions can be generalised as "do engineering properly" and that should be quite feasible. In fact, many consider it a requirement. Engineering is a protected title in most if not all developed countries; and there is good reason for it. My suggestion going forward is the same as last year: start employing proper SE principles. Taking more time to do it well once is better than doing it badly and having to do it again, and again, and again... From what I have read, this is the only suggestion on this entire thread, anyway.
Can I restrict your dreamland-suggestions? No. But I won't waste my personal time on them for sure.
No one asked you to spend time on my suggestions. That said, hopefully this is my last message on this thread so no worries.
 
Last edited:
The point of the open letter and this thread is to expose problems with the code, open communication between modders and TW and suggest relatively easy quality-of-life improvements. I think it would be more constructive if pointed improvements to the existing code were suggested rather than lamenting on how the code could have/should have been written in the past.

Not a software engineer fyi
 
My guess is that fixing (or making, if it hasn't been made) the modding programming interface will be worked on after the game gets out of early access. That's the best they can do at this point. Making a pretty code interface above the messy internal codes, and that's something you want to do after the internal stuff are complete and fixed. I highly doubt they will work on it before that, as any revamp to the internal workings of the game would waste a lot of effort.

Really though, lots of issues happening to this game is rooted at the fact that it's still in early access. Their main priority should be getting out of it as soon as possible. I suspect their silence to this plea is because they know this, and just want to focus and completing the main game.
 
My guess is that fixing (or making, if it hasn't been made) the modding programming interface will be worked on after the game gets out of early access. That's the best they can do at this point. Making a pretty code interface above the messy internal codes, and that's something you want to do after the internal stuff are complete and fixed. I highly doubt they will work on it before that, as any revamp to the internal workings of the game would waste a lot of effort.

Really though, lots of issues happening to this game is rooted at the fact that it's still in early access. Their main priority should be getting out of it as soon as possible. I suspect their silence to this plea is because they know this, and just want to focus and completing the main game.
Are you talking about something similar to the Pack File Manager of the Total War series? It was fantastic, even I, without computer knowledge, managed to make several Mods, with little success :sad:, and also modifies, for my use,other people mods, to fill my taste in some details . It was a fabulous time.
 
Are you talking about something similar to the Pack File Manager of the Total War series? It was fantastic, even I, without computer knowledge, managed to make several Mods, with little success :sad:, and also modifies, for my use,other people mods, to fill my taste in some details . It was a fabulous time.
same here
 
Really though, lots of issues happening to this game is rooted at the fact that it's still in early access. Their main priority should be getting out of it as soon as possible. I suspect their silence to this plea is because they know this, and just want to focus and completing the main game.

that's the thing though, no project this big is ever truly finished and it's going to end up spiralling into endless tweaking forever unless someone makes the hard decision of just issuing a cut-off point, regardless of whether they think it's "done" or not.
 
Are you talking about something similar to the Pack File Manager of the Total War series? It was fantastic, even I, without computer knowledge, managed to make several Mods, with little success :sad:, and also modifies, for my use,other people mods, to fill my taste in some details . It was a fabulous time.
I'm talking about programming interface (as in functionalities you can call externally), not graphical interface. External here refers to "outside the compiled files" like the .exe of the main game, and that's what you do when modding. Instead of fiddling with the internal code, you just work with what's available on that "interface".

Think of it as a box with lots of wiring and chips inside. The interface is a bunch of slots you can plug cables into, and buttons you can press to make things happen. When modding, you just need to use those things. The internal code inside the box can be messy, but as long as the interface is clear and well laid-out, modders can work with it no problem. That's their best option. Instead of reworking all the messy wires and rearranging all the chips, just make neat, good interface on top of it.

that's the thing though, no project this big is ever truly finished and it's going to end up spiralling into endless tweaking forever unless someone makes the hard decision of just issuing a cut-off point, regardless of whether they think it's "done" or not.
Yes. That's what I meant by "done" and "getting out of early access". It's when the developers think the game is at a cut-off point and there will be no more massive revamp to be done. Bug fix, balance patch, etc will be minor updates in the future, and those naturally won't trouble modders and already-existing mods, so working on modding support after "release" won't be a problem.
 
I'm talking about programming interface (as in functionalities you can call externally), not graphical interface. External here refers to "outside the compiled files" like the .exe of the main game, and that's what you do when modding. Instead of fiddling with the internal code, you just work with what's available on that "interface".

Think of it as a box with lots of wiring and chips inside. The interface is a bunch of slots you can plug cables into, and buttons you can press to make things happen. When modding, you just need to use those things. The internal code inside the box can be messy, but as long as the interface is clear and well laid-out, modders can work with it no problem. That's their best option. Instead of reworking all the messy wires and rearranging all the chips, just make neat, good interface on top of it.


Yes. That's what I meant by "done" and "getting out of early access". It's when the developers think the game is at a cut-off point and there will be no more massive revamp to be done. Bug fix, balance patch, etc will be minor updates in the future, and those naturally won't trouble modders and already-existing mods, so working on modding support after "release" won't be a problem.
Good point, I like this suggestion a lot
 
I don't think that's relevant. All games may have **** code for all I care. The question is - do they have to have **** code? The answer is no and they would be better off with well-written and documented code. "It just works" code is a good excuse only in emergencies and would need to be reviewed once the emergency is over. If game devs tend to be sloppy and careless, they are only making things more difficult for themselves.
Good coding is a habit, not some luxury time-intensive activity that could be skipped without problems.



There is one saving grace - with good code they can document it after release, but I suspect that it is better to do it as an ongoing process otherwise there will be a big backlog later on.
 
Last edited:
There is one saving grace - with good code they can document it after release, but I suspect that it is better to do it as an ongoing process otherwise there will be a big backlog later on.
Good code should document itself

Good build systems should auto document code into usable reference docs/a reference site

I can't remember the last time I manually created external code documentation. Although I don't work game dev and apparently game dev is the one software industry where sloppy and undocumented code is allowed without punishment
 
Back
Top Bottom