Site Tools


documentation:file_formats:games:deathkeep

This is an old revision of the document!


The unofficial 3DO Deathkeep files format specifications by Versus (vas.1987), 2024 (version 1.0)

Note:
All data is BIG ENDIAN.
Directions for stairs and ramps means that named direction must have considered from lower to upper part of the structure. i.e. North direction for the ramp means that I’m sliding from the top towards South.
Directions for the monsters means that monster is faced towards the named direction.

Contents

Overview

Introduction

Level voxel files (\data2\levels\*)

Level data files (\data2\levels\*data)

Global data files (\data2\DK Data*)

Savefile structure


OVERVIEW. This description covers almost all game data files, which contains level geometry, level textures, inventory items and monsters. Movies, sounds, music and separate cel files are excluded from documenting. I also tried to investigate savefile data structure.

INTRODUCTION.
3DO and PC port have identical levels, but level files have different format.
Both 3DO and PC levels consist of voxels. Every voxel is a 3D cube which may contain different combinations of level elements. It may contain ramp or stair only or teleport or level exit. Every level must fit in parallelogram with dimensions 64 by 32 by 8. Where 8 is height and as we could say the number of Floors. We have 16384 voxels in total! Pretty much, isn’t it?
3DO levels consist of two files. First one contains voxel table, Second contains textures, animation data, teleports and other logic, items and monsters.

A) LEVEL VOXEL FILES (\data2\levels\*)

Each level voxel file is 131 072 bytes. Each voxel in 3DO version is encoded by 8 bytes. So, there are 16 384 voxels. If voxel has 0xFF value, it’s blank for the game engine. Every variation from it means that voxel is used by the game. It can be just walls, ceiling and floor with textures, it can be ramp or stairs, item or monster can be placed in. Blank voxels may be located inside large halls, in the center of the room, if the room is big enough.
First voxel in file has position in 0,0,0 (X, Y, Z). Second voxel has position 0,0,1 (X, Y, Z). It means that second voxel is located directly above the first one. First 8 voxels are located one above another. Voxel number 9 is located near to first column in the width direction on the coordinates: 0,1,0 (X, Y, Z).

1.jpg

Voxel file structure

Offset (HEX)Length, bytesDescriptionChapter
08Voxel #0A
88Voxel #1
0x108Voxel #2
0x1FFF88Voxel #16383

Each voxel is encoded by 8 bytes and they are numbered from 0 to 7.

Voxel structure

Byte #Length, bitsDescriptionChapter
08Stairs, Steps, Ramps. (also linked with byte 7 when set to teleports, Elevators)A.1
14Doors, closed doorsA.2
4Brightness, Flickering
28First number for the cube's palette specsA.3
34Always zeroA.4
4Second number for the cube's palette specs
48Always zeroA.5
58Additional item’s specsA.6
68Always zeroA.7
78Item&Enemy (also bound with byte 0 when set to teleport, elevator)A.8

A.1)

Byte #0.

documentation/file_formats/games/deathkeep.1712925203.txt.gz · Last modified: 2024/04/12 08:33 by vas.1987