• Register

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 RSS Level Creator Dev Day Three

Wonderer blocks no longer just wonder, they move and there are some pretty decorations, which can be generated automatically!

Posted by on

WARNING! THIS ARTICLE MAY INCLUDE TECHNICAL STUFF!

This dev day was a great success! A lot was done, like that you now actually can create motion tracks for wonderer blocks in the editor. These are also saved in the level data.

Level Creator Dev Day Three movement paths!Level Creator Dev Day Three movement paths!


Movement paths for wonderer blocks New zoom camera mode

These new moving parts greatly enhance the feeling of the levels and I can not wait to see what kind of crazy levels the players will create with those! I had some trouble with the vector math of these blocks and eventually I decided to spawn invisible objects to the movement paths start and end. Then the wonderer block would just interpolate between these objects locations and keep the same rotation as the planet.

My next challenge was ( and still is ) probably the most interesting one. That would be the decoration objects. That means the detail objects like grass, flowers and palms. First off I started thinking how should the player be able to create these objects? There are hundreds of them one the planets surface so It would be painful to put them in the level one by one. And worse, it would be a major pain for me to implement this kind of tool :D So I decided to create some kind of automatic system, which does not need a lot of work from the player. The player could just keep pressing the "create decorations" button as long as he would find a nice looking, randomized combination.

There are quite many calculations that need to be done to ensure the correct placement of the decorations and remove any kind of artifacts.

I only wanted the decorations to be created on the outermost surface of the planets so I came up with a solution to shoot raytraces from completely randomized points orbiting the planet to the center of the planet. I took these screenshot while I was making this.

Automatic decoration spawning stage 1


In this first stage those traces check if they hit a normal grass block and saves the normal of the hit. They also check that there is room to spawn the decoration there.

Automatic decoration spawning stage 2
In this stage those red cubes ensure that there are no obstacles within their range.

Automatic decoration spawning stage 3
Spawn the decorations! At this point only grass was implemented. The decorations rotations and scales are randomized too.

Then I went on adding the palms ( only barks at this time ) and forgot to correct their spawn rotation first as you can see in this first image:
Automatic decoration spawning blooper! Automatic decoration spawning blooper- fixed!
Before rotation correction ( creepy ) After rotation correction! Still too many though.

After the last image the palm rotations and scales were also randomized.

Lastly I added this automatic material selection for normal blocks. If block is deeper than one block from the surface, it will have that mold material assigned to it.

Level Creator after Dev Day Three - Mold material!

And then all of the things in one conclusive image:

Level Creator after Dev Day Three - Final image

In this image you can see the movement paths and automatic detail objects spawned on the level.

The dev day four will have to wait for some time, as we have to do some other BetaDreams related stuff. We will receive funding of 500-3000€ from our government! This is great! It means that we will have mini-budget instead of an zero-budget! :D

See you next time!

Post a comment

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