ZED Online - a fork of the Zod Engine

Discussions, requests and appeals to lay open the Z source code

Moderator: Brad

DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-11, 23:35

Just as a heads up: the next version on Friday will also contain a _very_ early preview of the map editor.
Here a video of what to expect: https://youtu.be/Ggvw1ArjztI

I will just include it to get some feedback.
APC
Corporal
Corporal
Posts: 48
Joined: 2008-11-07, 16:18
Location: SLOVAKIA

Re: ZED Online - a fork of the Zod Engine

Post by APC » 2019-02-12, 22:05

I wrote "60% of work already done" in sense to reach point where I will start prefer ZED Online over y.2011 vanilla Zod Engine.

I discovered Zod Engine only 40 days ago and I couldn't believe how complete, balanced, polished game was created. It surpassed Z_Expansion on WinXP or Z_DOS+DosBox.
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 02:42

APC wrote:
2019-02-12, 22:05
I wrote "60% of work already done" in sense to reach point where I will start prefer ZED Online over y.2011 vanilla Zod Engine.
:-) :-)

I think I have a solution for our "cancel production when conquering a flag" problem.
The solution actually came in a dream to me last night, no joke. In the next version there will be a checkbox with the option "Reset production when conquering a foreign territory".

If the checkbox is NOT enabled then the default production unit will be set upon match start and when conquering a neutral flag.

If the checkbox IS enabled then (in addition to the above behavior) when conquering a flag from the enemy the production will be immediately canceled and replaced by the default unit.


My intention is that for newer player they should enable the checkbox, so that they have an advantage.
However, expert player might one to disable this feature since they are quicker and have in general more control over the game.

My reasoning for this decision is as follows:
Imagine the situation where the factory construct a unit in 10 seconds for the red player. blue is about to take the flag.
However, blue & red are not sure if blue will reach the flag in time.
In this case red has mainly 3 options:
A) do nothing
B) cancel production
C) switch production to another unit

A) is the risky option which also comes with a great reward. B) is without risk but red potentially could have lost a unit
I discount C) in this case, since I assume both players are experts.
I believe this is a very tense situation and interesting mechanic that should be left in the game.

I think having this checkbox is a good compromise.
If both players have the checkbox enabled that is exactly what you proposed, APC.
If both players have the checkbox disabled, this is the standard/old/Z DOS behavior. Both players could gain advantages in the above described case.
If one player has is enabled (amateur) and the other disabled (expert).
Then if the expert player is about to lose a flag i doesn't matter if he chooses option A) B) or C) since the production will be set automatically.
However, the expert can gain some advantages if he gets a flag an the other player chooses A).

While writing this I see that there are some problems. I think I will change the "Reset production when conquering a foreign territory" to "Reset production when conquering a foreign territory if the unit being produced is < 50% done".
And there are some game theoretic things I need to think about. 1 expert, 1 amateur, but the expert knows the settings of the other player. He could then choose option A) riskfree, which is problem.
User avatar
KISSMAD
General
General
Posts: 340
Joined: 2005-06-24, 16:53
Location: Australia

Re: ZED Online - a fork of the Zod Engine

Post by KISSMAD » 2019-02-13, 08:55

Why can't I select to play against bots on the main screen instead of having to try and connect online. Then not been able to connect to the sever, then been allowed to select 'create game without server' to play against the bots.
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 13:51

KISSMAD wrote:
2019-02-13, 08:55
Why can't I select to play against bots on the main screen instead of having to try and connect online. Then not been able to connect to the sever, then been allowed to select 'create game without server' to play against the bots.
You could click on Local Multiplayer and then create game. Should be 2 clicks.
Is this not fast enough?
If it isn't I would put a button directly to the main menu.

EDIT: actually there are more uncesseary clicks. 1 to go to the lobby and up to 7 to add the bots. I will work on a quick game option for you.
APC
Corporal
Corporal
Posts: 48
Joined: 2008-11-07, 16:18
Location: SLOVAKIA

Re: ZED Online - a fork of the Zod Engine

