Hi, folks.

Lots of you seem interested in learning how to program games. This is  
great. Lots of you are also scurrying off and downloading the various  
microsoft express IDES. If this is your chosen path then by all  
means, knock yourselves out, but I wanted to toss out another path  
that you may not have considered.

C#, VB, Java, etc. are popular, powerful languages. They're also very  
verbose when compared to languages like Ruby and Python that can,  
say, write a simple "Hello, world" program in a single line rather  
than half a dozen.

If you're wanting to learn programming, consider a language like Ruby  
or Python first. The syntax is much easier to grasp and, in my mind,  
much closer to how we think than are languages like C#/VB. Try to  
guess what this does:

3.times do
        print "Hip hip, hooray!"
end

vs.:

for(int i = 0; i < 2; i++) {
        Console.Out.Writeline("Hip hip, hooray!");
}

You can develop games easily in either of these using libraries like  
RUDL, Rubygame, Pygame, etc. Not only do these have the advantage of  
being cross-platform, but you can type a bit of code, run the game  
instantly, add more, etc. in an evolutionary process so much faster  
than would otherwise be possible with compilation.

There are disadvantages to this path. These languages may spoil you.  
I've coded for years, and after working with Ruby, coding in Java  
feels like running under water. This may be circumventable, however.  
I've written Torrent in Java and have just recently separated the  
engine components into a separate project for other game development.  
I'm finding that I can use my engine with JRuby, a Java-native  
implementation of Ruby, and enjoy the ease and speed of Ruby plus the  
power of the underlying Java engine. If you're a .net person, there's  
a .net implementation of Ruby on the horizon and, if you find that  
you prefer Python to Ruby, you can already use languages like  
IronPython or Boo (http://boo.codehaus.org) with DirectX or whatever  
your .net engine of choice might be. Actually, if Python is your pick  
then you can already use either of these with existing DirectX  
resources/tutorials to get up to speed that much quicker with skills  
that you can keep.

Also, if you pick the pure Ruby/Python route, your games' source will  
almost always be visible, meaning others can copy what you've done  
(albeit with the same restrictions.) This shouldn't be an issue at  
first--my first three attempts at game programming weren't commercial- 
grade, and I'd probably have been much more successful at learning if  
I'd treated at least two of those as learning experiences instead of  
trying to write the next GMA engine right out the gate. :)

And, again, if you're still interested in the C#/VB.net route then  
right on, and I wish you the best of luck. :) Just wanted to let  
folks know that a) those aren't the only games in town, even if you  
do want to stick with .net from start to finish (see notes about  
IronPython/Boo above) and b) it may be best to focus on learning the  
craft of game design during your first few efforts rather than on  
producing something to sell. Language shapes how we think, and while  
picking a non-conventional language might seem like a bad idea at  
first glance, it just might help some of you who may find C#/VB  
frightening. Hell, I'm a decent enough coder and *I* find them  
frightening for various reasons. :) If given a choice, I'll almost  
always pick an alternate language like JRuby/Nemerle/Boo for whatever  
platform I'm constrained to rather than simply using C#, Java, etc.


_______________________________________________
Gamers mailing list .. Gamers@audyssey.org
To unsubscribe send E-mail to [EMAIL PROTECTED] You can visit
http://audyssey.org/mailman/listinfo/gamers_audyssey.org to make
any subscription changes via the web.

Reply via email to