This is a group for all developers using the Unreal Developer's Kit. Open for all commercial, non-commercial and personal projects!

Post feature Report RSS 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 on

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

Your comment will be anonymous unless you join the community. Or sign in with your social account: