Monday, 28 September 2009

First set of playtest changes made

Aah, how lovely to see you!  SPFT has been in playtest for about 4 days, and we had some good, useful feedback.  As a result, I've been polishing and fixing today, and I've got quite a lot done:


  • The game now starts with you docked at the station so you can find your bearings
  • The game also starts with a walkthrough of the computer systems.  Once you've been through this, you get your docking licence and can leave the station.  You then need to kill 5 hostiles to get your hyperspace licence.
  • NEW mission types enabled
  • The game initialisation and system generation is now multithreaded, so I can display a loading animation.  Nice!
  • The main menu is now fully SDTV-friendly.  Everything fits just nicely.
  • The direction finder arrow now fades out when your target is close to the aiming reticle.  This was a great idea from another community member and it took mere seconds to implement.  Looks great!
  • Library audio is now removed, only the music for the game is played, unless the user goes to the guide and chooses their own music, in which case the guide media player takes control.
  • When  you return to the main menu (when you either die, exit via the pause menu, or leave the handbook), the menu now responds correctly.
Not bad for a day's work.  I have a few more tweaks to make tomorrow, but for now I'm off to playtest and peer review a couple of games which I like the sound of.  There are interesting things going on over at XNA HQ just now - following the release of a few really shitty "video screen savers" which didn't have a trial mode, MS has ruled that having a trial is essential, and this kind of app is not suitable for the channel.  Joy of joys, this is a great decision by Microsoft.  It will really tighten the screw on these opportunist, lazy, unimaginative developers who seem to plague Indie Games.  People are starting to catch on to the idea that if you hate a game you can simply refuse to pass it.  If a game is in peer review for around 30 days and hasn't passed, it fails automatically.  This may be tough on people who have multi-language games in review, but the plus side is that that piles of shit we've seen get through will have a much harder time if too few reviewers look at them within the 30 day limit.  I'm all for it.

I have a deep contempt for these script kiddies who wander over to the XNA site, join up, nail a "game" together and then plot it directly into peer review, having made exactly 0 posts to the community forums.  I know I'm not the perfect community member, I don't test or review anywhere near enough and I should engage in the forums more than I do, but everyone's life is made harder by having ill-conceived, poorly executed and badly tested games getting through to release.  

Good games have a harder time getting noticed, the channel's reputation takes more hits from a bad game than it gets plus points for good ones, and people who have genuinely worked hard to create interesting, playable and RELIABLE games get thoroughly pissed off.  I don't expect this new guidance from MS regarding video apps and trial-free apps to change the world overnight, but it's certainly a step in the right direction.  Now I like the idea of having lots of freedom to write and publish all kinds of weird ideas to the Xbox marketplace,  and so do lots of other devs.  But people developing product for the channel must have awareness of the impact of their product on everyone else who's trying to ship units and make their dev costs back - never mind make enough to go full-time pro.  I'm not saying that anyone owes me anything, or that it's impossible to have a hit on Indie Games (IMAGWZ has been a runaway sucess for example) but the task is made all the more difficult by having to compete with 1,001 sex toy slide-show breakout tower defence clones.  One cause of this glut of shite is the assumption from devs that if you've got even close to writing something which looks roughly like a game, you HAVE to publish it.  I've got 6 or 7 projects which are playable, but I've not put them to market or even playtest because they're either not good enough or I didn't have the time, energy or imagination to take them to the next step of being a good, playable, enjoyable, robust gaming experience.  Some of the absolute arse which has seeped out onto the marketplace channel are cringeworthy and I just can't imagine being so immune self-criticism and pride that I could think of letting other people see them.  

So I'm going to go and playtest a few titles, and I'll tell you all about them.  See you in a bit...


Tuesday, 22 September 2009

Ooh la la, boxart!


Charlotta finished the game boxart today. We're now working on the ship handbook (well, she is anyway, I'm working on a new mission type and writing this and generally wasting time) so when this batch of work is done (tomorrow PM I expect) we'll be off to play test. So I'd better find some time to start looking at other people's work too.


