Salut,
Première question: la "compilation" d'un standalone est en fait une opération extrêmement idiote (du point de vue informatique):
AVANT
blenderplayer.exe fichier .blend
_____________________ __________________
[_____________________] [__________________]
APRES
fichier .exe
______________________ ___________________ _______
[__blenderplayer.exe___|___fichier_.blend__|__pad__]
*
Je sais pas si mon "dessin" est assez explicite, mais ce que je veux dire c'est que la soi-disant "compilation" du standalone consiste simplement en
1. la copie du fichier blenderplayer.exe, qui va donc fournir l'exécution
2. l'ajout à ce fichier,
simplement à la suite, du contenu du fichier .blend, qui va donc fournir le data
3. l'ajout finalement de quelques bits d'information pour
a) indiquer à l'exécution que du data est contenu dans le fichier lui-même (mot magique "BRUNTIME")
b) spécifier la plage de ce data dans le fichier .exe en indiquant tout bêtement la position de la séparation entre data du .exe et du .blend (la position * dans mon deuxième diagramme).
Si on lance le standalone, il va donc aller chercher dans ses propres entrailles
1. l'information selon laquelle il contient du data customisé ou non (mot magique)
2. le cas échéant, ce data en lisant au préalable la plage concernée.
Bref, la réponse est simplement que le moteur de jeu est le même qu'en interne à Blender, donc les mêmes risques s'appliquent.
Dans l'absolu tu pourrais lancer indépendamment d'autres instances de blenderplayer.exe - dans des versions correspondant donc aux fichiers .blend concernés - à partir du principal, à l'aide d'un subprocess. Mais ça implique d'avoir les différentes versions du player sous la main. Pas sûr que ce soit ton but.
N.B.: le fait que la procédure de "compilation" soit si triviale rend également le processus inverse très simple - voir l'un des addons sur mon GitHub (lien dans ma signature).
Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=3&topic_id=46017&post_id=553936