jack: (Default)
[personal profile] jack
You are in a maze of twisty scripting languages, all different

I was investigating how to write a point-and-click adventure game at all, as a prerequisite for adding on my ideas for user-interface features. I was possibly over-optimistic, I wanted something:

* Cross-platform
* Working
* Open-source

And I started by looking to see what existing open-source adventure games there were. Ideally I can start just modifying something that already has a good interface, adding my features and game design. But found many things which fulfilled two of the criteria I hoped for.

* AGS. Very nice, compiled cross-platform, completely free, adventure game authoring system, used for many very well designed retro games, including some minor commercial releases. But the author is happy for it to be free but prefers not open source, so while you can do a lot with the scripting language built in, I still feel constrained. (Does anyone *know* a Chris Jones?)

* Several even more polished authoring systems, some free, some shareware, some commercial, but windows only.

* Several putative cross-platform mostly open-source authoring systems, generally adopted by a large team designing one game, but either unfinished, or internal to the game design team.

* Several similar open-source cross-platform games but not specifically touted as an authoring system, also not finished.

If anyone can recommend anything I've missed, please do! :)

The conclusion

Well, I don't know if I'll finish, but I decided which way I would go if I do.

I took MAD adventure game engine, which isn't completely polished, but works. The author is working on hero6.com, but there's a little discussion in the forums, and he doesn't seem interested in releasing the system separately. Still, it's a base, it does path-finding and other things that I've no interest in innovating, so I'm grateful.

Several of the non-open-source engines have graphical editors of one sort or another. I won't do that, but the idea is to have an automatic export from the gimp, that turns layers with systematic names into separate bitmaps of backgrounds, and each object (including both pickupables and eg. open door/closed door), and text files

This approach includes the languages:

* C, to make changes to the engine
* Lua, to program game logic (including ui, etc)
* Scheme, to script GIMP.

Hence my comments of all week "I didn't intend to learn lua this week, but that was nothing to my non intention of learning lisp this week, which was insignificant compared to my (now resumed) intention not to buy a house this week!" :)

Date: 2007-09-14 01:11 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
I did also speak to the guy in the forums asking about the MAD engine.

Date: 2007-09-14 01:23 pm (UTC)
From: [identity profile] geekette8.livejournal.com
There's a Chris Jones who used to be on cam.misc... probably a fairly common name, though!

Date: 2007-09-14 01:32 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Hmmm, I wonder. cam.misc is a logical place for adventure game retro programming cross-platform gpl interested people to hang out :)

Then again, I expect the intersection of gpl-fans and retro-adventure-game-fans and tuited-programmers to be larger exist :)

Date: 2007-09-14 01:29 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
IIRC there's a Perl interface to the Gimp too.

Date: 2007-09-14 01:33 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Yes, I found that. There doesn't seem to much about getting any of them working under windows, though, which is where I'm working at the moment :(

It's not as if learning lisp isn't interesting in the long term. Though perl would probably be easier right now.

Date: 2007-09-14 01:39 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
So I don't know:

* Work in linux
* Get perl-fu working in windows
* Use lisp

Getting any to work requires some faff, getting perl-fu working is probably a faff superset of getting script-fu working, but perl would be easier to write in. I don't know.

Date: 2007-09-14 02:32 pm (UTC)
From: [identity profile] woodpijn.livejournal.com
AGS does look good, from what I've seen of it.

What are you hoping to do that its scripting language won't let you? Or is it just a non-specific unease because there might be something you want to do that it might not let you?

Date: 2007-09-14 02:43 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Yes, it did look good, and there were some great games. Do you know anyone who's used it much?

What are you hoping to do that its scripting language won't let you? Or is it just a non-specific unease because there might be something you want to do that it might not let you?

LOL. Good description. It's mostly a sense of unease. I feel a lot better about writing a real program than learning to use someone else's, even if that's cool, because I know there'll be lots of little workarounds I'll be annoyed at the need for.

And because it would be nice to have an open source engine, so other people can do stuff too. None of this is necessary, but it's all things I feel might be nice, and I don't know if can be done in script, but I feel that might not be the *correct* way to do it.

* Mouse interface, eg. "mouse-over, move left for this context menu, right that for that one". Possible in script, but two many layers between hardware and code make me nervous

* Changing walk algorithms. Eg. can you overlay walkable areas if you have a gantry which appears in front of a larger walkable area on the ground, and let you walk on either? I don't know if any two-d games do do this actually, or maybe have code to switch areas on a stair-climbing animation, but it would be cool. I don't know if AGS does it, but I think the walk routines, etc are in the code, and that's the right place for them but it would be nice to be able to edit them if you wanted to.

* Porting to run on a new OS.

Actually, when I analyse my feelings, I think I just feel like I want to write a program rather than just a game. And it's not always useful to want means rather than ends, but I think there's enough perks to justify it, now I've recognised that.

Date: 2007-09-14 03:36 pm (UTC)
From: [identity profile] woodpijn.livejournal.com
Do you know anyone who's used it much?
No. My opinion was based on having downloaded it and had a look around the interface and documentation, and on seeing that there are lots of completed games on their website (a couple of other similar engines only have a handful).

Date: 2007-09-15 11:33 am (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Ah, shiny. I'd think you (or Alex) would write rather a good adventure game, if you were going to try... :)

I had a look at some of the games available: the classic seems to be "Five days a stranger", which was still a bit arbitrary in places (and a horror, not normally my kind of thing, but funny too) but pretty good. There are some commercial ones that are more polished, but I haven't tried any of them.

Date: 2007-09-14 06:41 pm (UTC)
From: [identity profile] pseudomonas.livejournal.com
There are, I think, open-source implementations of the ScummVM engine that LucasArts games use.

Date: 2007-09-15 11:19 am (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Oh yes! I'd forgotten to mention that. (In fact, ScummVM *is* the open-source implementation of the SCUMM engine.) Thank you.

That project is very much alive and thriving. And should provide good clear code for walk algorithms, display, etc. But it's rather reverse engineered, so writing anything new in SCUMM is rather difficult, from what I could find. On the other hand, maybe I should be able to take the back-end, if I need a new game-logic engine anyway...

Date: 2007-09-16 05:13 pm (UTC)
From: [identity profile] calamarain.livejournal.com
Another good one is Inform. It's definitely cross-platform, well established, has good facilities for dealing with objects and there's a large community of people who could help.

It also takes care of a lot of the mechanics so you can concentrate on the writing.

Date: 2007-09-16 05:23 pm (UTC)
From: [identity profile] cartesiandaemon.livejournal.com
Ah, I did see that. It looked good, but I didn't go further than the front page where it said "interactive fiction" -- I assumed that meant text-driven only (and a quick check makes that look right).

(I've always considered text-adventure and graphic-adventure to be related but different genres (I may have had some bad experiences of bad text-adventures). But I definitely wanted graphic adventure rather than text-adventure, though a parser and engine may be a useful back-end)

Active Recent Entries