jack: (Default)
[personal profile] jack
* I'll no doubt need PERL (or equivalent) as well to tie everything together.
* I have successfully run my gimp export script from the command line (the trick was to give it an .scm rather than .scn extension)
* I downloaded the development release of the gimp to do it though. It's always a very pleasant feeling when you think "Hey, there should be new features in this program," and you go check the website, and there they all are :)
* Step 1, blah. Step 0, setup. Step 00, config. Doh.

Date: 2007-09-16 12:55 pm (UTC)
From: [identity profile] robhu.livejournal.com
Is this going to end up being a platform specific executable?

I don't know if you've considered this (and I suspect it's not an easy requirement), but it would be cool if your game was web based (JS / Flash / Java [maybe]).

Date: 2007-09-16 04:15 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Is this going to end up being a platform specific executable?

It should be cross platform, that is, the game engine uses the allegro graphics engine (though might one day be ported to SDL), which are cross-platform C libraries, so you can compile for windows or linux, and anything else they've been ported to too.

I very much wanted to do that, partly to practice some linux compatible programming, and partly so a lot of my friends who use linux exclusively can play.

I also looked at platform-independent languages, java and flash (and, I suppose pygame, a python based platform independent games framework). But I don't feel like learning java at the moment. Flash can be very frustrating; it's a great way to get started but to do anything at all intensive you have to either (a) fail or (b) link to libraries written in another language which is (b1) tedious and (b2) not independent any more (though at least those wouldn't use any graphics). I think the latest version of flash has a more extensive language, but I don't want to buy it.

So on balance I preferred the idea of making it in terms of a "real" program.

Date: 2007-09-16 04:40 pm (UTC)
From: [identity profile] robhu.livejournal.com
Don't forget OS X!

Date: 2007-09-16 05:05 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
What's that icon?

I was including that in the category of "everything else" :) That is, windows and linux cover most of *my* friends, and if it's still going well, allegro and sdl have osx ports.

Date: 2007-09-16 05:09 pm (UTC)
From: [identity profile] robhu.livejournal.com
The icon is one of the posters used in this amusing campaign.

everything else...
Yikes!

If I included everything else I'd have to write stuff that ran on the Acorn, Atari ST, Amiga (various flavours), and god knows what else.

Date: 2007-09-16 05:17 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
I meant, the category of everything else the graphics library has been ported to. (I assume everything has a C compiler :))

FWIW allegro says "DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X," and SDL says "Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. The code contains support for AmigaOS, Dreamcast, Atari, AIX, OSF/Tru64, RISC OS, SymbianOS, and OS/2, but these are not officially supported."

I don't think I'm ever going to have the time or desire to get something tested in more than two OSes -- I'll probably hope someone else helps with the linux version, at least of the authoring stuff, if I get that far. But I want to not write myself into a corner, by using something that *can* be expanded to others if it's ever desired.

Date: 2007-09-16 05:21 pm (UTC)
From: [identity profile] robhu.livejournal.com
Sure. Other platforms might be worth considering though. This list doesn't include WindowsCE for instance, and I know people who play adventure games on their phones (ScummVM ones).

I also play ScummVM games on my Nokia N800

Date: 2007-09-16 05:28 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Sure. Other platforms might be worth considering though.

Oh, yes. Certainly. But I probably can't stand a better chance for making it portable than making the prerequisites C and SDL -- lots of people hopefully have an interest in porting SDL to any upcoming operating system.

Date: 2007-09-16 04:26 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
I also wondered whether this would be better as a web-based game or a standalone. It should be *relatively* lightweight, so web-based is possible (especially with decent downloading only necessary bits, etc).

Web-based is cool because:

* It's low-commitment, someone can try it simply by clicking a button and not doing anything else.
* You can put it on a site with advertising.
* It may be more portable
* Someone can play from wherever they are

But I thought standalone was good because:

