aufau/SaberMod

Todo

aufau opened this issue · 2 comments

aufau commented

Overview

This is a list of tasks and ideas that came to my attention but are small or haven't been researched yet.

Bigger tasks should have their own issues and a person who starts working on them should create it to prevent duplicating work.

Please share your own ideas and suggestion here or with me personally.

General direction

SaberMod is not a "Clan Mod" as this area is well covered by many existing mods. Instead it focuses on the esport side on the game and provides environment where players can play all kinds of matches, pugs, tournaments, practice sessions, fun games etc. Adding new gametypes that facilitate these activities and introduce more variety is a major focus point.

Tasks and Ideas

Maintanence

  • CMake Build Scripts Port them from mvsdk or other project.
    Difficulty: Average
    Effort: Average

  • Merge Codebase with MVSDK For 1.02 compatibility and upstream bugfixes.
    Difficulty: Average
    Effort: Big/Huge (research required)

Game Types

  • Simultaneous Duel Gametype Simultaneous meaning that more than 1 pair of players can play at the same time using separate "dimensions". I have a list of potential formats, including such that allow player to "skip" his round.
    Difficulty: Hard
    Effort: Big

  • Domination There is one or more capture points on a map and teams try to capture them, and hold them as long as they can by killing all players from the enemy team in a proximity.
    Difficulty: Hard
    Effort: Big

  • Glicko Ladder 1v1 duel ladder in FFA gametype using Glicko points instead of score to rank players on the server. Code for Glicko calculations and scoreboard already exists in a glicko branch. A system for identifying player and storing results, possibly across different servers is required to make the gametype fully functional, as glicko needs a large number of games for meaningful results - usually more than can be played in a single session.
    Difficulty: Hard
    Effort: Average

Game Logic

  • Spectator Voting Allow spectators to vote. 0 - never, 1 - during warmup, 2 - always. Detect spectators who are afk. Does it even make sense?
    Difficulty: Easy
    Effort: Small

  • Substitute Zombie Clients Allow player who lagged out to substitute his lagged instance after reconnecting, retaining his hp, weapons etc.
    Difficulty: Average
    Effort: Average

  • Show Mode Rules to New Players Currently there is ingame motd, but there should be a way to define mode rules in mode config (eg. Pickup Game rules) and show them to newly connected players on spectator. Think it over.
    Difficulty: Easy
    Effort: Small

  • Support Single Player Maps

  • Multiple Lives in Last Man Standing Gametypes Fraglimit should be the number of lives for each round. I have started working on it and made some progress on a local branch but then aborted. Let me know if you want to continue.
    Difficulty: Average
    Effort: Average

  • Mercy Limit Quakelive had a game rule called mercylimit, where if one team too score advantage this large before the halftime, the match would end. What is a reasonable setting depends game mode, number of players etc. It would be better to have a factor configurable per game mode and automatically adjusted by number of players, timelimit and other settings, that would allow to end hugely unbalanced matches prematurely without controversy (remember to disable it in "match mode").
    Difficulty: Average
    Effort: Small

  • Vampiric Damage Cvar that makes damaging another player return X% of the damage to your own health.
    Difficulty: Easy
    Effort: Small

  • Auto Teamsize Simplify management of pub team games. Maybe reduce effective team size to number of players in a team, when the game begins, for duration of a game?
    Difficulty: Average
    Effort: Small

Spectator Features

  • Better "Follow Crosshair Target" Currently "follow crosshair target" (on +attack) is handled serverside. with some lag it becomes easy to miss and switch to a different player instead (default +attack action). Move code to clientside and/or consider using different button for following target.
    Difficulty: Easy
    Effort: Average

  • HP Bars Show HP bars and other indicators over players from spec. Same HP bards could replace teamoverlay. Hard part is designing them so that it looks good and transmiting up to date status only to selected clients.
    Difficulty: Hard
    Effort: Big

  • Wallhack Effect For Spectators Find a nice looking wallhack effect for spectators (think of CS:GO), otherwise ditch the idea. See RF_DEPTHACK, Jedi Master Glow, Force seeing effect, RB_ShadowTessEnd()
    Difficulty: Average
    Effort: Average

  • Duel Camera Mode Spectator mode (nextspecmode/prevspecmode) in duel where camera is positioned like in fighting games. Perhaps spectator should have some control over it using mouse and keyboard. Also consider special HUD for this mode with hp of both players (this may be a separate task).
    Difficulty: Average
    Effort: Average

Demo Features

  • Change Demo PoV Change Point of View during demo playback.
    Difficulty: Average
    Effort: Small

  • Free Floating in Demo Free floating spectator camera during demo playback
    Difficulty: Average
    Effort: Average

  • Demo Seek and Map Change Improve existing demoseek command with demos containing map changes. There should be some absolute time, or map change counter
    Difficulty: Average
    Effort: Small

HUD

  • Redesign Damage Plums They don't look great right now find better size, animation, colors etc. Also use high res font in JK2MV.
    Difficulty: Easy
    Effort: Small

UI

  • Vote Next Map During Intermission During intermission players are presented with few map thumbnails and vote which will be next map by clicking on its thumbnail.
    Difficulty: Average
    Effort: Big

  • Menu Based Scoreboard Scrollable, menu-based scoreboard. Potentially used for referee tasks with mouse drag and for presenting detailed statistics
    Difficulty: Average
    Effort: Big

  • Detailed Statistics on Scoreboard Create a scoreboard tab or some other solution to present game statistics in GUI rather than console.
    Difficulty: Average
    Effort: Big

  • Associated Servers Show "associated servers", configured by server admin as thumbnails with server name, players, game status. Player can switch to any of associated server by clicking on its thumbnail.
    Difficulty: Average
    Effort: Big

Multiple Lives in Last Man Standing Gametypes

i already made this to play in a FFA match... do you want it as a separate gametype? or to be applied in a current match?

aufau commented

I thou

Multiple Lives in Last Man Standing Gametypes

i already made this to play in a FFA match... do you want it as a separate gametype? or to be applied in a current match?

I thought about a cvar (then it would be used to create a new game mode - game modes are one layer of abstraction above cvars, so that players/admins don't have to deal with cvars directly this often), but I didn't consider all consequences. If some game rules still make sense?

By last man standing gametypes I mean clan arena and red rover - GT_Round. Duel is technically last man standing and round based too, but implementation is completely separate and it can already do this with fraglimit.

I recall I started implementing it but abandoned that branch for some reason. I pushed it there now, dunno if it works or anything, but there is some hud/scoreboard code that may be useful: 221b77f