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.
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.
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.
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:
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.
And then all of the things in one conclusive 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!