I regard Pixita as my first “real” programming project, way back around 2006/07. I had been experimenting with Visual Basic since about 14 (although how much I understood what I was doing is questionnable) but trying to make sense of other languages made my head spin; It wasn’t until University started teaching me Java that suddenly everything clicked in to place, and now I can understand most any language thrown at me.
At what point do you own too any games? Having just moved, I unpacked all my games and lined them up in the only place with enough room for them – the top of a wardrobe. It’s a pretty long line of stuff, and it doesn’t include all the games I keep on the hard drive of my original Xbox (also not pictured: Halo 4, Forza Horizon and L.A. Noire, because they’re all near my 360.) Only one game there is still in plastic (DiRT 2), although there are a few that I’ve only played briefly for whatever reason (most embarrassingly, Just Cause 2, because I thought the original Just Cause was amazing.) The plain DVD case at the top is a backup of ‘Chronicles of Riddick: Escape from Butcher Bay’ because my original copy was damaged long long ago, if you were wondering.
How many games do you have and do you think you have too many? As long as I have a chance of finishing them all before my aging 360 RRoDs again I figure I’m alright!
Occasionally I start Googling random collections of words related to video games — more usually, video game jobs, hoping some golden ticket is going to fall right out of Mountain View or something. I often end up reading lots of forum threads and blog posts about the topic and how to make yourself seem attractive to studios etc etc, and it was within one of these little quests that I read an idea that nagged me, “Just make something … Tetris or something, just show you know what you’re doing.”
So a few days later I got up and made Tetris.
All told it was maybe 6-8 hours work split across two days: Mostly production, with the final couple of hours on day two dedicated to bug squashing. Anyway, it’s super simple but I think it’s kinda neat for what it is. As ever, this game is built with Haxe NME (3.5) – to compile the source you will also need the Actuate tween library installed. Download the source here.
Hello once again!
Today I’m happy to offer some code from my early prototypes of Tower Defence, build 13 from September/October ’12 if anyone is pedantic enough to want to know. It’s super basic: No maze generating algorithms yet, not much in the way of gameplay. A random maze is created (i.e, each map tile is 50/50 whether its walkable or not), start and end points generated and a route found between them using A*, and an “enemy” (green square) moves along the path. You can create a single weapon type – the gun – which fires very slow moving bullets at the enemy.
This code also contains remnants of my quick and dirty collision system, although Box2D is actually running the show.
Within the nme.geom package of HaXe NME you’ll find Matrices, Points, Vectors, Rectangles and… ColorTransform? Yes, it seems a slightly odd place to put it, but that’s where it is, and it can be useful in your project. No doubt, there are endless things you could do, but I wanted to talk briefly on how I’ve used it across my previous Pinball project and now, in Tower Defence.
Simply, sometimes you want the same object to appear multiple times in your project, but with subtle variations. Behavioral changes can be accomplished in code by subclassing, size variations by scaling, but what if you wanted it red in one instance and green in another? Including the same image twice with different colours seems redundant, even if the images in question are quite small, so what are your options? Well, a ColorTransform is an option if the image is a simple, single colour. In Pinball, I used this method to colorize the lights and lighting effects – the image files themselves were greyscaled, and were coloured in code before being displayed – and now in Tower Defence, I’m using it on some UI elements (the slider knob’s that change colour dependent on value).
Let’s step through how this works. First, of course, you have to create a graphic you want to use. Here’s the image of the slider knob in Tower Defence, as it came out of Photoshop…
Hello! Sorry that last post was so brief, but I hope you liked the video! Here’s another one for you, with some loose ends tidied…
Hey all, just a quick one this time. My tower defence game has some graphics (disclaimer: none final) and a few new little features and so I figured it’s probably time to show more of what works.
Nostalgia is awesome sometimes, and for me nothing is more fondly remembered than the Longhorn project from the early ’00s. This project really accompanied my first experiences with an online community and led to numerous friendships that I still maintain almost ten years on, as well as exposing me to programming. Really then, Longhorn is sort of at the root of everything that is “me”, and so I still keep mountains of discs containing all the leaked builds and all the tools to make them run.
Hello again, today I bring you another lesson learnt.
When you choose Haxe for a project there are a wealth of 2D physics engines available, mostly ports of other popular engines, like Box2D. There are actually a few distinct ports to Haxe of various versions of B2D, but the most up-to-date and the one I’ve been using is Joshua Granick’s port of 2.1a. You can get it from Haxelib by opening a command prompt / terminal and running “haxelib install box2d”
In brief, it’s fantastic. Once you get a handle on how it works and where all the bits you want to use are it’s pretty simple, a far cry from the engine I initially experimented with – Physaxe – which was basically 20 pages of pure maths disguised as classes and functions! But there are some small issues I’ve run across while using it, and here comes the latest (and its solution, I wouldn’t leave you hanging!)
Just a quick one: In re-creating my blog I had to go through one of my least favourite ordeals, choosing a theme. Given time I’d create my own (but, also given time, I’d probably just write my own bare bones CMS) but that’s not an option, so I usually look for simple, clean themes that I can perhaps customize a little bit and be done with. This theme is called Greyville, by the way, it’s rather pretty I think.
I actually set this blog up locally using Xampp first so I could import a few posts, do those theme mods and make sure everything worked before it went live. I was using the Greyville theme for a while, and had gotten used to it, when I realized it didn’t support a proper menu bar. So I decided I’d add one, how hard could it be?
Fairly simple it turns out, if you have the WordPress API imprinted on your mind. I spent most of my time looking up functions and then trying to chase their dependencies around the internet to find out why they weren’t working right. But I got there eventually, and I thought posting this information could help someone else who just wants to add a menu bar, or wonders why none of his custom php works…