Jim Perry (Machaira)


=========================================================

State of the VB Gaming Community Address

=========================================================

Where We Are

After having read the other columnist's views on the state of VB gaming, I think the consensus is - VB game development is taking it's first halting steps of infancy. There’s little doubt in my mind that we can reach maturity, but it’s going to be a while before we get there. The number of solid, good looking VB games that have actually been released that aren’t clones of something can be counted on the fingers of one hand. There are currently almost 50 games on Voodoo VB's Big Huge Games List. 10 of these are listed as Commercial. That's not very big or huge. And just because a game is up there doesn't necessarily mean it's a quality game.

This is nothing against the developers of those games, but let's face it, writing a game is fairly easy, especially if it’s a Tetris clone, a scrolling space shooter, Asteroids, etc. A lot of the work (design) has been done for you. Writing a quality game that isn’t a rehash of an existing game is another matter. There are some good games that are still in development and have a chance of being released, but after that what happens? Will the community turn into a bunch of kids posting messages on the boards “I want to write a game, can you help?”, “I want to write something as good as _______ (fill in the current hot game), can you help?” “I want to write an RPG. What do I do?” Not much, if anything, will see the light of day. There may be a void until someone steps up and follows some simple (although difficult to implement well) steps to getting a good game released. What are those steps? Glad you asked.

What We Need To Get Going

Here's some things I feel you have to have to get a good game out the door:

1) A love of games

This is at the top of my list as far as I'm concerned. If you don't love games, how can you be expected to write something that will grab a gamer by the throat and say "You want to play me, don't you!?"

2) Dedication

Professional games today take around 18 - 36 months to produce. That's a long time for anything. If you don't have the dedication to see your game completed, you might as well quit before you start. You'll frustrate yourself if you keep looking at what your game and saying "This will never get done." Which ties in with the next point...

3) Patience

Every part of game development is tedious at some point. Just getting a good design down on paper (you do have a design document, don't you? No? We'll talk about that later.) can take weeks or months, depending on the scope of the game. And don't even talk to me about the testing process!

4) Knowledge

A team of the most dedicated people are useless without knowledge in the area in which they'll be working. A programmer without knowledge in the syntax of the language they'll be writing the game in is pretty much not even a programmer. An artist who doesn't know a pixel from a pixie might as well get my 16 month old son to create the graphics for him (Hey, he creates some mean abstract art. At least as good as some stuff I've seen by professionals :> ).

5) Imagination

It doesn’t take much to produce a clone with a new wrinkle, but will that get you anywhere? Not really. Writing a clone might be good practice but it doesn’t add much to the community. The biggest thing we need is a couple of good, NEW games that will make people think “Wow, that’s pretty cool. It was written in what?! VB, you’ve got to be kidding me. Maybe there is something to this VB thing after all.” This is probably the hardest thing, since it can’t really be taught. You either have it or you don’t.

OK, those are some intangible things. How about some more tangible things.

1) A good design document

It's amazing how many people are trying to write a game without a design document. Unless it's no more difficult than tic-tac-toe, you need one of these. Say it with me "I must have a design document before trying to write a game!" This is your roadmap to completion. Without it, you'll most likely end up lost somewhere on a dead end street. (Can I stretch an analogy or what! :> ) Along with this is another document that is vital – the project schedule. Breaking a project down into easily met goals will keep things going as there will always be an end in sight that can be reached. The project schedule may or may not be part of your design document, it doesn’t really matter, as long as you have both pieces.

2) A good project leader

An army without direction is just a crowd. They might do some damage, but will rarely win a war. The same goes for game development. If there’s no one keeping things organized you end up with bits and pieces of a game that don’t quite get tied together into a finished product.

3) A good team

I’ve seen teams that have people leaving and joining almost every week. It’s hard to get momentum going and keep it when you have to bring people up to speed all the time. One reason for this might be maturity. The attention span of my son is about 30 seconds. It’s not his fault, he’s just a toddler. Everything is new to him. It looks like there’s always something better to do somewhere else. A lot of people I see on boards are under 21. I know when I was that age the last thing I wanted to do a lot of times was sit down at a computer and write code for a couple of hours. The same is true for developers a lot of the time, I’m sure. Why write code when it’s a beautiful summer day outside and you can go to the beach. “Wait, isn’t that show on TV that I wanted to see? I can finish this function later.” Needless to say that function will most likely be forgotten or pushed aside for something else after the TV is turned off. I’m as guilty as the next person sometimes, but I know if I want to get something done I need to sit down and do it and I will if necessary.

A good team is also a group of people that work well together. If you’ve got people with egos or that don’t work well with people or any of a number of other problems, your progress will most likely slow to a crawl. Good communication is essential, especially if you’re working over the Internet.

Core Community Unification

I’ve seen this mentioned by others in some form, but I feel it can’t be said enough. Until the VB game community matures, there needs to be a place where developers can find what they need - tutorials, forums to get questions answered, tools, etc. In my mind one great site would be worth 100 thrown together sites, or even a dozen good ones. Doing this at this time of the Internet’s growth would be difficult though. If you visit gamedev.net, you’ve seen the plea for money to help them keep running. This is being echoed by more and more sites. While this is a possibility for the VB game community it might not be the best idea at this point. So what’s the solution? Use the sites that exist – Lucky’s, this site, The Nexus, VB Explorer, and several others – all are good sites with good content and a group of dedicated people that seem to love VB and game development. As long as they can keep doing what they’re doing, use them. I think it would be a great idea for them to get together with some of the other more prominent people in the community and talk about what they can do as some of the leaders of the community (you do know that’s what you are don’t you guys?!) to help the community get to where it can be.

Summary

Basically the future state of the community is what the community makes of it. If people want to see big things and show those outside of the community (C++ developers) what VB is capable of as far as game development, they’ll do what needs to be done to produce big things. If we support each other and strive to design and write quality games we can get there. Although I write games in C++ as a job, I’ll always be doing VB game development as a hobby as long as VB is around. I’ll be trying to do my part, will you?


Previous Columns


Jim Perry is:
A programmer at Breakaway Games