March 24, 2009

I shouldn't call this a game design, because really it's just a random assortment of ideas thrown together in my head, and a mockup of the aesthetic I have in mind. The x's and o's in the background would move in parallax with relation to the ships and rocks.

Asteroids TNG Mockup

If I had time to make a game right now, this would be it. Basically it looks and plays a bit like Asteroids, but the rocks don't fly around crushing you - they hang still in space, and you shoot the coloured ones to get minerals from them. It's multiplayer and set in a persistent universe, so I guess that makes it an MMO. You can fly up to other people and talk to them, trade items with them, etc.

I remember the intense excitement of the first time I played a MUD, back in the mid 90s. It wasn't the game element of it that excited me - it was the exploration and social elements. I guess I am a fan of virtual worlds more than games in that respect. I'm not that interested in grinding.

Asteroids TNG would be a bit like Diabolo, but in space and with vector graphics. That is to say, there are some asteroids that you can land on, and when you do, the game turns into a Roguelike with one short 'dungeon' per asteroid, and simple vector graphics instead of ASCII graphics. All of the monsters would be futuristic alien sounding monsters, and instead of wands and scrolls you would find rayguns, data nodes, and nanotech stems, and instead of armour you would find field generators and shielding, etc. You get to keep the inventory of things you find in the asteroid 'dungeons', and you can trade these items with other people. Later there would be space stations where you could dock to meet up with people.

The whole thing would be procedurally generated using Perlin noise to generate an infinite asteroid map, and Rogue-like logic to generate the asteroid dungeons. Lately I have been reading and obsessing over the source code of Donny Russell's AGB Rogue, which is a conversion of the original BSD Rogue for the Gameboy Advance, and probably my all-time favorite Rogue. It goes with me everywhere on my Nintendo DS. The code is incredibly unclean, but it's fun to look at the probability tables and dungeon generating functions to get an insight into how they balance the game.

The music would be chippy as hell.

Won't someone give me a wad of cash to make this social roguelike space MMO? I swear I will port it to Nintendo DS, iPhone, web, Xbox360, widgets, gadgets, screenlets, Windows, MacOS, Linux, and the Wii, and make you millions of dollars.

March 21, 2009

PodSixNet is a lightweight network layer I've written to make it easy to write multiplayer games in Python. It uses Python's built in asyncore library and the simplejson 3rd party library to asynchronously serialise network events and arbitrary data structures, and deliver them to your high level classes through simple callback methods.

Click here to download it

I wrote this library because I'm forever thinking up multiplayer game designs and then starting, but never finishing, a new multiplayer game library for every multiplayer game idea. In other words, I get bogged down writing low level code and eventually lose interest in my original idea as it proves tricky to implement. I decided to get the multiplayer game library written once and for all so that whenever I get an idea for a multiplayer game, I can now prototype it up rapidly. I'm quite proud of the fact that this library is only a handful of simple classes, and weighs in at just two hundred odd lines of code. This is of course because I built it on top of Python's already cool asynchat (used by Twisted) and simplejson.

Two example apps are included with the source to help you get started. The first one is a simple console based chat program, and the second is a pygame based collaborative whiteboard. For each example start one copy of the respective server, ChatServer.py or WhiteboardServer.py, and then start multiple copies of the client to test.

Would really love to hear about it if you use this in a game!

March 19, 2009

My biggest problem with writing in this news page is a lack of time. So here is a light-speed update about our visit to Brussels:

  • Moose and I spent the last two weeks in Brussels getting a visa stamped in her passport so that she is allowed back into the UK. The UK are breaking EU law by forcing her to have this stamp, but we're not the ones who are going to sue the UK government. Instead we comply with this ridiculous bureaucracy at great expense to ourselves.

  • This is our joint third visit to Belgium, and probably my own fourth or fifth.

  • I was working, but we got to hang out with my Dad a lot in the evenings and on the weekends. He has lived in and out of Brussels on-and-off over the last few years and took us to some awesome places and to see some awesome things. There's no better way to see a city than with someone with insider knowledge of it. It was really cool to see him again and discuss politics etc.

  • Brussels is the unsung hero of European travel destinations. All of the Belgian stereotypes are true: you can have waffles, awesome chocolates, and lot of different types of great beers. The people are nice, the food is wonderful, the monuments are grander and more subtle than other places, there is an abundance of live jazz, and there are way less tourists than other destinations.

  • Here is a list of things you could do/see if you ever go to Brussels:

    • Go and see the 'Africa centre' which is a Belgian guilt-trip about plundering the congo. Most European ex-collonialist states can't boast such a magnificent guilt trip. Walk the grounds and hopefully the nearby forest too.

    • One evening visit L'Archduc which is a small pub near St. Catherine. Have a drink and strike up some conversations. Always cool people here. Miles Davis played Jazz there in the 1930's and the decor is an amazing collision of Art Deco and 21st Century lighting. The wait staff are sufficiently surly.

    • Go to a comic shop.

    • Go to a giant Carrefour like the one near Herman Debroux station, and have a look at the hard-back comics section.

    • Eat a cheap waffle from a subway station (you should pay less than 2 euro)

    • See some live jazz. There is a ridiculous amount of live jazz playing on most nights in this city (also in Antwerp, actually). Unlike London, where jazz is played in expensive venues, here it's the real stuff in dodgy little crowded, smoky clubs. You can find out what and where on the internet.

    • Walk past the king's house and the park across the road. Note the refreshing lack of security of any kind.

    • Visit the Law Courts of Brussels. This incredible and heavy building always makes me think of the mega-architecture in the Iain M. Banks novel Feersum Endjinn. They made such a huge and magnificent building, but they're still dead. Make sure you admire the view over Brussels nearby and think about their souls drifting on the wind, or maybe your own soul one day embedded in a techno crypt-matrix.

    • We didn't do it this time, but the Atomium is worth a look. You can also see it in the distance from the the Law Courts of Brussels though, which just about as good as seeing it up close.

    mad science at the atomium

    • Eat as many and varied chocolates as you can. Your desire for variety in chocolates will not be satiated. Don't buy the expensive chocolates from the specialist shops, buy the cheap ones at the supermarket.

    • Go to the Sablon and walk down, then up the hill. Let your mouth water at the expensive chocolates. Look in the Mercedes centre. Soon there won't be any cars, and we should admire their doomed beauty them while we still can.

    • Go to the Grote Markt and look at the nice buildings and around the corner the Manneken Pis, but don't buy anything there.

    • Catch the 44 tram out into the midst of the forest and then walk south west through the forest towards the Rouge Cloitre. Have a coffee there, and some lunch if you feel like it. Don't walk out the other side as the illusion of a lovely place in the middle of the woods will be ruined. Go back the way you came.

  • If you're coming from London, catch the train, don't fly. The train is really nice. Flying is a big hassle.

Wow, that was nowhere near c enough.

March 9, 2009

If you are a mutt user like me, and you are running Debian GNU/Linux or even Ubuntu, I highly recommend apt-get installing 'mutt-patched'. One of improvements it brings is a small 'folder list' down the left hand side of your terminal window. You can configure this folder list to monitor subfolders for new mail. This is a boon if you have procmail filters which direct different types of mail (e.g. mailing lists, work mail, etc) into different subfolders. In essence it's gmail-like functionality, or any modern GUI mailer for that matter, but for the console user. I'm excited to be joining the 21st century!

Info on configuring this setup can be found in /usr/share/doc/mutt-patched/examples/sidebar.muttrc

Have fun!

March 3, 2009

Need to settle an argument? Recently, I finished coding up this Rock Paper Scissors game that you can play online against someone else. Have fun.

Rock Paper Scissors