[Archived] I want to help

Bug with Fog of War has been fixed in trunk version of VCMI. :slight_smile:

VCMI is now one step closer to the perfection.
Thanks for the report! :slight_smile:


Requiring more then two different resources (including gold) can be problematic because there isn’t enough place in the box with cost on the recruitment window.
But if someone gives us altered graphic we’ll add support for more resources.

Keep up the work, CrackedMind (but please add “engine” to your project description or someone might think it actually is a clone of the game and not just the engine)! :mrgreen:

If VCMI plans to stay closed source, then there is a really good reason for an other project right there! I have not heard of any other closed source game reverse engineering project (for Linux at least), since that is the whole purpose, right?
It would be swell to play SoD and WoG on Linux/PPC, which I played the full version on (from Loki Software) and probably would not be provided by a closed source project. Same for other obscure platforms. If you chose the GPL as licence, you could also just rip out the Smacker decoder from FFMPEG!

If we had to choose between existence of other Heroes 3 engine remake project and opening our sources, we most probably would choose the second.

At the moment we don’t see much benefits of being open source, but if there were enough of them, we would switch our license to GPL or LGPL.

Anyway, providing Linux version for VCMI is also planned - when we get a Linux-only developer or VCMI becomes playable, what will happen first.

Not to sound mean but you have not addressed anything I said.

Taw, I think it would be good to move as much things as possible into LUA. For example, here is what is implemented in LUA in King’s Bounty: The legend: AI, objects logic, part of monsters specialities, magic, hints generation, levelup sequences, damage calculation, some stuff specific to that game.
And before making dialogs it’s good to implement general dialogs engine.

I don’t see any implementation there. Anyway, playing smk and bik files isn’t a big problem, it’s just a metter of muving sources from Delphi to c++.

We would like to have a significant part of game written in Lua, but there is one problem with that: it requires a lot more time than doing it in C++. Anyway, we are trying to keep code of VCMI flexible enough to be able to add support for many Lua scripts in the future. General dialogs engine is a similar issue.

useful links
wiki.multimedia.cx/index.php?tit … macker_API

For those who want to get an introduction of smack

Yes, that’s what helped me a lot in making RSBinkPlayer. However, it’s not enough for playing SMK and BIK files. For SMK there is an error - SmackToBuffer must be called before SmackDoFrame, 'cause it’s decoded directly to the buffer set in call to SmackToBuffer. For BIK there is an unreliable technique of displaying the frame - it depands on bink object fields that change from version to version. It’s better and much easier to use BinkCopyToBuffer instead. SmackWait and BinkWait functions are also important to make framerate exactly as it should be. Some other things that may be important aren’t mentioned there.

Hello everyone.

I must say I’m impressed. This is a very profound task you have taken upon yourselves. I have downloaded your latest version, 0.55, and I am happy to say that everything that should have worked, worked. You have made great progress thus far. Congratulations on your success!

I want to help however possible, sadly I don’t have much experience with the intimate details of Heroes 3. I have been playing it since its release, but I have never taken a look at its guts. I just graduated this May with my Bachelors in Computer Science. While I don’t have much experience in Lua, I do have a good sense of C++ and am aiming on learning Lua as soon as possible. Heroes’ graphics are a bit new to me, but I did briefly study AI and have a beginners understanding of that.

So in short, I want to help but don’t know how or where to start. I would like to push it to open source – opening the source to others might inspire more people to help and contribute.

I was also wondering the legality of the situation. Does remaking the game touch on copyright infringement, especially if the Heroes name is used.

I look forward to working with you to recreate one of the best games of all time!

I’m glad to hear that you want to help us. ATM everything you can do to join us is creating an account here: assembla.com/ and give me your account’s name. I’ll talk to Tow, our leader, about you and if he agrees I’ll invite you to our project.

ATM we are going to stay closed - source but you can try to change it ;].

We don’t distribute with VCMI any file form Heroes 3. We don’t know why it could be illegal and we’re sure that it is more legal than ie. WoG.

Moreover, it would be suicidal for Ubisoft to try to block such a project. The community - their buyers - will start hating them (or, in some cases, hate them even more). :o)

Now on topic: I’m happy to see 0.61 now works on my machine (I tried my luck with 0.54 half a year ago, but would not start).

Please let me know what kind of help you would need at this stage from a tester. Do you need only reports of bugs which lead to crashes, or any sort of detail (like the fact that I can’t go on the boat)

And a few questions:

1.Can we test any kind of H3 map, or should we stay away from the WoG maps? (maybe even all except RoE)

2.Is there a way to maximize the screen

  1. Is there a way to quit the game to Main Menu? Or I have to always completely exit the application and start again?


