User prompt
Why do houses sometimes take damage when not hit by the presents santa is actively firing?
User prompt
When the powerup choice buttons appear they cannot be clicked for 1 second
User prompt
That didn't work I was able to click the button immediately
User prompt
You cannot click buttons until 1 second after they appear
User prompt
Why didn't the game end when my score passed 1000?
User prompt
The powerup New Time Zone adds 15 seconds
User prompt
Modify the powerup selection logic to exclude 'Pitching Arm' if the player's rank is 7 or above.
User prompt
Modify the powerup selection logic to exclude 'More Carrots' if the player's rank is 5 or above.
User prompt
When choosing powerups to show in the powerup choice dialog, first look at player rank. If rank is 6 or below, Present Frenzy cannot be selected.
User prompt
When choosing powerups to show in the powerup choice dialog, first look at player rank. If rank is 4 or below, Joyous cannot be selected.
User prompt
When choosing powerups to show in the powerup choice dialog, first look at player rank. If rank is 3 or below, Joyous cannot be selected. If rank is 5 or below, Present Frenzy cannot be selected.
User prompt
The powerup Joyous only can appear at rank 4 and above. The powerup Present Frenzy only can appear at rank 6 and above. The powerup More Carrots cannot appear at rank 4 or above. The powerup Pitching Arm cannot appear at rank 6 or above.
User prompt
Houses spawn 30% faster
User prompt
Change the game clock to start at 60
User prompt
the game clock starts at 100
User prompt
you start with 0 points
User prompt
Change the message for scoring over 200 points to "WHAT IS YOUR SECRET? Seriously, I programmed this message but have never gotten over 200 points. Screenshot this for me! AND HAVE A VERY MERRY CHRISTMAS, INDEED!"
User prompt
Change the message for scoring over 200 points to "WHAT IS YOUR SECRET? Seriously, I programmed this message but have never gotten over 200 points. Screenshot this and send it to me! AND HAVE A VERY MERRY CHRISTMAS, INDEED!"
User prompt
Move the dismiss button up 40 pixels
User prompt
You start with 200 points
User prompt
Change the message for scoring 100 to 199 points to "Over 100 points, wow! Score less for Part 1. The boys are doing great! Lincoln rides the school bus 5 days a week and gets amazing speech and PT therapies right there. Finn and our au pair Tobias love playing at the creek, and Finn has new words every day. Have an amazing holiday! The high score is 199, can you beat it?"
User prompt
You start with 100 points
User prompt
Change the message for scoring 40 to 99 points to read "Wishing you a wonderful year ahead! We have moved north to Marin and the clear air and nearby family are really suiting us. We miss our friends in LA and around the world though. Annie loves her new DA office and colleagues. Matt is working remotely in new game development at his same firm, Scopely. Score over 100 points for an update on the kids! Human Kindness is OP!"
User prompt
Move the dismiss button 100 pixels down
User prompt
Lower the dismiss button by 50 pixels
function wrapText(text, maxWidth) { var words = text.split(' '); var wrappedText = ''; var currentLine = ''; var testText = new Text2('', { size: 70 }); for (var i = 0; i < words.length; i++) { var word = words[i]; var testLine = currentLine + word + ' '; testText.setText(testLine); if (testText.width > 1000 && i > 0) { wrappedText += currentLine.trim() + '\n'; currentLine = word + ' '; } else { currentLine = testLine; } } wrappedText += currentLine.trim(); return wrappedText; } var allowPresentAngle = false; var MerryChristmasPopup = Container.expand(function (score, onDismiss) { var self = Container.call(this); var background = self.createAsset('popupBackground', 'Popup Background', 0.5, 0.5); background.width = 2048 * 0.85; background.height = 2732 * 0.85; background.x = 2048 / 2; background.y = 2732 / 2; var titleText = new Text2('Merry Christmas', { size: 130, fill: '#000000' }); titleText.anchor.set(0.5); titleText.x = background.x; titleText.y = background.y - background.height / 2 + 220; self.addChild(titleText); var bodyTextContent; if (score < 40) { bodyTextContent = 'Oh no, you need to score at least 40 points to make the Nice List! Then you can see the holiday message. Remember, you lose points for delivering to naughty houses!'; } else if (score <= 99) { bodyTextContent = 'Wishing you a wonderful year ahead! We have moved north to Marin and the clear air and nearby family are really suiting us. We miss our friends in LA and around the world though. Annie loves her new DA office and colleagues. Matt is working remotely in new game development at his same firm, Scopely. Score over 100 points for an update on the kids! Human Kindness is OP.'; } else if (score <= 199) { bodyTextContent = 'Over 100 points, wow! Score less for Part 1. The boys are doing great! Lincoln rides the school bus 5 days a week and gets amazing speech and PT therapies right there. Finn and our au pair Tobias love playing at the creek, and Finn has new words every day. Have an amazing holiday! The high score is 199, can you beat it?'; } else { bodyTextContent = 'WHAT IS YOUR SECRET? Seriously, I programmed this message but have never gotten over 200 points. Screenshot this for me! AND HAVE A VERY MERRY CHRISTMAS, INDEED!'; } var bodyText = new Text2(wrapText(bodyTextContent, 100), { size: 70, fill: '#000000', align: 'center' }); bodyText.anchor.set(0.5); bodyText.x = background.x; bodyText.y = background.y - 50; self.addChild(bodyText); var dismissButton = new Button('Retry', onDismiss); dismissButton.x = background.x + background.width / 2 - dismissButton.width / 2 - 290; dismissButton.y = background.y + background.height / 2 - dismissButton.height / 2 - 90; self.addChild(dismissButton); }); var Button = Container.expand(function (label, onClick) { var self = Container.call(this); var buttonGraphics = self.createAsset('button', label, 0.5, 0.5); buttonGraphics.scale.set(4); buttonGraphics.interactive = true; buttonGraphics.buttonMode = true; var nameLabel = new Text2(label.split(' ').reduce(function (acc, word) { if (acc.length && acc[acc.length - 1].length + word.length <= 12) { acc[acc.length - 1] += ' ' + word; } else { acc.push(word); } return acc; }, []).join('\n'), { size: 50, fill: '#000000', align: 'center' }); nameLabel.anchor.set(0.5); nameLabel.y = 0; self.addChild(nameLabel); var descriptionLabel = new Text2(label.split(' ').reduce(function (acc, word) { if (acc.length && acc[acc.length - 1].length + word.length <= 12) { acc[acc.length - 1] += ' ' + word; } else { acc.push(word); } return acc; }, []).join('\n') + ' Description', { size: 45, fill: '#000000' }); descriptionLabel.anchor.set(0.5); descriptionLabel.y = buttonGraphics.height / 2 + 240; var powerupDescriptions = { 'Pitching Arm!': 'Throw more presents', 'More Carrots!': 'Fly faster', 'City Flying!': 'Denser houses', 'Present Frenzy!': 'A barrage of presents', 'Human Kindness!': 'More nice houses', 'Naughty Deflector!': 'Avoid naughty houses', 'Joyous!': '+20% of current score', 'New Time Zone!': 'More time to fly' }; descriptionLabel.setText(powerupDescriptions[label] || ''); descriptionLabel.anchor.set(0.5); descriptionLabel.x = 0; self.addChild(descriptionLabel); self.on('down', function (obj) { onClick(); }); }); var Present = Container.expand(function () { var self = Container.call(this); var presentGraphics = self.createAsset('present', 'Present Graphics', .5, .5); self.speed = -10; self.distanceTraveled = 0; self.speedX = 0; self.speedY = self.speed; self.lastMoved = LK.ticks; self.isCounter = false; self.active = false; self.move = function () { self.x += self.speedX; self.y += self.speedY; self.distanceTraveled += Math.sqrt(self.speedX * self.speedX + self.speedY * self.speedY); if (self.distanceTraveled <= 300) { self.scale.set(1 + self.distanceTraveled / 300 * 0.25); } else if (self.distanceTraveled <= 1200) { self.scale.set(1.25 - (self.distanceTraveled - 300) / 900 * 0.75); } else if (self.distanceTraveled <= 1500) { self.scale.set(0.5 - (self.distanceTraveled - 1200) / 300 * 0.5); } self.lastMoved = LK.ticks; if (self.counterLifetime && LK.ticks > self.counterLifetime || self.distanceTraveled > 1500) { self.destroy(); } }; }); var NaughtyHouse = Container.expand(function () { var self = Container.call(this); NaughtyHouse.prototype.spawnCounterPresent = function () { var counterPresent = new Present(); counterPresent.x = this.x; counterPresent.y = this.y; var angle = Math.random() < 0.5 ? 240 : 300; angle *= Math.PI / 180; counterPresent.speedX = counterPresent.speed * Math.cos(angle); counterPresent.speedY = counterPresent.speed * Math.sin(angle); counterPresent.counterLifetime = LK.ticks + 60; counterPresent.isCounter = true; return counterPresent; }; var houseGraphics = self.createAsset('naughtyHouse', 'Naughty House Graphics', .5, .5); houseGraphics.scale.set(1.75); self.speed = 4; self.lastMoved = LK.ticks; self.move = function () { self.y += self.speed; self.lastMoved = LK.ticks; if (self.y > 2732 + self.height) { self.destroy(); } }; }); var NiceHouse = Container.expand(function () { var self = Container.call(this); NiceHouse.prototype.hitByPresent = function () { var originalScale = this.scale.x; var bounceHeight = 0.1; var self = this; var bounce = function () { self.scale.y = originalScale + bounceHeight; LK.setTimeout(function () { self.scale.y = originalScale; }, 200); }; bounce(); }; var houseGraphics = self.createAsset('niceHouse', 'Nice House Graphics', .5, .5); houseGraphics.scale.set(1.75); self.speed = 4; self.hitCount = 0; self.move = function () { self.y += self.speed; if (self.y > 2732 + self.height) { self.destroy(); } }; }); var HappyHouse = Container.expand(function () { var self = Container.call(this); HappyHouse.prototype.bounce = function () { var self = this; var originalScaleY = self.scale.y; var bounceHeight = 0.1; var bounceDuration = 5; var bounceCount = 0; var bounce = function () { if (bounceCount < bounceDuration) { self.scale.y = originalScaleY + bounceHeight * (bounceCount % 2 === 0 ? -1 : 1); LK.setTimeout(bounce, 100); bounceCount++; } else { self.scale.y = originalScaleY; } }; bounce(); }; var houseGraphics = self.createAsset('happyHouse', 'Happy House Graphics', .5, .5); houseGraphics.scale.set(1.75); self.speed = 4; self.move = function () { self.y += self.speed; if (self.y > 2732 + self.height) { self.destroy(); } }; }); var DarkHouse = Container.expand(function () { var self = Container.call(this); var houseGraphics = self.createAsset('darkHouse', 'Dark House Graphics', .5, .5); houseGraphics.scale.set(1.75); self.speed = 4; self.shake = function () { var originalX = self.x; var shakeIntensity = 5; var shakeDuration = 10; var shakeCount = 0; var shake = function () { if (shakeCount < shakeDuration) { self.x += shakeIntensity * (shakeCount % 2 === 0 ? 1 : -1); LK.setTimeout(shake, 50); shakeCount++; } else { self.x = originalX; } }; shake(); }; self.move = function () { self.y += self.speed; if (self.y > 2732 + self.height) { self.destroy(); } }; }); var Santa = Container.expand(function () { var self = Container.call(this); var santaGraphics = self.createAsset('santa', 'Santa Graphics', .5, .5); self.targetPosition = null; self.moveSpeed = 7; self.move = function (position) { if (position) { self.targetPosition = position; } if (self.targetPosition) { var dx = self.targetPosition.x - self.x; var dy = self.targetPosition.y - self.y; var distance = Math.sqrt(dx * dx + dy * dy); var threshold = 5; if (distance > threshold) { var angle = Math.atan2(dy, dx); var tentativeX = self.x + Math.cos(angle) * self.moveSpeed; var tentativeY = self.y + Math.sin(angle) * self.moveSpeed; self.x = tentativeX; if (tentativeY > 2732 - 2732 / 3) { self.y = tentativeY; } } else { self.targetPosition = null; } } }; }); var Snowflake = Container.expand(function () { var self = Container.call(this); var flakeGraphics = self.createAsset('snowflake', 'Snowflake Graphics', 0.5, 0.5); self.speedX = (Math.random() * 2 - 1) * 2; self.speedY = (Math.random() * 1 + 2) * 2; self.alpha = Math.random() * 0.5 + 0.5; self.scale.set(Math.random() * 0.5 + 0.5); self.move = function () { self.x += self.speedX; self.y += self.speedY; if (self.y > 2732 || self.x < -50 || self.x > 2098) { self.destroy(); } }; }); var Game = Container.expand(function () { var self = Container.call(this); var snowflakes = []; self.spawnSnowflake = function () { var snowflake = new Snowflake(); snowflake.x = Math.random() * 2048; snowflake.y = -50; snowflakes.push(snowflake); self.addChild(snowflake); }; for (var i = 0; i < 20; i++) self.spawnSnowflake(); var whiteBackground = self.createAsset('whiteRectangle', 'White Background', 0, 0); whiteBackground.width = 2048; whiteBackground.height = 2732; whiteBackground.tint = 0xFFFFFF; self.addChildAt(whiteBackground, 0); function startPresentFrenzy() { var originalFireRate = presentFireRate; var originalPresentSpeed = Present.prototype.speed; presentFireRate /= 5; Present.prototype.speed *= 2; if (typeof self.frenzyTimeout !== 'undefined') { LK.clearTimeout(self.frenzyTimeout); self.frenzyTimeout = LK.setTimeout(function () { presentFireRate = originalFireRate; Present.prototype.speed = originalPresentSpeed; allowPresentAngle = false; delete self.frenzyTimeout; }, 7000 + (self.frenzyTimeout - LK.ticks)); } else { self.frenzyTimeout = LK.setTimeout(function () { presentFireRate = originalFireRate; Present.prototype.speed = originalPresentSpeed; allowPresentAngle = false; delete self.frenzyTimeout; }, 7000); } allowPresentAngle = true; } function checkRankUp() { var xpThreshold = Math.floor(6 * Math.pow(1.20, rank - 1)); if (xp >= xpThreshold) { rank++; xp = 0; rankTxt.setText('Rank: ' + rank); updateXPDisplay(); self.spawnButtons(); } } var countdown = 60; var score = 0; var naughtyToNiceConversionRate = 3; var humanKindnessActive = false; var scoreTxt = new Text2('Score: ' + score, { size: 75, fill: "#228B22", stroke: "#FFFFFF", strokeThickness: 6 }); scoreTxt.anchor.set(0, 0); scoreTxt.x += 150; scoreTxt.y += 30; LK.gui.topLeft.addChild(scoreTxt); var timerTxt = new Text2(countdown.toString(), { size: 150, fill: "#228B22", stroke: "#FFFFFF", strokeThickness: 6 }); timerTxt.anchor.set(.5, 0); LK.gui.topCenter.addChild(timerTxt); var xp = 0; var rank = 1; var rankTxt = new Text2('Rank: ' + rank, { size: 75, fill: "#228B22", stroke: "#FFFFFF", strokeThickness: 6 }); rankTxt.anchor.set(0, 0); rankTxt.x = timerTxt.x + timerTxt.width + 180; rankTxt.y = scoreTxt.y; LK.gui.topCenter.addChild(rankTxt); var xpDisplayTxt = new Text2(xp + ' / ' + Math.floor(6 * Math.pow(1.20, rank - 1)), { size: 75, fill: "#228B22", stroke: "#FFFFFF", strokeThickness: 6 }); xpDisplayTxt.anchor.set(0, 0); xpDisplayTxt.x = rankTxt.x + 20; xpDisplayTxt.y = rankTxt.y + rankTxt.height + 20; LK.gui.topCenter.addChild(xpDisplayTxt); function updateXPDisplay() { var xpThreshold = Math.floor(6 * Math.pow(1.20, rank - 1)); xpDisplayTxt.setText(xp + ' / ' + xpThreshold); } function addXP(amount) { if (amount > 0 && countdown > 0) { xp += amount; checkRankUp(); updateXPDisplay(); } } var timer = LK.setInterval(function () { countdown--; if (countdown >= 0) { timerTxt.setText(countdown.toString()); xpDisplayTxt.visible = true; } else if (countdown === -1) { xpDisplayTxt.visible = false; var popup = new MerryChristmasPopup(score, function () { score += 1000; scoreTxt.setText('Score: ' + score); popup.destroy(); }); self.addChild(popup); self.addChildAt(santa, self.children.length); countdown = -2; } else { timerTxt.visible = false; buttons.forEach(function (button) { button.destroy(); }); buttons = []; } }, 1000); var houses = []; var houseSpawnRate = 1; var buttons = []; self.spawnButtons = function () { buttons.forEach(function (button) { button.destroy(); }); buttons = []; var powerups = [{ label: 'Pitching Arm!', action: function () { presentFireRate *= 0.65; } }, { label: 'More Carrots!', action: function () { santa.moveSpeed *= 1.6; } }, { label: 'New Time Zone!', action: function () { countdown += 15; timerTxt.setText(countdown.toString()); } }, { label: 'Present Frenzy!', action: function () { startPresentFrenzy(); } }, { label: 'Human Kindness!', action: function () { humanKindnessActive = true; } }, { label: 'Naughty Deflector!', action: function () { NaughtyHouse.prototype.requiredHitCount = 2; } }, { label: 'Joyous!', action: function () { score += Math.ceil(score * 0.2); scoreTxt.setText('Score: ' + score); } }, { label: 'City Flying!', action: function () { houseSpawnRate *= 0.5; } }].filter(function (powerup) { if (powerup.label === 'Joyous!' && rank <= 4) { return false; } if (powerup.label === 'Present Frenzy!' && rank <= 6) { return false; } if (powerup.label === 'More Carrots!' && rank >= 5) { return false; } if (powerup.label === 'Pitching Arm!' && rank >= 7) { return false; } return true; }); var chosenPowerups = powerups.sort(function () { return Math.random() - Math.random(); }).slice(0, 2); chosenPowerups.forEach(function (powerup, index) { var button = new Button(powerup.label, function () { powerup.action(); buttons.forEach(function (btn) { btn.destroy(); }); }); button.x = 2048 / 2 + (index === 0 ? -300 : 300); button.y = 2732 / 2 - 100; buttons.push(button); self.addChild(button); }); }; self.spawnHouse = function () { var nextSpawnTime = (Math.random() * 700 + 700) * houseSpawnRate; var newHouseX = Math.random() * 2048; var newHouseY = -Math.random() * 500; var canSpawn = true; for (var i = 0; i < houses.length; i++) { var house = houses[i]; if (Math.abs(newHouseX - house.x) < house.width * 1.5 && Math.abs(newHouseY - house.y) < house.height * 1.5) { canSpawn = false; break; } } if (canSpawn) { var houseTypes = [NaughtyHouse, NiceHouse]; var naughtyCount = houses.reduce(function (acc, house) { return acc + (house instanceof NaughtyHouse ? 1 : 0); }, 0); var randomIndex; if (humanKindnessActive && naughtyCount % 3 === 0) { randomIndex = 1; } else { randomIndex = Math.random() < 0.5 ? 0 : 1; } var house = new houseTypes[randomIndex](); house.x = newHouseX; house.y = newHouseY; houses.push(house); var buttonIndex = buttons.length > 0 ? self.children.indexOf(buttons[0]) : self.children.length; buttonIndex = buttonIndex === -1 ? self.children.length : buttonIndex; self.addChildAt(house, buttonIndex); self.addChildAt(santa, self.children.length); } if (countdown > 2) { LK.setTimeout(self.spawnHouse, nextSpawnTime); } }; self.spawnHouse(); var houses = []; var presents = []; var santa = self.addChild(new Santa()); santa.x = 2048 / 2; santa.y = 2732 - 2732 * 0.1; var presentFireRate = 52.5; var presentFireCounter = 0; stage.on('down', function (obj) { var pos = obj.event.getLocalPosition(self); santa.move(pos); }); LK.on('tick', function () { for (var i = snowflakes.length - 1; i >= 0; i--) { var snowflake = snowflakes[i]; snowflake.move(); if (snowflake.y > 2732 || snowflake.x < -50 || snowflake.x > 2098) { snowflake.destroy(); snowflakes.splice(i, 1); } } if (LK.ticks % 15 === 0) self.spawnSnowflake(); santa.move(); if (countdown > 0 && presentFireCounter++ >= presentFireRate) { var present = new Present(); present.x = santa.x; present.y = santa.y; present.active = true; if (allowPresentAngle) { var angle = (Math.random() * 20 + 80) * (Math.PI / 180); present.speedX = present.speed * Math.cos(angle); present.speedY = present.speed * Math.sin(angle); } else { present.speedX = 0; present.speedY = present.speed; } presents.push(present); var buttonIndex = buttons.length > 0 ? self.children.indexOf(buttons[0]) : self.children.length; buttonIndex = buttonIndex === -1 ? self.children.length : buttonIndex; self.addChildAt(present, buttonIndex); presentFireCounter = 0; } for (var i = presents.length - 1; i >= 0; i--) { var present = presents[i]; if (LK.ticks - present.lastMoved > 6) { present.destroy(); presents.splice(i, 1); continue; } present.move(); for (var j = houses.length - 1; j >= 0; j--) { var house = houses[j]; if (house instanceof NaughtyHouse && present.intersects(house) && !present.isCounter && present.active) { house.hitCount = (house.hitCount || 0) + 1; if (house.hitCount >= (NaughtyHouse.prototype.requiredHitCount || 1)) { var darkHouse = new DarkHouse(); darkHouse.x = house.x; darkHouse.y = house.y; darkHouse.shake(); houses[j] = darkHouse; self.addChild(darkHouse); self.addChildAt(santa, self.children.length); score = Math.max(0, score - 1); scoreTxt.setText('Score: ' + score); house.destroy(); } else { var counterPresent = house.spawnCounterPresent(); presents.push(counterPresent); self.addChild(counterPresent); } present.destroy(); presents.splice(i, 1); break; } else if (house instanceof NiceHouse && present.intersects(house)) { house.hitCount++; house.hitByPresent(); score++; addXP(1); scoreTxt.setText('Score: ' + score); present.destroy(); presents.splice(i, 1); if (house.hitCount >= 3) { var happyHouse = new HappyHouse(); happyHouse.x = house.x; happyHouse.y = house.y; houses[j] = happyHouse; self.addChild(happyHouse); self.addChildAt(santa, self.children.length); happyHouse.bounce(); house.destroy(); } break; } } if (score > 1000) { LK.showGameOver(); } } for (var i = houses.length - 1; i >= 0; i--) { var house = houses[i]; if (LK.ticks - house.lastMoved > 6) { house.destroy(); houses.splice(i, 1); continue; } house.move(); if (house.y > 2732 + house.height) { houses.splice(i, 1); } } }); });
===================================================================
--- original.js
+++ change.js
@@ -106,14 +106,10 @@
descriptionLabel.setText(powerupDescriptions[label] || '');
descriptionLabel.anchor.set(0.5);
descriptionLabel.x = 0;
self.addChild(descriptionLabel);
- self.interactive = false;
- LK.setTimeout(function () {
- self.interactive = true;
- }, 1000);
self.on('down', function (obj) {
- if (self.interactive) onClick();
+ onClick();
});
});
var Present = Container.expand(function () {
var self = Container.call(this);
@@ -123,8 +119,9 @@
self.speedX = 0;
self.speedY = self.speed;
self.lastMoved = LK.ticks;
self.isCounter = false;
+ self.active = false;
self.move = function () {
self.x += self.speedX;
self.y += self.speedY;
self.distanceTraveled += Math.sqrt(self.speedX * self.speedX + self.speedY * self.speedY);
@@ -562,8 +559,9 @@
if (countdown > 0 && presentFireCounter++ >= presentFireRate) {
var present = new Present();
present.x = santa.x;
present.y = santa.y;
+ present.active = true;
if (allowPresentAngle) {
var angle = (Math.random() * 20 + 80) * (Math.PI / 180);
present.speedX = present.speed * Math.cos(angle);
present.speedY = present.speed * Math.sin(angle);
@@ -586,9 +584,9 @@
}
present.move();
for (var j = houses.length - 1; j >= 0; j--) {
var house = houses[j];
- if (house instanceof NaughtyHouse && present.intersects(house) && !present.isCounter) {
+ if (house instanceof NaughtyHouse && present.intersects(house) && !present.isCounter && present.active) {
house.hitCount = (house.hitCount || 0) + 1;
if (house.hitCount >= (NaughtyHouse.prototype.requiredHitCount || 1)) {
var darkHouse = new DarkHouse();
darkHouse.x = house.x;
overhead view of simple box house christmas decorations giant christmas tree out front video game asset 2d blank background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
overhead view of drab house with giant prohibition symbol snowy lawn video game asset 2d blank background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
overhead view of charred remains of a completely burned down box house snowy lawn video game asset 2d blank background Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
Santa on sleigh pulled by reindeer blank background no shadows flying forward away straight top down Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
simple red christmas ornament 2d blank background high contrast no shadows in game asset Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
simple snowflake In-Game asset. 2d. Blank background. High contrast. No shadows. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
old white scroll unfurled blank no shadows Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
top down simple wrapped red present with gold bow. In-Game asset. 2d. Blank background. High contrast. No shadows. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.
top down plate of cookies glass of milk. In-Game asset. Blank background. No shadows. Single Game Texture. In-Game asset. 2d. Blank background. High contrast. No shadows.