Iron Skies Devblog : When it comes to the Crunch

What do I know about the Crunch? I haven’t even been to the Crunch. But I have been pretty busy, working toward a playable demonstration of Iron Skies.

iTween for Unity, from the nice chap at pixelplacement!If you use Unity, I highly recommend checking it out…

But as everything is a bit all over the place, I’d like to share a link with something that promises to be useful not just for this project but anything else I do with Unity: iTween. Okay, bad name; but a fantastic set of tools. It was written by an independent developer (nothing to do with Apple) and put basically is an extension on Unity’s functionality to make changing something from A to B both easy and powerful. All that needs installing is a static script, slapped into your asset folder. Coupled with how painless Unity is already, the result is possibly the best thing in the world you can get for nothing.

On a computer.

Iron Skies Devblog – Thoughts on Networking

Well it’s been a while since I’ve posted, my excuse being no better than the usual guff about being busy and overworked and maybe a little hungry. Progress has so far been great, but the amount there is to do to meet my original aims is vast.

Today I decided that a working single player game was better than an unworkable mess of a multiplayer one, and for this reason I’m going to postpone the network feature of Iron Skies for the time being. I’ve done some trials with Unity’s networking and come to the conclusion network code is a bit hard.

Unless you’re a programmer or a particularly savvy designer, network games don’t work how you think they do. I liken a multiplayer game to a play on a theatre. In split screen, all the audience sit in the same theatre watching the same actors portray the same play. But in a network game, each member of the audience are in completely different theatres, with different actors, who are attempting to stand in the same place on the stage as all the other versions, and who’s only means of doing so is phoning up all the other theatres every couple of seconds to ask who’s moved and where they are now. Oh, but to keep it looking convincing, the actors ought to guess where they’re going to be and just adjust if they’re wrong about it.

A balmy-sounding analogy, but one that begins to capture the apparent inanity of networking. When coders say that adding multiplayer is a lot of work, they don’t just mean “oh I have to write a big file on the end here and some of the words in it are long and difficult to spell”. It is something that will totally change the core workings of your game code. The way everything talks to each other: picking up items, throwing objects, even movement; it all needs to be not just re-written, but often re-thought out.

I suppose this doesn’t sound like the ideal thing to leave out for later. It wasn’t an easy decision, but I don’t think the nightmare pandora’s box of online play is something I want to unleash before I even have a demonstration of gameplay. I will certainly want networking at some point, but it is easy to forget just how much work it requires.

So yes… Iron Skies 2.0 maybe?

Iron Skies Devblog – Trying out the skyfighter

One of the great things about Unity is its versatility, most notably that it runs in a browser. The Webplayer version builds from the exact same project as the Windows or OSX download does, and the plugin to run it is one of the easiest, most automatic things I’ve ever downloaded. Now, Iron Skies may end up a little too much for browser play, but this also has the interesting advantage of providing actual playable demonstrations to the devblog!

Launch Skyfighter Test

This demo has no gameplay yet I’m afraid, it merely demonstrates skyfighters: the little aerofoil craft that can swing the tide of battle. While this isn’t a flight sim and is mainly about airships, I have been tweaking the skyfighter controls relentlessly and have just overhauled them again. The basic movement and control mechanics are important to nail down for all player-controlled craft, and that I’m not too far off now. Once it feels good, I can start getting into the gritty detail of combat and gameplay.

Space Exploration & Orbiter

While riding the highways and byways of the hypertext stream (oh grief, please don’t ever let me use that sentence again) I recently encountered two unique Space-themed titles of a more exploratory and scientific kind than many of us are used to. As an intrepid explorer myself (I occasionally drive to Wales), I was very interested to delve into them.

For anyone with the desire to become the next pulp-scifi space captain (and possessing the rudimentary minimum imagination necessary to read a book), Space Exploration : Serpens Sector is a work-in-progress worth a look. Fundamentally, the game focuses on a top-down view of an area of star systems which you can visit with a simple click. However, each journey costs fuel to get there (and of course, to get back). Fortunately, your friends at the home station are on hand to reward your exploring efforts with more fuel, so it forms a principle resource.

