Promit's Ventspace

SlimDX, Game Development, Life

Checklist to Lead an Online Game Project

So, it’s come to the junction where you’ve decided that you’d like to form and head up a project. It’s time to recruit a proper team and build something real. Should be no problem, right? Your idea is bloody brilliant, and you’re certain that people will be clamoring over each other to join when they hear your idea and see your logo.

Allow me to provide you with a reality check.

Nobody wants to join your project. Some people might very much like to see your project completed, but nobody really wants to join all that badly. We all have our own ideas and pet goals, so why on earth would anyone care about yours? But your idea is so much better, you might think. Nobody cares. If you want to start a project, you need to convince people that you have a lot to offer them, enough that they should work on your dream instead of their own.

So how do you convince people? Step one, have a real skill. Ideas are not a skill. Game design is a skill, but it’s usually not strong enough to stand on its own. (And I’m talking real design here, which means a hundred page game design that sounds fun on PAGE ONE.) Art and programming, those can do the trick as long as you’re good at it. And because you’re good at it, you will have no problem coming to the table with an existing demo. Or a serious, substantial portfolio that you’d be comfortable sending to a potential employer.

Let me reiterate. You need one of these three things:

  • A real game design document which sounds fun from the first page.
  • A working demo of a something that at least behaves like a game.
  • A real portfolio of artwork, preferably artwork for this game.

If you don’t have at least one of those three, go home. You’re not properly equipped yet.

Okay, let’s say you’ve gotten your act together and one of these three is actually in your possession. The next big step in getting a team together is starting the other two. The more you do, the better.

  • I don’t know how to design a game!
  • I don’t know how to code!
  • I can’t do artwork!

Once again, go home. In fact, stop and ask yourself this question: Can I do this project entirely by myself? If the answer is no, don’t start a team. It’s okay if you’d do an awful job, or if it would take you years upon years to finish. But if you don’t have the skills right now to actually complete this project on your own, you’ve got absolutely no business running a team. A team lead has to be aware of all the issues that the team is going to run into, on all fronts, and be able to assist and participate in the decision making process. Note: I’m not suggesting micromanagement, but you should be able to understand at least generally what your people are doing at any given point in time and what problems they’re facing. Otherwise you’re not a lead, you’re just another passenger.

By the way, it should be obvious at this point that recruiting a team comes several months into development. Project first, team second. That’s how successful online projects work.

Lastly, you need to be willing to lead. That probably sounds stupid and obvious, but it’s a critical point and people don’t consider what it entails. Leadership does not mean “I’m the forum admin and also have the best ideas.” It means being a manager and a boss. And make sure you understand what that really means.

Deadlines, milestones, and deliverables needs to be set and adjusted realistically. And this is especially for the teenagers — if you’ve never been on a software project, you don’t know anything about milestones. Sorry, but professional experience (not necessarily as a manager) is basically a prerequisite.

Be ready to fire people. In the real world, people’s livelihoods are on the line; there’s incentive to do a good job and there’s incentive not to fire people callously. Without the money involved, neither side is really bound by those rules. Now life happens, and nobody will really be able to dedicate their entire lives to side projects. But if somebody is consistently flaking out on you, you better have the spine to end their involvement and go find someone else.

Promotions and demotions can happen. If someone is way better or worse than expected, don’t be afraid to change the hierarchy. Some tact is called for when you’re telling someone they suck and have to follow another team member, but that’s part of running a project. And if they’re not willing to accept those decisions, see the previous point.

Last but oft-forgotten and maybe the most important — you are the lead, you are the manager, and in some sense you are a dictator. But communication between you and your team needs to be two way. Software projects tend to mutate and evolve drastically over their lifetime, and that’s not a top down progression. If you trust your people, you’ll give feedback and suggestions an honest chance, and be ready to pick their ideas over your own. And if you don’t trust them to provide that kind of support to the project, you’re not fit to be leading it.

If any of this makes you uncomfortable, it’s time to reconsider whether or not you’re really ready to lead a team. And remember that a lot of professional developers don’t want the hassle and will turn down a lead position. There’s no shame in helping to produce someone else’s project. Just remember this checklist when you’re picking a team to join. It could save you from joining a dead-end group, after all.

November 23, 2009 Posted by Promit | Non-technical | , | No Comments Yet

Meet RunDialog V2

I know what you’re thinking, and the answer is YES. It does remember all of the settings each time you open it! You’ll be able to save and load configurations shortly, too.
Run Dialog V2

