User prompt
change the name for the starting screen to say youarenotalone: why can't i win
User prompt
before the game ends have a cut scene were the player wakes up
User prompt
on the ending screen under the title of the game write make "horor games good agian-sigmac08"
User prompt
after the final jumpscare do not end the game. Go to a screen that is the same as the starting screem but no play or settings button. Play the music asset named end. Once the music ends, end the game.
User prompt
add the scream sound affect on the starting screen then play it agian every 15 seconds ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
add backround on starting screen only
User prompt
add a red backround for the staring screen
User prompt
make a backround for the starting screen
User prompt
add a starting screen with a play button and a settings page were you can turn off volume or jumpscares
User prompt
after the jumpscare make a second level were you get new questions and scarrier sounds and more jumpscares
User prompt
add the scream sound effect affter the question do you hear strange noises at night and delete the one after are you afriad of the dark
User prompt
when the question asks are you afraid of the dark, turn off the light in the game and play a scream sound affect then turn the light back on for the next question ↪💡 Consider importing and using the following plugins: @upit/tween.v1
Code edit (1 edits merged)
Please save this source code
User prompt
YouAreNotAlone
Initial prompt
make a game were you answer questions about you on a computer. The only answeres are two buttons. Yes or no. Creapy sounds and stuff happen behind you and a moster jumpscares you at the end with the final question with no answer. YOU ARE NOT ALONE. Then you go to level two witch is scarrier and the questions are wierder. Make a final level that is super scarrie.
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); var storage = LK.import("@upit/storage.v1"); /**** * Classes ****/ var Button = Container.expand(function (text, isYes) { var self = Container.call(this); var buttonType = isYes ? 'yesButton' : 'noButton'; var buttonBg = self.attachAsset(buttonType, { anchorX: 0.5, anchorY: 0.5 }); var buttonText = new Text2(text, { size: 40, fill: 0xFFFFFF }); buttonText.anchor.set(0.5, 0.5); self.addChild(buttonText); self.down = function (x, y, obj) { buttonBg.alpha = 0.7; }; self.up = function (x, y, obj) { buttonBg.alpha = 1; LK.getSound('click').play(); if (self.onPress) { self.onPress(); } }; return self; }); var ComputerScreen = Container.expand(function () { var self = Container.call(this); var screenBg = self.attachAsset('screen', { anchorX: 0.5, anchorY: 0.5 }); var questionText = new Text2('', { size: 48, fill: 0x00FF00 }); questionText.anchor.set(0.5, 0.5); questionText.y = -100; self.addChild(questionText); self.setQuestion = function (text) { questionText.setText(text); }; return self; }); var Monster = Container.expand(function () { var self = Container.call(this); var monsterGraphic = self.attachAsset('monster', { anchorX: 0.5, anchorY: 0.5, alpha: 0 }); self.jumpscare = function () { // Only show jumpscare if enabled in settings if (game.jumpscareEnabled) { // Play jumpscare sound if sound is enabled if (game.soundEnabled) { LK.getSound('jumpscare').play(); } // Stop music LK.stopMusic(); // Flash screen LK.effects.flashScreen(0xff0000, 500); // Animate monster monsterGraphic.alpha = 1; tween(monsterGraphic, { scaleX: 3, scaleY: 3 }, { duration: 300, easing: tween.easeOut }); // Shake screen self.shakeScreen(); } // Continue to next level after jumpscare instead of game over LK.setTimeout(function () { if (game.isFinalJumpscare) { LK.showGameOver(); } else { // Reset monster state monsterGraphic.alpha = 0; tween(monsterGraphic, { scaleX: 1, scaleY: 1 }, { duration: 1 }); // Continue to next level game.advanceToNextLevel(); } }, 1500); }; self.shakeScreen = function () { var originalX = self.x; var originalY = self.y; var shakeIntensity = 30; var shakeDuration = 50; function shake(count) { if (count <= 0) return; var newX = originalX + (Math.random() * shakeIntensity - shakeIntensity / 2); var newY = originalY + (Math.random() * shakeIntensity - shakeIntensity / 2); tween(self, { x: newX, y: newY }, { duration: shakeDuration, onFinish: function onFinish() { shake(count - 1); } }); } shake(10); }; return self; }); var SettingsScreen = Container.expand(function () { var self = Container.call(this); // Title text var titleText = new Text2("SETTINGS", { size: 80, fill: 0xFFFFFF }); titleText.anchor.set(0.5, 0.5); titleText.y = -300; self.addChild(titleText); // Volume toggle button var volumeButton = self.addChild(new Button("SOUND: ON", false)); volumeButton.y = -100; volumeButton.soundEnabled = true; volumeButton.onPress = function () { volumeButton.soundEnabled = !volumeButton.soundEnabled; volumeButton.getChildAt(0).setText("SOUND: " + (volumeButton.soundEnabled ? "ON" : "OFF")); game.soundEnabled = volumeButton.soundEnabled; }; // Jumpscare toggle button var jumpscareButton = self.addChild(new Button("JUMPSCARES: ON", false)); jumpscareButton.y = 0; jumpscareButton.jumpscareEnabled = true; jumpscareButton.onPress = function () { jumpscareButton.jumpscareEnabled = !jumpscareButton.jumpscareEnabled; jumpscareButton.getChildAt(0).setText("JUMPSCARES: " + (jumpscareButton.jumpscareEnabled ? "ON" : "OFF")); game.jumpscareEnabled = jumpscareButton.jumpscareEnabled; }; // Back button var backButton = self.addChild(new Button("BACK", true)); backButton.y = 150; backButton.onPress = function () { game.showStartScreen(); }; return self; }); var Shadow = Container.expand(function () { var self = Container.call(this); var shadowGraphic = self.attachAsset('shadow', { anchorX: 0.5, anchorY: 0.5, alpha: 0.2 }); self.update = function () { if (game.shadowsActive && !self.isAnimating) { if (Math.random() < 0.005) { self.animateShadow(); } } }; self.animateShadow = function () { self.isAnimating = true; // Store original position var originalX = self.x; var originalY = self.y; var originalAlpha = shadowGraphic.alpha; // Random new position nearby var newX = originalX + (Math.random() * 400 - 200); var newY = originalY + (Math.random() * 200 - 100); // First tween to make shadow appear tween(shadowGraphic, { alpha: 0.6 }, { duration: 1000, easing: tween.easeInOut, onFinish: function onFinish() { // Then move shadow tween(self, { x: newX, y: newY }, { duration: 2000, easing: tween.easeInOut, onFinish: function onFinish() { // Then fade out tween(shadowGraphic, { alpha: originalAlpha }, { duration: 1000, easing: tween.easeInOut, onFinish: function onFinish() { // Reset position self.x = originalX; self.y = originalY; self.isAnimating = false; } }); } }); } }); }; return self; }); var StartScreen = Container.expand(function () { var self = Container.call(this); // Add a dark background with eerie texture var background = self.attachAsset('screen', { anchorX: 0.5, anchorY: 0.5, width: 2048, height: 2732, tint: 0x110808, alpha: 0.9 }); background.scale.set(2.5, 4.5); // Title text var titleText = new Text2("YOU ARE NOT ALONE", { size: 100, fill: 0xFF0000 }); titleText.anchor.set(0.5, 0.5); titleText.y = -300; self.addChild(titleText); // Play button var playButton = self.addChild(new Button("PLAY", true)); playButton.y = 0; playButton.onPress = function () { game.showMainGame(); }; // Settings button var settingsButton = self.addChild(new Button("SETTINGS", false)); settingsButton.y = 150; settingsButton.onPress = function () { game.showSettings(); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 }); /**** * Game Code ****/ // Game state var currentLevel = 1; var currentQuestionIndex = 0; var shadowsActive = false; var distortionActive = false; var score = 0; var gameStarted = false; // Settings game.soundEnabled = true; game.jumpscareEnabled = true; // Questions for each level var questions = { 1: ["Do you live alone?", "Are you afraid of the dark?", "Do you believe in ghosts?", "Do you hear strange noises at night?", "Do you check if your doors are locked before bed?"], 2: ["Have you ever felt like someone was watching you?", "Do you sometimes see shadows move in the corner of your eye?", "Do you ever feel a presence in an empty room?", "Have you ever woken up paralyzed?", "Do you think something is wrong with this game?"], 3: ["It's coming for you. Do you understand?", "Can you hear it breathing?", "Can you feel it getting closer?", "Are you alone right now?", "DO YOU SEE IT BEHIND YOU?"] }; // Game elements var computer; var screen; var yesButton; var noButton; var shadows = []; var monster; var startScreen; var settingsScreen; // Create computer setup function setupComputer() { computer = game.addChild(LK.getAsset('computer', { anchorX: 0.5, anchorY: 0.5, x: 2048 / 2, y: 2732 / 2 })); screen = game.addChild(new ComputerScreen()); screen.x = 2048 / 2; screen.y = 2732 / 2 - 50; yesButton = game.addChild(new Button("YES", true)); yesButton.x = 2048 / 2 - 200; yesButton.y = 2732 / 2 + 150; yesButton.onPress = function () { handleAnswer(true); }; noButton = game.addChild(new Button("NO", false)); noButton.x = 2048 / 2 + 200; noButton.y = 2732 / 2 + 150; noButton.onPress = function () { handleAnswer(false); }; // Create shadows (initially invisible) for (var i = 0; i < 3; i++) { var shadow = game.addChild(new Shadow()); shadow.x = Math.random() * 2048; shadow.y = Math.random() * 2732; shadows.push(shadow); } // Create monster (for jumpscare) monster = game.addChild(new Monster()); monster.x = 2048 / 2; monster.y = 2732 / 2; } // Load the first question function startGame() { setupComputer(); loadQuestion(); LK.playMusic('bgAmbient', { volume: 0.3 }); } // Load the current question function loadQuestion() { if (currentQuestionIndex >= questions[currentLevel].length) { advanceLevel(); return; } var question = questions[currentLevel][currentQuestionIndex]; screen.setQuestion(question); // Special effects based on question content and level if (currentLevel === 1 && question === "Do you hear strange noises at night?" && game.soundEnabled) { // Play scream sound LK.getSound('scream').play(); } // Level 2 random scare effects if (currentLevel === 2) { if (!shadowsActive) { shadowsActive = true; playAmbientSound(); } // Random scare effects in level 2 if (Math.random() < 0.4 && game.jumpscareEnabled) { // Random screen flicker LK.setTimeout(function () { LK.effects.flashScreen(0xff0000, 100); }, Math.random() * 2000); } // Special effect for specific level 2 questions if (question === "Have you ever felt like someone was watching you?" && game.jumpscareEnabled) { // Briefly show shadow movement for (var i = 0; i < shadows.length; i++) { shadows[i].animateShadow(); } } else if (question === "Do you think something is wrong with this game?" && game.jumpscareEnabled) { // Brief screen shake LK.setTimeout(function () { monster.shakeScreen(); }, 1000); } } else if (currentLevel === 3) { if (!distortionActive) { distortionActive = true; intensifyEffects(); } } } // Handle player's answer function handleAnswer(isYes) { // Progress to next question currentQuestionIndex++; // Play appropriate sound based on level if (currentLevel >= 2 && game.soundEnabled) { LK.getSound('creepy' + currentLevel).play(); } // Update score score += 10; LK.setScore(score); // Check for final question of each level if (currentQuestionIndex >= questions[currentLevel].length) { // If we're at final level, trigger final jumpscare if (currentLevel === 3) { game.isFinalJumpscare = true; triggerJumpscare(); } else if (currentLevel === 1) { // Level 1 ends with a jumpscare but continues to level 2 game.isFinalJumpscare = false; triggerJumpscare(); } else { // Normal level advancement for other levels advanceLevel(); } } else { loadQuestion(); } } // Advance to the next level function advanceLevel() { currentLevel++; currentQuestionIndex = 0; if (currentLevel > 3) { // Game completed successfully LK.showYouWin(); return; } // Visual feedback for level advancement LK.effects.flashScreen(0xffffff, 500); // Play appropriate ambient sound for new level playAmbientSound(); // Load first question of new level loadQuestion(); } // Play ambient sound based on current level function playAmbientSound() { if (game.soundEnabled) { LK.getSound('ambient' + currentLevel).play(); } } // Play sound if enabled function playSound(soundId) { if (game.soundEnabled) { LK.getSound(soundId).play(); } } // Intensify visual and audio effects for level 3 function intensifyEffects() { // Tint screen red tween(screen, { tint: 0xff3333 }, { duration: 5000, easing: tween.easeInOut }); // Make background music more intense LK.stopMusic(); LK.playMusic('bgAmbient', { volume: 0.6 }); // Add screen distortion effects (simulated with slight movements) var _screenDistortion = function screenDistortion() { if (!distortionActive) return; var originalX = screen.x; var originalY = screen.y; tween(screen, { x: originalX + (Math.random() * 10 - 5), y: originalY + (Math.random() * 10 - 5) }, { duration: 100, onFinish: function onFinish() { tween(screen, { x: originalX, y: originalY }, { duration: 100, onFinish: function onFinish() { LK.setTimeout(_screenDistortion, Math.random() * 2000 + 1000); } }); } }); }; _screenDistortion(); } // Add function to advance game to next level after jumpscare game.advanceToNextLevel = function () { // Advance to next level currentLevel++; currentQuestionIndex = 0; // Update game state for new level if (currentLevel === 2) { shadowsActive = true; // Play more intense ambient music LK.playMusic('bgAmbient', { volume: 0.5 }); // Show level transition message var levelText = new Text2("LEVEL 2", { size: 100, fill: 0xFF0000 }); levelText.anchor.set(0.5, 0.5); levelText.x = 2048 / 2; levelText.y = 2732 / 2; game.addChild(levelText); // Flash screen and remove text after delay LK.effects.flashScreen(0xffffff, 800); LK.setTimeout(function () { levelText.destroy(); loadQuestion(); // Play ambient sound LK.getSound('ambient2').play(); }, 2000); } else if (currentLevel === 3) { distortionActive = true; intensifyEffects(); } }; // Trigger the jumpscare function triggerJumpscare() { monster.jumpscare(); } // Game update function game.update = function () { // This is called automatically every frame }; // Setup game events game.down = function (x, y, obj) { // Generic down handler if needed }; game.up = function (x, y, obj) { // Generic up handler if needed }; game.move = function (x, y, obj) { // Generic move handler if needed }; // Initialize start screen function initStartScreen() { startScreen = new StartScreen(); startScreen.x = 2048 / 2; startScreen.y = 2732 / 2; game.addChild(startScreen); } // Initialize settings screen (hidden initially) function initSettingsScreen() { settingsScreen = new SettingsScreen(); settingsScreen.x = 2048 / 2; settingsScreen.y = 2732 / 2; settingsScreen.visible = false; game.addChild(settingsScreen); } // Show start screen game.showStartScreen = function () { if (startScreen) startScreen.visible = true; if (settingsScreen) settingsScreen.visible = false; if (computer) computer.visible = false; if (screen) screen.visible = false; if (yesButton) yesButton.visible = false; if (noButton) noButton.visible = false; if (monster) monster.visible = false; if (shadows) { for (var i = 0; i < shadows.length; i++) { shadows[i].visible = false; } } }; // Show settings screen game.showSettings = function () { if (startScreen) startScreen.visible = false; if (settingsScreen) settingsScreen.visible = true; if (computer) computer.visible = false; if (screen) screen.visible = false; if (yesButton) yesButton.visible = false; if (noButton) noButton.visible = false; if (monster) monster.visible = false; if (shadows) { for (var i = 0; i < shadows.length; i++) { shadows[i].visible = false; } } }; // Show main game game.showMainGame = function () { if (startScreen) startScreen.visible = false; if (settingsScreen) settingsScreen.visible = false; if (!gameStarted) { startGame(); gameStarted = true; } else { // Show existing game elements if (computer) computer.visible = true; if (screen) screen.visible = true; if (yesButton) yesButton.visible = true; if (noButton) noButton.visible = true; if (monster) monster.visible = true; if (shadows) { for (var i = 0; i < shadows.length; i++) { shadows[i].visible = true; } } } }; // Initialize screens initStartScreen(); initSettingsScreen(); // Show start screen instead of directly starting the game game.showStartScreen();
===================================================================
--- original.js
+++ change.js
@@ -216,8 +216,18 @@
return self;
});
var StartScreen = Container.expand(function () {
var self = Container.call(this);
+ // Add a dark background with eerie texture
+ var background = self.attachAsset('screen', {
+ anchorX: 0.5,
+ anchorY: 0.5,
+ width: 2048,
+ height: 2732,
+ tint: 0x110808,
+ alpha: 0.9
+ });
+ background.scale.set(2.5, 4.5);
// Title text
var titleText = new Text2("YOU ARE NOT ALONE", {
size: 100,
fill: 0xFF0000
Fullscreen modern App Store landscape banner, 16:9, high definition, for a game titled "YouAreNotAlone" and with the description "A psychological horror game where players answer personal yes/no questions on a virtual computer while unsettling events escalate in the background. Over three increasingly frightening levels, the experience builds to a terrifying jumpscare finale that reveals you were never alone.". No text on banner!