Tower of Despair
Tower of Despair is a tower with tons of rooms, each posing a riddle of various difficulty.
Download & Play
There currently is no stable version of Tower of Despair. You can play the latest version by downloading the repository and running the python script which creates the tower. Executing
create_tower.py --pack
will create the OCTowerVX.Y.ocs packed scenario which can be played using the latest OpenClonk snapshot.
Development
The tower is open-source and is developed using GitHub repository.
Creating a Room
Creating a room is very easy using the build-in editor mode of OpenClonk. Here you will be guided through the basic steps of making a room.
Cloning the Tower Repository
First you need a copy of the tower git repository which you can get from GitHub. Place the repository somewhere in your /planet folder so that you can run scenarios easily.
Editing & Saving
Now you start the room template scenario called RoomTemplate.ocs with the openclonk editor mode. Run the command
./openclonk --editor OCTower.ocs/RoomTemplate.ocs
or similar on non-unix systems.
Once you have started this scenario in editor mode, the first thing to do is to place a room entrance and room exit into the almost empty map (this is the typical look for a room). Do this and directly save the scenario under a new name of the form Room*.ocs using Save scenario as... (Ctrl + Shift + S). From then on you can save the progress easily using Save scenario (Ctrl + S) and save automatically to the new location. When you save the room, it will warn about any possible problems, for example a missing entrance. Your room is now in principle playable with the given entrance and exit.
Now you can start the real editing of the room, by drawing the landscape, adding objects, sequences, NPC's to construct a riddle.
One important object is the PlayerStart object, with this object you can control what the clonk gets when he/she leaves the room entrance to start the room. Just create this object, select it and edit its properties to give the clonk HP, inventory slots, items, knowledge, etc.
Alternatively you can use the editor scenario template which already has the room entrance and exit objects.
Room Properties
The room is control is handled by a control object of which certain properties must be adjusted for each room. The control object is named RoomTemplate.ocd and must be renamed to Room<InsertName>.ocd for this object you also need to modify its id in the DefCore.txt to Room<InsertName> but leave the rest unchanged. The main part is the room control script which will look like this Script.c when first saving the rule. All of the basic room properties must be modified to the corresponding room.
Room Icon
Each room needs a unique icon so that the player can easily identify the respective rooms. The icon is taken from the graphics of Room<InsertName>.ocd, where the default graphic is a brick frame of 128x128 pixels. You can overlay your icon on the existing graphic (Graphics.png) using an editor like GIMP and save the file. Also you can change the default background color by modifying and combining the files GraphicsBackground.png and GraphicsFrame.png. These come at a resolution of 256x256 pixels, but you can take any between 128 and 256 pixels. Be sure to modify the Picture entry in the DefCore. Alternatively, you can also make a highly zoomed in screenshot of your room and overlay the GraphicsFrame.png on top.
Testing the Room
Once the room is done save it for one last time. Then reopen the room in editor mode with a single player active. Your clonk will start at the room entrance and you can play the room. Do not save the room any more and press F12 to go back to the last save in case you failed and want to retry the room.
Moreover you can test some of the basic room properties by executing the script TestRoom(). This will give your some information about your room and warns about possible problems.
Creating A Room Together
The OpenClonk editor mode also works in online network games with multiple players. This also allows to together design a room. Currently on the side of the room template there is no official support for this, however it is certainly possible to design together. It may involve restarting editor mode several times because some properties must be edited outside of editing, especially the room control object.