Animations with props

I spent the last days on the animation system to add one last, but very important, piece to the puzzle: animations with props. With the content pipeline I created for my project, it is pretty simple to add new animations to my game. However, all animations I added so far did not use any props. Since I want to start on the planetary combat system in the next days, it was time add support for animations with props. It took some days, because of a simple bug that was hard to track, but it works now.

Updated graphics and pathfinding

Hey folks, I spent my time on different topics this week. Most of the time was used to improve the algorithms for creating the paths that are used by the NPCs to find their target location. The pathfinding itself was already fast and efficient, however it took some time to initialize the possible paths. I am pretty happy with the result!

The second major topic of this week was the graphics pipeline. As you may know, when a single frame of a video game is rendered, the visible content passes several small programs called Shaders. I improved them during the last weeks step by step and I want to share the latest version with you. In the image below you can see parts of the interior of the largest spaceship. What do you think?

Time to speed things up

I am very sorry that I was unable to show you anything new in the past two weeks. However, I was able to finish my animation system and added several abstraction layers which gives me a great comfort. Instead of calculating complex mathematical functions for the different parts of a model, I can tell my NPC “Hey, you, go over there!” and the NPC finds its path and walks smoothly to its target.

I also spent a lot of time for optimizations. For example, rendering 100 animated NPCs takes around 45% less memory and 40% less CPU usage.

I was also able to improve several algorithms. I use a dense grid in my space ship for the navigation of NPCs and I improved my path finding algorithm so that I only needs a maximum of 9 ms to find a route through the largest ship (with around 10.000 grid points).

There are no images I can show you this time, but I hope I can finish my latest improvements until mid of March so that I can show you images of the image on a regular basis.

Updated shaders

I am currently working on the shaders of my game engine and I wanted to give you a short update. In the images below you can see part of an officer’s quarters. The upper image shows the scene with the old shaders and the lower images shows a similar scene with the new shaders. As you can see, the objects appear to be more three-dimension than before, especially the lockers on the left side.

This is the current version of the shaders and there will be more improvements before the Beta version! 🙂

Animation System up and running

I spent the last four weeks on two major topics: terrain rendering and animation system. There are still some open topics for the terrain rendering part, but I think I can show you some previews about the planetary missions soon.

The animation system is finished and works perfectly fine as far as I can tell. I bought several sets of motion-captured animations and I am able to use them with the models Dobrin makes for me! This means I can animate the PCs and NPCs in almost any way, which is a major milestone for the game engine. If everything works well, I can show some images or a small video at the end of next week!

Improved Content Pipeline

Until now, the game’s content was loaded before starting or continuing a game. Using a multi-threading approach this was pretty fast and I could access any content during run-time directly, because I knew it was already loaded when the game was initialised. However, there is one major drawback: with an increasing amount of content (especially models, textures and sounds), the memory usage became too big.

Therefore, I have re-written the Content Pipeline. Some basic stuff is loaded before the game starts using my old multi-threaded approach. The main content, like the models used for a starship’s interior, are loaded when needed. At the moment I use a synchronous multi-threaded approach to make sure I don’t get any bad race conditions.

This way, the time required for starting a game is reduced, the memory usage after starting a game is cut down by 70% and the loading time when loading a new spaceship is only a few seconds! Yay!

Trade

You all know this situation: You are flying through the outer space, killing some bad guys, completing some totally random and stupid quest, getting some lame rewards, looting some useless junk and suddenly your cargo hold is filled to overflowing. But that’s no longer an issue!

I had some time in the last days to complete the loot and trade mechanics for the game. The trading window offers some easy-to-use slider to adjust the number of goods in your cargo hold. You can always see the amount of money you need to spend for buying goods or the money you will get for selling stuff. The total balance for a trade is visible in the bottom right right on all tabs. Trading items works in a different way. Items can be dragged and dropped between your cargo hold and your trade partner’s cargo hold. The relevant values are also shown as tool-tips.

Retrofitting your spaceship

Sometimes, a spaceship lacks the requirements you need. But you don’t need to worry about a wrong fitting anymore! Engineers have the power and the tools to retrofit your spaceship!

When you are in a star system with a space station, your engineer can use his knowledge to retrofit your spaceship. For example, he can replace small rooms like Crew Quarters with botanical gardens.

Grow your own food

Do you know this situation: You are flying around in the universe, jumping from one star system to the next one and suddenly you noticed that you forgot your deep-frozen food? Don’t worry anymore! Now, you can grow your own food!

I’ve added the Botanical Garden as a new room option for all spacecrafts. Each room gives enough food for three of your crew members or officers! The image below shows some of the available designs for the new room.

botanical-garden

1 4 5 6 7