If you are still looking for a way for standalone executables, I think I have a solution (Which isn't that hard to do, and you probably already thought of this easy way)
This is what I did for my own engine:
1. I made my main engine write a custom level file, in a certain order. For example:
syncrate#=60
SYNC ON
SYNC RATE syncrate#
....
WRITE STRING filenum,"This is the game name" `game name
WRITE FILE filenum,syncrate#
WRITE STRING filenum,"playergfx.png" `write gfx name
....
and do this for all your need
2. Create an INI file that stores which levels are to be loaded, how the game is set up, etc.
3. Now make a precompiled executable that reads all the data
READ STRING filenum,TITLE$
READ FILE filenum,syncrate
...
SET WINDOW TITLE TITLE$
...
SYNC ON
SYNC RATE syncrate
4. Read the INI file, the same way that you read the level (you can also do this as step 3)
Don't forget to use 'OPEN TO WRITE','CLOSE FILE','OPEN TO READ',and 'CLOSE FILE' again
I hope this helped you in some way.
-Dan
EDIT: This is probably a bit hard to understand, as I am not good at explaining things,