[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