EmpiresCommunity / Unreal-Empires-Project

4 stars 0 forks source link

Conquest Capturable Zones #54

Open RoyAwesome opened 1 year ago

RoyAwesome commented 1 year ago

Conquest Gamemode needs zones that players can enter/exit and capture.

Xiaminou commented 1 year ago

Regarding Capture Points/Zones, there's a lot of questions to be asked about how they should be implemented. Should they work like they do in Empires where a single person can neutralize a capture point while there are enemies sitting on it? And where there are minimum amount of players required? Or should they work like Battlefield where the team with the most players on the capture point makes progress? And where capture goes faster the more players you have?

What configuration options should capture points have? Keeping everything that's in Empires is a good start but there might be a few more.

Regarding those, drain/give, the first "tick" should happen after the first "interval" not before. The way it's implemented in Source Empires it happens as soon as you capture the flag which can lead to weird situations.

What feature should capture points have? Empires has options to make capture points linear. But it is still limiting if you want different points to be linked. It should be implemented in a way to give the mappers more possibilities when it comes to linking capture points. And there should be options for triggers when linked capture points are secured by a team. And in that regard, King of the Hill and other scenario goodies (game modes) should be considered too.

Another idea would be to add an option for capture points to have their reinforcement drain automatically adjusted based on the amount of players. It would go hand in hand with what I posted in #59. If you want a certain capture point to be responsible for half the reinforcement drain then it needs to be automatically adjusted based on the amount of players.

Displaying Capture Point Information: Because capture points can do so many different things it's important to have ways of communicating that to the players. While a simple icon is ideal as to not clutter the minimap, more should be add to the "big map". There are three different maps in Source Empires, the minimap that is displayed top right of your screen, the spawn map where you can chose your spawn points, and what I call the "big map" for lack of a better name where you have the map displayed full screen without the spawn points. I believe features should be added to UE5's equivalent of the "big map" to display capture points properties. It could be icons under the flag itself that would represent each aspect of the capture point. Or it could be that you're able to click (or hover) those flag icons and it displays a menu with all the details. Ideally it should be both. Something else that is not properly displayed on Source Empires is the capture point's area, it should be represented on the "big map" as well. I believe the latest battlefields do that too, so do something similar.

Trainzack commented 1 year ago

The spawn point should always be physically separated from the capture point, and the capture point should not let you do spawn point things like change class.

Xiaminou commented 1 year ago

If you're talking about having a separate "spawn area" where you can change class you would need a way to communicate that to the players. But you have to keep in mind, not all capture points will have spawn points. So it should probably just be called an "armory" area or something. I think ideally you would want to give these three options to mappers:

RoyAwesome commented 1 year ago

The fact that all these are combined in Source is obviously a bad thing. We are going to change that.

So far, from a Technical design (not gameplay), I have this:

When I say "Can be Attached to Anything", I mean vehicles, buildings, map objects, or "nothing". The idea here is that things like the Armory's class change behavior is the same as a map-placed class change zone, except the zone is automatically spawned by the Armory. It would also be cool to have moving capture zones like that one train map in Battlefield 4.

This technical design is intended to allow us to be extremely flexible with gameplay design, helping set things up as needed. For example, if we wanted to disconnect player spawns from the actual capture zone, we absolutely could. If we want players to spawn further out when a point becomes contested, we could script the capture point to disable the "Close" spawns when it becomes contested and enable the "Far" spawns, for example.

I don't think I'm going to expose much of this configuration to server owners, but it will be 100% available to mappers. I think we should decide what the gameplay design of these capture zones should be, and then create a number of prefabs so that mappers can very quickly create "standard" capture zones... but if you want to do weird shit with them, you can not use the prefab and construct the scriptable abilities yourself.

RoyAwesome commented 1 year ago

On the configuration to server owners front, I plan on putting stuff like this into a Scenario system that can enable Data Layers on a map. You would then package these Scenarios (and custom Data Layers) into Game Feature Plugins, which can be distributed and loaded at runtime. We'd probably want to do like a game flow thing where you download a server's custom Game Features before you join the server. With this setup, you'd get a very source-like custom .bsp system, but with way more power. Like, just modify a terrain already in the game with a new gameplay layer or things like that.