23 12 / 2014
Christmas GameDev
ITS CHRISTMAS!!!
With Christmas comes all sorts of reasons to procrastinate, of which I have taken advantage of every single one. As it stands now, I’ve got all my presents bought for everyone, I’ve entered the local Pokemon TCG league, and I’ve had my PC overheat and explode.
I’ve managed to rebuild and get back to some dev work and get stuck back into the To Do list (which has become INSANELY organised btw). I’ve managed to apply version numbering as well so that I can more easilly track code changes. I have this really bad habit of coding something and then boiler plating it with temporary code just to make sure everything works. The problem is that I usually end up leaving it in for some reason and moving on to something else and then coming back and replacing it with something a little more concrete at some later date.
Therein lies the issue. As we work we get better. As we get better our ideas change and our implementations become more and more refined. This means that not only the boiler plate changes, but so does the initial functionality. For this reason I’ll usually go back to an earlier version of the code and start from there rather than hack and slash some Frankenstein’s Monster script into existence.
As it stands I’m on version 0.0.0.5A. A is for Alpha. All the other numbers are for my own personal amusement.
With the Christmas holidays (for me at least) starting tomorrow, I’m going to be spending the time working on some attack AI. I already have A* implemented in Unity to make sure that all the enemy objects know where to go, but as it stands they just kind of get to their destination and stand there telling me how awesome everything worked out for them on their AI journey (boiler plating).
The code for the actual <Do your thing> + <deal damage> is easy, but I’m fighting with myself on whether or not to provide the movement animations via code, or to use Unity’s built in animations and call that. I love to code so the first option seems good, but I also like pretty GUI’s, so the second option is also a definite possibility. Perhaps I’ll do both and just flip a coin…
For anyone interested, I’ll add the version numbers as a tag to each post in case you want to follow previous versions. Plus, ittl be nice to look back in a few months and see how far its all actually progressed :)
Even with the large to do list, I’m going to take some time on Christmas day to open a Pokemon TCG: Emerging Powers booster box. Gotta love them Mons!!!
31 7 / 2014
Leave yourself creative error messages. You won’t have a clue what went wrong but the mild giggle you get will be worth it…
31 7 / 2014
Just some random meh…
Wow. Its been ages since I’ve put anything on here!!! I wonder how many tumblr posts start like that? If any of you internet wizards can work it out there’s a beer in it for you :)
Lately I’ve been working on lots of game stuff and ironically hardly any of it was mine. I have some friends who are still working their way though Uni (or “college” for my US mates) and needed some help with their projects. When I was doing my final year stuff I’d have killed for some help so I thought I’d be nice and extend the hand to them. The best thing about it is, when you work on someone else’s stuff, it exposes you to problems/ideas that you might not come across in your own project and so gives you a chance to learn new stuff. Most of the code was complete rubbish, but it worked, and taught me never to code whilst drinking daiquiris…
Speaking of daiquiris, they’re awesome. Buy/make me one and we’ll be friends for a looooong time…
I have this problem with tumblr in that when I want to post something I have every thought I’ve ever had since my last post neatly categorised and organised in my head, and then when I sit down I have the mental capacity of a goldfish and end up just talking about the latest thing I’ve done. Lets stick with that. If anything else comes to mind, I’ll just jot it down and we can take it from there…
A* pathfinding. Whoever came up with it, I have two things to say to you. Firstly thanks for being so clever. Secondly, fuck you for being so clever. I’ve managed to get this implemented in Unity to the point where enemies can wander around the scene and find things. It’s all based on a list of nodes so it makes everything a million times easier to set up and expand and since each agent takes care of their own pathfinding it makes it easier. This is probably the way it should be done but I’ve seen some implementations where a central grid/script/thing does the pathfinding and it all seems a bit messy.
I’ve left it at a point now where I have to make it run that little bit better then I’ll be happy with it. I don’t say this often but I’m confident that the code is correct and that It wont break unless I do something stupid, which is a real possibility (remember daiquiris). I’ll expand it to use attacks etc. in the coming days.
It wont be til the end of the weekend though since I have a stag do that I’m looking forward to (“bachelor party” - US version) and I’ll be spending my free time hopefully planning a trip to Boston for PAX East :D
Also I bought pink shoes. Fucking love my pink shoes!!! :D
30 4 / 2014
A few thoughts on free-to-play games and in-app-purchases
So I was having a conversation with a few mates last night about some games coming out and the topic of free to play (F2P) and in app purchases (IAP) came up. The conversation was one of those things that I thought would make a good post. Mainly because its the first time that I properly and coherently expressed my thoughts without sounding like “that indie guy”. Whether or not that will work now is another matter…
Let me start by expressing my opinion on the subject. I don’t dislike these types of game models. Hell, I’ve engaged in a few of them, and when used correctly, to me they don’t feel like a problem. I think that the real issue is that some (not all) games have taken the idea of using these kinds of models as a way of scheming more money out of people. So much so in fact that the mention of “Free-To-Play” or “In-App-Purchases” almost makes you feel as if you’re setting yourself up for a mugging.
- In-App-Purchases
Lets take a trip down memory lane. Now, I’m from the UK, and like any young strapping UK lad, I collected premier league football stickers in order to complete my sticker album for that year. Consider what we were doing. We were asking our parents to spend money on collectable items in order for us to complete the set. When the next series came out, my old set was nothing more than a relic, and I started the cycle again.
Next came Pokemon cards (which I still collect). Consider what we were doing again. We were asking our parents to spend money on collectable items in order for us to complete the set. When the next series came out, my old set was nothing more than a relic, and I started the cycle again.
See where I’m going with this?
The difference is now that things like Fifa Ultimate Team etc. have now replaced physical collectables. With FUT, kids are asking their parents to spend money on collectible items in order to…
These kinds of IAP’s are exactly the things that we remember so fondly about our childhood except in a digital format. We have a decision here. We can either decide that this is wrong whilst in doing so admitting that we were duped as children, or decide that this is fine and kids now will feel the same way about FUT as we do about collectible stickers and Pokemon cards.
- Free To Play Models
Free to play models seem all the rage nowadays. In my experience, the general tone is that they are an awful attempt at money grabbing (and in some cases they are just that), however this doesn’t seem to be the entire story in some cases. Look at the Elder Scrolls online. Were asked to pay $15 a month for an online game that people have been asking for for as long as the Elder Scrolls and the internet were in the same space. This seems fine to me, however there seems to be an outcry of “Why isn’t this a F2P game” and “I want to play it, but I don’t want to pay each month for it”. Valid opinions. However, what I don’t see, are people suggesting some other form of revenue stream for it.
Games need to make money. End of story. Every so often these letters called “Bills” come through the door and they’re the greatest motivator for artists to make some money of their creations.
As an indie game developer I apologise for bringing it back to indie development but its the only angle I have ;)
If I was to build a game that would benefit from some sort of massive multiplayer component, I would need servers. Not only would I need servers, but I need the space to run them. I also need the electricity to run them, not to mention the time taken to code it so it works and I’m not leaking everyone’s passwords online. These things take money. And its money that I have to invest from my own pocket. I want to make this back, otherwise the entire venture would have been a failure. If I decided that the best way for people to play my game is to make it F2P, then I need an alternative revenue stream in the form of IAP. These are all knock on decisions that have to be made, however the one thing I have control over is how to offer these incentives.
Now again, lets take a trip down memory lane.
You’re a young lad or lass and you have your N64 or other fondly remembered console. You go to your friends house and you end up playing this awesome game that you’ve never played before. Your friend is awesome and decides to give you a lend of the game for a while. After playing the game you decide that this is the game for you, and end up asking your parents for it. Bing bang boom. New game.
See what I’m getting at?
By friends offering the game to you for a lend, you essentially have no barrier to entry for the game. You also have no barrier of release but if the game is good enough, you’ll eventually own a copy of your own. Pilot Wings for the N64 was like this for me and it was less that 15 minutes before I asked for my own copy (luckily I had a birthday coming up). This is essentially the non-digital version of F2P.
I’ll move on…
- Down sides of IAP and F2P
IAP’s and F2P can be useful, and they can be something that adds real value to a game. But like everything else they can also be used for nefarious purposes. Look at games like Farmville or any of the Something Something Saga games that come out on every device known to man. These games are suggesting that you cannot have as much fun as anyone else by methodically interrupting gameplay or placing barriers in your way, all with the intention of getting you to pay that premium fee. The fee is payed, you get the “reward” you wanted, and within moments, the reward is used up and you go back to the free model, only to start the cycle again.
The problem is that if it were advertised like this then the games would never have gotten off the ground.
How many times have you played a game, only to be asked to buy some crypto-Facebook dollars in order to continue and not wait the hour before you can play again? Also, how many times have you been asked to partake in the illusion and post on Twitter about how much fun you’re having?
I guess my problem comes from being lied to. I don’t mind if a game comes out and says “Hey, our game is free. If you want the full experience then it costs X amount of dollars.” or “You can grind a few hours uninterrupted to get this particular item, or if you want to pay us $3 you can have it now”. This for me is just an updated version of the things that we engaged in as kids. Just be careful that its not a proverbial “carrot-on-a-stick”.
Just my 2 cents on the subject :)
29 12 / 2013
New desk, new year, new ideas
So Christmas is over. Kind of good, kind of bad. Christmas is one of those times where you have some of the best nights of the year out with friends, but then can also have some of the worst nights productivity wise. I’ve spent probably less than 10 hours working on my game this week and have fully embraced the holidays, but this week, as is the same every year, its back to some serious work.
I did however take the time over the holidays to mod my desk into a standing desk. It feels great, and even though I get a tired a little easier, and my typing has slowed a little, I see the benefits straight away. It feels nice to be able to just walk up to my desk and start working, and to step away from it when I’m stuck/need a breather etc.
All wasn’t lost though over the holiday week. I managed to get a rough outline of the game drafted and ran it by a friend who gave me the impression it wasn’t shit. At this point though, the idea is so sparse that that’s the best I could have hoped for.
Anyway. I hope everyone had a great holiday and have a fantastic new year. Have one on me :)
15 12 / 2013
A* Pathfinding for 2D Games
Just a little short post. If anyone wants me to go into more depth, give me a shout :)

