In what does ASL run

Greetings All,
Please forgive me, I have a little, general knowledge of programming, but not a lot. I found Quest while doing some research. I am interested in text based games and was learning Python so that I could program my own. Obviously, I realize now that trying to program the whole game in python would require me to reinvent a wheel that already exists in CSS and HTML.

I am trying to understand in general terms, what the Quest project is, what the ASL scripting language actually runs in, and the role of CSS, HTML and Javascript in that framework.

I looked at the aslx code for the tutorial game, and it is clearly not enough to run a game. The file is supplementing something else when the game is run. My guess is that the "something else" is another, unnamed program built in or around HTML and CSS, using Javascript to run run the asl script.

If I am right, in general terms, then, I think that HTML, CSS and Javascript alone are enough to write a text based game, so the question becomes what role does asl perform, what does this scripting language bring to the table?

To be clear, I really like what I have seen of Quest, and will use it develop games while I study HTML, CSS and Javascript. In fact, looking at Quest helped realize that it made a lot of sense for me to write my games to be played in the browser.
I just want to be able to wrap my head around what is actually happening with the coding at a strategic level.

Thank you for your help, and I apologize if my questions are too vague to be useful.

God bless,
Grgc


My guess is that the "something else" is another, unnamed program built in or around HTML and CSS, using Javascript to run run the asl script.

Unfortunately not. Quest is a game engine written in C# with a few of the older parts in visual basic, and available for Windows. Some people have also managed to get it running under linux.

On the desktop, the Quest backend runs Chromium (basically the free part of the Chrome browser) and hands that all the HTML/JS used for rendering. So all the frontend stuff the player interacts with is handled in HTML/CSS/JS, but the actual IASL script is run in Quest's own game engine.
(ASLX is the XML file format for a game; IASL seems to be the name of Quest's scripting language; and ASL is I believe the name of the previous file format from earlier versions of the engine, which was a lot more limited. Not 100% sure about that)

Using the web version of a game, you will probably notice there is some delay for commands. This is because the frontend is still the same HTML/CSS?JS running in your browser, but every command you enter is sent back to the server, where a copy of Quest is running to handle all the scripts.

If I am right, in general terms, then, I think that HTML, CSS and Javascript alone are enough to write a text based game, so the question becomes what role does asl perform, what does this scripting language bring to the table?

The best answer I can give is that the underlying code can get relatively complex. Quest's scripting language presents a more abstract form, so the person making the game can think in terms of objects, rooms, commands, and so on. It separates the game logic from the code for UI, layout, event handling, error handling, and other things that could be overwhelming to someone without programming experience.

There's a new thing being developed called Quest 6. It's not related to Quest; but is a javascript library that provides the basic functions that would be useful in making a text adventure. There's some discussion about that in the QuestKit forum.


Hoo ah. Thank you Brother. That was very helpful.


This topic is now closed. Topics are closed after 60 days of inactivity.

Support

Forums