All this would be pretty dull were it not for the fact that every new star system holds something different; contact with new races, hanging out in bars on asteroids, having your crew abducted… every voyage plays out like an episode of Star Trek. Of course, with this incredible scope these encounters are text-based, but as stated earlier this gives it quite a literary feel and the entirely random universe varies well.

Additionally, battles are fought out using a detailed (if sometimes ponderous) combat engine of a similar look and feel to the galactic map. A nice touch is that you can ask your crew for advice in battle, advice that is actually worth listening to. The version I played was the tenth, and current, build, which seemed very stable and gave no problems. And unlike many indie developers that feel cornered into using awful DRM in their games, Metal Beetle have stated the game will be free; only the content-adding expansions will cost anything. Read more about that here.

The second game, which is not so much a game as an immensely complex freeware simulator of space flight, is called Orbiter. Featuring the Space Shuttle, the ISS, plus a number of theoretical craft of the near future, it almost reminds me of the first time I played Xplane back in its old days. It has that charm, that strange attraction that comes from simulating just about everything that makes you go “I wonder what happens if I do this.”

Orbiter is 100% a simulator. One way to tell this is that I have only really been able to figure out how to pitch, bank and yaw. After connecting a joystick I discovered I could throttle the forward thrusters. Yet it had me spinning in orbit for half an hour, fascinated, attempting to try this and that to see just how easy it is to knock a shuttle out of orbit. I was expecting the slightest goof to send me plummeting toward the big blue thing, but here it would seem it’s almost as hard to hit a planet as it is to miss it; several times I found myself accelerating away from Earth accidentally at ridiculous speeds. This is the nature of orbits, although one always wonders what is accurate and what isn’t in a simulator: especially when my triumphal crash into the pacific ocean actually made me bounce a kilometre back up into the air.

Orbiter is a geek’s toy, no doubt about that. But it does come with a plethora of preset scenarios and recorded sessions to help you see it all without having to first attain a Masters in astrophysics. You can watch the shuttle launch in the skilled hands of an expert, which gives you an idea of the scale and speed of the real thing. Many other situations and some very fine graphics (for the most part) make it an educational, often enjoyable indulgence; especially for space nerds like me that could reel off all the planets and moons from the age of five.

My only real gripe was the lack of sound, even in the atmosphere (but as you’re mostly in space this isn’t a biggie). The lack of planetary detail beyond Cape Kennedy is a shame too, but an understandable limitation. I would have liked to have seen better simulation of impact with the ocean/land at 100 metres per second, but I guess they aren’t supposed to show shuttles disintegrating in a game of this nature.

Overall, both of these are labours of love and definitely niche programs, but it is refreshing to see an experience you just can’t find elsewhere!

Bing Maps

Despite being continually trumped by Google, Microsoft are intent on having their own search engine, Bing. This search engine also has its own map tool; little surprise there, to be honest. I was however intrigued by one of its features: Bird’s Eye view, looking at the satellite map at an angle reminicent of isometric tycoon games.

Despite limited coverage and rather shoddy image-tile caching, I rather enjoyed the new perspective on things. It might not be as useful as Streetview, but I like to think of it as complimentary rather than a replacement. I recommend checking it out, if only to pretend you are playing the next Sim City.

Iron Skies Devblog: New Start!

Welcome to the first of the development blog posts for my game project, Iron Skies!

This still just looks like a mess, alex

So first up, a bit about what Iron Skies is. It started out as a university project in Blitz Basic 3D, circa 2006. In 2009 I decided to make a completely new version from scratch in the fantastic Unity3D game engine.