After having a little play around with AI movement for NPC’s I decided upon the A* approach. Of all the reading I’ve done across various projects this seems to be the “Go To” method for pathfinding. Also pretty handy that it lends itself to top down 2D style games.
As you can see from the screenshot above the mesh has laid itself perfectly over my little test scene and the AI path has worked itself out nicely.
As it stands there is no smoothing applied but to be honest it doesn’t really look like it needs it. Unitys Vector3.MoveTowards function seems to have taken care of that for me somehow. Perhaps voodoo…
Applying the correct node size and collider check radius has pretty much made sure that any natural deviation from the path doesn’t lead my little blue box into a wall. Which is nice ;)
Anyways. The AI pathfinding I used was the Aron Granberg free project on his website (http://www.arongranberg.com/) and I’m also using 2DToolkit for all the sprite based stuff. I haven’t done too much mucking around with the project scripts so everything works out of the box (with the right amount of setting tweaks and hairline sacrifices)
As I said. If anyone wants me to elaborate, let me know :)
12 12 / 2013
12 12 / 2013
12 12 / 2013
Getting things up and running…
So, remember that little RPG style thing I was talking about? I’ve been getting the bare bones of it set up over the last few weeks and things are proceeding at a somewhat nice pace :)
Here’s a slice of my work environment thus far:

