Block Planets is a 3d puzzle game for PC, Mac and iDevices. Block Planets is a fully physics controlled game where you have the power to twist, turn and control entire worlds to bring the two lovers together. The game has over 80 unique levels, each leaping in the amount of challenge and 15 achievements the best of the best can try to unlock. Watch out for dangers the other inhabitants of the block planets set you into and try to beat your own local highscore or compete against the best of the best on world leaderboards!

Post feature Report content RSS feed Level Creator Dev Day One

Dev day one of the Level Creator. In this short dev feature I will explain and show what happened on Day One.

Posted by BetaNium on Feb 29th, 2012


I have been working on new exciting feature for Block Planets; The Level Creator!
The plan is to create a easy to use level creator in-game so everybody can create their own levels and even share them with their friends! We might even make a community rating system, so the players can see and play the best rated levels.

In this short dev feature I will explain and show what happened on Day One.

First off I started thinking how should the editor basicly work, what could the user do with it and how would the levels be saved. I decided that the editor should be as easy to use as it can so there should not be any unintuitive controls ( Like the Bob the Blob level creator was... ). There should not be any nasty math stuff for the user. I'm glad that I had experimented with the Multidimensional arrays before ( Bob the Blob Level Creator ) as it would be best to save the Ids of objects to an three dimensional array and then reconstruct the level from that when needed. And the best thing is that the level save size would be really really small as there can be only 6*6*6= 216 objects in the planet. I had to write an dll to handle the saving and loading because UnrealScript can not create other than config files ( Those are bad for this purpose ) Basically it works like this:

struct InfoArray3 {
var int ZInfo[6];
struct InfoArray2 {
var InfoArray3 YInfo[6];
struct InfoArray {
var InfoArray2 XInfo[6];
var InfoArray InfoStruct;

This is the ā€¯multidimensional arrayā€¯ the int in Zinfo tells the game, which block to spawn in the particular position.

The infostruct then gets passed to C++ code trough UDK's DLLBind and writes this struct to file. The file is only few kilobits in size so it could be possible to store these user made levels on our own servers and players then could browse these levels and play them.

Later on I will be adding stuff to the struct. Things like wonderer block movement info, Level Name, time limits etc.

Level Creator after Dev Day One
Level made with the editor.

I also created a brush object, which helps the player see where he's spawning the selected block.
I did't start any UI development because I think that it's more important to make the editor work
first and then after that do the eye candy.

Conclusion for day 1:

-Ability to select block types normal ground, angry block, player block and goal block.
-Ability to spawn these block anywhere in the level.
-Saving and loading

Dev day two tomorrow!

Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Block Planets
Windows, Mac, iPhone, iPad, Android
Developer & Publisher
Send Message
Release date
Game watch
Start tracking
Related Games
Block Planets
Block Planets Puzzle Compilation
Related Engines
Unreal Development Kit
Unreal Development Kit Commercial Released 2009
Related Groups
BetaDreams Developer & Publisher with 5 members
Indie Devs
Indie Devs Hobbies & Interests with 1,283 members
UDK Developer's Group
UDK Developer's Group Hardware & Tech with 704 members