ATM we need to know about bugs which lead to crashes or features that work but in other way than in heroes (ie. I can visit all objects from any direction - in WoG I cannot).

VCMI 0.61 is able to open any map with a few exceptions (ie. there is a hero placeholder on map). Anyway, if VCMI doesn’t open a map and there are no hero placeholders, we would like to know about it.

Only if you have source of VCMI ;]. In fact making it possible to maximize screen is not too hard, but since VCMI is not yet playable we don’t think such possibility is necessary.

No, there is not. And it’s much harder to add this possibility than the previous one.

Thanks for the quick reply. Well, if there’s nothing specific you want me to test except for that, I guess I’ll play around with the game every now and then, load different maps, and if I notice any problem which doesn’t seem like just a not-implemented functionality, I’ll let you know.

Cheers! :wink:

Hi there!
I also interested in testing/coding. I’m familiar with C, learning C++, and planning to learn Lua. But I have a few questions:

  1. Let’s imagine that the Heroes 3 engine has been completely recreated. But somebody wants to add a feature, which needs to rewrite the engine. And another person wants a different fetaure, with similar problems (rewriting the engine). And another. And another. So my question is: do you want to
    -recreate the Heroes 3 engine as close to the original as possible (with no moddability think in mind, and after that, perhaps rewrite it as moddable as possible), or
    -keep moddability in mind when coding, but still as close to the original as possible, or
    -moddabilitiness will be the “one-and-only” and the original heroes 3 engine will be a “mod” (as Half-life 2 is in fact a Source-mod, and Day Of Defeat, Counter-Strike, Portal are others)?

(Under mod i mean you figure out an abstract structure for the interface and the gameplay - with rules and layers, etc. - and the heroes 3 engine structure is a realization of this abstract model - in a way - but it is possible to create a completely different game, eg. with no towns, and a different battle system, or maybe a Barbie-simulator XD)

  1. Will it be only an engine, or you are planning to create some content (graphics, sounds, etc) around it? (It was mentioned above that you don’t want to use original elements…)

  2. Will be there cheat-codes to easier test the game?

Oh, and another vote to open-source, from me :wink:

(Sorry for any errors in my English, I’m Hungarian :))

Ad 1 - currently we are following the second rule. We are not going to make a very general engine but moddability is one of our priorities (although it’ll become important when most WoG features are implemented). We don’t know how much of moddability will be there - no towns is possible but Barbie - simulator is rather not.

Ad 2 - yes, we are going to add new content but we are not very experienced in creating graphics, animations or sound - we hope someone will do it for us ;]. However I think that getting rid of original content is too ambitious.

Ad 3 - yes, we are going to put cheat-codes in VCMI.

We consider opening our sources by next version. Which license would you suggest?

My English is not perfect, either. I’m from Poland.

Oh, almost neighbours than :slight_smile:

What license? I don’t know, 'cause I’m not so familiar with OS-licenses. But I searched it in wiki. A quote from there:


But the GPL is a very wide-known license, so I put a vote in that.

Oh, an BTW:

I’ve read a bit around other forums, and it seemed you didn’t want to open the source in the near future… what happened there? :smiley:

Do you have any ideas what cheat codes will be in and when?

Will be possible to have a hero without any creature? (I always got angry, when I had to leave one skeleton in my army for nothing. It is one skeleton! It can decide the outcome of the battle! :D)

So the artifacts are hard-coded in H3. Do we follow that way?

Yeah, too many questions, I know. But, ATM I know enough, so I really want to help :slight_smile: What jobs are now to do?

Well, no decisions have been made but… let’s say that there is an increasing will of opening sources in the team. :wink:

Yes, we prepared once a list. However I cannot say when they’ll be available. Probably not soon.

Possible - maybe, for sure not by default.

Yes. Artifacts effects will hard-coded but it’ll be possible with script languages to disable default effect and write your own.
Same applies for skills, town structures, and so on.

Basically everything that is not already done.
Always we’ll be able to find something that needs work :slight_smile:

I would suggest something like “artifact’s traits” - ie. add +n to attack skill, disable fifth-level spells in battle etc. and artifacts would be combined with traits by a description in a file.

For example you could fix a few things - ie. opening a map with hero placeholder, behaviour while opening a corrupted map or playing videos (the last needs a bit more explanationsince we know how to play some videos).

Ok. So, what should i doin order to fix some of these elements? Register somewhere, or what?
(BTW, you mentioned the placeholder is still unreversed. So do I need to reverse the format?)

I’ve just read about a disputation about open vs close(source). And so I just realized you are maybe right. But I think if someone decide to start a project form scratch, there is an “expectation” to be open (or maybe a “fashion”). I don’t speak a word from now in this issue :slight_smile: