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 .. [email protected]
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.