Wednesday, 18 June 2014

XNA 5? Why Not Sunburn?!

As most of you probably know, XNA in its current form is dead. Although several alternatives exist such as Monogame and Unity, people seem to either not know about or consistently fail to mention SunBurns relatively new and completely free Platform framework.

It offers an API very similar to XNA's and has a lot of the same features, with the added support for many, many more platforms including:
 
  • Windows Desktop
  • Windows Store
  • Windows Phone
  • Android
  • Linux
  • Mac OS
With more still coming! What's even better is, you can share most of your code across all platforms without any changes; no more #if statements!
 
SunBurn allows you to do this by separating your game into three types of project: the Content Project (same as XNA), the Game Library and the Platform specific project:
 
 
If all this wasn't enough, the team behind SunBurn are constantly answering the communities questions on the forums, as well as responding and fixing any bugs which have been found. They truly offer the best support in the business!
 
If you want to find out more, the SunBurn website has a lot more information:
 
 
I hope to update all of my old tutorials to use the new SunBurn Platform, so stay tuned!

Wednesday, 18 September 2013

Lane Defence

Are you bored of all the cloned tower defence games out there? Introducing, Lane Defence!

A unique tower defence game in the style of the old Warcraft 3 Line Tower Wars map; you work to build a maze of towers which will stop the 40 waves of enemies from reaching the bottom of the lane!


This is how a tower defence is meant to play; No longer will enemies walk through each other like ghosts or conform to a set path, you are in control.

Create choke points to take full advantage of your splash towers, or encircle the high damage towers to get optimum attack time; the smarter your maze is, the easier the game will become.

You will be defending your lane against 5 types of enemy:

Normal - Nothing special.
Fast - Moves much faster than his friends.
Immune - Will not be slowed by any tower.
Air - Laughs at your mazes as he soars over them.
Boss - Lonesome, but very tough to kill.

To aid you, you will choose two unique 'speciality' towers from:

Ice - Slow's enemies.
Fire - Fast with average damage.
Tech - Very slow, but awesome against bosses.
Earth - Slow with a large splash damage.
Lightning - The bane of air enemies

Each have their strengths, but which combination will work best for you? Can you achieve the ultimate goal and beat the game using all of the combos? You can track your progress with the built in medal system!

Perfection must be achieved!

Download the demo (free) from:

Google Play: http://play.google.com/store/apps/details?id=englishguygames.lanedefence.demo
Amazon Market: amazon.com/gp/mas/dl/android?p=englishguygames.lanedefence.demo

Download the full version ($0.99):

Google Play: http://play.google.com/store/apps/details?id=englishguygames.lanedefence
Amazon Market: amazon.com/gp/mas/dl/android?p=englishguygames.lanedefence

Monday, 9 September 2013

Lane Defence: Coming Soon

Enjoyed the tutorials...? Ever wondered what would happen if you carried on developing...?



COMING SOON TO GOOGLE PLAY STORE!
(TESTERS WANTED)

Sunday, 12 August 2012

Platformer Starter Kit: Ramp Example

If anyone is interested I have modified the platformer starter kit so that it can handle ramps by using SAT:

http://www.mediafire.com/file/9ekhfpf0gt7zehg/PlatformerWithRamps.zip

Friday, 4 May 2012

2D Collision Series : SAT Part 1

In this series, I will be giving a very brief insight into the world of 2D collision detection and response. Normally during collision detection there are two phases, Broad phase and Narrow phase.

This series will focus on the Narrow phase.

Saturday, 24 March 2012

Wednesday, 7 March 2012

WANTED : More Tutorials?

Hi guys,

It has been a while since I wrote any tutorials, mainly due to lack of time, but partly due to lack of inspiration... hopefully you can help me out here!

What tutorials would you like to see written? (just to get it clear now, I am NOT writing a series on how to make an FPS, an RTS, an RPG etc... a whole book would most likely be too small for this... ;) )


Thursday, 2 February 2012

Bug Fix : Tutorial 4 - Waypoints

As has been pointed out in the comments, in the fourth tutorial we added some code to check if the enemy has gotten close enough to the way point to move onto the next. This works well if the enemy is moving with a speed <= 1, however not so great if it moves with a speed of 2 for example.

To fix this we simply change :

if (DistanceToDestination < 1.0f)
{
    position = waypoints.Peek();
    waypoints.Dequeue();
}

to :

if (DistanceToDestination < speed)
{
    position = waypoints.Peek();
    waypoints.Dequeue();
}


Thanks for pointing this out Ryan! This was what I had intended to write but for some reason left the speed hard coded...

Sunday, 25 December 2011

Merry Christmas!

As a very big thank you to all of those that have read this blog and helped improve it by pointing out my mistakes, I have decided to release an older version of my personal tower defence!