Only days to go now...

Firstly, a great big birthday kiss to Elite - the game is 25 years old today. Only a stone could have failed to notice the influence Elite has had on me, and on Space Pirates in particular. One of only a handful of genuinely ground-breaking games, Elite's popularity has endured through the years, to the point where many folk download emulators just to play this one game. The controls are tough, there are bugs, and seeing what's going on can be a nightmare, but please give it a go, even if it's only to say you have.

And now on to the news. We're only days away from first play test now - the front end menu is finally looking like the front of a game rather than a tech demo, which is nice. Here are some screen shots, which also show some of the new models that are in the game. I did dun them myself!




Here's a fun little ship, called The Turtle. This is a little more nimble than the old "default" enemy ship (which is still in the game), but it's collision profile in a dogfight is slightly bigger. Looks great in deep space when you strafe it with combat lasers.


I was starting to think I wouldn't be able to make chunky ships that looked OK as well as tipping a nod to some of the older 3D games which have inspired Space Pirates, and then The Tub came along. Just a load of old trapezoids and a funky metallic, retro texture and there you have it.
Aah, The Wasp. Very vast and nimble, it can speed past you in a dogfight and is the toughest of the enemies to hit. Another great fun model, and the glowing eyes look nice in the rear-view camera as it buzzes toward you.
Watch out, it's the rozzers! I really REALLY like this model. It's simple, looks great blasting pirates away, and looks businesslike. No messing from these guys. In, bang, out. The police don't carry missiles, and you can't lock missiles on them, so if you get in trouble it's a pretty even match. They're good shots too.

So that's the main menu almost done. I've added a music management game component which interrogates all available music libraries on the players 360 as well as the in-game music, so in-game you can have any combination of available tunes - game, xbox hard drive, and media connect. This will be a configurable option by this time tomorrow which loads pre-menu so you can even choose not to have the nice, gentle looping menu chord sequence (lifted from the main theme). When you're in free space the track details are shown on-screen in top right. Even album art works if you've got it in your library!

Charlotta's working on the box art, and the logo for that will also appear on the menu screen. That aside I've got to get the how-to-play screens, ship handbook and upgrade info screens knocked together and we're good to go to test. And that means also starting the PR push for the game. Gulp.

Anyways it's twenty past one in the morning and I promised myself I wouldn't have a late one tonight, so off I go, up the wooden hill...


Tuesday, 15 September 2009

But first, the news...

Shut the door old son, you're making one hell of a draught!

First really chilly day this side of the summer, and I'm sitting down in the code dungeon with a jumper on. Bummer. On the plus side though, I've got the email-based mission engine in and running and tested, along with some tweaks to the file save mechanism, and a few new models - 4 new ships and a new cargo crate model. A bit of variety in the enemy craft is a really nice addition, and each model has it's own handling characteristics. Lovely.

Anyway this is only a quick update tonight, I'm trying to fix my body clock so I'd better get off to bed soon. I've tidied up the enemy ship AI (thank the good lord for enumerators, they make logic tracing so much easier) and re-balanced the mission reward params so you don't get 500,000 a mission any more...mind you I saved a few games before I made that change, just for testing you understand ;0)

I've got some placeholder images for the "between systems" hyperspace transitions with handy hints and tips. Going to brief Charlotta tomorrow on these items, and give her some source images and text to work up in to pretty slides. Size in this instance doesn't matter because the slides are smart-scaled for the output resolution, so they'll look the same size for SDTV, HDTV and the various VGA modes the Xbox supports. Everything does that now, and I've run numerous tests with the many monitors, TVs and projectors lying about Mistry Towers. You can happily play the game for hours, jumping around between systems and switching between trade, combat and missions. Just what we wanted.