Post by APC » 2019-02-13, 15:53

DaMarkov just to be sure I understand your reasoning good enough.
C) Switch production to another unit = cancel production (lostsof all progress already done) and start new production.
So in fact I don't understand difference between B) and C).

Also I don't understand which advantage can reach player, whom the system will during conquest of foreign flag automatically cancel production in conquered factory. During match all players should have similar opportunities and gamemechanics. If advanced player wants to give advantage to amateur, he can start one of the original maps and play for the blue team. The higher the level, the more is the map imbalanced to advantage of red player.

In Z_original the looser of teritory was punished too much. He lost territory (global production speed bonus), he lost factory, he lost almost manufactured unit and the enemy occupied almost ready unit. Maybe it was OK, because it rewarded attacker and the players were not dug-in in defensive trench warfare. But in this case AI should be improved in circumstances of imminent flag takeover. As for now, AI never cancels production.
I hated this mechanics only in case I was focused in another part of battlefield and the 3-th player had stolen my almost produced heavy tank by some pesky grunt. In real life we need to pay for our mistakes. But I wish to relax in computer game and not care about every detail. Also the robots try to defend themselves when enemy approaching in some distance and I don't need to say it to them.
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 16:14

I retract that statement I made above. I thought about more cases and I just can't write a system that handles this cancel production problem well in all cases.
I will have the default unit feature enabled only when taking a neutral building.

I agree that AI should cancel the production before the flag is taken, but for now I am not touching the AI code.
It's also a bit tricky to implement this since the the AI would have to send the cancel command to the server _before_ it loses the flag.

You suggest to have a feature that automatically cancel the production, but this can only be an optional feature. Consider the following case: I was building a medium tank. The timer on the building was 2 minutes. I didn't want to cancel the production because I had a tank nearby and was sure that I could take back the flag in about a minute.
And that case I absolutely didn't want to cancel my production and hoped that the AI wouldn't chance the production either.
So, in that case one absolutely doesn't want to have an auto-cancel feature.

So now I could develop the auto cancel feature on a per building basis. Or make it dependent upon the building timer and the unit being built. But that would just be an overly complex system that no one would be be able to understand anymore apart from us two maybe.

I think the solution lies elsewhere. Maybe play a sound when a flag is about to be lost and mark it on the map or something like this.
For now, I think having an algorithm (or a set or algorithm from which the player can choose one) it either bad in some edge cases or overly complicated.
APC
Corporal
Corporal
Posts: 48
Joined: 2008-11-07, 16:18
Location: SLOVAKIA

Re: ZED Online - a fork of the Zod Engine

Post by APC » 2019-02-13, 17:04

DaMarkov wrote:
2019-02-13, 16:14
You suggest to have a feature that automatically cancel the production, but this can only be an optional feature. Consider the following case: I was building a medium tank. The timer on the building was 2 minutes. I didn't want to cancel the production because I had a tank nearby and was sure that I could take back the flag in about a minute.
And that case I absolutely didn't want to cancel my production and hoped that the AI wouldn't chance the production either.
So, in that case one absolutely doesn't want to have an auto-cancel feature.
The core of the problem is - THE AI DOESN'T CANCEL PRODUCTION.
In case the AI will start cancel production (similar to experienced human player), trust me, everybody on the "defender side" will be thankful for the "auto-cancel" feature.
The code for AI: If enemy unit is in circle 30 pixels near flag and there is none defending unit in howitzer-range from that flag, then auto-cancel production in factory.

Poor or flawed AI have buried already a lot of good games. The advantages which work against flawed AI doesn't work against human opponent. In a good game aim of singleplayer is to arrange for a player experience similar to game against skilled human opponent. Especially in equally-balanced games like Z, chess, etc...
Last edited by APC on 2019-02-13, 17:38, edited 1 time in total.
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 17:36

