SpaceWar Update: Horizontal vs Vertical Feature Design
Greetings, Programs!
I haven’t posted about this before so I’ll give you a quick explanation of SpaceWar.
I’m a big fan of 4X space games, games like Masters of Orion 2 and Galactic Civilizations 2. In these games, you take control of a species or empire and try to become the dominant force in the galaxy through colonization, research, combat and diplomacy. But I’ve always thought that they lacked epicness; games will often last for hours or even days, but your interaction with the games are quite limited and travelling to a star system 4 light years away could take just 1 turn!
My vision of a 4X space game would take months to complete, and would be detailed enough to keep people interested for the entire length of the game. The game would run in real(ish) time, constantly, but will not require the players to be logged in all the time. If it takes a fleet a week to reach its destination, you don’t need to sit there watching it go. GO, FLEET, GO! I’d also like to make ship building, research and diplomatic missions more realistic, hopefully simulating at as low a level as possible. An example could be that while on a mission, the captain of your armada’s flagship is taken ill and the nowhere near as experienced commander will have to take over and possibly botch the mission.
To summarise: SpaceWar = Masters of Orion 2 + Dwarf Fortress + FarmVille + Supreme Commander + Neptune’s Pride + Star Trek + Anything else that’ll inspire me in the YEARS it’ll take to make this game.
Anyway…
Today I was working on the ship design system, Ships will be built to a Ship Design, a Ship Design will have various Ship Component Designs such as FTL Drive Designs and Beam Weapon Designs. I was busily working away, when suddenly I realised that I was implementing a generic solution to a simple feature in the knowledge that I will need it later. This is fine in small steps, you can design something to be extensible, but halfway through I stopped and said, “Wait, what the f**k am I actually trying to make happen here?”
That’s when I decided to stop and take a look at how I got to this point. I concluded that I was writing these features all sideways, it seemed to me to be a classic case of horizontal versus vertical feature design.
I’d started by writing the database access layer for the ship components, then the business logic without really realizing what the player was actually trying to do. I decided to stop working on all these inaccessible features in the back end and start bringing the client up to speed. This way I can build the entire feature vertically, starting with the client gui, then the web service call, then the business logic and then the database access layer. Doing this should ensure that my featured remain player-focussed and not just a code for the sake of code.
I like how much I’m learning about the way I work while not in a professional environment, I need to make these sorts of thoughts seconds nature, working on this game seems to be rapidly providing epiphanies.
I suggest every programmer should have a home project to work on, its a great way to flex your code-muscles.
read moreAbandoned Office Space
A few days ago, a few of my colleagues and I went down stairs to the basement level of our office building. There’s a huge area down there completely unused, which is a shame because it’s a really awesome space. They should rent it by the hour or something, I’d love to play some post-apocalyptic RPG or something down there.
Some More Shots With My New Camera
I’ve been playing with some more of the lenses my brother lent me, these are some of the shots I’ve taken this weekend. Let me know what you think!
I Bought My First DSLR!
I’ve never been in to photography, in all my time on this earth (that’s not very much) it never really interested me… and I dated a photography student for three years!
Recently, my colleague showed me a website about Urban Exploring, Silent UK, a blog run by photographers who go to urban areas that other people pass by without a second glance. Abandoned buildings, storm drains and train stations are some of the subjects of the stunning photographs shown off there. I guess it appealed to my interest in cyberpunk and post-apocalyptic style because I immediately wanted to take my own photographs. Now, let’s be clear, I don’t plan on sneaking into the London underground or any other secured areas, but there’s plenty of empty industrial-looking buildings near my office and around the rest of town.
But for now, I must practice my new craft and understand the workings of a camera, so I turn to my kitty, asleep in her box (she has a box) and snapped a whole bunch of different shots, using 3 different lenses. Below are the two I like the most. I think I’m going to like the bloom effect you get from slightly overexposing a shot… we’ll see.
read more2D Isometric Turn-Based Space RPG
I’ve got my lovely laptop back. I’ve got Visual Studio installed. I’ve got my old code I was playing around with.
I’ve decided to write a game again.
I’ve never finished a game but that doesn’t really bother me, its the discovery and problem solving I enjoy, not the endless content creation (and I’m a rubbish artist). I’m a hobbyist, not an indie developer.
So what’s this game about? I don’t know for certain. It’s going to be 2d, because that’s easier to program. It’s going to be set in space, because I like science fiction. It’s going to have a nice early 1990s feel to it, in graphics, plot and style. Beyond that I’m not really sure, I’m going to wait and see what happens.
I have an idea of walking around your ship while it flies through space, I think I’ll start with that.
I’ve worked out a few of the influences I’m drawing on for the design of this game idea.
UFO: Enemy Unknown (X-COM: UFO Defense in the US)
Still my favourite game of all time. I’ve made sure I’ve had a copy of this game since it was released, as I inevitably go back to it multiple times a year. I think the tactial combat in my game will be heavily influenced by UFO:Enemy Unknown, tactical enough to really think about your options, random enough to have things happen over which the player has no control and nice and easy to implement! The graphics style of this game is also a big influence.
Frontier: Elite II
I got to Elite too late to appreciate it despite its ancient graphics; Frontier, however, was pretty enough to make it that little bit more accessible. I had great fun being naughty in Frontier, taking off without permission and trying to get away from the cobra pursuit ships was my favourite way to pass 5 minutes. The scope of the Elite series and level of abstraction were both spot on, I thought, and will try to include similar ideas in this game.
Fallout
As I was thinking about the combat system of the game, I started to think about how the player would move around outside of combat. I was thinking about how in D&D you can move freely and then when an encounter starts everyone rolls initiative and it turns into a turn-based affair. I realised this is much how Fallout works, my game will be a free-moving grid-based RPG that becomes a turn based tactical game when an encounter happens. Spaceship encounters would probably work different to encounters on foot, but I haven’t thought that far ahead yet.
Traveller
Traveller is a pen and paper RPG that’s been around for donkeys years. I’ve never actually played it, but my father had all the first edition books and I used to browse through them all looking at all the tables and pictures. It didn’t mean anything to me, I was far too young to understand any of the rules, but I still got a feel of the world. I recently bought a new version of the core rulebook but have yet to read it; my game group are in the middle of a D&D session at the moment, maybe when we’ve finished that campaign arc I’ll prototype my game ideas in the Traveller rule system.
Blake’s 7
There’s a real magic to the 70′s British science fiction shows. I wasn’t around the first time this series was shown, but I caught up on satellite channels in my youth. This series felt like real high fantasy science fiction but with a gritty realism you didn’t see in shows like Doctor Who. Sure, Blake’s 7 suffered from all of the low budget problems those early shows had (wobbly sets, spaceships on string, etc.) but the human-centric, dystopian storyline made for a really dark and gripping series. Incidentally, Survivors is another gritty series from that era I would recommend, also written by Terry Nation, that man had skillz.
read more






















