A few questions

Is there a max size? Max amount of rooms? Can a game be compiled into an .exe or apk files?

I was playing daggerfall the other day and thought to myself. Wouldn't it be awesome to have an entire world in a interactive fiction game? Hundreds of thousands of rooms unique quests, side quests and little stories buried away. Tons of lore to go threw and options to play. Every room unique, with objects and characters to intersect with.

I would love this to be possible.


No max size. But the online editor, and the Quest website itself, have a data limit of 20 MB.

If you use a program, personally, I recommend the offline editor, so you can do things like mess with the inventor and status panes, or change the color of everything. But those things need JavaScript (easier to learn than you think, mostly copy and paste). But if you don't need/don't want that, you can use the online editor.
The last guy who wanted to make a Skyrim game (big coincidence, yes) completely quit.
Theoretically, you just need to shrink everything down to fit.

The offline editor has no data limits theoretically, and should be s strong as your own computer!
(This is my Pokémon game I'm working on, for example. http://textadventures.co.uk/games/view/5jllte-m4e2e2whw4gf5jq/pokemon-type-harley-johto-and-sinnoh Pokémon Type Harley Johto and Sinnoh (For Harley!))

(This is my first game published, and it has combat! http://textadventures.co.uk/games/view/xb0ge9kzbewhodrtmxnnqw/the-legend-of-the-secret-of-the-smelly-stinky-fish
And this is The Pixie's tutorial on combat on the online editor! https://github.com/ThePix/quest/wiki/The-Zombie-Apocalypse-(on-the-web-version) -)


I don't think there is a limit... but someone else created just 10,000 rooms, no details, and that slowed his computer down...
But it could have been a side effect of how he created the rooms. A reload may have speeded up Quest.
But I do believe there is a max size of 2M for the script file.


The person (as.... Something) only created 3000 rooms, and they used a program to automate creating rooms. But yeah, same dif!


Is there a max size?

The max size that you can upload to the site is 20 mb. (I don't think Quest itself has a limit, though.)


Max amount of rooms?

Not that I've ever heard.

Can a game be compiled into an .exe or apk files?

In theory.

There is an abandoned project called Quest JS which converted .quest files into websites (HTML, CSS, and JS files).

It will (sort of) work now, but you can't include a map. (There are a few other things that won't compile, but there's not really any list right now.)

Anyway, you could convert the Quest game to a website, then package that website up as an .exe or .apk.

If you're fluent in JavaScript, you may be able to get Quest JS to work with the newer functions. It was last updated in 2014, which is most of the problem (I think).

Someone told me a few functions added to what was on GitHub would get a simple game to compile, so I forked it and added those functions.

There are a few other people posting fixes here:

https://github.com/KVonGit/quest-js/issues

The last release is here:
https://github.com/textadventures/quest-js/releases/download/v0.2.2-alpha/questjs_20141108.zip

This is the revised file that makes it (sort of) work:

https://raw.githubusercontent.com/KVonGit/quest-js/master/Compiler/game.js


You can make Inform 7 games into .apk files with this:

https://github.com/SimonChris/AndroidIF

I've done this with two games. After you figure it out the first time, the rest is smooth sailing. (It really only involves adding the AndroidIF extension to the Inform 7 game before compiling it, then replacing files (images and such) and changing the title. You do need Android Studio, though.)


It sounds like you're all about text adventures, but I hear it's easy to turn a Squiffy gamebook into anything you want. Squiffy compiles to a website anyway, so you'd only need to package it up with PhoneGap, or Android Studio, or whatever method you prefer.


I'm going to test out cloning 100,000 rooms.

x = 100000
while (x>0) {
  x = x -1
  CloneObject (room1)
}

If you never hear from me again, spread the word: Quest blew up and took me with it!


I just did 9999, ending up with room1 - room10000.

It took Quest 4 minutes. I have 4 gigs of ram.


Now, I'll make a bash script 'clones' rooms to rooms.aslx, and see how many rooms Quest can handle without cloning them inside of a while loop.


Some people are working on RPGs (like me), but it's a massive/ambitious project...Pixie has his 'deeper' game, and Anonynn has her 'Apocomorphia (can never spell it)', though it's an adult 'TF' RPG...

a TES RPG is completely do'able in quest... but it's not easy to actually create such a game, lol.


rooms.sh

#!/bin/bash
n=0
echo "<library>" > rooms.aslx
while [ $n -lt 100000 ]
do
  (( n++ ))
  echo -e "<object name=\"room$n\">\n    <inherit name=\"editor_room\" />\n  </object>" >> rooms.aslx
done
echo "</library>" >> rooms.aslx

echo Done.

exit

It took my PC 3 minutes to run that script.


Quest has been loading rooms.aslx for 11 minutes now...


So pretty much anything you can code in javascript can be added since the base of quest is html? I think it should be possible then to limit the amount of data that needs loaded by making a script the controls how many rooms the player can interact with at a time. That script could also act as the quick travel mechanic threw an object in your inventory that cannot be dropped.(otherwise tons of bugs I am sure)

I will finish up the tutorial today and then check out the end result file to see what they did to switch rooms etc.


I let it go for a good 30 minutes before I gave up. Quest didn't like dealing with 100,000 rooms at once, no matter how I did it.


Pixie's got the best thing going on in Deeper, I bet. (He is the maintainer of Quest, after all.)

https://textadventures.co.uk/games/view/em15b32xd0o-y-ysvgrtcg/deeper

Version 2.3.

The dungeon is entirely randomly generated (the first three locations on the surface are not). Among other things, this means you can keep going deeper and deeper, though you will find eventually that the monsters are not getting any more powerful, whilst you just get better and better. Let me know how far you get!


Quest likely has a set/limited space/memory set aside for it... so it has limits on how much you can create (Objects use the most data)... maybe if dig into quest, we can adjust this limit... otherwise... quest may needs to be re-programmed to be able to do so... and ultimately it also depends on how much your computer can set aside for quest to use.

I just assumed quest could handle a lot of Objects without actually testing it... sadly it doesn't seem able to do so, without modifying it, which may be extensive (re-programming it), too...


Maybe Pixie or Pertex (or Jay if he's still around behind the scenes), can address this about quest, as they're the most knowledge'able, who're still here ... (or if anyone can contact Alex, we can get directly from him, the creator of quest, lol).


I've used teleportation before (move object (player) to object (room)). I've never had any glitches. If you drop the device, I call it tele, you just lose your ability to teleport...

@HK I asked The Pixie about that once. He said the data limit was tied to the parent program (either .Net, or the original Quest...) and thus cannot be changed. He also didn't know why anyone would want to make a text adventure over 20 MB.


I asked The Pixie about that once. He said the data limit was tied to the parent program (either .Net, or the original Quest...) and thus cannot be changed. He also didn't know why anyone would want to make a text adventure over 20 MB.

Just to clarify, the 20 Mb limit is on the web server, so not something I can change.

20 Mb is huge for a text adventure, and I doubt anyne will ever get near it... however when you start adding images, videos and sounds, then you can quickly hit that limit.


I hit that pretty quick with X2, but I did have a slew of images and some sounds. Of course, I didn't have the expertise of a KV helping with base64 (or whatever he uses) to reduce the file sizes at that time. I had to do it my own special, hacky, duct-tape-sort-of way.


I actually misinformed you, XM.

At first, I thought the Base64 conversion reduced the file sizes, but it actually increased them (but just by a small amount).

In retrospect, it would have been kind of me to share that revised information with you guys...

(Does this count?)


I used the Base64 method for 2 reasons:

  1. The page doesn't have to load the images. They are pre-loaded.

  2. No folder full of images.

I went back to regular images in the end because:
Saving and loading the game online took FOREVER. Especially LOADING a saved game. It had to read all that code and convert it to images... I think that's what the problem was.


Uploading your images and such to website to link to is probable the best way, as long as the player can always access those files.


PQ is 11 mb at the moment. I'm pretty sure 10.5 of that is images.


SIDENOTE: When I had the Base64 images embedded in the game's source code, GitHub wouldn't even let you edit it because it was too big.


Local pictures and sound would be best...
Could Quest pull the pictures from a sub folder, IE:
/Pictures
/Sound
???


Could Quest pull the pictures from a sub folder, IE:

I haven't tried that.

One moment...


Denied.

        public string GetFileURL(string filename)
        {
            if (filename.Contains("..")) throw new ArgumentOutOfRangeException("Invalid filename");
            return m_worldModel.GetExternalURL(filename);
        }

        public string GetFileData(string filename)
        {
            if (filename.Contains("..")) throw new ArgumentOutOfRangeException("Invalid filename");
            return m_worldModel.GetResourceData(filename);
        }

...and this doesn't work either:

msg ("<img alt=\"image\" src=\"" + GetFileURL("file://C:/dimensions_of_infinity_banner.png") + "\" />")

Quest looks in quest://local/ for everything that isn't online, apparently.


I made a folder with some pictures under my test game...
When started, Quest copied the pictures out to the game folder where the script is...
So... looks like Quest does not allow for pictures anywhere but the folder where the script is running from.
(But, I bet an edit in the core files could change that...)


I've been reading up on it. It's a security thing. If Quest could read an image from any folder, it could read any document from any folder.


GetFileURL will always return an address that starts with quest://local/, which is the directory the main game file is in.

You can load images from sub-directories while playing from the editor, but, once you publish, Quest won't transfer any sub-directories, no matter what I tried. Even including file type: *.

NOTE: I'm just linking to those images. I'm not loading them in any function. If I were, it would include them in the published file, but they'd be put in the main folder (whatever.quest).


I'm almost up to a million words in mine and I only notice slowdown when I overload an IF Script. But using a Switch prevents that lag. So no limit so far :O I'm only at 4.08 MB....5mb once published. Hope this helps! :D

Anonynn.


Log in to post a reply.

Support

Forums