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!

Friday, 14 August 2009

A short intermission...

I did say I would have to write a general introduction to Space Pirates, and here we go with it now.

In some far-distant future, in some far-distant part of the galaxy, life bumbles along and makes a mess of things, just like it does here and now. But through progress, development and carefully nurtured rage, lifekind is now equipped with spaceships, orbital trading outposts, and enough weaponary to vaporize the sector 4 times over. You find youself thrust into this exotic and dangerous life when your Great Uncle dies during "trade negotiations" and leaves you a new ship, 1,000 Credits and the oppertunity to spend it as you will. The game begins as you're beamed aboard your new ship in your home star system.

So what are you to do? Well, there are lots of things you can do to earn a little cash for life's finder things. You can become a trader by visiting space stations, buying and selling commodities and zooming off to other systems to buy and sell more, taking advantage of different prices in different systems. You can also engage in combat, and for three reasons: You get bounty for every "hostile" ship you destroy which can add up to thousands of credits in each system. You also get "reputation" points and additions to your legal record for kills. For killing hostiles the law will support you - giving you awards for bumping off a number of pirates - but for destroying other traders or police ships you get punished but you also gain the oppertunity to work for the criminal underworld. Finally, when you destroy a ship, it's cargo is released into space and you can scoop it up in your ship, fly off, and sell it. Nice!

Besides trading and fighting, there are other profitable activities. You can buy a pack of 4 mining droids, and deploy them in space. They'll fly to the nearest asteroid and mine it, ejecting pre-packed crates of ore or heavy elements which you then capture in your ship and sell on. This is profitable but risky - you'll almost certainly be attacked, and other ships will try to grab your crates. Being a fun part of the universe, each star system also features a challenging race around the system against other ships, with 1,000 credits to the winner - with a bonus of 250 credits for each competitor you dispatch on your way round!

There are also a large number (well, an infinite amount in fact) of jobs and missions to try. You can taxi people between star systems, act as a courier for "special" cargo, or turn hitman for the local law enforcement or criminal underground. There are other more complex missions too, such as kidnapping specific people from specific ships and delivering them somewhere, stealing cargo from ships in flight without destroying their ships (using a short-range teleport upgrade, onyl 35,000 credits!), sabotaging shipyards and space stations, and all sorts of other nonsense. Completing missions also boosts your rep. The higher your rep, the bigger and richer the missions available to you.

Finally, there's a military and political element to the game. Each star system is either neutral, or part of one of the three political groups in the sector - The Empire, The Commonwealth and The Collective. These three forces occupy large, contiguous areas of the galaxy and there are numourous battles on the frontiers between them. You can fight as a mercenary in these actions, for huge reward (including a cut of spacestation profit at specific systems, which you collect when you dock at the right station). These battles will be huge, with dreadnaughts and battleships broadsiding eachother, small fighters scrapping in squadrens, and you flitting around with some tasty weaponary (a railgun, proximity mines, and an awe-inspiring Plasma Shroud which spreads over a huge distance, destroying everything in it's path) taking out the enemy. Your influence could lead to one side gaining dominance over the sector, which would mean riches and power beyound your wildest dreams. Or you could encourage chaos in the sector, keeping prices high while war rages on.

Throughout the game, you develop relationships and contacts with other characters, who can help you if you help them - go a good job for the local mobster, and he'll give you information about valuable shipments which may be worth "investigating". Deliver a package for your Great Uncle's laywers and they'll see that you legal status is just the way you want it. This is acheived using you on-board computer which includes an email system, as well as navigation, trading, upgrading and mission functions.

All of this happens in a huge area, featuring more than 4,000 star systems. Your final objective is to gain the highest reputation - and highest or lowest legal status. When this mighty challenge is met, you get 1,000,000 of your finest credits, which opens up the possibility of buying a bigger ship, and warping into an entirely new sector to start all over again...

As things stand at the moment, I think we're about a month away from the first full beta test, which will be carried out on the XNA Creator's Club website. I've got all of the free-space functions up and running solidly (enemy ships, mining, races, hyperspace, combat) and I'm working on the last of the shipboard upgrades (a rail gun, cloaking device and the plasma shroud) and then we're on to the mission engine. That'll be followed by the "war engine" which will manage the tactical swings and battlegrounds. At that point we enable network play, iron out any problems with it, add the options screen and music, and we're good for testing. Doesn't sound like much when I put it like that ;0)

Well, the troublesome software install I was doing on my main dev machine is finished, so I suppose I'd better crack on with this rail gun! I'm looking forward to blowing up some asteroids with it, should be a laugh! mmmmWahaha!

Wednesday, 12 August 2009

Oh my my my, now we're getting pretty close to something like a game old man...

