Nature Walk Photography

Today, my camera buddies and I explored the area behind the big AA building in Basingstoke.

These are some of the pictures I took along the way.

read more

Segoe UI Light On Firefox

While playing around with the Metro design style, I came across a peculiar issue involving fonts.
I’d used the Segoe UI Light font for the title and worked fine in Chrome but looked different when I checked it in Firefox.

The font Segoe Ui Light worked absolutely fine in Chrome, but Firefox couldn’t seem to find the font and fell back to the next backup, Segoe UI, a much heavier font.

After a while of poking around I found a way to fix it. In the CSS for the title class I added a font-weight of lighter, so that even if it did fall back to the standard Segoe UI font, at least it would be a bit more like Segoe UI Light.

This worked even better than I’d hoped, the fonts looked pretty much the same! (maybe even identical?)

Yay! It’s working!

I thought to myself, “well then, if the normal Segoe UI font can look like Segoe UI Light if I just set the font weight, I might as well just do that all the time rather than referencing different fonts for different classes”. But I’d forgotten that all browsers are different beasts, and also incredibly annoying. Changing the font weight and using Segoe UI doesn’t work in Chrome, it just looks like regular weight Segoe UI.

So we’re left with this sort of weird special case for each browser, but neither one affects the other.

Silly browsers!

read more

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 more

Abandoned 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.

read more

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!

read more