I should let you guys know, I'm cheating a bit. I've only just started this dev blog, but I've been working on the game for a few weeks now. Hey, if I made a blog for every half-assed project I started there would just be blogs everywhere. Here's what I have so far:
Yes, those are placeholder graphics. 3D modelling isn't my strong point, but I could do a bit better than that if I tried. I'm going for the punk rock aesthetic here, by the way, and doing everything myself — so the stuff I'm good at will be good, and the stuff I'm bad at will feel charmingly home-made. It's win-win.
Anyway, in this post I'm going to talk about the decisions I've made so far, which amount to what I'm making and what tools I'm using to make it with. I might get a bit technical, so I hope you're cool with that. In general this blog will be of most use to you if you are (1) me, or (2) a fellow starving indie game developer hoping to find your way in this wicked world.
So! Blackshift will be a grid-based abstract action/puzzle game where you explore mazes and interact with various doors, switches, robots, magnets and so on. There'll be items to use, bullets to shoot and maybe a sneaky laser or two. There'll be about a dozen enemies with simple movement patterns. There will be copious explosions.
There's a certain sort of 'mechanical' feel I'm going for. I don't want to use a scripting language; I want to make it possible to build interesting and intricate levels just by snapping tiles together like Lego. Speaking of which, there definitely needs to be a user-friendly level editor and an online level repository. Online stuff is fun, and an optional online element functions as a sort of DRM without being invasive.
Sounds pretty ambitious, huh? Well, yes it is. It's a spare time project, and I'm just (...one...) one man. Still think I can do it though. Especially with this blog. I've decided blogs are brilliant. Welcome to 2005, right? Give me a few more years and I'll understand Twitter. Without further ado, here's all the stuff I'm using to make Blackshift:
If you haven't heard of it,
Ogre is a rather nice open-source graphics engine. It's not a full game engine; it only does graphics. It's like a higher-level OpenGL. It wouldn't make sense to shell out for something like Unity for this project, since it does so much I don't need. So Ogre it is. As a bonus, you get to use British spelling when calling its API, which is quirky and fun.
Blender is a really nice little 3D modeller, and by little I mean large and sprawling, and by nice I mean free. To be fair, it's really not far behind the £1000+ commercial modelling suites in terms of functionality; you just have to find that functionality using your mouse, all of your keyboard, and an IRC client.
I find music hard for the same reason I find 3D modelling hard: I'm trying to do something artistic but I have to do it by holding Shift and Alt and clicking on fiddly little widgets.
Ableton Live is not my ideal music software, but it's the best I've used.
|
Original author unknown |
There's a whole world of exciting programming languages to try out but when it comes down to it, for games, you know you can rely on
C++. Despite the archaic 1970s linker model, the perverse syntax and the infuriating lack of anything resembling a module system, it still manages to be a very good language to write games in.
One other language I did consider is Lisp, which I like because you never have to write any boilerplate or repeat yourself. In fact, if you do it right, your code quite literally writes itself. One day someone will invent a non-ridiculous syntax for Lisp and people will just instantly start writing better software.
I used to be a jEdit man, but jEdit doesn't seem to be so well maintained these days. Like C++,
Vim can feel a bit olde-worlde, but it's survived this long and it's still maintained, so you know it's solid. And it's pretty damn ergonomic.
While we're talking about editors, I realize Emacs is better, it just physically hurts my hands to use it.