An excellent few days, yet again, and rock solid progress is being made. Where to begin? I'll go in the order that the uploader put my photos - back to front, which is nice.
This bizarre looking screen is the player going into hyperspace. Yep, you heard it right, you can now hyperspace between systems. All 4,000 of them. Enemy ships can also hyperspace out, once they've docked and fueled up. They also sell and buy when they're docked. It's ace. The market moves as they buy and sell, which is just the way we like it. Speaking of trading, the markets are now procedurally adjusted to reflect the technical capability of the system.
Here goes some fella off into hyperspace. Just about kept pace with him. The "warp bubble" effect isn't quite bang on in this image, because I was fiddling with scale matrices trying to get the bubble to deform, like a drifting large soap bubble. I decided I wanted to keep that effect for the plasma shroud effect, so I just need to reset the scale factor to...ohh, I'd say 40ish.
This might look like a dull shot at first, but let me explain. The green arrow in the middle of the screen is pointing directly at the space station. If it were behind me rather than in front, the arrow would be red. Also, if I don't have a station license it won't show up at all, unless I'm in race mode. Not only that but you can toggle it by clicking the left thumbstick. This funky little addition has made flying about 75% simpler and more enjoyable. Good tweak that. I'd been planning to do the colourswap for a while, but I was getting sick of the damned thing getting in the way myself, so I just chucked a simple toggle into the controls code.
Again you may not be too impressed with this screen. But note the new background style. That there skybox, full of galaxies, nebulae and stars is rendered IN GAME from a library of astronomical images, some from my own observatory and some from the Hubble archive. The smaller areas of colour, and more regular small "signpost" images makes complex moves in dogfights much less tough. Now you can really get a grip on how fast and far you've looped round looking for the attacking enemy, or cargo, or whatever.
Finally, the navigation screen. Tomorrow I'm plopping the code in for System Data (a proc-gen potted history of the system), Large Map (showing the entire sector, where you are, where you're going and where you've been before. When this goes live we'll really start to see the scale of the game. I know already how big it is, but I've only seen areas about 20 LY square, which is 1/10,000th of the game, or something around there. And there's every chance that we'll increase the number of systems to around 10,000 in the final build. Blammo! Not sure about that background image - I may use that for the large map and just have a grid system for the main map. The position of any tracking limpets you've deployed will also appear on this screen, telling you what system the enemy is in, how much swag and cash they have and other mission specific details.

Today has largely been a day of tidying up code, improving AI behaviour, cleaning up the nav screen and making sure it all fits on a standard def TV. It does. I've also changed the "blip" colours to make them stand out a little better, although this still needs a little work to make sure we get the right colours. The system name generator is working admirably, as is every other aspect of the sector/system generators. A new type was added to the particle system today too - a nice blue plasma ball effect. I'll add another (green) one for the railgun I'm going to code this week too, which means running collision detection on asteroids because you'll be able to blow the living pooh out of 'em with a railgun. Tasty.

The basic "fly, fight and trade" stuff is pretty much there except the more advanced powerups. Once they're done it's on to the mission engine, which means also adding the following:

"Reply" to an email, asking for work or help;
Military powers distributed through the systems, with frontier systems being very active and violent and having shifting "rulers";

Large-scale battles in frontier systems, which of course you'll be involved with once your ranking is high enough.

Semi-permanent enemy ships, which "stay alive" in other systems;

Once those are in, then the missions can begin. Taxi, courier, hit, meet, hijack, kidnap, harrier, incursion and battle are the main mission types, some of which will be random, some character-driven and some market and battle driven.

I think I might have to implement the game save and load stuff tomorrow too, but that's no great hardship. The same display code as the markets and upgrades will be used to show saved games and free slots (limit of 8 I think), you can mark one as "autosave and load" so that your current game-in-progress file is loaded at game start if you like.

Away from the coding work, Char's making great progress with the alien character graphics and I've written another 2 tunes - one for a gameplay trailer (a weird, 1980s take on The Impossible Dream with a vocoder) and a "Pirate Theme" which is another Kraftwerk pastiche which might replace the existing theme tune, "Fortitude" - but that'll be used somewhere anyway. The idea of a programmatic sound engine is on hold at the moment, mainly because I have to draw the line somewhere ;0)

I must get round to writing a proper intro to the game...

Thursday, 6 August 2009

Splash and Dash!

Say ooh, la la, c'est something, come on!

Been beavering away over the last few days, as has my good lady wifey wife Charlotta. She's been working on icons and onion-skin alien characters, and I've been working on setting up multiple star systems and the navigation screen. Now what I've got so far is a procedural system generation engine, and I can build as many systems as will fit into memory. Right now I'm running with 3,000 systems, all with unique names and characteristics.

You can zoom and move a pointer around, and the system info below the map is updated to show the info for the system cloest to the pointer. I had a bit of a turn when coding the goverment types, and we've ended up with "Jelly Republic", "Rock-paper-scissors", "Cage Fighting" and "Shouting" on the list. It's nice to be able to start adding the real fun stuff in now ;0) I just have a few more little info items to code in, then we'll be good to allow the user to select a system, fuel up and hyperspace out. I'm paricularly looking forward to writing the shader for the hyperspace transitions - it's going to be very cool indeed. Should be glued in for next week. Once the multisystem code is in place, it'll be time to work on the mission engine. Given how well all the other engines are going, I don't think it'll be too tough.

Races are completed, and have been pretty well tested. This led to an enemy AI tweak which has really brought them in to the game more, and they're pretty much ready to be allowed to dock and trade in their own right. That'll be fun, to see the market volumes change when someone else docks.