It includes two different types of pathfinding, one that helps the enemies get to the end of the level, and one that detects if the player is “blocking”.

The algorithm used to get the enemies to the end of the level is a variant of the breadth first algorithm. The algorithm generates a direction for each tile which points to a neighbouring tile. The neighbouring tile also contains a direction to a neighbouring tile; eventually if you just keep following the directions you follow a path to the goal!

It also includes a basic level editor, however you will only be able to save levels using the shortcut Ctrl + S, though the code to load the levels is included!

Just be warned the game isn’t at all balanced! Winking smile

So here it is, Merry Christmas!

Saturday, 10 December 2011

A* Pathfinding Tutorial : Part 3

Welcome to the final part of the A* pathfinding tutorial! In this tutorial we will be implementing the algorithm I described in part 2 in code!

At the start of this tutorial we will be adding some useful properties and methods to the SearchNode and Pathfinder classes that will make writing the FindPath method more simple.

Then to finish off I will post the full code for FindPath method indicating which piece of code relates to which step of the algorithm posted in the last tutorial!

Edited on the 10/12/2011 at 8:00pm

Thursday, 4 August 2011

A* Pathfinding Tutorial : Part 2

Welcome to part two in my series on pathfinding. In this tutorial we will be looking at the actual A* algorithm before we actually start implementing it in code in the next tutorial.

This tutorial will be mostly theory based with very little coding so please stick with it as it is really important to understand the actual algorithm before trying to translate it into code!

Sunday, 26 June 2011

A* Pathfinding Tutorial : Part 1

Welcome to part one of my two part series on path finding!

In this first part we will be looking at the amazing A* (A-Star) pathfinding algorithm which is probably one of the most precise and performance friendly pathfinding algorithm out there at the moment.

In part two I am going to show you that although A* is great, that it isn’t always the best algorithm for the job. I will be showing you how we can add pathfinding to the tower defence game made in the previous series using a Breadth First algorithm.

Friday, 8 April 2011

Tutorial 15 : Adding Health Bars – Extended

Up until now, we use the enemies colour to represent his health, and while this works quite nicely for our little black blob, it doesn’t work so well with more complex sprites.
In this tutorial we are going to add little health bars that will float above our enemies heads. A lot of the code in this tutorial has been inspired from George Clingerman’s amazing tutorial on health bars. So if you are struggling with this tutorial, I would recommend reading his first as he explains it in more depth than I will.

Friday, 25 February 2011

Tutorial 14.5 : Drag and Drop Towers

As has been requested I have written another tutorial about the ability to “Drag and Drop” tower onto the level, at the end of the tutorial I will also discuss zooming and tower upgrades.


Monday, 31 January 2011

Tutorial 14 : Polishing the Game

In this, the last tutorial in the series, I will show you how to add a bit of polish to the game by adding a few key features to our game :

  1. Giving the player money when he kills an enemy.
  2. Removing a life when one of the enemies reaches the end of the path.

Both of these things will be implemented in the wave class, however before we make any changes to that we must first make some of the player’s properties settable!

Friday, 21 January 2011

Tutorial 13 : Adding the Slow Tower

As a few of you have requested, I will write another tutorial on creating a custom tower type. In this tutorial I will show you how to create a tower the makes the enemies move slower when they are hit with a bullet, and hopefully by the end of this tutorial you will see how easy it is to extend the tower class to make all sorts of different towers!

For simplicities sake, I am only going to show you the changes needed to create the new tower class and not include any details about adding a new button or changing the player AddTower method (If you need help on this see Tutorial 12). However I will provide some placeholder textures that you can use for the slow tower :

slow towerslow buttonslow hoverslow pressed

Tuesday, 18 January 2011

Tutorial 12 : Adding a New Tower Type

Sorry for the delay, I have had a very busy at the month! In this tutorial I will show you how to add in two type of cannon, the Spike tower. This tower will be able to shoot 8 bullets in eight different directions at a time.

image

This should be pretty straight forward seeing as we have designed the Tower class to be as extensible as possible, although we will have to make several adjustments to some of the other classes.

Thursday, 23 December 2010

Tutorial 11 : Creating the GUI (Part 2)

In this tutorial we will be adding a generic button class to our project, and then we will be using this class to add buttons to our toolbar. We will keep this button class a general as possible so it can be re-used throughout the project.

Friday, 17 December 2010

Tutorial 10 : Creating the GUI (Part 1)

Sorry for the delay in tutorials, but real life got in the way again. In this tutorial we are going to make a start on our games interface, the interface I'm going to show you how to make is going to be incredibly simple for now.

By the end of this tutorial we will have a toolbar that runs along the bottom of our game window that will show the player some useful information.