Client Release Notes
From Multiverse
| Using the Multiverse Client |
|
Install & Run • Supported Graphics Cards • Release Notes • Client FAQ • Troubleshooting • Connecting to a World • Client Metering • Using the Client Log File • Debugging Client Errors |
| Reference |
|
Command Line Syntax • World Settings File • Patcher Page Reference • Client Logging |
These are the release notes for the current (version 1.5) release of the Multiverse platform. For the previous version, see Client Version 1.1 Release Notes.
See Sample Assets Version 1.5 Release Notes for relevant information on Sampleworld media assets.
Contents |
Hardware and Software Requirements
IMPORTANT: The Multiverse Client requires a DirectX 9 compatible video card that supports pixel shader 2.0 and vertex shaders with at least 128 MB of texture memory. See Supported Graphics Cards for more information.
Minimum requirements:
- Processor: Pentium 4 with 1GHz or greater
- RAM: 512 MB (1 GB+ recommended)
- Video: DirectX 9 compatible video card that supports pixel shader 2.0 and vertex shaders; with 128 MB of texture memory (256MB recommended).
- Audio: DirectSound compatible sound card
Operating system
The Multiverse Client runs on:
- Windows Vista. See Running on Vista.
- Windows XP Home and Professional Edition (including non-US English installations)
- Windows XP Professional x64 Edition
Support for other operating systems is planned.
Update release 1.5.1
New features and changes
- HLSL shader compiler warnings will generate a log message and will no longer cause the client to exit.
- Added support for pixel shader
profile ps_2_a. - Tuned voice distance attenuation for positional voice chat.
- Added more error checking for voice chat.
- Added
WorldObject.EnableCollisionproperty to allow scripts to enable and disable collisions for an object. See WorldObject properties. - Added icons to the player name bubble that indicate who is speaking when using voice chat.
Bug fixes
The following bugs are fixed in this release
- When switching instances, audio track of a video in the old instance continues to play.
- Attachments don't get the correct orientation from the attachment point.
- Crash in
ClientAPI.FetchRemoteTexture()when scaling images. - Loading screen is displayed occasionally in-world.
- Client UI frames may not redraw when hidden and shown again.
- Client crashes after instancing caused by grass rendering code.
- Seams sometimes appear in the terrain.
New features and changes
Client directories
The Client now downloads and stores information to a directory in the user's "My Documents" folder, generally C:\Documents and Settings\username\My Documents\Multiverse World Browser on Windows XP and C:\Users\username\Documents\Multiverse World Browser on Windows Vista. This change was made primarily to support Vista, which discourages applications from writing to the Program Files directory.
That folder contains the following additional folders:
- Config - the various configuration files such as the display configuration file
DisplayConfig.xmlandLogConfig.xmlif the user creates one. - Log - used for log files
- Screenshots - screenshots taken from the client end up in this folder
- Worlds - this folder contains the media for the worlds the user has visited. Each world will have a subfolder containing all its assets and scripts.
If you want to avoid having to download assets for worlds you have already visited, you can move or copy the contents of the Worlds folder from the old location to the new one.
By default, the Client now installs into the c:/Program
Files/Multiverse World Browser folder. In the past, it
installed into the c:/Program Files/Multiverse Client folder.
Voice chat
The Client now includes integrated voice chat capability.
See Multiverse Voice Server and Voice for more information.
3D engine performance improvements
The 3D graphics engine used in the Multiverse Client and Tools has had some substantial performance improvements. There have been many general performance improvements that will speed up all aspects of 3D rendering. In addition, there have been even larger specific improvements in user interface processing and rendering, terrain rendering, tree rendering, and mesh loading. We have seen framerate increases anywhere from 50% to 250% on a variety of worlds.
Other
This release upgrades the Cg shader compiler to version 2.0 from version 1.0. See NVIDIA Developer Zone for details on the Cg 2.0 compiler. If you are using the shader file DiffuseBump.cg in your game assets, be sure to update it to the version shipped with the 1.5 release. Previous versions of this shader contained errors that are now flagged by the new Cg compiler.
User interface
- Some of the methods of Frame have been moved into Region, so that they are available on FontString and Texture widgets as well
- GetLeft
- GetRight
- GetTop
- GetBottom
- GetParent
- If one button is under another button, and both have OnClick handlers, only the first handler (from the top) will be called.
New Configuration Dialog
The configuration dialog has been redesigned to be easier to use. All options on the dialog are now saved.
Improved Grass
Some small improvements to the grass rendering have been made, including an update to the shader to perform non-uniform wind animation and an updated texture atlas that provides better grass detail at a distance.
Anti-aliasing support
The client now supports anti-aliasing (multisampling). The configuration dialog queries the graphics card and provides a list of quality settings that the card supports for the user to choose from.
Client API changes and additions
The new ClientAPI.Voice module supports scripting of voice chat.
ClientAPI module:
- ClientAPI.GrabPlayerCamera() and ClientAPI.ReleasePlayerCamera() were fixed. They did not work properly in the 1.1 release.
- Added ClientAPI.Random() and ClientAPI.RandomFloat() functions to generate random numbers.
- Added ClientAPI.FetchRemoteTexture() function, which can be used to fetch an image file (JPEG or PNG) from the web and turn it into a texture.
- ClientAPI.GetMaterial() now returns None if the requested material is not found.
- Added new method, ClientAPI.SetProfileMarker(), which inserts a marker in the profile log when running the PIX graphics profile tool, which is part of the Microsoft DirectX SDK.
Camera object:
- Camera.FieldOfView now works correctly.
- New Camera.ProjectionType property enables changing camera projection. This enables the use of an orthographics projection, in addition to the default perspective projection.
World object:
- New method, World.SetLoadingScreenVisible(), used to turn the loading screen on and off.
- New method, World.SetUpdateRenderTargets(), used to disable scene rendering while the loading screen is visible.
- Added new method, World.RebuildStaticGeometry(). Need David to tell us if this should be here or not.
WorldObject object:
- WorldObject.Direction changed to a read/write property from read-only.
- New method, WorldObject.PointCollides(), checks if a point is inside an object's collision volumes.
- WorldObject.AttachObject() now takes addition arguments for orientation and offset. They have default values so that existing code is compatible.
Other:
- Added SystemStatus.ToggleMeteringLongestFrame() method. The frames drawn between when metering is toggled on and off are metered, and the one that takes the most time will be output to the meter logs.
- Added SceneNode.Visible property, to turn on and off the display of a scene node and all its children.
- New LoadingStateChanged event is now avaliable via World.RegisterEventHandler and World.RemoveEventHandler. This event indicates when the client enters and leaves loading state, such as when changing instances, teleporting, or logging in.
- OceanConfig.ShowOcean now works, and is correctly named in the documentation.
Animation
The default animation interpolation mode for changed from Spline to Linear. Rotational animations still use splines, but for normal transforms, where the data was not available in the skeleton, we are no longer using Splines. This fixes some situations where a model would suddenly spin a joint in an incorrect direction.
Bugs fixed
- Material mipmap_bias now works correctly.
- Camera.FieldOfView now works correctly.
- OceanConfig.ShowOcean now works, and is correctly named in the documentation.
Known issues
UI widgets' clickable areas misaligned when client window size exceeds screen size
When the client is configured to be larger than the screen, the clickable areas of UI widgets does not correspond with their visible location. You must click well down and to the right of where the widget appears for the click to register.
Sampleworld wolf and brax mobs come back to life
In sampleworld, after you kill the wolf or brax, they stand up again. This is related to the interpolation of animations, and these exports have incorrect data in the animation that was previously not obvious. Until we update our exports and the asset package, at the end of their cycle they interpolate to include the influence of the keyframe at 0. This may happen to existing models as well if they do not have a keyframe at the end of their animation.
Problem with voice configuration with multiple sound devices
When there are multiple sound devices, there may be problems configuring the voice playback device. For example, if you have regular headphones and USB headset, the Client does not allow the USB headset be set as the voice playback device.