APC wrote:
2019-02-13, 17:04
DaMarkov wrote:
2019-02-13, 16:14
You suggest to have a feature that automatically cancel the production, but this can only be an optional feature. Consider the following case: I was building a medium tank. The timer on the building was 2 minutes. I didn't want to cancel the production because I had a tank nearby and was sure that I could take back the flag in about a minute.
And that case I absolutely didn't want to cancel my production and hoped that the AI wouldn't chance the production either.
So, in that case one absolutely doesn't want to have an auto-cancel feature.
The core of the problem is - THE AI DOESN'T CANCEL PRODUCTION.

In case the AI will start cancel production (similar to experienced human player), trust me, everybody on the "defender side" will be thankful for the "auto-cancel" feature.

The code for AI: If enemy unit is in circle 30 pixels near flag and there is none defending unit in howitzer-range from that flag, then auto-cancel production in factory.
I will try to implemented that in the AI. Maybe I could at this time also implement a switch for a hard and easy mode.
APC
Corporal
Corporal
Posts: 48
Joined: 2008-11-07, 16:18
Location: SLOVAKIA

Re: ZED Online - a fork of the Zod Engine

Post by APC » 2019-02-13, 17:49

If you wish to preserve gameplay of original Z, where players were used to some tactic against poor AI and they expect this type of battle - then there is also solution. Let nobody is allowed to cancel or switch production if there is enemy unit in sector and zero defending unit.
Also this approach is viable way. Then also the human opponents will be not able to exploit nowadays AI in such a huge manner.
BallWin
Commander
Commander
Posts: 227
Joined: 2006-10-24, 02:24
Location: Russia
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by BallWin » 2019-02-13, 21:21

Image
The video decoder works. See individual missing pixels in black color (on the right hand of the Zod on the screenshot).
DaMarkov wrote:
2019-02-11, 23:35
Just as a heads up: the next version on Friday will also contain a _very_ early preview of the map editor.
Here a video of what to expect: https://youtu.be/Ggvw1ArjztI
I will just include it to get some feedback.
Great work.
It will be difficult to organize the work of the algorithm drawing texture blocks.
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 22:10

Awesome!! The decoder looks amazing.
Can't wait to switch over to your decoder. I get more and more problems with the current video player.
BallWin wrote:
2019-02-13, 21:21
It will be difficult to organize the work of the algorithm drawing texture blocks.
Do you mean the texture blocks of the video decoder or are you referring the grid view in the map editor?
DaMarkov
Lieutenant
Lieutenant
Posts: 75
Joined: 2018-12-20, 16:17
Are you a spam bot?: No
Contact:

Re: ZED Online - a fork of the Zod Engine

Post by DaMarkov » 2019-02-13, 23:56

KISSMAD wrote:
2019-02-13, 08:55
Why can't I select to play against bots on the main screen instead of having to try and connect online. Then not been able to connect to the sever, then been allowed to select 'create game without server' to play against the bots.
Just for you: https://youtu.be/69OMvAxlcu0 :wink:
APC
Corporal
Corporal
Posts: 48
Joined: 2008-11-07, 16:18
Location: SLOVAKIA

Re: ZED Online - a fork of the Zod Engine

Post by APC » 2019-02-14, 06:59

DaMarkov, if you wish to implement some difficulty levels for novices, the easiest way is to multiply the global production factor (calculated from percentage of map territories in ownership of a player) by e.g. 1.3 for opponents. Please don't influence hitpoints of units and damage stats. The battle between two brand new heavy tanks on equal surface should result in two destroyed heavy tanks. It is better also for novice to learn common results of battles between units as to get used to false expectations.
User avatar
KISSMAD
General
General
Posts: 340
Joined: 2005-06-24, 16:53
Location: Australia

Re: ZED Online - a fork of the Zod Engine

Post by KISSMAD » 2019-02-14, 07:24

DaMarkov wrote:
2019-02-13, 23:56
KISSMAD wrote:
2019-02-13, 08:55
Why can't I select to play against bots on the main screen instead of having to try and connect online. Then not been able to connect to the sever, then been allowed to select 'create game without server' to play against the bots.
Just for you: https://youtu.be/69OMvAxlcu0 :wink:
Thank you. 8)
Post Reply