Realigning the Azimuth

Prototyping Giant Spaceships

Whilst I’m continuing to hunt contract work down – I’ve also been looking into some more of my own projects to hack on (to both kill time, and to potentially sell). One of those is a basic game prototype based on some ideas I’ve had lying around.

The basic idea is that you’re controlling a fighter (the blue block) and need to defend the giant spaceship (the white block) from the approaching enemies (the red blocks – yes there are multiple!).

I’m putting this out there mainly as a way to solicit some feedback from across the interwebs. I’m not the most original game designer out there, and I’m hoping by doing this, I can get some feedback on both whether this is viable (in particular for the iPhone, but even as a web game or something), and on where I could go with it – I have some of my own ideas, but I’m interested in what others have to say.

So, if you’re interested, download it – either for Windows or for Mac OS X.

Dark Side of DLC Pricing

The introduction of DLC with the most current console generation heralded an easier way for publishers to add additional content into their games. Whilst there have been some outstanding uses of this, in particular, the support given to Burnout Paradise by its developers, there were also a number of staggering misfires (the Oblivion Horse Armour pack stands as a classic example of this).

With the years of experience gained on the consoles, I would have expected a decent experience with releasing DLC for iPhone games (I’m unsure how many non-games apps are using DLC, but that’s because I’ve simply not examined that area in detail) since the release of OS 3.0 earlier this year. Even with the recent policy change to allow free applications to also have DLC, the way this has been treated by some publishers has been one of the earlier micro-transaction pain console gamers experienced.

I’ve always seen DLC as a means to provide additional content for a game to help maximise the life time of it in the marketplace, so seeing DLC available upon release of a title feels like a desperate cash grab. For me, this is only reinforced upon paying premium price for a what ends up being a tiny subset of a complete game.

To start seeing this trend in the App Store (although, these cases are in games from the same publisher), is one I find worrying. Is this a tactic being employed by publishers to attempt to reduce piracy (simply by ensuring that users who do pirate are unable to access all of the content)?

But even then, is this the right way of ensuring that users will purchase the additional content? If a user feels that they’ve not received a fair deal on the base game, then I wonder how likely they will be to purchase said content? I might be cynical, but I feel it isn’t that likely.

I guess there are two viable models – the first would be to mirror the model used for titles on Xbox Live Arcade. The complete package is downloaded for free, with only a small subset of the game playable. If a user enjoys the game, they can purchase the DLC which enables the full game for a reasonable price. Doing this can ensure that the so-called lite versions of games are no longer required in the App Store (which will help close down the flood of releases).

Another alternative would be to mirror the more traditional console game. Charge a fair price for the complete game, and offer smaller pieces as DLC. This would work more for traditional games, but would require the gamer to pay more up-front for a title, with smaller pieces of DLC.

As it stands, I feel that pricing games (and any associated content) is never going to be easy. Striking a balance between giving the gamer a fair amount of content for their dollar, and being able to provide a means of getting a return on the time & money you’ve put into your title is something which requires a lot of thought in my own opinion.

Ramping up the Torque (or prototyping with TGB)

A few months ago, I wrote a post on how I’d run into a bit of a dilemma in terms of what I wanted to do my indie games development with. I’d done a fair chunk with Microsoft’s XNA stack, but after losing my Windows box (a gaming laptop which had a video-hardware burnout), I needed to pick a new set of tools to work with.

Besides being cross-platform, I’m also after something which would allow me to get a prototype game up and running incredibly quickly. My first target was GarageGames’ Torque Game Builder (or TGB) – their 2D focused engine. My interest was peaked for two reasons in particular – the first being that it’s a GUI based tool, which helps reduce the amount of code necessary to get a small game up and running.

The second reason was a short course which covered using it for iPhone games development. Overall, the course was great – it helped plug in some of the larger holes one has when starting out (as reflected in some of the points I make later on), and after completing, I certainly learned a great deal and have a lot of fun building my prototype game – for which there’s some footage here. If its re-run next year, and you’ve got interest in that area, I’d recommend looking into it :)

The model TGB uses is a GUI editor which allows you to add objects (players, enemies, pick-ups or UI elements) onto a Scene (or Level), and do a significant amount of configuration by editing properties from the editor.

If you require more complex behaviour upon your entities (and you likely will), then you delve down into writing scripts with TorqueScript, a C-like scripting language which is processed at runtime

Sounds like a good combination? If you’re not from a coding background, then certainly. TorqueScript isn’t a big pain to deal with, and the model they’ve employed with the scripting means you don’t need to be a low-level coder to succeed. On the flip-side, if you have that low-level experience, you might feel incredibly restrained by what the scripting offers. Though I’m not an expert at game engine design, and of rather average competency as a developer, I admit there were times I felt limited by the scripting facilities, but wasn’t up to the level where I could work with the raw C++ code (which is available when buying the full engine) to improve things for myself.

