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!

Report article 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
Article

WARNING! THIS ARTICLE MAY INCLUDE TECHNICAL STUFF!

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
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Block Planets
Platforms
Windows, Mac, iPhone, iPad, Android
Developer & Publisher
BetaDreams
Contact
Send Message
Official Page
Blockplanets.com
Release Date
TBD
Game Watch
Track this game
Feature
Browse
Features
Report Abuse
Report article
Related Games
Block Planets
Block Planets Indie Single Player Puzzle Compilation
Related Engines
Unreal Development Kit
Unreal Development Kit Commercial Released Oct 31, 2009
Related Groups
BetaDreams
BetaDreams Developer & Publisher with 5 members
Indie Devs
Indie Devs Hobbies & Interests group with 1,047 members
UDK Developer's Group
UDK Developer's Group Hardware & Tech group with 676 members