I'm 26 and unemployed as I try to change careers from teaching to writing, and lately I've realized that I'm a bit out of whack when it comes to having some sort of tangible structure and pattern to my life. When I was teaching, I never had the time to pursue my (many) interests, but now that I have the time, I realize that I might need somebody counting on me every so often in order to actually make good use of it.
So let's make a Giant Bomb version of Windjammers, featuring characters, arenas, and mechanics inspired by a certain website about videogames. I'll get the ball rolling by laying out a plan and coding the game's skeleton and then we'll team up to create a game so fresh it will make Cool Babies look like regular-ass babies. Sure, Windjammers clones exist out there, but this is Giant Freaking Bomb. If we can get our own awesome fan-made Mega Man game, then surely we can do the 'Jam. (To clarify, I'll be handling lead programming, design, and management, but there are a lot of things I'll need your help with; see the Q&A below for more info).
Making even a simple game like Bombjammers (it's a working title) requires a lot of planning and setup. Anyone who has written some code in their day knows that every minute you spend preventing problems saves you an hour in debugging and rage punching down the line. So while I work on a design document and get things in order, let's work out some really basic questions. Please feel free to discuss these openly – I've just included my “answers” to let folks know where I (and my limited knowledge and experience) stand and to give folks a jumping-off point for discussion. A lot of the questions are going to be related – changing the target platform may impact the development environment and language – so make sure to read them all before sounding off, since the point you want to make may be addressed in another question.
1. What's the target platform for release?
I'd like to get the product into as many hands as possible, but my impression is that distribution is going to be an order of magnitude easier for PC and associates than it would be for consoles.
2. What's the business model?
100% free. Given that we're borrowing a good chunk of game mechanics from existing properties and using Giant Bomb likenesses, this seems pretty non-negotiable. Besides, the point is to further enrich the outstanding Giant Bomb community, and that don't cost a thing (except maybe your dignity).
3. What creation tools will be implemented?
Right now I'm leaning toward Unity, largely because it can easily output programs for multiple platforms (as in PC/Mac/Linux). However, my research indicates that it might not be ideal for sprite-based 2D games, so that's something to keep in mind. Having written stuff from scratch using nothing but interface toolkits and pure code (if you have Python and TkInter questions, I guess we should talk), I can say that I'm definitely fine using a bespoke development environment.
4. What's the timeline?
What's the rush? I think the important part here is to set small, reasonable goals as frequent checkpoints and to actually hit any deadlines you set. As long as there's no lull in development, I'm fine with the project taking as long as it takes to get done properly. I expect this project will work a lot better if milestones are established one or two at a time instead of all at once in an up-front calendar.
5. Who put you in charge, anyway?
I guess I did? I've been looking for an excuse to hone my game design/project management/programming skills, since game development is an industry I might want to consider at some point, and The Jammers (as it is known) seemed like an ideal project – not too big, easily scalable, and just a whole lot of fun. Also it's a GB fan favorite, making it an ideal candidate to get the community treatment.
As for my qualifications, I DO have some computer science, programming, and software design experience (on a much, much, smaller scale), but I'm really just a hobbyist who likes to analyze/design/improve things and speaks decent Python and sub-par C++. This is definitely a learning experience for me, and that factors in to the timeline and scope of the project. Just say no to feature creep!
6. This sounds great/terrible! What can I do to help/denigrate this project?
I want you to help! In name of learning some C# and design in general, I'd like to personally handle the overall design and the programmatic core of the game – the logic, event handlers, scene flow, etc. However, I'll need folks to help with or completely manage things like art/rendering, AI, multiplayer (netplay/local), and who knows what else. I fully intend to get this party started and see it through to the end, but I have no delusions about doing it myself. I'll start putting out calls for help once development is underway. Helpful advice is, of course, always welcome.
If you think this is all really dumb and you hope that it fails, that's cool too, but take that frown elsewhere, please! If you have critical feedback about the project, then that is of course very welcome, but there's a big difference between “dis sux” and “using that graphics library may cause stuttering in multiplayer” or “that mechanic isn't conveyed clearly to the player.”
7. So where do we go from here?
The first step will be creating a design document to formalize a lot of the development points we hammer out here. After that I'll probably be flying solo for a little bit while I build the framework for the game, after which I'll start bringing folks onto the team as needed.
8. What's “home base” for the project?
This is a Giant Bomb joint, son, so I'd like to keep any and all news about the project on site here at Giant Bomb via blogs and forums. Expect weekly or bi-weekly "dev diary" posts. The most important part of this project is that it gets done, and I'm pretty sure that the hordes of Jam-hungry Duders can help prod things along when motivation and attention starts to wane.
That's it for now. The short version is that I want some Windjammers, to work on my dev skills, and add even more value to this Giant Bomb thing, so this seems like a trifecta. Please drop some feedback. Let's go ahead and set our first checkpoint while we're here:
Monday, November 11 – 5 PM Pacific Standard Time: Submit design document specifying target platforms, design environment/required tools,and gameplay and feature overview.
Always be jammin',
“Peez Machine” Eric
UPDATE: It's on! I'm currently trying out Game Studio and XNA/Monogame as per your suggestions. Any other engine/devtool suggestions, make 'em quick, because I'm gonna try to have something picked by Wednesday.
UPDATE 2: I'm going with MonoGame. Details on Monday.