Irritatingly (for me), I'd forgotten all about awardments. These are like Achievements in AAA and LIVE! Arcade games, but don't reflect on the players Gamerscore or anything (due to the limitations on the XNA framework - we don't have access to those areas of the Xbox API). I'll add an engine tomorrow which awards "medals" for kills, missions, system visits, rank advances and so on, and you'll be able to see your achievements on the status and (soon-to-be-added) peer-to-peer scoreboard. The network code is solidifying in my mind as we speak and will be in and working for the weekend. Honest guv'nor!

Anyway as I said this is just a quick post, no images tonight. I'll post some of the new ships tomorrow when I take a break.

Pip pip!

Saturday, 5 September 2009

Inattantive dev says sorry for lack of updates

Yea, I'm sorry. I've been up to my nostrils here, and struggling against some coder's block which struck for a few days. I think I'm more or less over it now though, and we've made some amazing progress. Considering the dev time so far, this is insane. The feature list now runs as follows:

AI ships (including police and racers) working correctly, enemy weapons balanced to allow a chance of a good fight player vs AI, and AI vs AI;

Market dynamics working correctly according to system tech and shipping levels;

The generated starsystems are totally stable, and once they are created on first execution they're saved to a file. Subsequent runs use the file rather than regenerating the whole sector;

The player has 5 save and load slots which work beautifuly (thanks to Nick Gravlyn's EasyStorage, available on CodePlex);

Taxi, courier and hit missions now work well (execpt that the time limits get screwed on file load but this is a short fix which should be done tonight);

Maps all working well, including a new map mode showing the destination on missions;

Collision detection getting better - still needs a little tweak but almost there;

Upgrades 90% complete - just the cloaking device to do but that's easy as pie;

Flight controls now bedded in and easy to get to grips with.

There's only 2 elements left to code - additional email based missions and network play. Most of the hard work for netplay has been done by choosing the right structures and behaviours early on. The missions are going to be a bit more of a challenge, since they form such an important part of the game. Actually dropping the code in is maybe 2 days work, but getting the variables right so that the game flows right will take a bit longer. Once these two features are in, we're off to peer review for a few weeks to see what people think of it so far. Here's a little sneaky-do at the game as it stands...


Aaaah, homing missiles. They look great with the blue plasma particle system. Something you can't see in this shot is the extensive colour interpolation on the panel icons and crosshair - they now crossfade gently between colours rather than hard switching. Looks great.
This is a test of a new space station model we're working on. It's a little more elegant than the old version, but still needs more work and texturing. This is all coming later, during playtest though, along with other ship models.
Here's the mission map. As your ranking increases, so does the distance involved with the taxi and courier missions. Pretty soon the standard nav map is too small to see where you're going, and the long-range map doesn't have system names on it. This screen shows your current system (yellow) and target system (red) for the selected job. I'll put in trip distance and fuel costs in the lower panel tomorrow or monday.
This is the mission screen, with Char's new icon(s). They need slight realignment but they layout of all the windows is very nearly done now.
Save and load baby, save and load! The date and time will be centered up in the next polish session. Nice and fast, and she hasn't crashed despite my best efforts.

So, things are moving on at the normal breakneck speed and we're getting closer and closer to a game that's ready for playtesting. I really want to be crashproof before we go that far, so that I can focus on gameplay tweaks rather than code revisions and bug chases and thus far we're going OK. All the list management is "IndexOutOfRange"-proofed, we're running at a pretty constant 30 frames/sec during spaceflight, hyperspace is working very very nicely, and now we just need to tie up all the upgrades and menus with really tasty missions and add "awardments" for kills (shield and engine boosts, extra cash rewards and so on).

Something else that's going to come with the lull during playtest is music, more sound effects and the space station radio stations. A few years ago I wrote and performed 4 hours of radio comedy, which included quite a few parody adverts so I'm going to write maybe 30 or 40 of them to drop between tunes when you're docked. During testing I spend about 4 or 5 minutes docked in a system, so you'll only hear maybe one or two per system. Really looking forward to doing those and getting away from the code for a little while!