The game is based on my much-talked (but so far still public-elusive) Cloudgazer universe. You play an airship captain, able to take command of anti-gravity battleships and nimble skyfighters, in a battle for supremacy of this groundless world. The cool thing about the game is that not only can you fight naval style real-time aerial combat in all manner of craft, you can actually build the airships yourself using a component system. This same system even allows damage to be taken based on hit location, and your ship’s stats in every attribute depend on the condition of these components. Shoot up someone’s engines and they’ll be reduced to a crawl, and even sink them by destroying the antimass tanks: provider of lift!

The current stage of the project sees me finally having a set of almost finished airship components in Unity, which have been compounded into a ship that can be flown about. You can also switch craft at this stage, which is an odd feature to see this early (especially as it probably won’t actually feature in the gameplay). However this helps debugging no end, and also ensures proper separation between Player and Craft in the code, aiding both AI and multiplayer architecture.

The Importance of Point of View – Objectivity

When I was a kid I was at my next-door-neighbour’s house one day, where my best friend lived. I speculated that maybe I saw his house as the same way he saw mine, and vice versa. I mean, who knew for sure? From his viewpoint, the familiarity and comfort I envisioned at mine might be just the strange smells and sights I saw at his. Now, obviously this doesn’t quite work exactly because the layout and details are obviously different and we can tell that we are not actually looking at mirror images of each other’s homes. But, little did I know that I had struck on the tip of the philosophical Empathy Iceberg and all the fascinating questions it posed. It also confused the shingles out of my best mate, but we were only ten at the time I guess.

A much simpler, commonly cited example is colour. We have no real way of knowing whether red looks the same to you as it does to me, because we would still both call it ‘Red’. We attribute names to smells, but again, can’t really tell if the smell of fish is something that is the same for everyone. The subjectivity of our points of view is all-pervasive. As Obi Wan Kenobi once told a young, headstrong Luke Skywalker: “…many of the truths we cling to depend greatly on our own point of view”.

In the strictest terms, there is really nothing that is objective, because we cannot certify our own reliability. In essence, everything you think irrefutable could be false; such as the existence of mountains or the very images on your retina. But, to take this into account gets us nowhere; the definition is useless because there is no penalty for ignoring it, as were it correct there would be nothing we could do to know one way or the other. As all speculation of this nature is useless to our lives, we have every rational justification to proceed assuming that the basics hold true: I am really here, and my senses report the existence of things I experience, and that fundamental axioms of physics and mathematics are true.

And so we have Objectivity. That category of things that we can say are objectively true are called Facts. Facts are not things which we commonly agree on or percieve to hold true, though this may often be stated colloqially (eg. “its a fact that murder is wrong”). It is important to recognise the difference between things that are facts and things that are commonly accepted.

The universe is impartial. As such, thinking impartially is the only approach that can be useful in the aquisition of truth. Wishful thinking will get you nowhere. We are all tempted by it; the theory that almost fits, the romantic notion of human importance, an apparent need for some purpose. But wishful thinking is probably the most damaging influence that has ever acted on human understanding. It may be welcome in the realm of fantasy fiction, or the words of comfort to others, but it has no place in science.

Understanding one’s own point of view (and accepting its scope) is the first step towards an impartial outlook. As the old adage goes: “the first thing you must understand is how little you know”. And thinking without bias (or, to put it realistically, as little bias as is humanly possible) is the first step toward a greater understanding of the workings of the universe.

A Review of Saboteur

The circumstances that lead me to play games are often bizarre. Some, such as the LAN gem Line of Sight : Vietnam, began as seemingly ill-fated parental buys. Others such as the enjoyable indie title Iron Grip : Warlords was found while browsing the steampunk works of its concept artist.

But Saboteur, I am almost ashamed to say, was a simple case of a quick Play.com “Top PC games” search, in the lead up to Xmas. Sounded like an interesting premise, so I thought I’d go for it. Part of me wanted to play it simply because I was curious to see a recent game. It had been a while. And overall, I must say I wasn’t disappointed.