Char's icons are now also in the shipyard menu, and they add real character to the game. I've seen the alien stuff she's working on and it's absolutely perfect for the feel I'm going for. I've been thinking about new ship designs, leaning more towards Loonie Tunes and Futurama than 2001, Alien or Star Wars - much more slapstick, cartoony and "fun" than lumps of shiny metal. Char's icon for the fuel tank extension - a ship flying atop a huge SRB-like rocket - really clicked all this into place for me. Anyway better post off and go now, got to go play poker with the boyos. When I get back tonight I'll post some images and tell you about the plans for the first gameplay trailer...

Monday, 3 August 2009

Shady Tree and his Acorns

"Shady Tree, we just adored your act!" Yup, I've spent the evening (and early morning) working on some fun new shaders for the game. Firstly, I was really unhappy with the state of the central star. The glare was too heavy, and there was no texturing at all. This was mainly due to the fact that I was dreading writing a shader for it, with all kinds of funky plumes and glow and all sorts and I had no idea where to start. Happily, as usual, I'm not the first person to come up against this particular shader challenge. Following a little research, I decided on the following approach:
Make a nice "main" sun texture, which will form the basis of the rest of our texture work. This will be used as a) the texture for the raw sphere of the star, and b) the colour map for a shader-rendered texture which takes a new alpha channel from 2 other texture files. Basically all three textures are clouds or difference clouds from Photoshop, the alpha textures getting some level tweaks. Render the main sphere, with just the "vanilla" texture, followed by the 2 rendered textures which are rotated indepentently round 2 axis. These form structured, semi-transparent shells around the main sphere. All this is rendered to a 2D texture, which I when put a very subtle bloom post effect on. Not too heavy, because this gives us a lovely, cartoony sun:

These two are from this evening's build. This has really added something nice to the game, and is well in keeping with the appearance of the planets and other ships. Great fun.
Having dealt with the sun, I wondered if something similar would be good for shield "hit" effects, so I knocked together 3 more textures, this time in blue and with finer detail in the alpha source images. It's pretty tough to capture an image of this effect, becuase you're normally mid-dogfight. To get this one I had to go buy a rear-mounted laser and keep the enemy just behind me while firing. Eventually I got his number.The effect leaps into life and then cools down smoothly, the alpha levels slowly dropping. The alpha layers also revolve in this version of the effect, but much faster than the ones on the sun. A really nice, simple, quick shader which has solved two problems I'd been worrying about for ages. It looks great in standard def, and amazing in high-def. The bloom is a little lower for this one too. Sorry about the state of the skybox background - I seem to have forgotten what order the faces go on the cube :0\
No major changes to the onboard computer code, but I have recoded the police ships in to their own class, and improved the missile launch AI of the enemies. Had some massive scraps this evening - the gameplay balance is getting tighter and tighter. Soon it'll be a perfect fit :0)
Anyways, away to bed - it's half three in the morning man! Chop chop!

Thursday, 23 July 2009

Breakneck speeds!

Holy oilcans, another cracking day of progress. The shipyard menu code is more or less done, I've added a fun new effect for player taking damage - the screen shakes, fuzzes up and goes red. It's a really simple little tweak of the motion blur postpro from the old version of the game and the impact of the effect is lovely. If you're viewing the on board menus at the time, the screen goes crazy!
The control icons on the shield panel have been re-ordered, and I'm going to make them multi-function tomorrow. More details on the control model soon - it's almost finalised and in-flight is fantastically smooth, even on a standard def TV.
Some optimisation also done today, and we can now run 50 enemy ships with only occasional slowdowns when there's a lot of cargo crates knocking about, and this now means it's a real struggle to just wander about without getting attacked. Knocking enemies off is doable, but you really need to lean on your missiles. When I knock the power ups down to every third kill, it'll be quite a challenge in the busier systems. Suffice to say I'm really happy with the speed the game runs at - it gives me confidence when considering processing non-local enemies and markets in real time. Finally, the market screen now shows the total value of each type of cargo you have in your hold.

The game is so playable, the UI is coming along so quickly and hangs together beautifully and - amazingly - the packaged game is LESS THAN 7 MB IN SIZE. That's right. Less than 7 meg. I've got a tonne of PNGs for the HUD, and it's only about 5 floppies worth of stuff. I'm going to have so much room for music, and maybe even some video! Speaking of music, I've started to get the old muse tickling the back of my neck, and I'm going to set aside a couple of days next week to start on the music. I'm thinking of doing a programmatic sound engine, which reacts to your ships speed, laser fire, impacts and maneuvers. I wonder in fact if I could use all of the user input and game telemetry to drive music, so that the soundtrack is unique in your current play situation. The velocity of the ship could control the density of drums and bass line, laser fire controls a guitar riff, missiles flying around trigger an arpeggio, explosions introduce percussion breaks...now that's something to think about...

Anyway, must stop getting sidetracked like that. This is always the problem when I'm in top gear. I have so much mental energy, and my body can't keep up, and everything seems all bright and shiny and interesting. I'm not posting images today, but I'll have a load of them tomorrow, when I'll go through all the features so far.

Wednesday, 22 July 2009

Galloping code-chimp strikes again!

