How to create your own rooms and worlds
The easiest way to create a new item is to modify an existing one.
Please note: Don't modify moove resources directly. Instead make a copy and add your designer abbreviation / tag / label to the name. Submit the label at shop search to check, if it is already in use by another designer. The following examples are always using "My". Please replace it with your own label. When you create your own shop, you will get package and distribution hints.
Please pay attention to Copyright, e.g. you may not use resources from other designers unless it is explicitly allowed.
Tools and documentation can be found in our Shop under Developer, in the Community menu section Designer and in moove Roomancer "Extras", "Developer Tools".
The sources of the room files can be found in the free moove Shop at "Developer", moove Room Sources. After unzipping with WinZip you will find the source files having the RDE extension.
To create a room file (*.ROM) from a source file (*.RDE), please do the following:
1) Activate the Roomancer test mode under "Extras" -> "Options" -> "Service".
2) Write into the Roomancer chat input line: !ProcessRDE('<RoomFile.RDE>')
Instead of <RoomFile.RDE> please use the complete path to your existing RDE File. Please use single qoutes. Example:
Please copy the ART folder with the design files (textures, 3D surfaces etc.) first, e.g. from c:\download\RDE\Gallery into the Roomancer folder (typically c:\moove).
Created room files are in the Roomancer folder ART\RMX
ROM files only contain the 3D surfaces, e.g. you have to include textures (*.jpg and *.bmp) when creating MPZ package files and giving away. Please read here:
Pack your files into a MPZ file
Special moovePack hints for ROOMS
Please note: ROM file are not automatically transfered. Rooms cannot be visited, if the visitor does not have the ROM file in the ART\RMX folder.
Here at the tutorial you will learn the commands of the scripting language. This way you can design your own rooms. Please look below for explaining pictures.
Just edit the RDE source files with the
:WordPad editor for example.
ROOM 0, "corridor"
Name of the room - this has to be the name of the RDE file, too.
START 0,0,700 FACE 3.14
Starting point for actors in the room (X,Y,Z)
X: Position of the point on the
Y: Position of the point on the Y axis (height above the ground)
Z: Position of the point on the Z axis
FACE: Direction of the actors face. Values are in
:Radian. 3.14 means rotated by half circle.
defines background with
:RGB values or
BACKGROUND RGB 60,60,60
defines the background color with
:RGB values for Red, Green, Blue - value range: 0-255
BACKGROUND TEXTURE "test.jpg", 200
"test.jpg": used Texture
defines point as a
VERTEX A X,Y,Z
defines materials with
MATERIAL 1 TEXTURE "test.jpg"
1: Name of the Material
"test.jpg": used Texture
MATERIAL 2 RGB 255,0,0
WALL A,B PAINT 1 NOSMAP
Walls always require 2 points.
The order of the vertices A,B or B,A defines the visible side of the wall - the other side is invisible.
PAINT names the used material.
NOSMAP "No Shadow Map": no pre fabricated shadow texture (BMP)
A missing NOSMAP causes the usage of a __PFW_....BMP file. Please take the name from the error message while testing. You can create this BMP file with the "Lighting" option in the "Room Painter" for a wall of this size. You can modify the pre fabricated shadow texture with a paint program.
WALL A,B ZBUF PAINT 1 NOSMAP
:Z-Buffering) enforces hiding of objects behind the wall.
Without ZBUF objects (other walls, too) behind the wall may be visible through it.
Caution! ZBUF is a burden to the system; please use it only when necessary, e.g. for separation walls and inwards turning walls.
Syntax: WALL vert_list [ ZBUF ] [ NOBLOCK ] [ NOCULL ] [ DISTLIGHT ] [ TRANSP r g b ] PAINT pt [ NOSMAP ] [ TILE a,b ] [SMAP name] [ DIFF d ]
NOBLOCK no blocking in front of the wall
NOCULL (please see at GROUP descritpion)
DISTLIGHT less light at distance
TRANSP 0,255,255 defines this RGB color as being transparent.
TILE 128,256 defines X- and Y- texture tiling.
SMAP "__smapspfl1" defines this shadow map texture file.
DIFF 0.5 takes only half of the ambient light
Define the floor with 4 points plus material (PAINT)
The Y values of the points are always treated as 0 when used for the floor; this way you can use wall points for the floor as well.
FLOOR A,B,C,D Paint 1 NOSMAP
Defining several floor sections enables better structuring of the rooms and better re-usage of textures.
[ TILE a,b ] [SMAP name] [ DIFF d ] syntax like WALL
Ceilings, syntax like FLOOR
CEILING A,B,C,D Paint 1 NOSMAP
you can add fixed 3D objects with the "Group" command.
Please note: Groups are not user paintable when using the room painter for walls, floor and ceiling.
SOLID SURFACE "test" SCALE 1, 1.12 ,1.4 POS 0, 50, -10 PAINT 1 //NOCULL
NoClimb: Actors don't climb the object but pass through or below (group above the floor).
SOLID SURFACE "test": names the wanted SRF file (
:Surface = structure).
SCALE 1, 1.12 ,1.4: Width, height and depth of the object in world coordinates: X=100 Y=112 Z=140
POS 0, 50, -10: Position within the world: X=0 Y=50 Z=-10
PAINT 1: MATERIAL 1 is used to paint the object.
:Culling is an optimization for structures with closed structure.
NOCULL disables this optimization for open structures and slows the visualization.
Group with rotation:
SOLID SURFACE "test" SCALE 2, 3.5 ,1 POS 0, 1090, 0 PAINT 1
Rotation X,Y,Z in
Syntax: GROUP name [ NOCLIMB ] [ DRAG ] [ ORIGIN X Y Z ] [ MATERIAL ] [ VERTEX ]
[ POLYGON ] [ LINE ] [MESH] [ SOLID ] [ SPRITE ][ SCALE X,Y,Z ][ SHADED Light Index [ CAST ] CastShadow ]
[ ROTATE X,Y,Z Vector ] [ POS Vector ] [ SET ORIGIN TO Vector ] [ TOREG region, x, z, direction ] ENDGROUP
NOCLIMB: Actors cannot climb it
DRAG: you can drag items to the group
ORIGIN X Y Z: origin vector of the group
POLYGON list of VERTEX A X,Y,Z | VERTEX A X,Y,Z (U,W) texture positions [ TRANSP r g b ] PAINT pt [ NOCULL ]
LINE VERTEX A X,Y,Z, VERTEX B X,Y,Z, width d [ TRANSP r g b ] PAINT pt
MESH [ PLANE v0, v1, v2, v3, nUDiv, nWDiv | BOX vMid, w, l, h | PYRAMID vMid, w, h ], width d [ TRANSP r g b ] PAINT pt
SOLID [ BOX vMid, w, l, h | PYRAMID vMid, w, h | SPHERE vMid, r, q | SURFACE "SurfName" [ SCALE x,y,z ] [ POS x,y,z ] [ AT vertex ] [ TRANSP r g b ] PAINT pt [ NOCULL ]
SPRITE spr_name AT x,y,z [SIZE d] [ DIR d ] [ PHASE_construct ]
PHASE_construct: PHASE n | PHASE n0 - n1 IN secs | PHASE n0,n1,n2 IN secs
SHADED Light Index [ CAST ] CastShadow
ROTATE X,Y,Z Vector
SET ORIGIN TO Vector
TOREG region, x, z, direction
BLOCK 100,100, -100,200
BLOCK X start,Z start, X end,Z end
Only for cameras
defines regions to be seen by cameras
Optimizes the speed of visualization
Region X, A,B,C,D
Region X1, A,B,C,D SEES X1,X2,X3,X4
A,B,C,D: Points X1,X2,X3,X4: List of Regions which can be seen from Region X1
The example defines a camera only seeing region X (rendering
:3D computer graphics).
Everything outside of this region isn't visible, when this camera is active.
CAMERA -1799, 847,2453 TO -1795,846,2448 SEES X
:coordinates TO coordinates SEES X
Please keep distance to walls.
defines the walkable area on the floor.
A,B,C,D: Vertices at the edges - similar to REGION
defines a function to be called on Init
DOORS code in the related ShrinkRoom.uni file:
FOR n := 1 TO 7
defines a function to be called on Exit
DOORS code in the related ShrinkRoom.uni file:
Help and Contact