Take a break. I'm developing a large game called "Ant Farms 2" and we started to get burned out so we made a little game called "Match". Match is almost done and prjected to make a little profit. Were refreshed and ready to work on Ant Farms 2 again. Match has taken us roughly a week to make but provided a great break from Ant Farms 2.

You could try out lua-based LÖVE framework (pygame-like), it uses SDL internally and has easy project distribution options for Windows, Linux and Mac.As an example of creating a windows .exe:

copy /b love.exe+project.love game.exe

Where love.exe is Love2D framework with integrated lua interpreter, project.love is the packaged project and game.exe is the name of the final executable file. It's very painless, opposite to distributing pygame-based (python) games which require too many steps for an end-user. I've switched from python + pygame because of it's awful distribution options (cx_freeze, py2exe, etc).

I think, it depend on yourself.
what's the goal of you making this game.
practice your perl?
or practice your game programming.
if it's the first. that will be every important to you. because. you can effort the difficult and get archivement.
but if you just wanna go the road of game programming. C/C++ AS3 etc. maybe more sutiable for you.
every language has it's good at field. just as our human being. every body have their good at thing.

I think, it depend on yourself.what's the goal of you making this game.practice your perl?or practice your game programming.if it's the first. that will be every important to you. because. you can effort the difficult and get archivement.but if you just wanna go the road of game programming. C/C++ AS3 etc. maybe more sutiable for you.every language has it's good at field. just as our human being. every body have their good at thing.

so. go your way. pratice more. more failed. closer to the success.

Both. I just love Perl, and want it to be my weapon of choice for web developing, game developing, etc.I could go into detail. For one, I have alot of experience with PHP, so using dollar signs for variables, is built into my mind.

How come I can run C and C++ programs without installing anything, yet when I run a program written in Java or Ruby, I need to install the compilers for those languages?

My favorite language is python, but I had to drop it in favor of Love2D/lua, because of python's bothersome packaging of a game project into a single executable file for different platforms. In order to keep going I had to choose another tool. So, you have a choice in this situation: stick with perl and get delayed (maybe for a long time without any progress) or change your programming tool to a more appropriate one and keep going on. A language/compiler/whatever is just a tool for a programmer. Have you ever seen any worker, who says something like: "You see, I'm used to my screwdriver, so I'm not going to use this hammer"? Just my 2 cents

How come I can run C and C++ programs without installing anything, yet when I run a program written in Java or Ruby, I need to install the compilers for those languages?

Any programming language can be either "Compiled" or "Interpreted" (I'm simplifying here). A compiled program is pre-translated into machine language (the 0's and 1's computers run on). An interpreted language is translated to machine language on the fly by another program (and is also slower).

That's why you need to install another program to run interpreted languages.

Now, to get a bit more into this, both approaches have their advantages. And, just to clarify, any programming language can be compiled or interpreted. However, many languages have a default choice.A compiled language is faster and doesn't require an interpreter (the program interpreted code runs on). Updates require recompilation of the entire program, and compilation is typically slow.An interpreted language can be paused and altered on-the-fly. Updating the interpreter to a newer, better standard, automatically updates the interpreted program, and compilation is typically fast - To an intermediate "bytecode", generally. That is, compression of your code to a sequence of bytes which can be interpreted much faster than reading and interpreting a text file. However, because they require an interpreter to "talk" to the computer, interpreting a language will always (assuming equally well-written compiler and interpreter) be slower than compiling that same language.

There's a third option, JIT, or "Just-In-Time" compilation, where the code is first converted to bytecode, then each piece is compiled when it's first needed by a JIT compiler. It has some (but not all) of the advantages of compiling and interpreting, and also some (but not all) of their downsides. But that's more than is needed to get into here.

So in short, your c program is probably compiled, your perl program is probably interpreted. Try looking for a compiler for perl (and, just for fun, an interpreter for c - There probably is one).

Don't change frameworks just because you think that the completed game has some requirements. Everything you develop on is going to have to some requirements or game data anyway. Try to understand about how installations work, how to check if something is already installed.

Look for information about a piece of software called Inno Setup, that creates scripts for installers, while checking if something is already installed and installing it if it's not. Study some more and go through these obstacles, its a part of software development. Don't give up.

Don't change frameworks just because you think that the completed game has some requirements. Everything you develop on is going to have to some requirements or game data anyway. Try to understand about how installations work, how to check if something is already installed.

Look for information about a piece of software called Inno Setup, that creates scripts for installers, while checking if something is already installed and installing it if it's not. Study some more and go through these obstacles, its a part of software development. Don't give up.

Never planned on changing frameworks(as much as I do love LÖVE, Slmgc).

Narf I do appreciate you writing that out, as you can tell I'm not too educated on compilation. What I'm worried about is, if I get all the source code compiled so theres no need for Strawberry Perl, how will the program locate the SDL stuff I need?

Never planned on changing frameworks(as much as I do love LÖVE, Slmgc).

Narf I do appreciate you writing that out, as you can tell I'm not too educated on compilation. What I'm worried about is, if I get all the source code compiled so theres no need for Strawberry Perl, how will the program locate the SDL stuff I need?

For that, you'd have to ask a C expert; I've never gone closer to C than C++, sorry.