November 11, 2009 Posted by Promit | SlimTune | , , , , , | No Comments Yet

SlimTune Plans

I had to sit down and figure out exactly what to do about SlimTune. People really, really like that little thing, which is amazing for something I put together in six weeks. It doesn’t deserve to die, so I’m going to make sure it doesn’t. That said, it looks like it will be a while before I get back to it. January, to be exact. Unfortunately, I need to buckle down and finish my degree right now, and I can’t really afford to commit to a side project.

That’s the bad news. The good news is that I haven’t stopped thinking about the project, and I’ve figured out how to do some really sweet stuff. Let’s recap. The current release of SlimTune is a purely sampling based profiler. The goal is to enable instrumentation and hybrid modes for public use. They actually already work, except the data is thrown away by the frontend. I’ve been unsure of how to collect it in a useful way, but I’ve got some ideas now that will give you some serious detail. Min/average/max will be there, but who cares? I can give you a graph with timings, showing you the actual characteristics of the function. So if it often takes 5ms or 50ms, but nowhere in between, you’ll see two spikes at 5 and 50. The average might be 30ms, but that’s basically a bogus number in these situations.

I’ve also got some UI improvements scheduled. Probably chief among them is to fully enable custom visualizer plugins, so you can throw together your own views of the data. I’d really like to enable some kind of graphing support, but we’ll have to see how that goes. It’s tricky to find a chart control that also has favorable distribution terms. I was using MS’ chart control for the teaser photos, but it really sucks — or at the very least, I don’t understand how to use it the way I want to. Things get sized very strangely, for example. I’ll figure something out.

Oh, and people are practically begging for a way to save and load launch configurations. I promise you, that’s top of the list. It annoys me too. I did it in six weeks, remember? It will be fixed.

Now, here is the important bit. For those of you who are interested in SlimTune, I have a request! File issues against the profiler for anything you want. And I don’t just mean bugs. UI and other feature requests are welcome! You can even request things I’ve promised I will do. That’s totally fine. Hit me with everything you’ve got people! That way I know what’s most important to YOU, not me.

November 3, 2009 Posted by Promit | SlimTune | , , , | 5 Comments

New Amp Day!

ToneLab LE, Cube 30, FSR Stratocaster

ToneLab LE, Cube 30, FSR Stratocaster


The Cube 30 is the new bit, replacing a Line 6 Spider III 15.

October 12, 2009 Posted by Promit | Uncategorized | | 1 Comment

How is SlimDX August Coming?

Badly. Really badly. It’s a crashy goddamn mess and I am in the middle of starting a company and getting a degree. Maybe I’ll be able to get it up and running over the weekend.

October 8, 2009 Posted by Promit | SlimDX | | 1 Comment

Oh hell yes.

Remember our iPhone game, Aves?

We're new and noteworthy on iTunes!

We're new and noteworthy on iTunes!

September 29, 2009 Posted by Promit | Games | , , , | 1 Comment

Revolution, Part 2: BioReplicant Animation

I promised this a long time ago, and here it is. I prefer to let the video speak for itself. This is a demo from January, so it’s actually a much older iteration of what we’ve got now.

P.S. Of course I delete negative comments. It’s my damn blog!

September 24, 2009 Posted by Promit | Games | | 8 Comments

Our iPhone/iPod Touch game is out!

Link

I’ll concede it doesn’t look like much, but honestly, the game is really addictive and fun. And it’s a dollar.

One of the technologies in this is the binaural audio system that I discussed earlier. On the above page, there’s a linked video — put on headphones and watch it. You’ll get the point very quickly. It’s even better in-game than in the video, was my experience.

There’s also the animation system, which is not really shown off that well here, but it’s procedurally constructed, like NaturalMotion (but better, we believe). At no point were any animations build in a modeler. It’s all done dynamically using relatively simple rules. The future games will leverage this tech more heavily, but at least as developers I think you can appreciate how awesome that is. The flying, the hits — it’s all physics based.

Did I mention it’s a dollar? Try it out. And if you do try it out, please take the time to write an honest (and hopefully positive!) review. It’ll go a long way for us if you do.

September 18, 2009 Posted by Promit | Games | | 2 Comments

SlimTune Profiler Update

