Log in

No account? Create an account
29 January 2007 @ 01:15 pm
Also in completely unrelated news, I have been looking at these "fast game development" efforts too often lately. For those of you who have no idea what I'm talking about, there have been a number of groups lately (some students, some professional game developers, some other folks) who get together for awhile -- say a few days to a week -- and hammer out very silly, very quick little games just as fast as they can. It's possible for one person to put together a tolerable, very simple game in about 4-7 days, or for two or three people to put a game together in 2-4 days.

The thing is, I'm not seeing a good game developement environment for this. Not anywhere. So here's what I think you'd want to do this pretty well:

- A programming environment with the basic requirements for a game like opening windows, playing sounds, and maybe some kind of 2D and/or 3D graphics. Plus, y'know, some programming language.
- The ability to package this up with a little installer, maybe even just a .zip file, to easily play on a variety of machines. At the very least Windows and MacOSX, but preferably also Linux and maybe others.
- The whole thing should be fast enough that you can get a bunch of 2D objects moving around the screen without too much hassle. This probably rules out anything pyGame-based, for instance, since you don't want 50 particles all doing their moving-around math and bitmap redraw in Python. I think this also rules out BASIC. I have faith (untested) that Perl would do this okay, but I reserve the right to be unpleasantly surprised :-) Alternately, whatever solution you use could have reasonable callout to C/C++ (Python? Yup, pretty much. Java? Nope)

You'd also like your installer solution to let you package up libraries easily so that you can just say "install this" without first figuring out whether they've already got libjpeg installed or something. This is where C/C++ falls down hard :-( And "use configure" isn't an answer. That's way nastier and more awful than writing the game in the first place, especially for such well-trodden ground.

Does anybody know a way to do this that already exists and is tested?
msde on January 29th, 2007 11:25 pm (UTC)
PopCap Games Framework might work.
Noahangelbob on January 29th, 2007 11:38 pm (UTC)
Neat! Haven't looked at it. Now I need to :-)
Noahangelbob on January 29th, 2007 11:42 pm (UTC)
Looks interesting, and I'll definitely have more of a look. I like their license, but it looks like it's PC-only - no Linux, no Mac, DirectX-based. I'm guessing the port is nontrivial if nobody's done it yet. But I'll still have a look since I could be pleasantly wrong about them.
msde on January 29th, 2007 11:55 pm (UTC)
I think it's Windows-only. Didn't realize cross-platform was a requirement.
Noahangelbob on January 30th, 2007 12:07 am (UTC)
It helps. I did mention it, but Windows-only is still potentially tolerable. I just don't usually develop on Windows :-)
msde on January 30th, 2007 12:02 am (UTC)
What about Torque?
Noahangelbob on January 30th, 2007 12:15 am (UTC)
Neat! I hadn't looked at Torque before. I'm very impressed. This may be what I'm looking for. Cool!
msde on January 30th, 2007 12:36 am (UTC)
Hey, look me up if you're going to mess with Torque or some smaller scale project.
Noahangelbob on January 30th, 2007 12:47 am (UTC)
Sounds good to me :-)

Short-term, I'm probably looking at the TGB (Torque Game Builder) or rough equivalent. So more 2D than 3D.
msde on January 30th, 2007 01:30 am (UTC)
short-term, I'm job hunting. After that I'm more than up for a project that won't drag on for months.
Noahangelbob on January 30th, 2007 01:36 am (UTC)
msde on February 22nd, 2007 06:39 pm (UTC)
So, I'm moving this week and starting a new job next week. After that I may have some free time, to at least set up some sort of build and collaboration environment. Drop me an e-mail?
msde on January 30th, 2007 12:11 am (UTC)
Oh, and where are you reading about these? They sound pretty fascinating to me. I've mostly been reading about stuff along these lines as far as building a simulation environment is concerned, though if the job search goes well I'll be doing other stuff soon.
Noahangelbob on January 30th, 2007 12:17 am (UTC)
There's a group that started at CMU and evolved: http://www.experimentalgameplay.com/

