Wednesday, February 02, 2005

Actually Making Games (For Idiots like Me)


I've mentioned before
that I am a failed programmer (But not unemployed - not yet).

What this means is that I've wasted hours and hours and hundreds of dollars in attempts to find a computer language I can understand and utilize.

I have programmed "Hello, World" in Java (1 and 2, as well as JavaBeans and Applet forms), Python (no, I have no idea 'why?'), Perl, Asp, C, Visual C++ and BlitzBasic.

"Hello, World." That's as far as I ever got. I tried all the examples. I understood variables and functions and how to peform operations and even grasped classes and inheritance.

But there's a serious disconnect between me understanding the overall concepts and actually, y'know, getting a program to do anything, at all, that I want.

Nevrax has their MMORPG client / server library available on their site under the GPL (General Public License). When I hear about opportunities like these, I kick myself yet again for being so horrible at coding. There are so many great, totally-free, open-source resources available on the internet. Just browse through Sourceforge's code repositories to get a glimpse of the possibilities.

So why, with all these brilliant snatches of code floating around for the taking, and plenty of fantastic designers posting their ideas (See here, this one, too, and yeah, here too) are we not flooded with thousands of fantastically innovative indie games?

[Please don't point out that there are lots of great indie games. I know this. Thousands, though? We aren't even flooded with thousands of fanstastically innovative big-budget games.]

But access to the tools and the desire to create something with them do not come together in a magical burst of light and give birth to your dream programs.

I know I'm not the first to desire it, but here's how I'd imagine my own personal programming language would sound (I'll dub it PiSpeak) - yes, it would be spoken:

Make a grid of equal squares. Ok, let's define a common board as fifty by fifty squares. Tile the squares with a brown ground texture for default. Make the texture darker. No, swap it to the next texture it resembles most. Now let's create a default unit marker - make it circular. Have it fit within the confines of one square on the board grid.

And so it would continue . . .

Now to many people this method would seem incredibly, well, tedious. But in my mind what I'm doing is building specifics in from a general picture - the way a sculptor might work clay, envisioning a final result and molding, reshaping, scraping and adding bits slowly to work toward the intended shape.

Maybe a game design software that would work like a police sketch artist. Buttons lay out broad options (maybe genre descriptions), and every decision will open up new pathways and provide easily grouped examples of classic game options with places to add in user-made definitions.

I realize this is partly what the Visual family of programming languages attempted to do, and they did a fairly good job. But how is it so difficult to add in the option to put menus into simple language? Maybe some enterprising soul could add skin functionality to a Visual IDE and let users themselves define how the elements are named?

PiSpeak, of course, will take quite a bit more advancement in Natural Language Processing before a demo can be developed.

1 comment:

Anonymous said...

Personally, being a programmer, the biggest problem I've always had with trying to make an independent game is a lack of content (2d, 3d models, texturing, animation, levels, etc).

It sounds like PiSpeak would have a lot to do with level design and/or adjusting stats, but not with the actual creation of assets or code. Or am I misunderstanding things?

As far as I know, there already are some tools that can do things like that (although not spoken or as intuitive), such as 'RPGMaker' and 'tis ilk. Although, they are normally fairly limited to the system they were designed within. However, they might be worth a look.

-lp