* Web-based games always seem to turn out a bit fragile. You have to keep a web browser window open, it locks up and you hadn't saved, the user interface is only half under your control, if you download the game and play it you find it locked in a "viewer" window.
* You keep having to go back to the webpage rather than having a shortcut on your desktop or menus
* Being able to play conveniently off-line fits the retro feel.
* If this were ever a successful project, a C based game has more scope for being taken on and expanded into other open-source games.

Maybe java runnable either from the computer or over the web would make sense, but I didn't feel like it.

Also, the most usable engine I settled on was C-based.

It might be possible to port it *back* to the web. Either with a java port of the graphics library, or if you can embed an arbitrary executable as an applet, or whatever.

Date: 2007-09-16 04:45 pm (UTC)
From: [identity profile] robhu.livejournal.com
With a web game you could checkpoint everything every few minutes to guard against lock ups.

I'm surprised there isn't a file format / byte code / thing for modern graphical adventures. If there was someone could write a Flash VM.

Date: 2007-09-16 05:12 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
With a web game you could checkpoint everything every few minutes to guard against lock ups.

Oh yes. But it still doesn't *feel* clean, though I know it could be done completely reliably. It's more of a at-the-moment personal preference really.

I'm surprised there isn't a file format / byte code / thing for modern graphical adventures.

There is ScummVM, I suppose :) It's not modern, but there's no reason it couldn't be. But I didn't feel like trying to write a compiler.

I suppose:

* Many commercial adventures have *some* personal UI tweaks so you can't have a pure interpreter VM.
* It might be possible, but if the graphics aren't designed for flash I'm not sure it could cope -- the winnie-the-pooh game, trying to animate 10x14 tiles ran out of steam. There's lots of optimisation tricks, but that all feels like you're fighting the program rather than using it. The modern flash might be better, I don't know.

You could certainly write a java port of the VM. That oughtn't to be very bad at all -- the graphics library ought to be already ported, and the rest is all native language, so you just need to change the names of all the control structures :)

Date: 2007-09-16 05:19 pm (UTC)
From: [identity profile] robhu.livejournal.com
There is ScummVM, I suppose :) It's not modern, but there's no reason it couldn't be. But I didn't feel like trying to write a compiler.
Someone has already written a http://alban.dotsec.net/7.html'>ScummVM compiler.

Many commercial adventures have *some* personal UI tweaks so you can't have a pure interpreter VM.
Mmm... it depends. I suspect ScummVM gives you a lot of room to maneuver. Anyway, there's something to be said for having a UI that is similar to Monkey Island / Loom.

It might be possible, but if the graphics aren't designed for flash I'm not sure it could cope
The latest Flash VM is quite fast. I believe it does JIT compilation. The previous VM was very slow IME.

Although writing a VM for the format is probably highly time consuming, especially for Flash.

OTOH there are lots of platforms that have a ScummVM implementation (e.g. phones etc).

Date: 2007-09-16 05:27 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Someone has already written a http://alban.dotsec.net/7.html'>ScummVM compiler.

Oh yes. It looked kind of... alpha, though. If it were in good working shape, I should have been using it, maybe.

Mmm... it depends. I suspect ScummVM gives you a lot of room to maneuver.

Yes. And of course, you can edit the ScummVM engine to support more things (it supports other similar things as well as SCUMM). It probably requires (or at least wants) development of ScummVM as well as development of a compiler, but if you have that, it'd be a good plan.

Date: 2007-09-16 04:28 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Oh, and I forgot to say. To *compile* a game, you'd need GIMP, Perl, and a C compiler, so it should work on Linux and Windows, but would probably need testing before anyone tries to use it.

Sorry, I went on a bit, didn't I? It probably helps me to write down all of my thoughts. I don't know if any of this will come to fruition, but I've been having fun for the first week :)

Date: 2007-09-16 01:42 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
You might want to know that the author spells it Perl, not PERL.

Date: 2007-09-16 04:02 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Ah, thank you. I was vaguely aware of that, but didn't care enough to pay any attention to getting it right (though I support the existence of non-acronym artificial names in general).