/**** * Classes ****/ // Diamond class var Diamond = Container.expand(function (type) { var self = Container.call(this); var diamondGraphics; if (type == 0) { diamondGraphics = self.attachAsset('diamond0', { anchorX: 0.5, anchorY: 0.5 }); } else if (type == 1) { diamondGraphics = self.attachAsset('diamond1', { anchorX: 0.5, anchorY: 0.5 }); } else if (type == 2) { diamondGraphics = self.attachAsset('diamond2', { anchorX: 0.5, anchorY: 0.5 }); } else if (type == 3) { diamondGraphics = self.attachAsset('diamond3', { anchorX: 0.5, anchorY: 0.5 }); } else { diamondGraphics = self.attachAsset('diamond4', { anchorX: 0.5, anchorY: 0.5 }); } self.update = function () { // Update logic for diamond }; }); //<Assets used in the game will automatically appear here> //<Write imports for supported plugins here> // Hero class var Hero = Container.expand(function () { var self = Container.call(this); var heroGraphics = self.attachAsset('hero', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { // Update logic for hero }; }); // Little Judge class var LittleJudge = Container.expand(function () { var self = Container.call(this); var judgeGraphics = self.attachAsset('littleJudge', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for Little Judge }; }); // MainPlayer class var MainPlayer = Container.expand(function () { var self = Container.call(this); var mainPlayerGraphics = self.attachAsset('mainPlayer', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { // Update logic for MainPlayer }; }); // Star class var Star = Container.expand(function () { var self = Container.call(this); var starGraphics = self.attachAsset('star', { anchorX: 0.5, anchorY: 0.5 }); self.update = function () { // Update logic for Star }; }); // TrueSelf class var TrueSelf = Container.expand(function () { var self = Container.call(this); var trueSelfGraphics = self.attachAsset('trueSelf', { anchorX: 0.5, anchorY: 0.5 }); self.speed = 5; self.update = function () { // Update logic for TrueSelf }; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x000000 //Init game with black background }); /**** * Game Code ****/ // Initialize Hero var hero = game.addChild(new Hero()); hero.x = 2048 / 2 - 300; // Set initial position of the hero hero.y = 2732 - hero.height; // Set initial position of the hero at the bottom of the screen // Initialize TrueSelf var trueSelf = game.addChild(new TrueSelf()); trueSelf.x = hero.x + hero.width + 600; // Position to the right of the hero trueSelf.y = 2732 - trueSelf.height; // Align vertically with the hero at the bottom of the screen var trueSelfGraphics = trueSelf.attachAsset('trueSelf', { anchorX: 0.5, anchorY: 0.5 }); // Initialize MainPlayer var mainPlayer = game.addChild(new MainPlayer()); mainPlayer.x = (hero.x + trueSelf.x) / 2; // Position between the hero and true self mainPlayer.y = 2732 - mainPlayer.height; // Align vertically with the hero and true self at the bottom of the screen var mainPlayerGraphics = mainPlayer.attachAsset('mainPlayer', { anchorX: 0.5, anchorY: 0.5 }); // Initialize Little Judge var littleJudge = game.addChild(new LittleJudge()); littleJudge.x = 2048 / 2; // Align horizontally with the hero littleJudge.y = 2732 / 2; // Position above the hero at the middle of the screen var diamonds = []; // Initialize diamonds for (var i = 0; i < 5; i++) { var diamond = new Diamond(i); diamond.x = 2048 / 2 - diamond.width * 5 / 2 + i * diamond.width; // Position diamonds horizontally next to each other starting from the center of the screen diamond.y = diamond.height; // Position diamonds at the top of the screen diamonds.push(diamond); game.addChild(diamond); } // Initialize stars for (var i = 0; i < 50; i++) { var star = new Star(); star.x = Math.random() * 2048; // Random position across the width of the screen star.y = Math.random() * 2732; // Random position across the height of the screen star.scaleX = star.scaleY = Math.random() * 2; // Random size game.addChild(star); } var diamonds = []; var diamond = new Diamond(0); var angle = Math.PI / 4; // Distribute diamonds in a half circle var radius = 500; // Define the radius of the half circle diamond.x = 2048 / 2 + radius * Math.cos(angle); // Position diamonds in a half circle diamond.y = diamond.height + radius * Math.sin(angle); // Position diamonds in a half circle diamonds.push(diamond); game.addChild(diamond); // Game update logic game.update = function () { // Check for collisions between TrueSelf and diamonds for (var i = diamonds.length - 1; i >= 0; i--) { if (trueSelf.intersects(diamonds[i])) { diamonds[i].destroy(); diamonds.splice(i, 1); // Update score or progress } } // Check for collision between hero and Little Judge if (hero.intersects(littleJudge)) { // Handle collision logic } // Move hero based on input (e.g., touch) // This is a placeholder for movement logic }; // Handle touch input for moving the TrueSelf game.down = function (x, y, obj) { // Move TrueSelf to touch position trueSelf.x = x; trueSelf.y = y; }; // Level progression logic function checkLevelCompletion() { if (diamonds.length === 0) { // Proceed to next level } } // Call checkLevelCompletion in the game update loop game.update = function () { checkLevelCompletion(); // Other update logic };
/****
* Classes
****/
// Diamond class
var Diamond = Container.expand(function (type) {
var self = Container.call(this);
var diamondGraphics;
if (type == 0) {
diamondGraphics = self.attachAsset('diamond0', {
anchorX: 0.5,
anchorY: 0.5
});
} else if (type == 1) {
diamondGraphics = self.attachAsset('diamond1', {
anchorX: 0.5,
anchorY: 0.5
});
} else if (type == 2) {
diamondGraphics = self.attachAsset('diamond2', {
anchorX: 0.5,
anchorY: 0.5
});
} else if (type == 3) {
diamondGraphics = self.attachAsset('diamond3', {
anchorX: 0.5,
anchorY: 0.5
});
} else {
diamondGraphics = self.attachAsset('diamond4', {
anchorX: 0.5,
anchorY: 0.5
});
}
self.update = function () {
// Update logic for diamond
};
});
//<Assets used in the game will automatically appear here>
//<Write imports for supported plugins here>
// Hero class
var Hero = Container.expand(function () {
var self = Container.call(this);
var heroGraphics = self.attachAsset('hero', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
// Update logic for hero
};
});
// Little Judge class
var LittleJudge = Container.expand(function () {
var self = Container.call(this);
var judgeGraphics = self.attachAsset('littleJudge', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for Little Judge
};
});
// MainPlayer class
var MainPlayer = Container.expand(function () {
var self = Container.call(this);
var mainPlayerGraphics = self.attachAsset('mainPlayer', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
// Update logic for MainPlayer
};
});
// Star class
var Star = Container.expand(function () {
var self = Container.call(this);
var starGraphics = self.attachAsset('star', {
anchorX: 0.5,
anchorY: 0.5
});
self.update = function () {
// Update logic for Star
};
});
// TrueSelf class
var TrueSelf = Container.expand(function () {
var self = Container.call(this);
var trueSelfGraphics = self.attachAsset('trueSelf', {
anchorX: 0.5,
anchorY: 0.5
});
self.speed = 5;
self.update = function () {
// Update logic for TrueSelf
};
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0x000000 //Init game with black background
});
/****
* Game Code
****/
// Initialize Hero
var hero = game.addChild(new Hero());
hero.x = 2048 / 2 - 300; // Set initial position of the hero
hero.y = 2732 - hero.height; // Set initial position of the hero at the bottom of the screen
// Initialize TrueSelf
var trueSelf = game.addChild(new TrueSelf());
trueSelf.x = hero.x + hero.width + 600; // Position to the right of the hero
trueSelf.y = 2732 - trueSelf.height; // Align vertically with the hero at the bottom of the screen
var trueSelfGraphics = trueSelf.attachAsset('trueSelf', {
anchorX: 0.5,
anchorY: 0.5
});
// Initialize MainPlayer
var mainPlayer = game.addChild(new MainPlayer());
mainPlayer.x = (hero.x + trueSelf.x) / 2; // Position between the hero and true self
mainPlayer.y = 2732 - mainPlayer.height; // Align vertically with the hero and true self at the bottom of the screen
var mainPlayerGraphics = mainPlayer.attachAsset('mainPlayer', {
anchorX: 0.5,
anchorY: 0.5
});
// Initialize Little Judge
var littleJudge = game.addChild(new LittleJudge());
littleJudge.x = 2048 / 2; // Align horizontally with the hero
littleJudge.y = 2732 / 2; // Position above the hero at the middle of the screen
var diamonds = [];
// Initialize diamonds
for (var i = 0; i < 5; i++) {
var diamond = new Diamond(i);
diamond.x = 2048 / 2 - diamond.width * 5 / 2 + i * diamond.width; // Position diamonds horizontally next to each other starting from the center of the screen
diamond.y = diamond.height; // Position diamonds at the top of the screen
diamonds.push(diamond);
game.addChild(diamond);
}
// Initialize stars
for (var i = 0; i < 50; i++) {
var star = new Star();
star.x = Math.random() * 2048; // Random position across the width of the screen
star.y = Math.random() * 2732; // Random position across the height of the screen
star.scaleX = star.scaleY = Math.random() * 2; // Random size
game.addChild(star);
}
var diamonds = [];
var diamond = new Diamond(0);
var angle = Math.PI / 4; // Distribute diamonds in a half circle
var radius = 500; // Define the radius of the half circle
diamond.x = 2048 / 2 + radius * Math.cos(angle); // Position diamonds in a half circle
diamond.y = diamond.height + radius * Math.sin(angle); // Position diamonds in a half circle
diamonds.push(diamond);
game.addChild(diamond);
// Game update logic
game.update = function () {
// Check for collisions between TrueSelf and diamonds
for (var i = diamonds.length - 1; i >= 0; i--) {
if (trueSelf.intersects(diamonds[i])) {
diamonds[i].destroy();
diamonds.splice(i, 1);
// Update score or progress
}
}
// Check for collision between hero and Little Judge
if (hero.intersects(littleJudge)) {
// Handle collision logic
}
// Move hero based on input (e.g., touch)
// This is a placeholder for movement logic
};
// Handle touch input for moving the TrueSelf
game.down = function (x, y, obj) {
// Move TrueSelf to touch position
trueSelf.x = x;
trueSelf.y = y;
};
// Level progression logic
function checkLevelCompletion() {
if (diamonds.length === 0) {
// Proceed to next level
}
}
// Call checkLevelCompletion in the game update loop
game.update = function () {
checkLevelCompletion();
// Other update logic
};
3d red diamond. In-Game asset. 3d. Blank background. High contrast. No shadows.
green 3d diamond. In-Game asset. 3d. Blank background. High contrast. No shadows.
3d purple diamond. In-Game asset. 3d. Blank background. High contrast. No shadows.
transparent 3d diamond. In-Game asset. 3d. Blank background. High contrast. No shadows.
3d pixar/disney style. Design a friendly, confident, and approachable mentor character for a self-discovery game. The character has short, neatly styled silver-white hair, a warm smile, and kind, expressive eyes. They wear a sleek black blazer over a white T-shirt, symbolizing professionalism mixed with approachability. The character exudes wisdom, positivity, and calmness, acting as a guide for the player. Their presence is meant to inspire trust and provide encouragement, appearing as a glowing, slightly ethereal figure in the game world. They move gracefully and radiate an aura of gentle strength, guiding the hero on their journey of self-discovery and growth.. In-Game asset. 3d. Blank background. High contrast. No shadows.
Design a whimsical, uplifting, and glowing character to represent the True Self in a self-discovery game. The character has a soft, fluid form with a shimmering blue body that radiates light and positivity. Its face is friendly and approachable, with round, twinkling eyes full of curiosity and warmth. The character’s playful design includes rounded features and a swirling tail that gives it a floating, ethereal quality. Its posture is relaxed and confident, often depicted leaning back with a serene smile, exuding calmness and self-assurance. The vibrant blend of light blues and whites creates a magical, almost celestial presence, making it a comforting guide for the hero. This character symbolizes inner strength, self-awareness, and positivity, acting as a source of guidance and encouragement throughout the journey.. In-Game asset. 3d. Blank background. High contrast. No shadows.
one start shape in the sky. In-Game asset. 2d. Blank background. High contrast. No shadows.