I guess I’m wanting a bit more control on building a production game – I have some frustrations with the event/callback model which TGB relies upon. I find that the model makes it difficult to logically structure your code – in particular, due to how objects are added to the editor, you can’t setup a chain of prerequisites. If, at any stage you want to take advantage of publishing beyond the desktop environments, you need to be prepared to junk a lot of existing code for the sake of performance.

Which for me, is enough for me to question using it for a production project. As a prototyping tool, I’m totally sold (unless I want to make a 3D game) – TGB is an incredibly fast way to get something up for when I want to experiment with ideas, but for a more complex project, it’s not quite the way I want to work.

The Digital Distribution Summit

I had the opportunity to attend Film Victoria’s Digital Distribution Summit yesterday. The goal of the Summit was to highlight & address the slow shift in games distribution from the traditional retail model, into a model powered by digital downloads (such as the iPhone’s App Store, Xbox Live Arcade/Indie Games, Playstation Network & Wii/DSi Ware), hopefully giving Independent games developers the knowledge they need to be able to meet the challenges of publishing games in this new climate.

Overall the day was quite interesting – the main speakers provided a great variety of perspectives – covering the gamut from what an aspiring indie games developer should to in setting up their company, to what you need to be ware of when creating a pitch document for submitting a game to the console platforms (Xbox Live Arcade/PSN/WiiWare), as well as how best to be heard in a slowly crowding space.

For me personally – the biggest message I got from the day (at least in relation to my own work on getting Meteor Swarm out the door) is the importance on starting your marketing campaign as early as possible. This is something I’ve obviously not done well – I’ve pushed out trailers earlier on, but having been switching between working on that and Eventbook, I’ve not followed up with additional ones as time permitted.

The other thing I took away from the day was the importance of building community. Whilst I’ve been doing bits and pieces via my own Twitter account over the last few months of Meteor Swarm’s development (throwing screenshots of UI work for feedback in particular), I’ve actually not done a great deal to build a community around it.

On the flip side, it’s good to see those areas whilst I still have some time remaining on the project – aspects which I can finish off to ensure I have a better chance within the smaller Xbox Live Indie Games market. It also justifies some of my decisions – planning to release the PC version of the codebase as well, at least once I’ve completed the necessary UI tweaks and adjustments to make it more suited to the platform.

One thing I do have to say for the organisation of the event though – the fact that it was live streamed out for those who were unable to attend was a bonus, as this now means that the recorded video will be made available to download for everyone from the site in the near future. The best thing to do for now is to watch their site (or their Twitter feed) for when this will happen.

This does mean that it’s probably not worth me putting up my set of notes from the day up. If anyone is interested – best to leave a comment or drop me a line and I’ll see what I can do.

The n00b Game Developer's Dilemma

One of the ancillary things I’ve been doing lately (besides putting the finishing polish on Eventbook 2.0) is playing about with is getting a decent environment on my local Mac for doing quick prototypes of various random game ideas I have in my head.

In terms of game development… the closest thing to a native tongue for me is Microsoft’s XNA Game Studio stack, which I seriously enjoy working with – but a combination of my Windows laptop having a severe hardware failure, plus my Mac lacking the space to do a real Windows installation, mean it’s something I simply don’t have as much time to play with for now.

Of course, there’s also the I-don’t-have-a-satisfactory-startup-project-which-I-can-use-for-quick-sketches problem, which means there’s now the need to create a new project in Visual Studio by hand, configure my dependent libraries, and do whatever else it takes to have something I can use as a clean slate.

All of that is what drove me to looking for alternatives. Having something which is cross-platform means I’m able to run it from within OS X natively, which is important when you’re on the go.

There’s also the novice factor: without having had the experience of releasing any actual games yet (with my current project trapped out in development hell) there is no real way to know if the existing stack I have is satisfactory or not – or even how extensible it will be for future projects.

I guess at this stage, the best solution is to go and play around with what’s out there. I’ve spent some time this past week just doing that, and attempting to get to grips with a couple of simpler stacks for building 2D games.

My goals in doing this? Firstly being able to simply have more experience with doing games development. Generally what I’ve been working on for now has fallen into certain traps, and I’d love (as a developer) to be able to move on beyond those and play around with some more concepts.

Secondly, I want to be able to get a better understanding as to what is including in a decent framework, which I can then use as potential features in my own code for later projects.

I guess as a third goal, is simply to see how things are beyond the XNA camp. As much as I enjoy working with it, the ecosystem for XNA development is less rewarding. With Xbox Live Indie Games simply not available to purchase in Australia, combined with what I feel is an unfriendly situation for PC deployment makes me question how much of a commitment I want to have working on the platform.

Besides, it’s always good to have options regardless of the situation :)