Well, what can I say? You asked for it, I said maybe later, and here it is! Meet Velvet, she's likely the first member of your party in Driftmoon. She's a quick tempered Panther on a personal quest of revenge for her ex-master - your father.
Velvet will follow you around, attack whoever attacks you, and she will have a lot to say to you throughout the game. You can heal her by giving her raw meat, and you can leave her standing around, but she won't stay put for long!
Who have been your favourite party members? What kind of people would you like to travel with in Driftmoon?
One of the coolest parts of the Driftmoon editor is the Animations editor. You can create any number of animations, and play them using scripts, or let them just loop on their own. Animation in Driftmoon is based on keyframes. All you have to do is select the frame you want, and then select the part of the object you want to move, and move it there with the mouse. You can then preview the animation to see your changes. By default all animations return to their starting point by the end of the animation sequence, so you don't even have to worry about looping the animation.
One of the things I've added lately is the ability to change the image by frame. Notrium modders will remember this was the way all Notrium animations were done, you drew up a bunch of frames and tried to make them look smooth. So this is possible even now, and I'm using it in this image to change the hand image into an orb at some point of the animation. You can also scale any part of the object within the animation. You could make a bouncy ball, or a wobbly slime monster.
All characters are animated using this system, but you don't have to redo all animation to each character. All humans have a base object that holds their animations, and you can just change the textures for each of them to make them look different.
By popular demand, I'm going to reveal a bit about the map editor in Driftmoon. All Notrium modders will know that editing the text files for any more advanced features was a pain. In Driftmoon I've made the map editor do everything that has to do with actual gameplay. You lay your terrain by painting it, and then you put your walls where you want them. Then you can just press play and test play the map.
At the moment there are five types of objects you can place in the editor. Lights, bots, walls, items and objects. The most advanced of these is the object, which has controls for graphics, animations, scripts and physics. In the image below we are editing a plant. We have defined it to have physics, which is the blue circle. We can make it any weight, or we could attach it to a wall with a string or a hinge.
At the moment we're editing the graphics, and we have created the plant's pot and the trunk as 3D objects, and the leaves as a sprite. We can also change their height, because the game is actually 3D, just from a top down perspective. If we wanted to, we could make the leaves move in wind by animating them. And we could for example script this to be an object the player can activate to find a key inside.
I will be telling more of the editor later, so if you have any questions about modding and editing in Driftmoon, comment.
First of all, thank you all for the inventory development ideas! I've prototyped most of them and settled with one design. So here it is!
First of all, the inventory pauses the game now. I wanted the inventory to be big enough to hold at least 50 items, and I didn't want the slots to be too small, so now we have to pause to bring up the main inventory. Which is why I put in the quick slots inventory! You all probably know what this does, it's an extra 10 slots always visible to you, and you can activate them with keyboard controls.
Pausing the game also allows the camera to zoom in slightly where you are. And the best part is that you can still pick up items and move them around while the inventory is visible.
Some of you have been curious about methods of terrain generation used in Driftmoon as compared to Notrium, so here's a brief explanation of what anybody interested in map editing can expect.
First of all, blending. When we're dealing with natural landscapes, we expect our terrain textures to blend into each other. I did this in Notrium by blending the texture with different vertex alphas. The picture below from Notrium shows a location where it looked good. The whole world was divided into squares with each square assigned a texture. If the texture next to the square was different, we blended one side of the texture using different vertex alpha values.
And below here is where the Notrium method failed. Sometimes it was not possible to achieve a smooth look in corners, especially if the textures had very different colors.
And below here is what we've done with Driftmoon. The blending effect is achieved by methods called texture baking and texture splatting. The world is divided into quite small rectangles, with each assigned a texture. For each texture, an alpha map is generated, and finally using this alpha map a complete texture is rendered. The end result is that no matter how many or complex textures you use in the terrain, it won't affect rendering speed. Since Driftmoon maps can be quite large, we actually generate the terrain textures on the fly as the player moves around in the world. An additional bonus is that we can bake in things such as seashells and grass patches without any hit to the framerate.
Blending textures in Driftmoon
One more problem with the terrain rendering in Notrium was that it was not possible to turn the texture blending off. You might want to do this if you created a house in the middle of a grass field, and didn't want the floor boards to blend into the grass. In Driftmoon this is solved by the ability to create sharp edged floors, such as the black/white rectangle in the picture above.
As for actually drawing the terrain, some of you may remember that in Notrium the terrain was randomly generated unless you specified some texture in an area. This random generation was nothing more than a few randomly generated circles filled with a random texture, and would have been much better using for example a Perlin Noise algorithm. In Driftmoon my intent is to hand generate all of the content, and leave nothing to chance, so there is no random generation for the terrain textures. In my opinion you can hardly get enough interesting randomly generated content, even if you spent the exact same amount making the algorithm as you would spend hand working the terrain.