Re: RELEASE: DaiZy v50 - Respawn system!

Posted by DayZ_SP on
URL: http://kodabar-dayz-daizy-single-player-forum.163.s1.nabble.com/VERY-OUTDATED-DaiZy-v50-Respawn-system-tp2267p2407.html

Here is a quick FAQ that may explain some of the bugs and give others insight on how to fix them:

1) The reason Bandits & Survivors don't automatically target Zombies is because they are all on the same side (faction) in MP. This is just how Rocket designed the game because he wanted to emphasize the MP vs. SP aspects. THIS is the main reason he had Kronzky pull SP: Because he wanted to do it properly and knew it would be a hassle the way the mod is coded, currently.

2) To get around the above limitations, Zed Hunter and Unknown used basic AI unit spawn scripts from regular ARMA 2 in order to give the feeling of MP (the player isn't the only one in the game). However, they and the AI were still very limited in what they could do because of the coding limitations mentioned above regarding being on the same side.

Zed Hunter and Unknown tried very simple targeting parameters (if "x" = a certain unit then fire on it), but the underlying problem is these parameters only apply to units that are already on the battlefield and not ones that have yet to spawn... Which is how Zombies keep entering the game.

3) To get around the aforementioned limitations, I modified the AI further by assigning the various skins to ARMA 2 factions. So, when you play DaiyZ, they behave according to the rules of engagement set up in normal ARMA 2 e.g. A Survivor is BLUFOR and is going to engage OPFOR targets such as Zeds and Bandits; A Bandit is OPFOR and will target BLUFOR Survivors (+player), etc.

The major flaw in this is the Zombies spawn endlessly if there are certain buildings present in both the country and cities. So, the AI never moves forward because it sees a constant threat of eneimies compared to normal ARMA 2 where they engage in small skirmishes, eliminate the threats and then move on with the player.

4) Zombies don't attack AI Survivors and Bandits because they are not designated as "player". You can change this in the AI unit spawn scripts, but then Zeds completely ignore the human player based on how their target priority is written in the Zombie_agent.fsm (fsm = finite state machine) that controls their scripted behavior.

5) The above is also why AI won't take damage from Zeds even if the Zeds attack them.

The ObjectEventHandlers that control damage for players is only linked to one "player" per client. This is how it is supposed to be in MP, but presents a major problem in SP where you need multiple "player" (AI) clients to be able to receive damage and ONLY the AI and not the human player if they aren't being attacked. You can adjust this in the AI unit spawn scripts and give all "players" (AI + humans) damage everytime a Zombie attacks anybody, but the damage will be mirrored on the human player until he/she dies.

Hopefully, you can now see why SP is so complicated compared to MP and the real reason Rocket pulled SP to being with. It wasn't because he was trying to be this big controlling jerk. It is because he KNEW the way he currently coded the mod that a delivering a satisfactory SP experience would be all but impossible.

DaiyZ has come a long way since the original Kronsky SP misison, but you can now see just how limited it is and why it will never be the 100% SP experience it  can/should be due to the underlying codebase focusing on MP vs. SP. This is also why I have abandoned further development on DaiyZ; some of the major flaws will never be corrected because of how the mod is fundamentally coded underneath.