[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pygame] Why do we do this?
Hello peoples!
Peoples here, I greet you warmly.
I would guess that most people on this list enjoy programming, playing
games, and programming games.
Oh yes. Definitely do.
I am wondering, why? What motivates you, what started you on this path?
Programming itself is something I have done since I was six; indeed,
seventeen long years ago. God, I feel so old.
I originally started programming because there was this space game I played
in BASIC. I had to start GWBASIC or BASICA (more often the latter) to run
the game, and so I had picked up a few interpreter commands that way. Then I
figured out the LIST command. Oh my, now I can see what the programmer typed
to make this game!
So, I found the difficulty setting and made it so it would let me enter a
difficulty lower than one (it was 1-10). Unfortunately, the number of
enemies produced by the game was directly dependent on this input (enemies =
difficulty * 3 * levelnum), and the program went through all of the levels
in the game and then crashed.
Poo. I was not to be bested by the program, so I dug deeper. Life was simple
and you had lots of time to do this when you were in elementary school. The
only thing I had to worry about was mom telling me to go to bed.
I progressed to the point where I was hacking apart my own mouse routines by
listening to serial input because I didn't have any mouse libs for
QuickBasic and writing my own games during class when I was doing
independent study in junior high, and then co-wrote a few games with some
friends in high school. By now I was a [mostly] Turbo Pascal and [very very
little] Turbo Assembler fan.
Since, though, I'd discovered Unix, and my previous games expected full
access to video memory and interrupts, and I hadn't written an app that
would be run in a window, which brings us to.........
And why have we picked pygame?
About a year and a half ago, maybe two, I played this dancing game that I
had only heard so much about but not actually tried it. It took me a week or
two just to pass the easiest song. Then it happened.
"It's been so long since I've been addicted to a game like this! I wish they
had a PC version!" I exclaimed. Then I found a mat with a parallel connector
on it for sale on eBay. Dance Dance Revolution HAD to exist for the PC if
there was a PC mat. It was only $20 bucks with shipping, and I won it!
I instantly plugged it into my Linux box when it arrived, loaded up
gamecon.o, and found that though the mat worked fine (sans a few problems I
fixed later), there was no DDR game for Linux! I broke my vow and installed
win32 on a box I didn't care about, and not only did the CD that came with
my mat have a very crappy clone of the game, the music didn't match up with
the arrows, AND the mat *didn't even work* with it!
So, I realised that this is the point where my pascal skills would come in
handy. Then I quickly threw that idea out. FreePascal is REALLY cool, but I
knew I was going to need to write a "windowed" game, and bind to something
popular.
I always tell people a Linux solution exists or can be written. It was time
to eat my own words. I know a little C, right? Maybe that'll be easy. So, I
frantically search for simple C code to learn how to open windows in X11,
and they're 80 (eighty) lines in length to init a black window in X!
Insert heart attack here. Maybe a blood-curdling scream.
So, then my mind went to toolkits. I can write a game easier with a toolkit.
Right. After looking at five or six toolkits I can barely remember, I came
across pygame. "This would be cool if I didn't have to learn another
language," I remarked. None the less, my curiosity took me onto IRC where I
asked if Python was an easy thing to learn, and this was affirmed by many
people.
In under two days, in my spare time, I had 80 lines of Python code. Not only
did it open a window, but it played a music file as well, and I had arrows
appear in it that flashed to the beat. Now that's progress.
These are not rhetorical questions, I am interested to see your
responses so I can perhaps see what motivates me, and maybe find some
extra inspiration!
Well, a year later I'm still working on the game whenever time permits,
adding new features. I take it to cons like Linux World Expo and people say
"This is the coolest thing I've seen at the expo! What is it?"
When I tell them it's written in Python their jaw hits the floor. It's fun
to watch and answer barrages of questions ranging from "why did you pick
Python?" (answer: It was easy and fun) to "how is that even possible?"
(pygame).
It's really a wonderful feeling to know I'm finally able to give back to the
free software community that has been fueling my free software addiction for
many many years past and many to come. It's also a wonderful feeling to
write something that fills a need, and something that people actually want
and use.
Not to mention I'm still addicted to the game.
Brendan
PS. Sorry for the Novel-Size(tm) version versus a short answer, but I hope
you can relate to something in here, and it helps you. Some of this may be
paraphrased in an article I'm writing soon, be sure to pick up a copy of the
mag should it make it in.
--
* tgz@orotech.net * http://clickass.org * ICQ# 1107012 * AIM/Yahoo:
theGREENzebra * http://mp3.com/thegreenzebra
-----GEEK CODE 3.12-----
GCM/CS/IT/MU d? s: a22 C++++ UL++++ P+ L+++>$ E---- W++ N+ o K- w---$ O- M
V-- PS+ PE Y+ PGP- t++(+++) 5- X R tv(+) b+(-) DI+++ D+ G++ e h++ r+(---) y+
UF*++
____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org