You may have noticed that the profiler’s development is completely frozen. No this isn’t an accident, and no it’s not discontinued or finished. I’ve got so much in store for it. The problem is that when I get into my projects, I get really immersed. Keeping up the pace on SlimTune basically meant SlimDX’s August release would never get done; I’m obsessive like that. So I made a conscious decision to freeze SlimTune until the next SlimDX release was out. (Also classes were starting.) That freeze was only supposed to last two weeks or so.

And if you keep track of what’s happening in the DirectX world, you can guess that I’ve been screwed over pretty solidly on that one. I’m not sure when I’ll actually be able to get moving on SlimDX, so I may as well bring SlimTune back to active development. Initially, I had intended to discontinue the 0.1 release series and step to 0.2, which was going to provide more profiler modes. However I got some good feedback on the 0.1.5 release that I’d like to incorporate a release, so I’ll start by putting out a 0.1.6 that will basically clean up a few bugs and inconveniences in the current release.

As for the 0.2 release series, let’s see what happens. Instrumentation is actually pretty close to ready, so maybe I’ll get that out the door and throw in some other support functionality too. There’s some prototyping happening with regards to support for native code as well, so who knows. Maybe there will be an initial implementation of that available, too. I’ve got a lot more invested in this project than I think anyone realizes. Don’t think I’ve given up.

P.S. Last I heard, the DirectX SDK was going to be released last Friday. So I have no earthly idea what’s going on.
LATE BREAKING NEWS! August 09 DX SDK is out!

September 9, 2009 Posted by Promit | SlimTune | | 2 Comments

My Fender Stratocaster

Okay, so it’s been a long while since I had an entry, and this time we’ll actually step away from technical matters to a different passion of mine — guitars. I’ve owned several, but the subject of today’s talk is my beloved Fender.
Fender Strat Body

I bought this thing in 2007, after deciding that I really wanted to get back into playing guitar. I got it brand new from Guitar Center online; it’s a Fender Standard Stratocaster, which is a Mexican made model. This particular one is a “Fender Special Run”, FSR for short. It had the HSS pickup layout with hot pickups, a turned aluminum pickguard (that pattern is etched), black painted headstock, and a single piece maple neck + fretboard. In short, it started out in life as a rather unique guitar to begin with.

As with most of my things, I couldn’t bear to leave it stock for very long. The electronics are completely redone, and it has new GraphTech String Saver saddles instead of the original junk that Fender provides. It has strap locks as well — they’re the ever-popular Dunlops. It’s due for a new tremolo unit and nut, maybe even tuners. That stuff will have to wait until I have money again though. In the meantime, let’s look at what’s under the hood…

I went through a lot of possibilities for the pickups, but finally settled on BG Pups. They are handwound, and the guy who makes them is active on the Harmony Central forums, and he’s always eager to make adjustments to the pickups to suit each individual. Not only are the prices good, but he actually gives forum members a discount. So I talked to him and settled on a pair of hot wound Vintage 60 pickups, without the stagger, for my neck and middle pickups. For the bridge, we picked a Hellabucker. All of the pickups are AlNiCo 5, and both coils of the humbucker are magnets. I was actually trying to emulate the sound of the stock neck pickup that Fender had, but without the suck. These did a beautiful job of that. The bridge was basically meant to be as hellishly aggressive as possible without sacrificing tone; that, too, is handled amazingly well. Listen to the clips on the site if you’re not convinced.
Strats-medium

The electrical setup is a bit more complex as well. I chose to use 250K tone pots and a 500K volume pot. That gives me a rather bright sound with everything turned up, and a LOT of range to back things off. (The volume pot is dramatically different between even 10 and 8.) I also wired the bottom tone control to the bridge instead of the middle pickup. The volume pot is a push pull that engages a coil split in the Hellabucker. The Hellabucker’s been wound so that each individual coil is about as strong as a Vintage 60; I get a pretty good Stratocaster sound out of it, though not quite the same of course. It’s a little beefy, thanks to the setup of the Hellabucker, and that suits me just fine.

I absolutely love the sounds this thing gives me, and it’s also got an amazing ability to produce a good fascimile of almost any sound. (Except it doesn’t do a great job of pretending to have a neck humbucker, sadly.) The unconventional electronics setup is a big part of that; I’ve deliberately dialed in a ton of treble, and I use the tone knobs and my amp to keep that in check. Still, it’s not a mellow guitar by any stretch. And that’s how I like my guitars, to be honest.

September 6, 2009 Posted by Promit | Guitars | | No Comments Yet