| Home Page | Recent Changes

Land Of The Dead

Developer(s) [Brainbox Games]
Publisher [Groove Games]
Release Date October 2005
Supported Platform(s) Windows
Xbox
Official Web Site http://www.landofthedeadgame.com/
Demo [FilePlanet Mirror]
Latest Patch Version 1.1 – November 2005
[Windows]
Unreal Engine Version Unreal Engine 2.0 Build 2226
UnrealEd Version UnrealEd 3

Description

Land of the Dead is a first-person shooter, developed by Brainbox Games and published by Groove Games, in October 2005.

It is loosely based on a license for the Land of the Dead movie.

System Requirements

Operating System
Windows XP
CPU
700MHz
Memory
64MB
Hard Disk Space
1GB
Audio System
Windows® compatible sound card
Video System
3-D Video, 32MB+, 64mb+ to run editor
Multiplayer
Internet (TCP/IP) and LAN (TCP/IP) play supported. Internet play requires a 33.6 Kbps or faster modem

Downloads

Patches/Updates

Useful Information

LOTD:RTFG is extended by the Bink video player extensions, and also seems to support some sort of Unreal version of Java Interface classes.

New native functions:

Actor CopyMaterialsToSkins
Copies all default materials for a Static or Skeletal Mesh to the Skins[] override array of the Actor
Actor FilterStateDirty
Unknown
PlayerController LeaveVoiceChat
Unknown - possibly XBox voice related
PlayerController ChanveVoiceChatter(int IPAddr, int Handle, bool Add)
Unknown - possibly XBox voice related
BinkVideoPlayer Bink_Play(string filename)
Play specified video
BinkVideoPlayer Bink_Scale(float scale)
Scale video (1.0 = normal)
BinkVideoPlayer Bink_Stop
Stop all bink player instances
BinkVideoPlayer Bink_Is_Playing
returns true if bink is playing, false if not
Profiler Load(int v)
Load profile? from slot? v
Profiler Save
Save profile
Profiler SetValue(string vk, string vv)
Set key/value pair for profile
Profiler GetValue(string v)
Return string value given key 'v'
Profiler NewProfile(string v)
Create new profile with name 'v'
Profiler DeleteProfile(int v)
Delete profile from slot? 'v'
Profiler GetProfileCount
Loads all profiles, refreshes list, returns count of total profiles
Profiler GetProfileByName(string v)
Returns profile slot? named by 'v'
Profiler GetProfileName(int v)
Returns string containing profile name, given slot 'v' (note: call GetProfileCount first)
Profiler GetCurrentProfileName
returns currently loaded profile, or "" if not loaded
Profiler IsValidProfile
Not documented? Not sure if this is called in Uscript to return wether we have a valid profile, or what
Profiler GetTotalCheckpoints
"Returns total number of checkpoints in profile", whatever that means.
Profiler GetChecpoint(int v)
"Returns name of checkpoint at index v", whatever that means

Land of the Dead/Actor reference

Land of the Dead/NavigationPoint reference

Known Issues

  • A patch to V1.1 was released in November, 2005, and includes a fair amount of updates, as well as support for custom content, and Brain Box's version of UnrealEd. The Editor seems mostly unchanged, except it reads *.dz files for maps, instead of *.uz files.
  • The IPDRV.HttpDownload module is utterly broken, on the client end. HTTPDownload is apparently not available for this game, unless someone can come up with a unique way of fixing it.
  • When a player stands on a static mesh, that is higher than a few UU above the zombies, and is lower than another level of accessible geometry, the AI gets extremely confused, and causes a fair amount of lag. This is normally not an issue with developer shipped levels, which rarely have more than 4 or 5 enemies at a time, but is an issue for a lot of custom created content. Some of the modifications for the game have attempted to alleviate this by changing the AI, and some have lessened it, but none have been exceptionally successful at eliminating the lag.
  • Mover classes, and all their subs, suffer from the fact that the KeyRot and KeyPos variables are not replicated, which will create all sorts of weird issues online. A few people at http://www.undeadgames.com/ have offered fixes in their forum.
  • DestructableMover classes suffer from an issue where they are not removed from the world after they suffer enough damage to destruct them. This causes splash damage, such as something doing damage using the RadiusActors iterator to call TakeDamage() in all nearby actors, to cause the mover to replay it's destruction animation, even though it has already been destructed. There are two easy ways to fix this in a subclass: From TakeDamage() either call Destroy() when the mover has taken fatal damage, or have TakeDamage() not call the super if the DamageCapacity <= 0.
  • Sometimes on a multiplayer game, the zombies will go to negative health, and their bodies will explode when you hit them again. This is apparently due to a rumored engine bug that causes function calls to mysteriously stop executing when they call something that inherits but doesn't define a particular function. In this case, it's "PreventDamage()" in the gametypes. So, I recommend if you do any gametyping, you add a PreventDamage() function, and just point it to the super. It may just help.

Interfaces in LotD

As mentioned above, LotD seems to have support for Interface classes. These appear to act somewhat like their similarly named Java counterparts, and are especially useful for implementing several different behaviours, such as an add-on class that is Smashable, Burnable, and Movable.

The following interfaces are defined in LotD:

HudDrawable
HudDrawable gives any program that implements a drawToHud(Canvas, float, float) function, the ability to register with a player's HUD (player.myHUD.register(self) according to the comments)and get called for drawing.
SaveHandler
SaveHandler is only in a few objects, and gives them the ability to have a PreSave() and PostSave() function for when it's time to save.
VideoNotification
VideoNotification is apparently used in PlayerController to handle when to pause the game when video begins and unpause when video ends
EventDispatcher
MessageDispatcher
EventDispatcher and MessageDispatcher are supposedly implemented in the ObjectiveManager code, but there don't seem to be matching interface classes
Smashable
Smashable is implemented by DOTZDestructableMesh, DOTZDoor, and all subs of WoodenDoor.

Related Topics

Discussion


Category Game

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In