OpenArena
(+5)
(2 intermediate revisions by the same user not shown)
Line 47: Line 47:
 
* '''Improve the ''callvote'' feature''': a way to allow server admins to customize a table with the gametypes allowed for each map may be useful. It would be nice also a parameter to have the allowed callvote gametype list for a certain map set "automatically", reading from arenas.txt. Notice that it would need some additional checks (when the next map of the rotation script is loaded): please read [http://openarena.ws/board/index.php?topic=3909.msg35972#msg35972 this] and the following posts.
 
* '''Improve the ''callvote'' feature''': a way to allow server admins to customize a table with the gametypes allowed for each map may be useful. It would be nice also a parameter to have the allowed callvote gametype list for a certain map set "automatically", reading from arenas.txt. Notice that it would need some additional checks (when the next map of the rotation script is loaded): please read [http://openarena.ws/board/index.php?topic=3909.msg35972#msg35972 this] and the following posts.
 
* '''callvote for ''capturelimit''''': ''Capturelimit'' is very similar to ''fraglimit'' and ''timelimit''. It should be integrated with the standard votes. Maybe allowed values limits, like now there are g_voteMaxTimelimit, g_voteMinTimelimit, g_voteMaxFraglimit, g_voteMinFraglimit, may be added, too. See also [http://openarena.ws/board/index.php?topic=3972.0 here].
 
* '''callvote for ''capturelimit''''': ''Capturelimit'' is very similar to ''fraglimit'' and ''timelimit''. It should be integrated with the standard votes. Maybe allowed values limits, like now there are g_voteMaxTimelimit, g_voteMinTimelimit, g_voteMaxFraglimit, g_voteMinFraglimit, may be added, too. See also [http://openarena.ws/board/index.php?topic=3972.0 here].
* voting for the '''same fraglimit / timelimit''' as already used could be refused <small>(e.g. if the current timelimit is 20, making a vote to set it to 20 sounds useless, and thus may be not allowed.)</small>.
+
* voting for the '''same fraglimit / timelimit''' as already used could be refused <small>(e.g. if the current timelimit is 20, making a vote to set it to 20 sounds useless, and thus may be not allowed.)</small>.
   
 
=== Misc ===
 
=== Misc ===
Line 59: Line 59:
 
* '''[[Wishlist/Achievements|Achievements]]''' section.
 
* '''[[Wishlist/Achievements|Achievements]]''' section.
 
* With OpenArena 0.8.8 executables, [[bloom]] effect is automatically disabled if r_texturebits is not set to 32 (this has been done to workaround a bug that affected 0.8.5 executables if bloom was enabled with texture quality set to 16 bit: a semi-transparent square that appeared in the lower left corner of the screen). The default r_texturebits value (0) is not enough to use bloom, one needs to force it to 32 or bloom will be automatically disabled. The problem is that the GUI does not tell people what they have to do to use bloom, and the console even prints a misleading message (due to it referring to an engine component that tries to call another one). '''A message in the console or in the GUI that would explain to the user what he should do to make bloom work would be important.'''
 
* With OpenArena 0.8.8 executables, [[bloom]] effect is automatically disabled if r_texturebits is not set to 32 (this has been done to workaround a bug that affected 0.8.5 executables if bloom was enabled with texture quality set to 16 bit: a semi-transparent square that appeared in the lower left corner of the screen). The default r_texturebits value (0) is not enough to use bloom, one needs to force it to 32 or bloom will be automatically disabled. The problem is that the GUI does not tell people what they have to do to use bloom, and the console even prints a misleading message (due to it referring to an engine component that tries to call another one). '''A message in the console or in the GUI that would explain to the user what he should do to make bloom work would be important.'''
  +
* Allow to abort the loading of a map instead of returning to main menu ''after'' the loading is finished.
  +
* Give a clear message: '''You need version X to play on this server.''' instead of something about .pk3 files.
   
 
=== Console ===
 
=== Console ===
 
* '''"mute" command''' for ignoring (as in, not seeing) text messages from specific player(s).
 
* '''"mute" command''' for ignoring (as in, not seeing) text messages from specific player(s).
  +
* '''\time''' command showing the system time of the computer (or updating g_timestamp locally and printing out)
  +
* '''\mapcycle''' showing the mapcycle of the server to the player. Or '''\nextmap''' telling the player the next map to come.
   
 
=== Options ===
 
=== Options ===
Line 67: Line 71:
 
* '''Add a short description for "Crosshair shows health"''': When it's enabled, the selected crosshair colors are ignored.
 
* '''Add a short description for "Crosshair shows health"''': When it's enabled, the selected crosshair colors are ignored.
 
* '''Powerup descriptions''', under the "[[Statistics]]" menu. [http://openarena.ws/board/index.php?topic=3955.msg35578#msg35578 Thread in the forum].
 
* '''Powerup descriptions''', under the "[[Statistics]]" menu. [http://openarena.ws/board/index.php?topic=3955.msg35578#msg35578 Thread in the forum].
  +
* Before entering the ''Setup'' select for what gametype you want to change the setup (current, all, baseoa, CTF, ...)
   
 
=== Server browser ===
 
=== Server browser ===
Line 79: Line 84:
 
* Integrating some kind of [http://openarena.ws/board/index.php?topic=4419.0 anti-cheat system].
 
* Integrating some kind of [http://openarena.ws/board/index.php?topic=4419.0 anti-cheat system].
 
* Since OpenArena 0.8.5, "cl_yawspeed" and "cl_pitchspeed" (variables that control the speed of turning around with keys) are hardcoded to 140.0 value (this maybe to prevent abuse of them, like a "180 turn button"?): e.g. setting them to 1 or to 3000 does not make any difference in practice. But the variables do not result as "read-only" or "cheat-protected", you simply change them but they have no effect: this may [http://openarena.ws/board/index.php?topic=4466.0 be confusing and seem a bug]. '''It should be clearer''' that they are protected, and maybe '''some server-side way to disable the lock''' (like it happens with [[videoflags]]?) may be nice, or maybe '''allowing some ranges of freedom'''?
 
* Since OpenArena 0.8.5, "cl_yawspeed" and "cl_pitchspeed" (variables that control the speed of turning around with keys) are hardcoded to 140.0 value (this maybe to prevent abuse of them, like a "180 turn button"?): e.g. setting them to 1 or to 3000 does not make any difference in practice. But the variables do not result as "read-only" or "cheat-protected", you simply change them but they have no effect: this may [http://openarena.ws/board/index.php?topic=4466.0 be confusing and seem a bug]. '''It should be clearer''' that they are protected, and maybe '''some server-side way to disable the lock''' (like it happens with [[videoflags]]?) may be nice, or maybe '''allowing some ranges of freedom'''?
  +
*updated maps should use a different name like am_galmevish <-> am_galmevish2 and not like oasago2 or oa_minia thus updated servers can use the version they want
   
 
== Already implemented ==
 
== Already implemented ==

Revision as of 08:56, 1 April 2012

This page is dedicated to suggestions about improvements/new features that may be included into the next versions of the game. To report problems in features already implemented, there is the "Bugs" page instead.
This is mostly a recap of what is suggested on the forums, let's try to maintain the two things synchronized.
Most related forum sections probably are Idea pit, Development, OA3.

Before adding your own suggestion check NOTTODO for stuff which won't ever be part of the game.

Features requested here should be moved to the "Already implemented" section below when realized. When the next official OpenArena release, containing them, is released to the public, those lines should be moved to the Wishlist/Archive page.

Suggestions for already implemented gametypes

Harvester

  • A cvar (if the gametype will not be implemented) which marks that the skulls should spawn right at the place where the player died, like Unreal Tournament III 's Greed mode.

Elimination / CTF Elimination

  • It would be nice to tune the bots, making them know if they are the last player on their team: in this case, they should go to get the enemy flag even if they were previously in defense (and obviously, after they get the enemy flag, they should look for their own flag if the enemies stole it). This has to be extended also to the standard CTF mode (if the bot is the only player on its team it should be more active)... and, with the necessary differences, also to all the other team-based gametypes where the goal is not simply to kill all the enemies. Please read this and the following posts. And think that in CTF Elimination with Oneway mode enabled, bots in the defensive team may attack the enemy base (to weaken/frag the the enemies), but should not be stuck at trying to grab a flag that they technically cannot pickup.
  • Maybe, when one is the last player alive on his team, we could show a message on the screen for some moments, informing him of this fact, like it happens in the Aftershock mod. Proposed here.

Suggestions for new gametypes

NOTE: When suggesting a new gametype, don't just place the gametype name or where it originates from, place as well a short description.

Single-player based

  • Single Player/Cooperative game against ai monsters, in linear style (quake, doom) and/or dmsp (cube, sauerbraten, ut3) style.
  • Challenges: A series of matches with different rules and goals to be achieved. Thread in the forum
    • Speedrun: A related mode to the above (as one of the possible objectives) it gives the player different challenges which should be completed in the shortest time possible. See here.
  • Test Your Luck: Features a five-slot machine, with the first two slots being for gametype and map, and the other three for different game modifiers. Depending on the settings, the players will always get different matches. Thread in the forum.
  • Heroes and Heralds-like mode: Team-based game. The player chooses 4 bots as his allies, bots also display their stats. The maps are distributed in squares. Each map has a gametype, fraglimit and optional timelimit, and starts in 50%. With every win, the winning team scores 10%. A square is declared won when it reaches 100%, and lost when it reaches 0%. 0% squares can be replayed in order to get to 100%, but 100% squares can't. The objective is to conquer all the squares in the map. Thread in the forum

Non-team based

  • Consumption: gauntlet is disabled (all eventual other weapons which, like it, can infinitely used without get ammo are also disabled). Ammo and weapon respawn are also disabled. The match end when all the available ammo is used.
  • King of the Hill: A gametype where players battle for controlling a central area. The one who wins is the one with the most amount of domination time.
  • Possession: A gametype from Q3 Revolution (Q3 for PS2), where the objective is to hold a flag for the most amount of time, or to reach the holdlimit. Thread on the forum.

Team based

  • Assault: A round-based team-based gametype where there are two teams: attackers and defenders. The maps are objective-based, and the attacking team must reach all of the objectives inside of the timelimit. Once a round ends, both teams switch positions, so the defenders become the attackers and viceversa. If the defending team completes all the objectives in this second round, that team wins.
    • Attack vs. Defense: An extension of the above, it's a CTF-based mode where 1 match has 2 rounds and where sides are switched (for asymmetric maps) Suggested here
    • Strike Elimination: Also related to Assault, players start up with machinegun, and has buy zones for ammo, armor, items and weapons. The maps would also contain hostages, escapes and bombs.
  • A ball sport like gametype, like "Bombing Run" and "QPong", but made for Open Arena.
  • Bombing Run: A gametype where two teams battle for a ball placed in the mid-area (maps using Harvester assets will do well for this) The ball must be carried to the enemy base, so it can be thrown in the enemy goal.
  • Centerless Harvester: Similar to Harvester, but there's no skull generator, and the skulls appear where a character has been killed, like Unreal Tournament 3's Greed. Thread on the forum.
  • FreezeTag: A team based mode where the fragged or "frozen" teammates can be revived. Thread on the forum.
  • Hide-and-seek: many players against a single heavy-armored one. Thread on the forum.
  • Protect the flag: Similar to CTF but where the ennemy team gain a point when one of its members touch the flag.
  • Tackle: A mix of "Team Possession" and "QPong": players of a team have to take the ball and put it in opposite places in order to score, and they can pass the ball each other. Forum thread about it.
  • Team Possession: Similar to Possession, but with teams instead of individual players.
  • Three/four team-based gametype variants, such as Four-Team Team Deathmatch or Four-Team Domination.

Server stuff

Voting

  • Improve the callvote feature: a way to allow server admins to customize a table with the gametypes allowed for each map may be useful. It would be nice also a parameter to have the allowed callvote gametype list for a certain map set "automatically", reading from arenas.txt. Notice that it would need some additional checks (when the next map of the rotation script is loaded): please read this and the following posts.
  • callvote for capturelimit: Capturelimit is very similar to fraglimit and timelimit. It should be integrated with the standard votes. Maybe allowed values limits, like now there are g_voteMaxTimelimit, g_voteMinTimelimit, g_voteMaxFraglimit, g_voteMinFraglimit, may be added, too. See also here.
  • voting for the same fraglimit / timelimit as already used could be refused (e.g. if the current timelimit is 20, making a vote to set it to 20 sounds useless, and thus may be not allowed.).

Misc

  • Enlarge the space available for "sets" variables: "sets" variables are those which are set by the server admin and which the user can see by using "serverinfo". This would allow server admins to publish more info, like special game options and game physics-related variables (g_elimination, g_catchup, pmove_fixed, etc. etc.), that would be useful for players to know. The only drawbacks are that it may require a protocol change, and there is the need to think if it would break compatibility with third party tools. See here on the forum.
    • Alternatively, a brand-new system (like a new client command) to query such server settings, with less network compatibility problems. Which variables to be published (mainly, game settings) could be chosen by server admin or by the developers, talking with the community. See here on the forum also for this.
  • About network protocol, it has been pointed out that newer versions of ioquake3 use "DarkPlaces" heartbeat string, that contains a "gamename" key the the master server uses to understand what game is running your server. This one and more reflections about new ioquake3 protocol, OpenArena and dpmaster co-existence (and IPv6 server listing!), with some suggestions, are explained by smcv (ioquake3/OA/Q3 Debian maintainer) in this thread on the forum. It is advisable for developers to check it out, especially if planning a network protocol change.

GUI

General

  • Update the logo in the main menu (and, possibly, the intro video) with the new one. Thread on the forum.
  • Achievements section.
  • With OpenArena 0.8.8 executables, bloom effect is automatically disabled if r_texturebits is not set to 32 (this has been done to workaround a bug that affected 0.8.5 executables if bloom was enabled with texture quality set to 16 bit: a semi-transparent square that appeared in the lower left corner of the screen). The default r_texturebits value (0) is not enough to use bloom, one needs to force it to 32 or bloom will be automatically disabled. The problem is that the GUI does not tell people what they have to do to use bloom, and the console even prints a misleading message (due to it referring to an engine component that tries to call another one). A message in the console or in the GUI that would explain to the user what he should do to make bloom work would be important.
  • Allow to abort the loading of a map instead of returning to main menu after the loading is finished.
  • Give a clear message: You need version X to play on this server. instead of something about .pk3 files.

Console

  • "mute" command for ignoring (as in, not seeing) text messages from specific player(s).
  • \time command showing the system time of the computer (or updating g_timestamp locally and printing out)
  • \mapcycle showing the mapcycle of the server to the player. Or \nextmap telling the player the next map to come.

Options

  • Add /cg_weaponBarStyle to the menu. Also /cg_alwaysweaponbar in menu may be nice (even if with lower priority).
  • Add a short description for "Crosshair shows health": When it's enabled, the selected crosshair colors are ignored.
  • Powerup descriptions, under the "Statistics" menu. Thread in the forum.
  • Before entering the Setup select for what gametype you want to change the setup (current, all, baseoa, CTF, ...)

Server browser

  • The ability to search a player with his nickname, when playing multi-player. - Such function is available on the dpmaster web page, and with some external tools.
  • The ability to filter or show the name of the mod in use on each server. See here.
  • The ability to see server address. This may be achieved by using a status line to show the address of the currently highlighted server, for example.
  • Allowing people to know how many favorites slots are used (e.g. 3/16). Also showing an error message if trying to add a new favorite when all fav slots are already used would be important.

Other

  • Integrating server-side demos in official OpenArena, removing the need of using unofficial executables. Forum thread
  • Trying to find a way to make demos more portable between different OpenArena versions. One of the threads mentioning it.
  • Integrating some kind of anti-cheat system.
  • Since OpenArena 0.8.5, "cl_yawspeed" and "cl_pitchspeed" (variables that control the speed of turning around with keys) are hardcoded to 140.0 value (this maybe to prevent abuse of them, like a "180 turn button"?): e.g. setting them to 1 or to 3000 does not make any difference in practice. But the variables do not result as "read-only" or "cheat-protected", you simply change them but they have no effect: this may be confusing and seem a bug. It should be clearer that they are protected, and maybe some server-side way to disable the lock (like it happens with videoflags?) may be nice, or maybe allowing some ranges of freedom?
  • updated maps should use a different name like am_galmevish <-> am_galmevish2 and not like oasago2 or oa_minia thus updated servers can use the version they want

Already implemented

Move here wishes that have already been implemented, but have not been yet released with an official OpenArena version. When the new OA version containing them will be released to the public, please move them to the Wishlist/Archive page.

Dismissed ideas

  • Team Arena source code contains an unfinished "portal device". Maybe it could be completed and used in OpenArena (like it happened with the grapple). Obviously, we should check it would not became a "game breaker"... See here and here.

See also