APC wrote: ↑
I encountered surprising (for me) bug during Zod-Engine MP gameplay on Nighsoft server. Some players are able to place 2-3 guns in one moment in zone where they need. It seems they must produce that guns at first, then hold it in storage (not placed) and then place it on border zone where they are producing gattling.
It should be tracked and improved somewhere in the code. I consider it annoying. It is a pity I don't know whole procedure; it would be easier to trace that bug.
I thought Z DOS had the same behavior that one can store up to 4 guns. I think it's quite helpful, I usually construct a lot of howitzers and it's good that I don't have to react immediately when one is constructed. So I'm not sure if I should consider this a bug or a feature.
APC wrote: ↑
I noticed another illogical issue in ZOD Engine.
Player can repair completely destructed factory by crane. But damaged factory is it not possible to repair and player is forced to suffer reduced production speed. This is exploitable against AI in singleplayer and also by human opponents in MP.
I suggest one out of three solutions:
A) There should be some auto-regeneration of damaged factories on very slow pace. I prefer this solution, it is not exploitable neither in SP nor in MP and it is simple.
B) There should be added "unit" to the production list of all factories - TNT autodestruction of factory. Manufacturing time similar to Grunts, to prevent misuse as very fast scorched earth policy.
C) Crane could have possibility to repair damaged factories.
Crane is avaliable in all forts (contraty to original Z_DOS). I think this addition would just improve gameplay. The damage to the factory shouldn't be irreversible.
In ZED Online I patched this in a recent commit (will be available with version 0.1.1). Players can attack and destroy their own buildings.
In Z DOS in multiplayer destroyed factories repaired themselves after about 1 minute, so it was always faster just to destroy the factory and wait a little while.
The ZOD engine allows for buildings to this auto repaired. I think the right way, would be to have this stored in the map files along with building_health.
On certain maps autorepair makes sense on others maybe not so much (for example Bridge games).
Regarding the crane, in ZED Online the crane is not available in forts with 1-3 stars (since this is the behavior of Z DOS). So, it's basically in the hands of the map maker.
APC wrote: ↑
Is the AI programmed only in zbot.cpp, zbot.h and zbot_events.cpp?
Do I understand correct for each AI_unit the AI just takes some nearest target from targetlist and that's all? The units just spread to all direction this way?
At least for the 20 original SP missions could be AI done in scripted form with AI_file for every mission. I mean something like in old "Sudder Strike" game, where AI just looks if some areas on maps are enemy units in some amounts and reacts according to that situation. Also scripted placement of produced defensive guns would result in placement it on more crucial places.
BallWin wrote: ↑
While I was not looking at how AI actually works. I will deal with AI later (much later). Probably it is possible to ask the DaMarkov.
In the ZOD engine only the files zbot.cpp, zbot.h and zbot_events.cpp are relevant for the AI + the recent added heatmaps for gun placement if one uses the new AI.
The AI is quite involved and to be honest I didn't read that part of the code yet.
By AI_file do you mean the original CPU files in the level folders? Sorry to disappoint you, but the only information these files contain (unless I am missing something) are the starting position/units and initial commands of the AI units. No scripts, no complicated behavior.
But maybe it would be a good idea to have some kind of script language for the AI. Something simple as in the original Starcraft might work.
APC wrote: ↑
There are now two live successors of (2010-2011) ZOD Engine. DaMarkov's ZED Online developed on Sourceforge and BallWin's Qt_ZodEngine developed on GitHub.
I don't say it is wrong to have separate projects. But there is an issue of doublework and it should be solved.
A) You can merge your projects to one. Both of you are in initial stage of branch (2010-2011) ZOD Engine. But each prrogrammer has his own vision, programming customs, speed of work. I think it wouldn't be comfortable for you.
B) You can inform each other about bugs found and repaired in original ZOD Engine and also about code used to repair it. It could save a lot of doublework and existence of two different ZOD Engine remakes, each of them with different set of bugs.
A) seems to be impossible right now. ZED Online so far only works under Windows and I have recently added a player for the cutscenes porting this to Linux has a low priority for me right now.
B) Excellent idea! Of course, what someone considers a bug another persons sees as a feature. @BallWin should we create something like a Google Docs spreadsheet where we write down what bugs we fixed/things we changed?
Something like: Players can not attack their own building | Fixed in ZED Online commit [...] | Released in version 0.1.1
Then we would have a list of all the changes and as long as every change is tied to a commit id it should be easy for us to transfer these changes in our own projects.
I have a big question regarding the repair facilities:
When I repair a tank and during the repair the enemy takes the flag of the repair shop.
Does the tank that is at this very moment inside the repair shop belong to the enemy who captured the flag or does the tank still belong to me?
And if is still belongs to me, did it get repaired?
I know how the ZOD engine handles this case, but does anyone remember what happens in Z DOS in this special case??