Lets get the elephant in the room out of the way…
MY GOODNESS THAT LOOKS AWFUL!!! It seems that my very basic art skills are definitely showing in this ;) In my defence though, while prototyping, its best to keep things simple (or so I keep telling myself)
At the moment the green square is the player, and it has the usual player-ish controls. Move around the screen, attack, shoot fire etc. The green texture changes depending on what textures/animations will be placed there in the future.
Poking his little head out of the bottom of the screen is the blue-squared enemy of DOOM!!! He basically just strolls around on his merry way and then attacks the player as soon as he rears his head. Simple, basic, working.
What’s not shown here are the two things that I’m currently working on. First off, the lighting. Lights for me are an important part of the game, and certainly a part of the game that I want to get right. I’ve decided on a volumetric approach using some raycasting and some shader voodoo. Needless to say, at the moment it doesn’t want to play nice with 2DToolkit however Its coming along.
Secondly, I’ve been tweaking the enemies attack decisions. I don’t want the regular enemies to seem like barbarians and just charge and attack (there will be those as well but where’s the challenge in implementing those now?).
The enemies in the game will (hopefully) react to what the player is doing and make smart decisions based on that. Is he running towards me? Whats his health like? Is it lower than mine? Good, I’ll attack. Is it higher? Then I’ll retreat. Can he see me on screen now that I can see him? No? Well I’ll try and find a way around behind him and attack from there.
Well. Those are the plans anyway. However you know what they say about the best laid plans of mice and men ;)
Also, search Au5 & Fractal on Soundcloud and thank me later…