There were a couple of Indie Game Jams with professional developers: http://www.indiegamejam.com/

I can't remember offhand where I looked at others, but they're along similar lines. I believe the Indie Game Jam is semi-franchised -- there are potentially others in other locations, and some web sites. I don't remember seeing any that looked like they were really getting much traction, though...
msde on January 30th, 2007 12:35 am (UTC)
Yeah, gamasutra covers the indie game jam pretty well, but I didn't really know of any others.
Noahangelbob on January 30th, 2007 12:48 am (UTC)
Gamasutra also covers the Experimental Gameplay Project (in its initial implementation as a class) pretty well: http://www.gamasutra.com/features/20051026/gabler_pfv.htm
Noahangelbob on January 30th, 2007 07:19 pm (UTC)
Looks like GarageGames, the folks who make Torque, also sponsor something similar.

msde on January 30th, 2007 02:09 am (UTC)
Oh, one more thought, you could try something based on J2ME or BREW.
Noahangelbob on January 30th, 2007 02:21 am (UTC)
Yeah... I've only done a little with Java and haven't liked the look of it. But it's entirely possible I'm underrating it. Java does have the advantages of approximate portability and that it's easy-ish to write web apps in it...
msde on January 30th, 2007 04:36 am (UTC)
J2ME in particular, I mean. A large percentage of mobile games are written in it. BREW is some C++ thingy I think.
Noahangelbob on January 31st, 2007 02:29 am (UTC)
BREW seems to be a Qualcomm mobile games platform, for C, C++ or Java.
Ryan Ingramryani on January 31st, 2007 01:51 am (UTC)
More java links
Three Rings (based in SF, even) has a Java toolkit which is freely available, and you can upload your stuff to their site so other people can play it.

It's the engine behind Puzzle Pirates.

Noahangelbob on January 31st, 2007 02:28 am (UTC)
Re: More java links
I'll look over it. I'm not a big Java fan...
Katherine Donaldsonkatharos on February 1st, 2007 05:09 pm (UTC)
If you have a game jam, don't leave me out! What fun. I went to a couple of the first "Game Developer Conference"s, and they had an indie game jam session, not to develop, but to talk about the ones that they had done. One thing I appreciated was that they always supplied sprite sets for the jam. Getting tangled up in graphics resources is one of my problems.

I think you comments about the installers are very apt. I wish I knew an easy way. Torque always seemed like overkill to me, but maybe I should look at it again. I've played with SDL and wxWidgets, in addition to ColdStone. If you want to do something like a simple RPG, ColdStone could work well, but it is pretty targeted to that environment. The programming is annoyingly dialog based, but I wrote a simple compiler that you can use outside ColdStone if you want to write more than a basic conditional. Also, I think that BASIC has gotten pretty good. Last time I played with RealBasic I thought it would work fine for a 2D game. Haven't really banged on it though.

Usually my process goes: Cool idea for game -> write core -> get annoyed at shell -> abandon. I need to work on that. I also get tangled up in the freeware/nagware/shareware squirrel cage.
Noahangelbob on February 1st, 2007 05:47 pm (UTC)
Torque is definitely overkill for most projects - it's designed for Quake/MMO-type stuff more than small 2D games. They're addressing this with the recently-released Torque Game Builder, a 2D engine with simplified networking and a bunch of GUI editors for making stuff. The full version (Pro, $250 for Indie license) also includes full source, just like regular Torque. So that seems potentially really useful for this...

I don't know ColdStone, but wxWidgets and SDL are both very hard to package up. pyGame (which is SDL-based) is better, but still annoying. RealBasic, I don't know. I've seen it used for RPGs and other extremely-low-framerate games, but I could believe its performance is better than the usual applications I've seen.

But yeah, I don't usually get started properly on games either. I need to devote a weekend to getting *something* off the ground, and then collect things like freely-usable images from there.