Question: Most Important Features in A Game Creator

Thanks for all the feedback and discussion so far.

I plan, at least for now, to have the creator build the game with Python, which allows for some true cross-platform (Windows, Mac, Linux + Online) as well as allowing the game code to be human readable.

I completely agree with the needs to future proof and have a stable backing, which is one of the reasons I decided to go with Python, which is a fast-growing and popular with institutions (such as banks), which means that it will be supported for hopefully a long time, plus it is pretty open with documentation and versions, meaning that the interpreter should work for a long time. (JavaScript is an idea, but I like the offline features of Python and am more comfortable in working in something similar for now.) As well, since most Macs and some Linux come pre-installed with Python, there is no need for a download of Python by the user, and for Windows, there is the note below about .exe files, but a Python download could be done quickly and a system within the game file could theoretically offer to take you right to the Python website for a download of Python 3.

The system will (probably not in version 1, but hopefully in an version soon after) have an ability to turn the game into a .exe file, though this would be optional for the game.

The game package the system will create will be a folder with a copy of the manual (if created by the author), a ReadMe license for the system & game, the gameā€™s executable and any images/soundfiles required to be played (Images should be immediately supported, soundfiles may take time - Iā€™m still looking into it).

Let me just add that Iā€™ve been enjoying this thread! I still stand behind most of the arguments Iā€™ve put forward, but thanks to the subsequent discussion Iā€™ve gained some new perspectives and a better understanding of the full picture. Some of those insights are already turning into concrete design choices for Dialog and the ƅ-machine.

2 Likes

@Natrium729 Thanks for the links;

I tried NativeScript. It looked interesting, although i tried building the demo and it gave errors. But i think you donā€™t really use javascript so much as a custom schema UI schema - but i think thatā€™s the whole point of the ā€œnativeā€ bit.

Capacitor looks interesting, Iā€™ll have to have a fiddle with the Ionic framework first, as that seems to be the main idea.

Also, i now remember thereā€™s also Electron, for desktops.

@lft

Might be wrong thread for this, but;

Ah ha! A-machine, good idea! When you first announced Dialog, this wasnā€™t part of it. The z-machine is a dead-end because;

Can we have metadata in the A-machine? Specifically, could it be possible for external code to query;

  • Things carried
  • The map, including current location & available exits.
  • Properties of objects; gettable, edible etc, location of an object.
  • story metadata; title, author etc.

And also for the A-machine to ā€œtrap outā€ to;

  • show a picture
  • play a sound or music

and so on.

1 Like

Iā€™m glad to see the security aspect raised. For me, the Terp + game system works because I only have to trust the writer/s of the interpreter. The Terp ā€œholds the game hostageā€ in a sense.

For example, I remember that TADS2ā€™s default settings are that TADS only has write permissions for the directory that itā€™s in (probably true of T3 too, but I donā€™t know offhand.) So I only have to trust Mike Roberts not to be a criminal/psycho/naive/incompetent, and donā€™t have to worry about the game authorā€™s intentions at all.

So if we are talking about the convenience of one-click-to-play, Iā€™d be interested in seeing a system that builds games that run in a sandbox. That way essential/ephemeral libraries could be bundled in with the game, as a means of at least partial future-proofing.

Sure it would make downloads bigger, but thatā€™s only a problem for people like me, stuck with pay-as-you-go internet, and to be honest bulky items like hi-res backgrounds and video clips dwarf the size of most libraries.

For me, the issue of the code being open source greatly helps with the trust issue too (as well as being extremely useful when learning the system.) Once Iā€™d gotten beyond the IF equivalent of ā€œTeeny songs for Tiny fingersā€ I really found it helpful being able to take the back off I6, and see how Graham Nelson had done whatever was puzzling me that evening, and itā€™s one of the things I miss about I7.

As well as that cool nerdy thing about the box being inside itself, of course. :slight_smile:

1 Like