Skip to content

Skirmish and Custom Battle screens

GoogleFrog edited this page May 16, 2015 · 5 revisions

This page contains the design of the singleplayer skirmish and multiplayer custom battle screens. These two screens will have the same form.

Design Goals

The main goal of the skirmish tab is to get new players into a normal ZK game with as little fuss as possible. A secondary goal is to create something powerful enough for players to continue to use for their singleplayer games.

The main goal of the custom battle tab is to let people setup and play games with their friends. A secondary goal is to support the hosting of unusual games such as FFA. The custom battle tab is not meant to replace the current Teams, Chicken or 1v1 rooms. That is the task of the matchmaker.

Latest Design

This is the latest design

The team display area is unbounded unless there are enough teams and players for a scrollbar to be required. This makes the UI uncluttered in most cases.

The box below the team display box is a chat area. This chat will be duplicated in a channel within the chat tab. The chat area will not be in the single player skirmish version of this screen.

The Start and Balance buttons are only available to the host. The Balance button will take all players and distribute them between the currently occupied teams (if there were 3 teams occupied by players then the balance is done on those 3 teams). The distribution uses team elo but custom battles should not affect elo.

Start areas has two options: Fixed and Shuffle. Chickens has all the appropriate options (None, Easy, Medium, Hard, Very Hard, Suicidal) and if set other than None the game will contain a chicken bot on the appropriate unoccupied team.

Old Design

Layout

The screen contains three main windows: The team window, the map window and the chicken window.

Normal Skirmish Tab Layout for 1920x1080

This is the layout used if the screen is at least 1050 high. On a shorter screen the chicken window is moved to the right of the map window as in the image below. The chat tab fits nicely into the right side of this layout.

Small Skirmish Tab Layout for 1366x768

This layout should be squishable to support screens which are at least 1280 wide. The chat panel covers the chicken window as well as the right side of the map window.

Tiny Skirmish Tab Layout for windowed IRC client mode.

This is the layout for people using ZKL in the squished IRC client mode. "Select map" and "Game Options" can change their layout or be shrunk (not sure about that one). The chicken window has been turned into a button which contains the radio buttons from the window. When the chat is open this layout shows the team size and whether the players on each team are ready.

Window Functions

Team Window

The team window is for managing and viewing the teams for the game.

Every map supports a certain number of teams. This number determines how many team headings will appear in the window. If the map is changed to one with less teams the AIs on excess teams are kicked and the players are set to spectate.

Every custom battle has a host and players are considered to be the host of their own skirmish games. The host can kick players and AIs and add AIs to teams. A players can click 'join' to move to a team and they can all tick Spectate to spectate. Only the host is able to start the game.

Map Window

The main purpose of the map window is to pick and view the map. It can also change game options. The host is able to click 'select map' to select the map from a list. They are able to toggle "Randomize start boxes" which will effectively permute the team numbers of teams with at least one player (modside). They can also change any of our wacky game options (which need pruning modside).

Chicken Window

The chicken window allows the host to select a chicken difficulty level. This is here because it is an important singleplayer mode that most people seem to want to try. If anything other than 'None' is selected the game will have an extra team which just contains a chicken bot of the appropriate level.

Things Which Cannot Be Done

Lots of things cannot be done with this design. I had better list them because people think we need ALL THE FEATURES.

It is impossible to add or remove teams. This feature was pointlessly confusing. With this design the number of teams is fixed per map.

It is impossible to modify start boxes. This feature is rarely used, even now. All we have to do is preload all the good start boxes for each map. Most maps have good start boxes set already.

There is no chat. Actually the chat will be done with the chat tab. Custom battles will automatically have a channel created which contains all players and spectators (much the same as now). This channel will ONLY be a chat channel and have NO extra features just because it has to do with a battle.

Questionable/Missing Things

The "0 Spectators" thing is intended to let people in a custom battle notice if somebody has wandered into their room. The chat tab already does this but people may not use that tab if they have alternate chat set up.

Lack of ban. The host may want to ban a player from their room if they are being disruptive. This could easily be added as an option next to kick.

Lock/Unlock. The host may want to start the game without people coming in and messing it up. A Lock/Unlock option could be added in place of "0 Spectators".

The team window may need a scrollbar to support a very large number of players.