4 ms·
Exactly as you said. It's a lot easier to make something better than the original game when you start with the original game, instead of trying to get a million
by Darmani 9y ago
Exactly as you said. It's a lot easier to make something better than the original game when you start with the original game, instead of trying to get a million subtle things right.
Also, developing on fheroes2 is not necessarily easier. Our tech lets us mod the game almost as easily as if we had the original code.
- SXX 9y agoI think it's depend on goals. I started contribute to VCMI because I wanted seamless maps, more layers than two, simultaneous turns, advanced path finding and smarter AI. All of it is very hard to implement with reverse engineering if possible at all. Of course there are some very talented programmers who able to achieve almost anything, but it's nearly impossible to get external contributors into project like that and if main developers lose interest there usually no one to continue their work.
- Darmani 9y agoTotally. Although, I think you underestimate just what you can do with modding; some of the things you mentioned sound like they would be about as easy to do in Ironfist as in a rewrite. Here's one way to put it: the amount of programming work that has gone into fheroes2 is several times that of Ironfist. Because of our approach as a mod instead of a rewrite, in a lot of ways, we are far ahead of them. Everyone wants a rewrite. Sometimes, you have to ask how many resources you have. (On a different note, from my last few investigations, there's a lot that I don't like about the fheroes2 codebase which provide independent reasons for not using it. Rewrites are not created equal. Apologies to any fheroes2 devs reading this.)
- SXX 9y agoIt's not like I underestimate modding, but I just try to not overestimate my own abilities. Reverse engineering require significantly higher programming skills or ability to learn and a lot of time. Even in that case most of attempts to get something to playable state end up with nothing simply because there are rarely more than one expert who want to work on the same project. With code created from scratch there is better chance someone else could continue the work if it's wasn't completed by original author.
- Darmani 9y agoGot it, except.....doing something like VCMI in some ways requires more reverse engineering. I'm confused. Maybe explain your reasoning in more detail?
- SXX 9y agoSorry for delayed answer, but hopefully you'll still read it. I do agree that on some stage VCMI required plenty of reverse engineering, but even in this case developer who work on clean reimplementation don't really have to understand how original game worked. Of course you need to know how to read original assets formats, but that's all about it. Also any developer who join project after some initial stage could simply don't care about any limitations original game code had. Like I personally use H3 a lot as reference, but I never ever needed to go into IDA or check assembly listing. I suppose you can have completely different view on that because you're expert, but for overall person who just starting to do C++ coding it's all looks extremely scary. Even now when I understand it's just require a lot of learning and motivation I simply can't justify do such investment.
- Darmani 9y agoYep, it's definitely true that the programmers on the Ironfist team have all gotten used to browsing through the decompiled listing of the original game's code, and the ones who have been on the project longer have all learned some IDA. (Though it's almost never that any of us needs to look at the assembly.) I'll agree that is a difference. It still seems to be splitting hairs to talk about the difference being knowing how the original game works, vs. knowing how your reimplementation works.
- SXX 9y agoThis is the difference that was important to me since when I started to work on VCMI my C++ experience was limited to creating tools in Qt. I also made few attempts to work on number of other projects before that, but never contributed anything back because code wasn't nearly good enough. I could be biased too, but for many contributors I knew (in open source games, not just VCMI) C++ programming is no more than hobby and if barrier to entry is too high they would likely never start contributing in the first place. PS: If you ever going to have time and interest in checking VCMI feel free to jump to our slack! We always benefit from advice or two given.