UnrealEdForums FragBULiandri Archives

Viewing Post from Monday Jan 26, 2009

Major UT3 Update Details

Epic Games has been quietly working behind the scenes on a M-M-MASSIVE update for Unreal Tournament 3. However, the most exciting news may just be that this is only the beginning - a very small part - of what they have in store...

    SUMMARY OF MAJOR FEATURES:
  • Major enhancements to Server Browser
  • Visual and menu flow overhaul for improved useability of user interface.
  • Significant AI improvements, especially in vehicle gametypes.
  • Client-side demo recording support
  • Improved networking performance.
  • Midgame map, game type, and mutator voting support
  • Award system using Steam Achievements
  • Improved mod support
    Improved Steam integration
  • Steam Achievement support for Steam installations of UT3.
  • Integrated Steam Authentication support.
  • 57 achievements mark your progress and mastery of UT.
  • Progress screen shows which awards you have earned, and completion progress on all awards.
    Server Browser:
  • Server Browser updates, expanded query filtering, clientside filters and a new UI option list.
  • Added mutator filtering to the server browser (filter by installed mutators, mutator classes and mutator names)
  • Now displays each servers IP in the server details box
  • Added 'Join IP' and 'Spectate IP' buttons to the join game menu
  • Added an 'Add IP' button to the favourites menu
  • Modified the main menu to return to the server browser after disconnecting
  • Added a new button to the midgame menu 'Add Favorite', and a new console command: AddServerToFavorites
  • Updated server browser code, so that custom gametypes are properly filtered.
  • Added a 'List All Game Modes' selection to the server filter menu.
  • Added more information to the server browser player list.
  • Fixed servers not being added to history, when following a friend to a server
  • You can now attempt to directly connect to offline servers in History and Favorites (even during master server downtimes).
  • Show "+" for player counts that are populated by bots.
    UI:
  • Major visual and menu flow overhaul for improved useability.
  • Made the instant-action and host-game menus keep their settings.
  • Scoreboard double click functionality for kicking, messages to specific players.
  • Enabled gamepad stick sensitivity setting in UI.
  • Improved gamepad support on PC.
  • Added support for a whole mess of options on Advanced video settings page.
  • Easier to click buttons by fixing cases where mouse went just past them.
  • Max player counts always fit on all scoreboards.
  • Modifier cards should take display priority in toasts over character unlocks.
  • Improved voice command menu positioning and offsets.
  • Fixed showing as teleport destinations on map nodes which could not be teleported to.
  • Added tooltip while deployed in stealth vehicles to show drop deployable button.
  • Bot count UI changed from "Number of opponents" to "Number of combatants" to be less confusing.
  • Added support for showing top weapon user in end of match scoreboard. This shows which player got the most kills with a particular weapon. If a player was the leader with more than one weapon, it picks the weapon he or she got the most kills with.
  • Show beacon with name of enemies in DM if they are close enough.
  • Fixed ammo number on HUD pulsing on armor pick up instead of ammo pick up.
  • Third position for powernode beacon, when just looking at base.
  • Added speaking icon to player beacons.
  • Portraits shown for player speaking with VOIP.
  • Fixed onslaught teleporter tooltip not always displayed correctly.
  • fixed toasts that don't shut down properly popping up later unexpectedly
  • More delay before going back to ambient music from action.
  • Fixed text being obscured after removing a friend from the friends list
  • Fixed showing proper weapon icon on weapon bar for selected weapon when two weapons are in same slot.
  • Fixed issue where playercard and friend message screens were disappearing.
  • Reduced chat log spam.
  • Fixed rules for showing "change team" button.
    Vehicles:
  • Increased radius/volume of Manta, Raptor, and Viper engines.
  • Fixed scavenger legs disappearing in kill volumes.
  • Force occupied manta to rise if underwater.
  • Added sound effect and recharge bar to SPMA to indicate when the weapon is ready to fire
  • Increased water damage taken by vehicles.
  • Increased Goliath health.
  • Fixed nightshade beam weapon accuracy.
  • Fixed spidermines confused about nightshade that switches teams.
  • Tank shell is always relevant, so you'll see it if it kills you from a hidden tank.
  • Leviathan shield doesn't stay around after death.
  • Fixed leviathan passenger beacon positioning.
  • Fixed hoverboard rooster tail positioning when traveling over shallow water.
  • Fixed flag positioning on tracked turrets.
  • Fixed flying Manta exploit.
  • Fixed boost exploit with Fury vehicle
    Weapons:
  • Added burn trail for link gun beam.
  • Weapon pickups now disappear for the player who picked it up, until it can be picked up again (now works like weapon lockers).
  • Weapon throwing always enabled.
  • Improved force feedback for various weapon and pickup actions.
  • Simpler crosshair for instagib rifle.
  • Third person translocate sound.
  • Stinger now higher priority than flak cannon by default.
  • Back splatter decals for hits with sniper rifle, stinger, and enforcer.
  • Improved spidermine aiming help on console with hitscan weapons (enforcer, stinger, sniper).
  • Fixed enforcer anim problems when become dual during initial loading.
  • No ammo display for instagib rifle.
  • Improved spidermine herding with Avrils.
  • Improved redeemer blast screen shake.
  • Spidermines work properly in deathmatch.
  • Fixed translocator discs being able to get embedded in geometry with zero extent collision on but box collision off.
  • Fixed deployable exploit (run over deployable while firing weapon, get in vehicle while still firing, and never switch to deployable).
  • Fixed trans discs getting stuck on instigator's head.
    AI:
  • Added Drop Flag/Orb command (accessible through voice menu) to get bot teammates to drop the flag they are carrying.
  • Improved bot handling of navigation failures, don't stay stuck.
  • Bots understand ducking under obstacles with the Darkwalker.
  • Bots understand getting off hoverboard to use a lift.
  • Adjusted bot new enemy acquistion speed.
  • Low skill bots don't slow down if carrying flag.
  • Bots understand how to effectively use Orbs in Warfare much better.
  • Bots use the hoverboard more effectively.
  • Improved bot AI for using Translocator.
  • Improved AI for picking best weapon to use.
  • Improved AI for Leviathan, including aiming with the leviathan, and navigating the Leviathan.
  • Improved AI for using the Hellfire SPMA.
  • Improved Scorpion AI for trying to run over enemy foot soldiers and self destruct into big vehicles. TTP #103637.
  • Improved Manta/Viper AI for trying to run over enemy foot soldiers.
  • Improved stealth vehicle deployment AI.
  • Improved bots yelling "same team" when player is actually trying to hit nearby enemy.
  • Fixed bots not able to get in Darkwalker secondary turret in some cases.
  • Fixed bot AI issues in secondary turrets.
  • Bots go after countdown nodes if core can't be attacked.
  • Fixed bots grabbing orb without getting all the way to orb spawner.
  • Improved AI for bots deciding whether to get out of vehicles and continue on foot.
  • Automatic fix for not letting bots in vehicles try to go into areas that are blocked for vehicles by turnaroundvolumes.
  • Bots are move aggressive about driving vehicles without slowing down too much for slight turns.
  • Bots fully understand kismet disabled nodes.
  • Improved bot AI for fighting enemies in Slow Fields.
  • Improved bot understanding of targeting occluded powernodes.
    Demo Recording:
  • Added support for clientside demo recording.
  • Demo playback is now delayed until precaching completes.
    Networking:
  • Fixed localization of certain networking messages received from different language server.
  • Improved dynamic netspeed system based on player counts.
  • Improved hoverboard smoothness in net games.
  • Friend following now attempts to place friends on the same team.
  • Added team balancing between matches.
  • Fixed reachspecs occasionally keeping level references across seamless travel, causing levels not to be properly unloaded.
  • Increased net priority of movers with viewer based on them. Reduces mover popping in large playercount games.
  • Networking bandwidth use optimizations.
  • Improved prioritization of actor replication.
  • Improved network pawn position update smoothing using mesh translation.
  • Tweaked finding floors for simulated falling pawns.
  • Yaw and pitch change smoothing for other players on clients.
  • Fixed character mesh not getting onto hoverboard right away in high player count games.
  • Improved turret replication in high player count games.
  • Fixed remaining cases where team color skins weren't being properly set.
  • Fixed clients auto-switching to better weapon when they stop firing.
  • Don't dynamically adjust listen server client netspeed above max client has requested (for modem clients).
  • Make sure all audio components get cleaned up on seamless travel.
  • Fixed various exploits.
    Server Administration:
  • Removed download speed limitations, when hosting LAN servers.
  • Implemented auto-reconnect code for Gamespy uplink and advertising. Servers now continuously try to advertise to the master server upon failure.
  • Fixed buggy URL parsing function, which was breaking mutator advertising
  • Added code to recreate serveractors after seamless travel
  • Fixed case insensitivity issue with admin and game passwords
  • Added session banning, with the command: AdminSessionBan
  • Security fixes.
  • Added config variable 'SpawnProtectionTime' to UTGame.ini.
  • Optimized stats sending bandwidth.
  • Support `n as \n in MOTD.
    Engine:
  • Collision Octree optimizations
  • Particle system optimizations
  • Safe handling of inversing nil matrices. Addresses rare ragdoll physics crashes.
  • Removed unnecessary profile saves, improved saving progress when player expects it.
  • Improved Garbage collection performance.
  • Optimized decals.
  • Teleporter portal rendering updates are now disabled by default, even for high end systems (for performance reasons).
    To enable, add the following to your UTGame.ini file
    [UTOnslaughtNodeTeleporter]
    bRealtimeCapture=true
    Game:
  • Option to allow for custom characters to load at all times (no default characters, but may get hitches when new players join).
  • CTF flag is hidden for player carrying it.
  • Can no longer teleport to node that is under attack.
  • Improved victim death messages (precise cause of death).
  • In game types using weaponlockers, players spawn with weapons from nearest weapon locker.
  • Fixed scoreboard issues during seamless travel.
  • Fixed lifts returning if you jump or get shot while on them.
  • Play taunts on upper body only for moving players.
  • Fixed black boxes on Leviathan shock balls.
  • Fixed lighting on first person spidermine death effect
  • Improved code for leaning players which are going around turns.
  • Reduced foot jittering on stairs.
  • No team change penalty for automatic swaps.
  • Improved lighting for characters.
  • Reduced mesh offsetting on slopes, removing exploit allowing players to hide.
  • Fixed winner pawn rotating after round ends.
  • Fixed sender not hearing autotaunts.
  • Fixed krall missing footstep sound notifies.
  • Fixed bots leaving game affecting TDM team score.
  • Fixed bad low LOD meshes (spiky when feigning or dead).
    Mod support:
  • UTHUD now responsible for drawing player and vehicle beacons, making it easier to support custom beacons for custom game types.
  • Added support for stretching IK limbs (see SkelControlLimb.uc).
  • Merged PC version script functionality to PS3 to improve mod compatibility for mods on PS3.
  • Added spectator notification hooks to Mutator.uc:
    - AllowBecomeActivePlayer: Allows mutators to prevent spectators from joining the game
    - AllowBecomeSpectator: Allows mutators to block players from spectating (not fully implemented).
    - NotifyBecomeActivePlayer: Notifies mutators when a spectator successfully becomes an active player
    - NotifyBecomeSpectator: Notifies mutators when a player becomes a spectator (not fully implemented)
  • Added two new functions to Object.uc, 'IsNetScript' which returns true if the current code was remotely executed, and 'GetNetFuncName' which returns the name of the replicated function where script execution began
  • Added a new function flag, 'DemoRecording', which replicates the function into the demo file when recording demos NOTE: Implicitly flags the function as simulated
  • Added the ability for mods to specify custom settings scenes, through new values in UTUIDataProvider_GameModeInfo.uc:
    - 'ModGameSettingsScene', allows mods to specify a custom settings scene which is accessible through a 'Mod Settings' button in the Instant Action and Host Game menus
    - 'ModClientSettingsScene', allows mods to specify a custom settings scene which is accessible through the main menu settings
    page, and the mid game menu settings - Added ClearConfig and StaticClearConfig functions to Object.uc
    - Added team change notification hooks to Mutator.uc
    - AllowChangeTeam: Allows mutators to prevent players from changing team
    - NotifySetTeam: Notifies mutators when a player successfully changes team
  • Added bCanRagdoll flag to UTPawn for mod authors.
  • Added slight player glow support for darkmatch (maps with DARKMATCH at start of worldinfo name
  • Made UIObject 'ResolveStyles' function accessible to script.
  • Added support for loading a Splash.bmp in a mod directory.
  • Fixed server browser not being able to filter custom gametypes; in the gametype data provider, set 'GameSearchClass' to: UTGameSearchCustom
  • Added code to reinitialize ServerActors after seamless travel
  • Added editable 'MouseBounds' property to UIScene, which allows you to configure mouse boundaries for the current scene
    - 'MouseBounds.BoundaryObject' is set through the 'Set Mouse Boundary' submenu in the UIEditor context menu
    - Also added a selection to the UIEditor View menu, 'Mouse Boundaries Outline', for viewing the current mouse boundaries
    - Mouse boundaries can be changed during runtime using 'UIScene::SetMouseBounds' and 'UIScene::ResetMouseBounds'
    Level specific:
  • Fixed redeemers nopt able to damage power cores in Islander.
  • Don't allow disabling of fog volumes. Fixes VCTF-Sandstorm exploit.
  • Fixed collision issues in VCTF-Suspense and Suspense_Necris.
  • Fixed real-time teleporter portal updates in WAR-Avalanche.
    Maplists
  • The old maplist system has been replaced with an entirely new one, which is configured through UTMapLists.ini, this allows mods using custom .ini files to have map cycles setup from the ingame menus
    - To recover the old server maplist settings, you need to open UTGame.ini and go to the [UTGame.UTGame] section, then for each 'GameSpecificMapCycles' entry you need to find (or create) an entry in 'GameProfiles' under [UTGame.UTMapListManager] in UTMapLists.ini, which has a 'GameClass' value that matches the 'GameClassName' value in 'GameSpecificMapCycles'.
    Then you need to find the maplist in UTMapLists.ini which is specified by 'MapListName' value in the 'GameProfiles' entry, (e.g: [DMMapList UTMapList]), and then you must manually transfer each map name in 'GameSpecificMapCycles' to the maplist in UTMapLists.ini.
    For example, Maps=("DM-Arsenal","DM-Biohazard") in 'GameSpecificMapCycles' would become: [DMMapList UTMapList] Maps=(Map="DM-Arsenal") Maps=(Map="DM-Biohazard")
  • Configuration options for [UTGame.UTMapListManager]:
    - GameProfiles: This is a list which is used to define custom game type settings (mainly for game voting), options include:
    • GameClass: The FULL class name of the gametype, including package name as well as class name (e.g. "UTGame.UTDeathMatch")
    • GameName: The name that is displayed on the vote menu when selecting a gametype (e.g. "Deathmatch", "Warfare - No Orbs")
    • MapListName: The name of the maplist that this game profile will use (e.g. "WARMapList")
    • Options: Additional URL options which are used when switching to this gametype (e.g. "?WarmupTime=60")
    • Mutators: Mutators to be loaded for this gametype (e.g. "UTGame.UTMutator_LowGrav,UTGame.UTMutator_Instagib")
    • ExcludedMuts: Mutators which are disallowed for this gametype (e.g. "UTMutator_Instagib,UTMutator_Slomo")
    • bIsTeamGame: Specifies whether or not the current gametype is a team game (used internally for game voting)
    • MapReplayLimit: The number of matches which must pass before any one map can be played again
    • ActiveGameProfileName: The 'GameProfiles' entry which is currently active; mainly used by the game during runtime
    • PlayIndex: A value used for keeping track of when maps were last played, represents the total number of games played
    • AutoStripOptions: A list of URL options which are automatically removed upon map change (e.g. "LinkSetup")
    • AutoEmptyOptions: The same as 'AutoStripOptions', except these options are given an empty value on the URL (e.g. "GoalScore,TimeLimit")
  • Configuration options for [UTGame.UTMapList]:
    - Maps: The list of maps used by the maplist, options:
    • Map: The filename of the map (minus the file extension)
    • ExtraData: An array of arbitrary data which can be associated with each maplist entry; mainly used by the game at runtime
    • AutoLoadPrefixes: Maps with the prefixes defined here will be automatically added to the maplist (e.g. AutoLoadPrefixes=CTF,VCTF)
    • LastActiveMapIndex: The index into the 'Maps' list which was last active; mainly used by the game during runtime
    Voting
  • Added support for midgame voting for maps, game types, and mutators.
  • All vote related variables have been moved to UTVote.ini
    - To recover the old vote configuration values, you need to open UTGame.ini and go to the [UTGame.UTGame] section, then manually transfer the vote configuration values to the [UTGame.VoteCollector] section in UTVote.ini; the affected values are: 'bAllowMapVoting', 'VoteDuration' (now 'MapVoteDuration' and 'GameVoteDuration'), 'bMidGameMapVoting' (now 'bMidGameVoting'), 'MapVotePercentage' (now 'MidGameVotePercentage'), 'MinMapVotes' (now 'MinMidGameVotes'), and 'InitialVoteDelay'.
  • Added new configuration options 'InitialVoteTransferTime' and 'RushVoteTransferTime'; the first slows down the speed at which vote related data (e.g. maps, game info) is transferred, to spread out bandwidth usage and prevent lag; the second speeds up the remaining transfers, for when the client opens the vote menu
  • Added gametype voting, allowing players to vote in a different game type before voting for a map (if map voting is enabled). Gametype configuration is setup in UTMapLists.ini, through 'GameProfiles' under [UTGame.UTMapListManager]; configuration options in UTVote.ini:
    - bAllowGameVoting: Enable/Disable gametype voting
  • Added mutator voting, allowing players to decide which mutators get enabled/disabled in the next match; configuration options:
    • bAllowMutatorVoting: Enable/Disable mutator voting
    • VotableMutators: The list used to determine which mutators should be votable, options include:
      • MutClass: The FULL class name of the mutator, include package name as well as class name (e.g. "UTGame.UTMutator_Slomo")
      • MutName: The name that is displayed on the vote menu for this mutator (e.g. "Instagib", "Low Gravity") N.B. When left blank, the game will attempt to set this automatically
    • MutatorVotePercentage: The percentage of votes required to enable or disable a mutator; percentages are only checked at endgame
  • Added kick voting; configuration options:
    - bAllowKickVoting: Enable/Disable kick voting
    - bAnonymousKickVoting: If true, then the voters name is not shown when performing a kick vote (except to admins)
    - MinKickVotes: The minimum number of votes required in order to kick a player
    - KickVotePercentage: The percentage of votes required in order to kick a player