<script>
function generateSessionId() {
return "session-" + Math.random().toString(36).substr(2, 6);
}
if (!State.variables.sessionId) {
State.variables.sessionId = generateSessionId();
}
if (!State.variables.visitedScenes) {
State.variables.visitedScenes = {};
}
</script>
<<run (function () { try { SimpleAudio.tracks.add("fond", { sources: "02sound.mp3", loop: true, volume: 1 }); } catch (e) {} })()>><video id="titreVideo" autoplay playsinline class="fullscreen-video">
<source src="Titre.mp4" type="video/mp4">
</video>
<div id="link-container" class="link-container hidden">
<span class="continue-button"><<link "Enter" "Start">><<run window.enableFMVAudio()>><</link>></span>
</div>
<script>
(function () {
var _titreRedirected = false;
function setTitreLayoutActive(active) {
if (active) {
document.documentElement.classList.add("fmv-titre");
document.body.classList.add("fmv-titre");
} else {
document.documentElement.classList.remove("fmv-titre");
document.body.classList.remove("fmv-titre");
document.documentElement.classList.remove("fmv-active");
document.body.classList.remove("fmv-active");
}
}
function goToStart() {
if (_titreRedirected) return;
_titreRedirected = true;
setTitreLayoutActive(false);
try { if (typeof window.enableFMVAudio === "function") window.enableFMVAudio(); } catch (e) { /* ignore */ }
try {
if (window.SugarCube && window.SugarCube.Engine && typeof window.SugarCube.Engine.play === "function") {
window.SugarCube.Engine.play("Start");
return;
}
if (window.Engine && typeof window.Engine.play === "function") {
window.Engine.play("Start");
}
} catch (e2) { /* ignore */ }
}
function startTitre() {
var v = document.getElementById("titreVideo");
if (!v) return;
setTitreLayoutActive(true);
v.addEventListener(
"ended",
function () {
goToStart();
},
{ once: true }
);
if (typeof window.playTitreVideoAutoplay === "function") {
try { window.playTitreVideoAutoplay(); } catch (e) { /* ignore */ }
return;
}
v.volume = 1;
v.muted = false;
var p = v.play();
if (p && typeof p.catch === "function") {
p.catch(function () {
v.muted = true;
v.play().catch(function () {
setTimeout(startTitre, 300);
});
});
}
}
if (typeof window.bindO2SoundUnlock === "function") {
window.bindO2SoundUnlock();
}
// Fallback : si l'event "ended" ne se déclenche pas (device), on enchaîne quand même.
setTimeout(function () {
if (!_titreRedirected) goToStart();
}, 25000);
// Bouton manuel (secours) après quelques secondes
setTimeout(function () {
var el = document.getElementById("link-container");
if (el) el.classList.remove("hidden");
}, 8000);
setTimeout(startTitre, 100);
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", startTitre);
}
window.addEventListener("load", startTitre);
})();
</script>
Welcome to the world of O2, a next-gen multiplayer FMV
This is a short demo of our prototype (still in work in progress).
''Rules :''
-You need a computer and a mobile phone.
Connect any smartphone on the QR code, join the session and launch the FMV.
From time to time, you will be offered a choice. When you click on it, options will appear on your phone's screen, and you will need to vote for your preferred option.
Each time a choice is revealed, the timer starts and you will have 15 seconds to choose.
To play, scan the QR code on your smartphone and you're ready to go!
<div id="qrcode" style="min-height: 260px; margin: 8px 0;"></div>
<p id="session-id" style="font-weight:bold;margin:8px 0;font-size:1.15em;color:#fff;text-shadow:0 1px 2px #000;">
ID de session : <<print $sessionId>>
</p>
<p id="players-count" style="margin:4px 0;">Players connected: 0</p>
<<run window.startMultiplayerSession()>>
<span class="continue-button"><<link "Start the game" "4.01">><<run window.enableFMVAudio()>><</link>></span><!-- Case 4.01 — vidéo 401 → FMV 402 (hack) -->
<script>
(function () {
function boot() {
if (typeof window.ensureGlobalVotingSection === "function") {
window.ensureGlobalVotingSection();
}
if (!window.FMVPlayer) {
setTimeout(boot, 50);
return;
}
window.FMVPlayer.start("seg_401");
}
setTimeout(boot, 0);
})();
</script>
4.02
<!-- seg_402 -->4.03
<!-- seg_403 -->4.04
<!-- seg_404 -->4.07
<!-- seg_407 -->4.05
<!-- seg_405 -->4.06
<!-- seg_406 -->4.08
<!-- seg_408 -->4.09
<!-- seg_409 -->The demo is still in work in progress, this part will be available for the AltNext Festival.
Thank you for playing !The demo is still in work in progress, this part will be available for the AltNext Festival.
Thank you for playing !The demo is still in work in progress, this part will be available for the AltNext Festival.
Thank you for playing !The demo is still in work in progress, this part will be available for the AltNext Festival.
Thank you for playing !4.07.1
<!-- seg_407_1 -->4.10
<!-- seg_410 -->4.09.1
<!-- seg_409_1 -->