Friday 6 July 2012

Abandoned Projects

So, as a little interlude, I thought I'd list (more as a reminder to me) the "big" projects that I started and then gave up on; these are in the order that I started to write them.

  • Mercury - A game engine that was largely inspired by Deus Ex. There was a game idea associated with it too (Mercury: Rising) which was a multi-path, multi-ending FPS with a large RPG element. I always had trouble coming up with a suitably emotionally climatic ending for all possibilities though. I also wanted to make sure that this engine had excellent AI after having played and made some levels in Unreal Tournament. Learned an amazing amount about computer hardware, algorithm and code optimisation, graphics rendering theory (including some of the more advanced stuff for core engine development) and basic AI.
  • Perspective - An OS aimed to increase speed, decrease dependence on BIOS and be designed with security in mind. It barely got much past the bootloader, initialisation sequence and a handful of the core drivers before I got bored. Linux took long enough to develop for Linus Torvalds and I didn't want to spend so much time re-inventing the wheel. I did learn a lot from this too though.
  • Spy-Games - A joint venture with a friend on a hack challenge website; I mainly did storyline and PC based challenge design. Went quite well but eventually we abandoned it - apparently the website code still exists somewhere in the archives (but not mine). Great fun.
  • CASM: The Compatible Assembler - Pretty much what it sounds like, an assembler/linker (linker was to be called CLINK) that would be modular enough to allow it to run with any of the umpteen x86 assembly syntaxes. Primarily this was to produce a replacement for the version of MASM included in Hutch's MASM32 without the legal problems and to allow easy extension for the 64 bit processors and the OOP stuff being created in the community (particularly the correct name mangling). Naturally, I wanted it to self assemble, so it was written in x86 assembly. As it happens, GoASM did much of what I wanted to do anyway, so I gave up. Again, very interesting to learn about compiler and linker technology though.
Those are all the really big ones... maybe sometime I'll list the medium sized ones. I just hope that Flatrix doesn't end up in this list. I think my main reason for failing before was that I tried to do it all on my own - I won't be making that mistake again. For example, in Flatrix, I won't be doing the website or the UI - I freely admit to being pants at those; I'm an algorithms person. But even there, I may need some help, so we'll see.

No comments:

Post a Comment