You play the part of a member of the French Resistance, during WWII in occupied Paris. Not an immensely likable one, unfortunately, as he is possessed of a terrible Irish accent and exists in a world written with the kind of complexity and depth of character one might associate with a Michael Bay film. But of course, that’s why we have Nazis in the game in the first place; so you know your good from evil (notwithstanding the Brits of course; even when they’re your allies they’re still apparently bad news).

Saboteur’s most obvious comparison is with GTA, but I found myself repeatedly reminiscing on (the more grown-up) Mafia. That was likely due to the setting of 1930s cars and quirky jazz most likely, but both have immersion and atmosphere in spades. I love sandbox games, no matter how trendy they get. Saboteur does this side admirably; you get to go running around Paris as much as you like, sneaking around / blowing up a variety of Nazi installations in a number of different possible ways. The main plot manages to be both un-intrusive and very easy to pick up again; for example, the occasional reminder of the plot missions come via a shadowy-looking “pssst-here’s-a-secret-note” guy, true to the 50’s Hollywood style to which the game adheres.

Apart from its apparent lack of sophistication, my gripes are mainly with the save system. PC reviewers and gamers alike usually blame this kinda thing on “oh it’s what you get with console ports” but these days, that’s bull! Consoles have the exact same save system, it’s nothing short of a weak attempt to stop players cheating with saves. Half Life 2 allows you to do this. If it broke gameplay, somebody would have noticed by now. It is in fact one of those things game designers think will be a problem but actually isn’t. Whereas their ‘solution’ is, as always, a pain in the ass. I had to re-complete (three times as it happened) a big fat mission involving sneaking into a crypt, then fighting alongside the Resistance, simply because the first time I died and didn’t have time to do it again, and the second time the game decided it was having an off-day and crashed. The problem was even worse before I figured out that only when I’d seen the “Mission Complete!” message, was it safe to save and carry on later without discovering I’d taken a back-step.

Overall, though, I am still enjoying the odd game of Saboteur as much as any other I play. There are some great moments of sneaking past Nazis worthy of those classic film moments. And to all that find the setting appealing, I encourage you to give it a try.

The Editing Task

Last November, I completed National Novel Writing Month by reaching 50,000 words on my fantasy-scifi adventure “Cloudgazer”. To say I was pleased is an understatement; to say I spent most of December 1st with a big grin on my face would be more accurate. Finally, I felt as though I had something complete, something to be proud of.

A colleague of mine was also a ‘Wrimo’, and completed ’09 successfully. When I asked him how it went, I was somewhat startled when he declared he was going to have to just bin it and rewrite the whole thing. Surely, I thought, that is some sort of kneejerk reaction that should be resisted. There must be something of merit in there. I knew mine certainly had.

And yet, when I got stuck into my editing over the past four weeks, I started to see why one might draw such a conclusion. I love what I have written. There’s parts that shine, snippets of dialogue and lines of prose that I might even go as far as to say are brilliance. But it’s awkward, terribly so. There is a lot that doesn’t make sense or doesn’t fit, and I have considered that their only fix may lie in a fundamental re-writing of the background history, and by extension, the entire plot.

But I’ve been warned about this sort of thing, and I’m prepared. When editing, it is a little like tidying up. You usually have to mess things up worse before they become neat again. In an ideal world, I would be concentrating on this, but at the moment that simply isn’t possible. Too much to do. But interesting things to follow soon.

The Abortion Debate

Not content with the controversy of claiming relgion to be a transient social tool, I return once more to that tricky subject of Abortion. These are both very interesting subjects, and not entirely unrelated either: both are deeply intertwined with some of life’s most fundamental philosophical questions.

The ‘camps’ in the abortion debate are generally defined by when. That is, when is it acceptable to terminate a pregnancy: never, before X number of weeks, or at any point of pregnancy. Most people fall somewhere in the middle ground, with liberals / students / scientists leaning toward later and religious / conservative headcases favouring earlier. Roughly segregated, these are termed Pro-Choice and Pro-Life respectively. Continue reading