In this guide i will go trough the basics of Zeepkist level file editing, scaling, and more.
Guide is somewhat wip, adding images soon.
Level File editing is a powerful tool that can greatly help with making maps without some of the restraints of the ingame editor.
Scaling is a great way of reducing part count or making more interesting levels, for example making walls out of one big piece to save a few hundred parts, increasing the performance wildly.
Due to the Zeepkist level format being so simple, automating level creation can be done rather simply (if you know how to program).
How levels are stored
Levels you have made are stored at \AppData\Roaming\Zeepkist\Levels, or alternatively you can click the open file button in the editor, and then the smaller open button right underneath it to open the path directly.
Levels are stored in .zeeplevel format, but you can open the file just fine in any text editor.
Zeepkist levels are stored in plaintext, which makes editing easy. The file structure looks like this:
The first row contains some information regarding the author of the level, as well as giving the level an unique UUID.
The second row contains some editor information such as camera position and rotation.
The third row contains validation information. It is recommended not to touch this line, as it may lead to errors during gameplay.
All following rows are track pieces. Each line consists of 38 numbers, separated by commas. The order goes like this:
Position along Red axis
Position along Green axis
Position along blue axis
Rotation around Red axis
Rotation around Green axis
Rotation around Blue axis
Scale along Red axis
Scale along Green axis
Scale along Blue axis
Followed by 17 color/material spaces and 11 Settings
Editing and Scaling
Editing the file is quite straight forward, but there are some small things you should know.
When adding a new piece in the ingame editor, that piece always ends up last in the file, however when copying a piece, the original piece and the duplicate piece swaps places, and the original piece ends up at the bottom again.
The Scale factor multiplies the pieces original size, which means that you have to take into consideration the pieces original size and your wanted size, and the ratio between them.
Scaling is in reference to the axis when the piece was placed. So if you want to scale a piece that has been rotated, you want to think about how the piece was placed, however you can figure this out quite quick by trial and error if you make a mistake.
When scaling, you also have to think about the origin of the piece, as the origin might not always be in the center of the piece you are trying to scale, which could lead to misalignment issues.
Not all pieces use color information in the same way, due to having different color sections. For example, a road piece uses 7 color spots, while a tube piece only uses 2.
Some of my own projects
To give you some inspiration on how to use file editing and scaling, i want to show some of my own projects i have made.
Using a simple java program i wrote, i made a recreation of the game desert bus, in which you drive for 8 hours straight. I made both a 20 min and the full 8 hour version. I did this by copying a scaled up terrain piece to act as desert and a scaled up road piece to make long segments which i could stack back to back to make a really long road.
External Spline Tool
Using a (slight more complex) java program i made a Spline tool, where you can draw up a track using tools similar to the spline tools found in most modern image editing programs. I did this by making a program to generate points along a spline, and then spit out a level file with roads connecting the points.
Yet another java program that takes in a level file, and scales up both position and scale of all track pieces by an input number.
I hope you enjoy the Level File Editing Guide – Zeepkist guide. This is all for now! If you have something to add to this guide or forget to add some information, please let us know via comment! We check each comment manually!
- All Zeepkist Posts List