My name is DrMistry, and I'm going to show you something nice this evening. Something that's only taken me and my good wife two days to add in to the game. It's the menu system for the game and we're really motoring on it now! The same menus are used for both the "shipboard" computer and "trading station" modes - the only difference is that some activities can't be done in free-space, like trading and buying upgrades. If you're floating around then you can see all the prices and stock levels, and you'll even be able to set your hyperspace destination and, if you have enough fuel, be on your way. Important for missions later in the game :0)


But let's have a little recap before I introduce the menus. I've finally got round to adding police to the mix, and I've rebalanced the enemy behaviours so that there is pressure on the player to fight but you can actually catch and kill those gunning for you. That's pretty vital to the game being playable, and I've already got everything in place for different systems to have different levels of traders, pirates and police while maintaining good combat levels. The police get called in when a "non-hostile" ship is taken down - they fly in from a random position, hunt the perpitrator down, and when the job is done they fly back to the space station to stock up on missiles. Nice stuff. We're running at 25 enemies at the moment, and that's pretty playable. Sadly I'm going to have to turn off the missile screens (or at least find a faster way to draw them) because the framerate drops too low when they're active. Shame, but if it means I can reliably have 30 or 40 enemies on the rampage at the same time, it's a price worth paying. But I'll try and speed up the missile screen draws, and in fact eveything's up for optimisation when all the menus are complete and before we go multi-system. I'm also still at a loss as to wha to do about the shield effects, but that's for another day ;0) Let's move on to things that are working eh?


This is a look at the Ship's Log screen, which is accessed via the main status screen (i.e. the first tab) by pressing X. You'll also be abled to view the ship's handbook when I've written Charlotta a brief and given her the assets to use. You can scroll up and down the list in the log using left stick, and the details of the event are shown below the list, a la your favorite email client. Very navigable.

This is the Messages screen. At the start of the game there are 5 messages in the player's inbox - one from your Great Uncle's lawyers explaining what the hell is going on (you've inherited a ship and a little cash, you can do what you want with them but if you make it to either Public Enemy Number 1 status or Enforcer status, with the maximum Arch-Privateer ranking, you get another 1,000,000 credits. Nice. Anyway, you can mark messages as read or unread, delete them, and (soon you'll be able to) reply to a message with set messages, so you can ask the lawyers for help if your legal status is going the wrong way and you need to clear your record, or ask local heavies for work, or any number of things I haven't yet thought of. VERY nice.


Here's the main status screen, seen at the start of the game.


And here's the meat of the thing thus far - the market screen. This is in Freespace mode, so you can't trade, but you can see what's what. There's a list of 15 items to trade, you can pick all of them bar one (mission cargo) up from combat, and you can make a massive amount of money from this part of the game. Each commodity has an icon, furnished by my locely wife, which is displayed along with a little description of the item and hints on who buys and sells at the best rates. You will be able to "map" the commods to systems in the navigation chart to boost your chances of making a profit. At later stages in the game, when you gain contacts in various systems, you'll be sent info on big price shifts. This is one thing I always thought was missing from that classic game Dope Wars.So the last couple of days have been massively productive. We're rapidly approaching the point where the game is ready for playtesting - recon it'll be about 2 weeks should do us, certainly for trading, fighting and hyperspacing. Missions are obviously going to take a lot of work, because I want them engined rather than hard coded, so there's always something to be getting on with. That means lots and lots of thought and testing - but luckily the hit, taxi and courier missions can be lifted from ye olde version of the game, because it worked really nicely. Almost everything in the game is bug free - I just need to track a problem with solar system creation which causes some instability (LocalPlayer.Position goes NaN because of some bizzare gravity problem) I think it's probably a combination of large mass and large radius for some planets. That aside, things are really rocking on!



Monday, 20 July 2009

Get the message?

Hullo my old fruit! Check MY moves! A solid day of coding today (well, evening anyway) has delivered up the message screen and engine. It's not graphically 100% yet, but I'm not going to over-dress things. The status screen looks nice and crisp (even if the text positioning needs a little shove) and I want to keep things as clean and clear as possible. I've also added a new ship model - a heavy freighter. I intend to revisit all the models once the game logic is complete, and in fact all of the visuals will be retouched and improved once the frame of the game is complete, but it's playing like a dream so far. With the Docking License thing added, there's a real motivation to get blasting, and the status screen now shows how many kills were legal and how many were murders. This is vital when you're concentrating on your legal status and ranking levels and it's really nice that things are starting to hang together. I've got the messages nailed much quicker than I thought, so tomorrow we start the "creative meetings" for the game, where Charlotte and I start working together on the visual elements of the game. I'm going to need lots of graphics for commodities, ship upgrades, missions, and the sector map. From a code perspective, I honestly will get the police and races in tomorrow...honest!





A few screenshots from the latest build:



Sunday, 19 July 2009

Getting deeper...

Phew-wah, here comes the main course! Following a few days away, I'm back on the treadmill and today has been slow progress but rewarding. The menu system is now well and truely under way - you can access it in freespace by selecting either the Home or Messages icon using the right thumbstick. All 8 tabs are in place, but only the Status tab is populated. I'm going to work my way through them in order, which means the Messages tab is next.

