Wednesday, October 12, 2011

Almost a real game!

I've made some good progress last week, but I didn't have the time to make a post yet, so here it is!


The fireball was improved a bit with some random particles, although it's not that clear from seeing this screenshot.
As you can see, I've changed the font too so it looks a bit better now.

Selection of individual units is now possible, and it currently show the type, level, sprite and range of the selected unit. This is handy for adding a "level up" button if you have enough gold.
Speaking of gold, the units now have a cost, so only a limited amount of them can be set.

I've made a simple spawn system that accepts an array of enemies (which I'm planning on reading from a file), which spawns enemies at regular intervals and then waits a while before launching the next wave.

Development will probably be slowed down now because I've purchased Dark Souls, which is really a great game.

However, I'm still planning on finishing this game, so it will be done in due time.

Things left to do:
  • More units
  • Upgrade system
  • Leveling
  • GUI system (for adding more labels, images and buttons)
  • Animation
  • Sounds & music
  • More enemies
  • Read waves from a file
  • Better sprites
  • Tiles for a better map
  • Gold system (still need to have simple unit buy system)
  • Unit selection
  • More maps
  • Wave system
  • Unit system
  • Screen system
  • Tile system
  • Enemy system
Red = next goal

Cheers!

Tuesday, October 4, 2011

Updated

Already updated the code!
The player can now select a unit by clicking on it and switch the unit type to deploy with the right mouse click (this is a temporary solution).
Clicking on an empty space will add a unit of the selected type.

The player now gets gold by killing enemies, although its useless for now, so I have to make a simple unit buy system.

The enemies are currently just spawning every 500ms infinitely now, but I'd like to have waves of enemies instead.
So this updates the list as following:

Things left to do:
  • Gold system (still need to have simple unit buy system)
  • More units
  • Upgrade system
  • Leveling
  • Unit selection
  • GUI system (for adding more labels, images and buttons)
  • Animation
  • Sounds & music
  • More enemies
  • Wave system
  • Better sprites
  • Tiles for a better map
  • More maps
  • Unit system
  • Screen system
  • Tile system
  • Enemy system
Red = next goal

Cheers!

The tower defense game & C#

It seems I'm finally able to think efficiently in C# again and it really starts to show in the tower defense game I'm making:


Let me explain what exactly you're looking at here:
This is a grid based map based on the Tiled engine and a TileManager class I wrote.
Inside of it is the road which is also the path enemies walk.
Around it are units in either blue or normal colors, blue indicates that an enemy is in range and that the unit is loading an attack while the normal colors indicate an idle state.
They also turn red quickly when they do an attack but that's not visible on this screenshot.

I have 2 units up to now:
The warrior, which has a short range but attacks quickly and with high damage and the mage, which shoots fireballs from a long range, but isn't as quick and powerful as the warrior.

There's a little label saying "Gold: 0" because I'm going to implement a gold system which can be used for buying/leveling units and buying upgrades.

I've found a C# eBook on my hard drive I forgot about yesterday and it has helped me already on getting some better knowledge and insight. Really cool programming language!

I'm probably going to end every post with a handy checklist from now on to have a better overview on what I need to work on next:

Things left to do:
  • Gold system
  • More units
  • Upgrade system
  • Levelling
  • Unit selection
  • GUI system (for adding more labels, images and buttons)
  • Animation
  • More enemies
  • Better sprites
  • Tiles for a better map
  • More maps
  • Unit system
  • Screen system
  • Tile system
  • Enemy system
Red = next goal
Strikethrough = finished