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 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.