When you kill a ship, your kills, legal status and ranking are altered. When your legal status improves from 'lawful citizen' to 'collaberator' you get granted a docking license. the player gets sent a message to that effect, which will be viewable on the message tab. You also get police warnings, race notifications, major news events,mission info and a little fun spam too. The main message handlers won't take long to write, but the UI will take some serious work. I think it'll be done by stumps on tuesday.

I've made another round of tweaks, and improved the HUD, as well as coding in some sound fx for powerups and target locks. In short, it's going very nicely indeed...i still need to make some decisions about shaders and shield impacts, but that's going to come later. AI is behaving nicely and the flow of gameplay is coming together nicely.

Anyway it's sickeningly late, so time for sleeps...

Monday, 6 July 2009

And another monday rolls around...

I've had a lovely, relaxing weekend away from the keyboard. I haven't checked my mail, I haven't written any code, I haven't watched XNA Roundup. I've just powered the laptop up to listen to something on Spotify and to quickly post what I'll be working on this week.

I've been toying with the idea of having some semi-random radio transmissions throughout the game. I was watching a documentary about the Apollo program last week, and some of the chatter when there wasn't much in the way of mission work going on is abolutely hilarious. Not intentionally for the most part, but if you take them out of context there are some absolute jewels in there. I'm not thinking of just ripping released NASA audio - that's just not right - but just jotting down 4 or 5 word phrases when they occur to me and fiddle them in some nice audio software I have knocking around (Spectrum Lab if anyone knows it, the radio technicians freind). But that's just a side idea.

The main dish tomorrow is going to be Law Enforcement. This will end up being an important part of the game as we move toward multiple star systems, reputation, smuggling contraband and even in missions. Basically, the local fuzz will react to the firing of missiles against ships which are not attacking the ship which fired them, laser impacts, and arming missiles within the orbit of the local space station. They will be based IN the station, and have VERY fast ships. They'll mostly come in ones and twos, but since systems all have their own "law strength" variable this will be different in some systems. If you're a bad chap, and they catch up with you, there are a few things that can happen:
You can outrun them (maybe, if you're light on cargo), you can be stopped (in a tractor beam) and fined or have cargo conviscated, you can try and shoot them up but if you fail, they will track you down and kill you. That I expect to take most of tomorrow. I'm away on Tuesday so I need to get a crack on with it. I'm also away most of next week, so the pressure's on to get a few other things done too. This break wasn't really planned, so everything's going to slip a week.

The other things on the list for the week are fleshing out the Pause/in-flight computer, giving enemy ships the ability to fire on the player, and sorting out the atmosphere colours on the planets. The gas giants are currently a horrible yellow (a bit of a failed experiment to be honest) and I want to add a sea "shine" to the water planets, finalise the enemy ship shield effects, and finish the HUD. I might also start on programmatic free-space skybox textures, but that's going to be a big job I think. The enemy Ai is pretty much done, the missile cameras need a couple of hours of testing, laser collisions are just how I want them, and the flight controls are lovely.

Well, it's half one in the morning, and I've got a lot to get on with tomorrow. Hopefully I'll have something nice to show you by then.

Friday, 3 July 2009

Holy cow, who wrote that?

Hot momma, things are going amazingly well over here. I'm still ploughing on with the space-bourne part of the game at the moment - I've just spent an hour putting 4 pic-in-pic displays in for your missiles - you get to watch them hurtling toward the enemy, swinging around and generally behaving like homing missiles. It looks really great.


See the lovely screen there, on the right? About 1/4 of a second after I took the frame, the missile hit and there was a real free-for-all, resulting in many many deaths. I would feel bad, but it's only code. I'm not really a god.

It'll need a little gentle "teasing" into position so it fits on stadard def TVs, but this was really a "proof of concept" thing so I'm really glad it fit in so snugly -and no significant drop in frame rate. Amazing. I've managed to have 3 out of 4 missiles flying at the same time and it looks incredible. Tomorrow I'm moving the cash and cargo indicators so they're above the HUD panels (cash on the left, cargo on the right) and they'll do *something* when the totals change -some funky transitional thing. The space station is in place, and I also put a pause button and some new (placeholder) sound effects in today. And improving laser collisions, making attacking enemies flash on the HUD along with powerups and missiles and making the AI guys powerup aware and able to fire missiles at eachother. Once everything's in it's right place I'm going to add an "awardments" engine, for things like "kill 10 in 5 minutes", "kill 50 enemies", "capture 100 items of cargo" and blah blah, which means adding a save feature. I'll chuck it on the pause menu which, incidently, is going to double as access to the shipboard computer, which will let you save/load, restart, view your cargo and weapons status, kills, cash, ranking, achievements, activate other HUD features (navigation arrows for targets and space station) and (gasp) activate races. I'm looking forward to doing the race engine, that's going to be a great laugh and a lot of the checkpoint and route methods will be reusable for the mission engine. So things are going very, very nicely. It makes me wonder why Carrum took so long ;0)


Spit spot!



Tuesday, 30 June 2009

Woof woof!

