Crystalin's blog

Bring the peons for the construction

To be honest, there is no peons at the moment... but maybe one day. My idea was more about how to make the player know a tower is in construction and not broken. I don't have skills/time to draw animation so I simply made the tower appears slowly from the ground until it reaches its size. Who never looked at a construction site and never saw a huge smoke of earth. That's my second idea... to add some smoke during the construction.

Here is the result and I really like it :)

Tower construction

New Tower design

There are a lot a new features in the new version. One of the most interesting is the Tower design... which look like a tower. Thanks to Lislyn for the images.
I made different skins depending of the tower level and also for the weapons. I let you look at it.

You can also see the loading bar over each tower. It is useful to follow the tower loading time. Really easy to implement, I don't see anything more to say about it.

In the next post I'll show you the construction animation and the new shader used for the AOE weapons.

Does it look like a tower now ?

Pre-compiled headers : simple how to

As many of other independent developers, I don't like to use tools I'm not completely controlling and I try to reduce the complexity and dependence of my project as possible as I can. That's why most of the time I remove the stdafx.h from the projects I create and disable the pre-compiled use in the project settings.

This is a good idea if your project is using less than 10 files (and not big libraries) but it can be a really huge mistake on huge projects. My project is now using around 40 classes ( I always try to reduce it but it is sometime impossible ) so I decided to implement the precompiled header.

My compilation time is 4-5x faster than before (even more now I'm using Boost Library). I'll explain how to configure it easily.

Draw edge of the picture with shader

I got the simple idea to represent the unit life percent by a color (green -> yellow -> red). But the problem was how to keep the texture of my unit and to add the possibility to see the life color ?
I could have used a simple sphere or bar close to the unit but I didn't really liked it. I also tried to colorize the unit but the result is not really beautiful.

One of my idea was to draw the edge of the Texture with the color. And one of the easiest (and also fastest) way to do that is to use Shaders. I'll now describe those simple Shaders in GLSL

GLSL color texture edges

Alpha 8 : Take out the canons ... AOE is ready

The AOE (Area Of Effect, used to explain when a spell does some damages not only to 1 target but to many around the impact) is not really hard to implement but can easily reduce the performances of the model. Hopefully this is not a MMORPG so I don't really care if I have to loop over all the units in game to find units covered by the AOE.

I tried to add a graphic representation of the explosion and the AOE. Actually it is basic but efficient. Using a ExplosionGenerator as I like to call it, I simply draw a Circle with many particles.

AOE Projectiles

New graphic designer

Her nickname is Lislyn and I'm proud to say she will design the new graphics for my game.
She started with the Spell icons.

I also allowed some of my friends to test the game (with some temporary spells/towers) and it seems they like it (or they lie very well)

Spell designs

Game effects and menu

After rewriting many things (Controller system is now using Interface InputParser and also a KeyBinder to use inGame shortcuts) I rewrote the effect system. Now every effect has a parent ID (writting in the spell config file) which defines what effect need to be on the tower to be able to buy the next one.

The menu is now automatically created after choosing a tower based on which effect is apply on it. If there is no effects I use the EffectFactory to get the "basic effects";

I need to fill the effect config and to balance all the effects.

For exemple :
[ice 1]
id = 1

Dynamic Menu

Alpha 7 : Target locked

After some days, I rewrote the spell system... to prevent useless instantiations.
I optimized the smoke generator to use static memory and prevent allocation.
The viewport is now using a zoom, the missiles uses smoke particles and the Tower Fire is visible by an animation (when the Ammo hits the target too)

To be able to write and test the spells gameplay I wrote a ConfigReader class using map<string,string> system. The config format is like the windows ini :
title = content

For exemple : the spells
[Fire 1]
id = 1
time = 5000 (ms)

Game Alpha 0.7

Run little ghost

The items interaction is now restored, and to add some fun I added some smoke to the ghost when they are moving. Missiles are now real missiles and are orientable (more realistic).

This is a small update but It makes the game funnier every time.

Run little ghost

Welcome to mordor

Yahooo, the game is now using some map textures (I hesitate to generate from the map data or to use a background map as it is actually).

With the viewport system, I can scroll all over the map. I added the square over each cases to help me to see the correct place of the units on the map.

It is a good progress to get some graphism for the map and give me some power to go on this project. I'm impatient to implement the game-play to this new UI.

Game map and viewport
Syndicate content