Well well well, we now have a powerup system in place. Currently, every kill results not only in the ship's actual cargo being released so you can chase it down and capture it, but also in a special "powerup" crate, which is lit in yellow (the normal cargo has red, green and blue lighting) and labled on the HUD as "POWER UP". When you capture it (i.e. fly into it) you get given a powerup. You can hold more than one powerup - they're displayed at the top of the screen, and by moving left and right with the D-Pad, you select the one you want to use. Pressing B then activates it. There are three powerups: Laser Boost, Missile Restock and Cargo Teleport. Laserboost gives you two lasers each shot - from either side of your ship - and you can really cut through swarms of enemies with it. It only lasts for 60 seconds though (HA! 60! It'll be less than that soon enough!). The teleport is great - every floating but of cargo within 50k of your ship gets beamed into your hold - including powerups. Funtastic! Here's a couple of shots from tonight's build.
Nice little planet. I've got some very high poly count spheres in the game now. Don't think they need to be any rounder! The atmos glow looks great there - I'm drawing it in alphablend mode so the "night side" atmosphere is transparent. Not realistic, but it looks good.
Big ol' fight going on here, which I started. You can really get stuck in to these dogfights now, and the payback makes the hard work well worth it. Takes about 30 seconds to shoot the first ship down, but then you get on the powerup treadmill and they start falling like ninepins!
Here's the powerup display. If there were more than one, then the "active" one would have the red border. The HUD text (top left) is working nicely too - I toyed with the idea of a "screen" graphic but I'm glad I didn't. There are a couple of lighting/FX things to tidy, and I need Charlotte to do some "real" graphics for the powerups and shield map, but I think by the end of the week I'll be ready to add the trading engine...and that's where the fun really begins!

G'night!

Saturday, 27 June 2009

Well behaved aliens a must

Pah, impudent things, flying thither and yon on a whim! I'll have 'em under the yolk by God! And i almost have already. I re-wrote the AI routines for the enemy ships today, with the happy result that they are pretty accurate with lasers but can be chased down or avoided without having to jump through too many hoops. There's a little weird rotational problem sometimes but I should get that licked over the weekend. They fight over cargo, which is nice.

Also in now are commodity classifications, with 13 tradables, and two special types for mission cargo and the soon-to-be-coded powerups. I can feel some fun splash graphics coming for that and some big sound effects. Which reminds me, I need to get an audio sample of my telescope motor drive, it's the perfect sound for a missile reload.

No images tonight since I'm already in bed and I'm emailing this one in...I'll try to post a longer update, with pictures, tomorrow. Chin chin!

Friday, 26 June 2009

And finally...

Just a quick pre-bed post. Poker was a great laugh but I played like a disadvantaged pigeon as usual. Ho hum. But the guys spent about 10 minutes fiddling with the game, and as a result we now have a yaw control on the bumper buttons. It's pretty nice actually, so thanks to Charlie for the idea. The laser collisions are now all up, and the player shield level indicator and recharge rates are also working nicely. I tweaked the AI "FIRE!" relfex - basically when they've got a clean shot at you, they take it. It's not exactly a fight for your life as soon as the game starts though, and I'm going to spend part of tomorrow tuning their other behaviors, and adding an "orbit" behavior since I'll need that for orbial trading with the planets. I'm also going to add the commodity types so when you bag some cargo you know what you've got.
Not only that, but powerups are on the horizon. For each 5 "attacking" ships you destroy, you get a temporary powerup to your speed, or to your laser, or you get the short-range teleport (see previous post for more on what that is and what it's for). That should see me through until next week, which should see the close of business on the basic space-based engine. Then I'll be moving on to the trading screens, since by then I'll have cargo coming out of the wazoo. The obvious next step after that is getting the AI players to trade inteligently, shipping goods from planet to station, selling, buying new goods with the proceeds, restocking on missiles or whatever, and deciding where to go and sell their new stock...then off they fly! Simple! Yea, well, ask me about it next Friday eh?

Thursday, 25 June 2009

Another day, another dead alien...



Bugh, boy this is good fun. I'm making reasonable progress, but I've been deliberately slowing myself down to polish stuff as I go along. I've changed the HUD display this morning because what I came up with last night looked like cat poo and wasn't really giving the user what they needed. Now, when your reticle is highlighted in yellow (i.e. an enemy lock is available), then an icon for the "lock" button pulses on the missile panel. Press that button and get your lock, then the button icon changes to the missile launch button, pulsing faster. Cancel the lock, or launch the missile, and the icon goes away with your lock. The general look is much better, and I think it makes it clearer as to what's going on. Have a look!



Not bad looking. There's more alien laserfest 2k9 action going on now, and watching AI ships dogfighting, with all the laser effects and explosions, is really cool. I've got the first "public viewing" of the game so far this evening (before the weekly poker game begins) and I'm keen to work in as much feedback as possible from the goons. Before they arrive I need to get the player ship "attackable", but this won't involve drawing any additional models or doing "per mesh" collision detection, I'm just going to use an arbitary range of 150 meters (yes, I'm working in SI units, of course, I'm a physicist!) for impacts. The shield display is already visible in the right-hand panel onscreen, and as the shield level drops, the shield icon glows more and more red. Of course you start the game with a shield charger (unlike the AI ships, for the moment anyway) so as it recharges it'll do back to green. When it's been green for more than 5 seconds, the display will change to a summary of your cash balance, cargo load, legal status and whatever. The other "holes" in the right-hand panel will be for the missile-jammer upgrade, a short-range cargo teleporter (fly into a cloud of crates and activate it - booom you got 50 tonnes of free shit. The upgrade won't be cheap though!), Mining Droid status, and race/mission status. The teleport will have a dedicated controller button, which will flash alternately with it's action icon, when a crate or crates are in range. That'll be the Y button. For the missile jammer it'll be B. Mining droids and races/misisons will be controlled from a shipboard computer screen, which will temporarily replace the normal HUD and some of the playscreen when activated. Any button on the D-pad will activate that screen, and you use the D-pad again to navigate, A and B having their normal menu functions.


There will also be four navigation "helpers" below the radar screen - one telling you if you're in a position to enter planetary orbit, another for station docking, and finally one for hyperspacing to another system. It's amazing how, when you choose the right code and design paths, features just seem to leap out at you. By the time next week in finished, I expect to have all of the free-space functions finished (apart from hyperspace), and when that's done it's time for the "market" functions to be added in. At that point technically, I suppose it'll be a game in it's self and I think it's important to focus on the freespace game as if it were a stand-alone project. I really want the entire experience to be as exciting as possible, as polished as possible, and as smooth as I can make it. We're not really running into any framerate issues yet provided I keep things to sensible levels, as I said in a previous post.


Anyway blathering on about features won't get them written, so I'd better get back to it if I'm going to be ready for the testing this evening. One more screenshot to keep you going:



There will be a rendered image of the alien "pilot" where there's a gap in the info panel on the left there. That's what you see when your target is locked in. Fun eh?




Wednesday, 24 June 2009

Mid-day break

Right, I'm about to take a break for a couple of hours. I've been working on cargo capture, heads-up info for your locked target, and some general tidy-ups. We now can open a family-size can of whoo-ass at a moment's notice:

Not bad. That's the remains of about 5 ships which I just lay into with the ol' laser cannon and a couple of missiles. Note the panel, bottom left, showing your 4 missile tubes and the status of their occupants - grey means the tube is empty, green means it's available. If I had taken other piccies you'd see that yellow is a missile locked on to another ship, and red has been fired and is actively trying to kill someone.

After my little tea break, I'll be adding cargo capture info to the heads-up, assigning (for the moment) random bounty on AI ships for similar updating, and being thinking about other fun in-space stuff, like races. All good stuff. It's starting to look and feel pretty playable!

Until we do,

Careful where you point that thing!

Aaaghroo, another hard day in my code dungeon. This won't be a long post, I'm knackered and it's been a busy day.

I've managed to get homing missiles which work, and look great, along with the HUD panel for them. This took far longer than I thought it would, but we got there in the end. I do however need to graft a new particle system lump for large explosions. The current components are great for smoketrails and rockets, but just not beefy enough for large-scale kabooms. Didn't get time to do any sound effects though, which is a bummer. I'll get on it tomorrow. Oh, and I,ve fixed a little texture problem I've been haunted by for days.

Pip pop, more to follow...

Tuesday, 23 June 2009

Holy Phew! Naughty spaceships ahoy!

OK, haven't written anything for a few days because I've been either coding or resting - don't think I'm quite over last term and the end-of-year exams yet but we're getting there, and the code work on Space Pirates is going ahead apace! Thought I'd just post a couple of images from the current build, to let you all know how it's going.





Here, we can see there's not too much going on with the player's Heads-Up display so far, but that's OK because I know pretty much where we're going. What we do have is an aiming guide which, while green in this image, will turn yellow when you center up on a ship. Doesn't sound too great, but by the end of tomorrow that will allow you to lock your targetting computer on a ship, or a planet, or (eventually) a spacestation, and either launch a fire-and-forget missile, or be pointed in the right direction so you can follow at your own speed. This'll really come into play for missions in the game but for dogfights it'll be cool. Speaking of cool, the coolest thing in the image is the particle system. I've just clobbered that ship one with about 5 laser shots and as a result, it's spewing gasses and fire into space.





This is cool for two reasons: Firstly, it looks great. Secondly it allows the player to really see that they're doing damage to the enemy which is a big plus. When you actually hit the enemy ships, they chuck out a flare of fire and smoke, and the shields produce a bright blue "spark" - actually a dynamically generated texture - to indicate the hit visually. No sound FX yet, I'm thinking of having a go at some preliminary sounds tomorrow.





I also have our solar system generator engine working OK. The sphere models used need to have a higher poly count but the basic code is good. About 5 seconds to generate an entire solar system of planet textures and attendent bunkham.





One other thing you can see onscreen in the medium-range scanner, which is the green grid low down in the middle of the screen. All objects within a fixed distance appear on this indicator, so as well as the identification tags (like the callsign for the ship I'm attacking in the image) you can get your barings. Your ship is positioned right in the middle of that grid, and it's always aligned so the plane of the grid matches your "horizon". Next up are pitch and roll dials, a text notification area, missile status indicators, and other feedback items. I'm basically going through the feature list and knocking them off one by one, with an eye on the future plans I have for the project. For example, when you finally destroy a ship, a load of wreckage and cargo is released into space - the cargo handling code already has the functionality for any ship to capture the loose cargo and store it in their hold. Speaking of which, to your left here is what the cargo and wreckage looks like shortly after creation.

Lovely stuff. Not so much it just clutters the screen, but enough so you have to pick your way through to grab the cargo.

The last couple of hours today I'm going to use to just tighten everything up so far, and do a teeny bit of optimisation (not too much, I hasten to add) and tweaking. I'm still not 100% happy with the spacing between planets, the sun behaves a little irratically because I've been a mite sloppy with my renderstates, but it's all easily fixable stuff.

All in all it's been a productive first week of work on this 4th rewrite. I'm going to add a frames-per-sec counter so I can keep everything running well within the limit of smoothness but at the moment we're jitter-free until there are about 20 ships flying, fighting and exploding their way around the system. I need to get the system size right for this number of enemies knocking around since 20 is on the limit of playablility - any more and quite frankly you don't know which way to turn next. The next 2 days then are for:

  • Finishing AI code for attacking other ships including player, and cargo chasing
  • Finishing the Heads-Up display
  • Cargo capture
  • Auto-follow and FnF missiles
  • Auto-orbit around planets

Nothing too daunting there - although the AI ships have already been a little problematic. That's more to do with the normal "where the hell do I start" feeling I always get when begin on a new project. I've only used about 20 lines of code from the old version of the game, so it's all new code and largely new ideas, and while the old versions and Carrum have really taught me a lot about writing games (and the particular problems of 3D games especially) there's still a lot to take in. I used a different model for laser collision detection, using rays and boundingspheres, and it's nice and efficient and allows me to render a light when a laser shot passes close to a ship, so the nice, bright, dangerous red is splashed all over the hull. Looks amazing in the middle of a close dogfight! I'd used rays for the targetting system in the old version, but the actual laser<->ship collisions was all intersecting boundinsphere stuff and frankly, it stank out loud. We're looking good in this version though. It's fast, low-load and medium accuracy which is perfect, especially when you have 15+ ships and 20+ lasers to deal with!

Anyway, teabreak over. It's almost 2am and I want to be in bed by 3, so better crack on with this little tidyup...

Wednesday, 17 June 2009

I didn't even want a day off!

Well, nothing at all achieved today. All Xbox Live services have been off-line all day, as has the XNA website, so no new code today, but lots of new ideas - or rather more detail to existing ideas. I'll actually blog about them tomorrow, because I'm tuckered out and want to get some sleep. Spent most of the day playing Star Wars: The Force Unleashed and I have to say it's a great game graphically, but the replay value is miniscule. The game is fun enough I guess, but it's so linear in gameplay that I had little or no empathy or sympathy for the characters. The HUD system isn't great either - in a game which, in parts, relies heavily on moving between platforms at different heights you would think it reasonable to have some indication of if you should be heading up or down. Sadly not, although I think I would have finished the game in about 2 hours if that were the case. Bummer.

What I do like about the game is the control model and the way that player moves are always well choreographed in both main action animation and in transition between moves. Really very smooth. Also, the shaders and the texturing are great. And the character kinematics are great. Terrain collisions are a bit frustrating, especially coupled with the flat sector map on the HUD. But my biggest frustration is that for all the obviously excellent code and art, this game is cripplingly limited by the linear storyline, short levels and inability to wander around, maybe coming a en ememy from behind or avoiding them all together. And for all it's intrusion, the story is predictable, underdeveloped, and I could see no reason for most of it aside from providing a segway to the next level. The characters behave unrealistically, their deeper motivations hardly touched on (despite a promising start) and the perrenial Star Wars choppy dialog is everywhere.

I'm hoping that there's more freedom and variation in the online play, which I'll have a look at tomorrow when I take a break from coding. I'll also be migrating my old blog posts from www.mstargames.co.uk to here for the sake of completeness.

I bid you good day sir!

Tuesday, 16 June 2009

Pirates Ahoy!

Well, I've properly started the re-write of Space Pirates from Tomorrow, and it's been a very productive day. I have a working solar system generator, player flight controls, and a nice gravity system that includes a nice, smooth way to stop people crashing into planets. And I added a bloom post-process. The ship controls are like an airplane - you can dive/climb and rotate your ship around it's forward axis. Bombing round the solar systems is good, they're not too big but there's enough room for plenty of trader ships and pirates, which is good news! Even better, the game is wrapped in a tidy animated menu.

So, over the course of about 13 hours today I've got more done than I thought I would. The only disappointment has been with an atmospheric diffraction shader, which seems to operate on a different origin to all the other shaders - but that's been put on the pre-beta fixlist, and will be dealt with after all the base functionality has been put in place and before we go for initial playtesting.

So, the plan for tomorrow is to add manufacturing, imports and exports to each planet, a way to shift goods from one planet to another at a profit (and in a realistic, dynamic market) and a spacestation to allow extra-system imports and exports. That means also adding trading ships and an "orbital trading" interface. And an in-flight HUD, including a scanner. That sounds like a DrawableGameComponent to me.

That's it for dev day one. I'm off to bed to think about commodities...yawn!