Code edit (1 edits merged)
Please save this source code
Code edit (1 edits merged)
Please save this source code
Code edit (11 edits merged)
Please save this source code
User prompt
Can barı görselini ortala , Yanında da yazan sayısal değerini de büyüt , şuan küçük gözüküyor !
User prompt
Assetsler de canBari ile ilgili bir görsel oluşturdum . Bu görsel canımızın gösterildiği yerde olsun . Yanımızı da bu görselin yanında yazsın .
User prompt
Canımızı gördüğümüz yer sadece sayı olmasın . Yatay bir tüp şeklinde bir tasarım oluştur . Bu tasarımda sayısal olarakta canımızı görebilelim . ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Tüp yatay olsun , kenarları oval olsun , rengide full kırmızı olsun . Oyunlardaki can barı gibi olsun yani !
User prompt
Can barımız sadece sayıdan oluşmasın , kırmızı bir tüpe benzeyen bir yapısı olsun , canımı azaldıkca tüpteki oran da azalsın , ayrıca sayısal olarakta tüpte canımızı görebilelim . ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
// --- STAGE NAME DISPLAY (bottom left, italic font) --- var stageNames = ["Bölüm 1", "Bölüm 2", "Bölüm 3", "Bölüm 4", "Boss"]; var stageNameTxt = new Text2(stageNames[0], { size: 280, fill: 0xffffff, font: "italic 200px 'Arial', 'Gill Sans', 'Tahoma', sans-serif" }); stageNameTxt.anchor.set(0, 1); // bottom left LK.gui.bottomLeft.addChild(stageNameTxt); Bu kısım istediğim gibi değil , Text şuan ekranda bu boyut değil
Code edit (1 edits merged)
Please save this source code
User prompt
stage name lerin fontu daha büyük olsun ekranda gözükmüyor şuan
User prompt
Bu yazı fontu daha büyük olsun ekranda oynayan kullanıcı görebilsin bölüm isimlerini .
User prompt
Bu yazı fontu daha büyük olsun ekranda oynayan kullanıcı görebilsin bölüm isimlerini .
User prompt
Güzel bu da oldu , şimdi senden isteğim ekranın sol alt köşesinde bölümlerin isimleri yazsın . "Bölüm 1 " , "Bölüm 2 " gibi sırayla yazsın . Güzel italic bir fontta yazsın yazı .
User prompt
Güzel oldu , can eklenirken can barı yeşil renkli bir animasyonla eklensin ↪💡 Consider importing and using the following plugins: @upit/tween.v1
User prompt
Her bölümün başında can ekleme sistemi getir . 2. bölümün başında eğer ki karakterin canı %100 değilse +20 can ekle . 3. bölümün başında eğer ki karakterin canı %100 değilse +30 can ekle . 4. bölümün başında eğer ki karakterin canı %100 değilse +40 can ekle . Boss bölümün de de eğer ki karakterin canı %100 değilse +50 can ekle .
User prompt
Değişen bir şey olmadı , bölüm isimleri ekranda gözükmüyor . Her step bittiğinde "Bölüm 1 " , " Bölüm 2 " tarzı bilgilendirmeler ekranda kayarak gösterilsin
User prompt
Değişen bir şey olmadı ! Bölümler bittiğinde yeni bölüme girerken zemin belli bir süre boş kalıyor . Bu sürede zemin de O Bölümün isminin kayarak aşağıya gelmesini istiyorum . Bu sayede kullanıcı hangi bölümde olduğunu anlayabilsin . Bölüm isimlendirmeleri Türkçe olsun , "Bölüm 1 " , "Bölüm 2 " tarzında .
User prompt
Bölüm başlarında ekranda bölümün ismini göster .
User prompt
Düşman sıklığını arttır . Bölüm geçmek için gerekli olan düşman sayılarını da arttır . İlk bölüm ve ikinci bölümü geçmek aynı kalsın . Ama ondan sonraki bölümleri geçmek için geçmemiz gereken düşman sayısını arttır .
User prompt
Delete everything related to increasing the character's health. No health increases.
User prompt
Now, add the images I've defined to the assets into the game!
User prompt
Please fix the bug: 'obstacleColors is not defined' in or related to this line: 'for (var i = 0; i < obstacleColors.length; i++) {}' Line Number: 186
User prompt
Delete all the settings you've made regarding asset colors.
User prompt
It did not improve , assets have color no images . I want a ımages fpr assets
/**** * Plugins ****/ var tween = LK.import("@upit/tween.v1"); /**** * Classes ****/ // Obstacle class: colored square, moves down, can be lane or boss var Obstacle = Container.expand(function () { var self = Container.call(this); // Default: normal obstacle self.isBoss = false; self.lane = 0; // 0-3 self.speed = 10; // will be set per stage // Removed color property; asset color is now determined by image asset only self.size = 220; // will be set per obstacle self.passed = false; // for boss logic // Attach asset (always use image asset for obstacles) // The color property is not used; asset key must be set by caller after construction var box = null; self.setAsset = function (assetKey) { self.removeChildren(); box = self.attachAsset(assetKey, { width: self.size, height: self.size, anchorX: 0.5, anchorY: 0.5 }); }; // For boss, we will override asset in code // Update per tick self.update = function () { self.y += self.speed; }; // For boss, we can flash or animate self.flash = function () { tween(box, { tint: 0xffffff }, { duration: 100, onFinish: function onFinish() { tween(box, { tint: self.color }, { duration: 200 }); } }); }; return self; }); // Player class: colored square, can switch lanes var Player = Container.expand(function () { var self = Container.call(this); self.lane = 1; // 0-3, start in lane 1 (second from left) self.size = 180; // Removed color property; asset color is now determined by image asset only var playerBox = self.attachAsset('player', { width: self.size, height: self.size, anchorX: 0.5, anchorY: 0.5 }); // Move to lane (0-3) self.moveToLane = function (lane) { self.lane = lane; self.x = laneToX(lane); }; return self; }); /**** * Initialize Game ****/ var game = new LK.Game({ backgroundColor: 0x181818 }); /**** * Game Code ****/ // --- LANE SYSTEM --- // Define 18 unique obstacle assets, one for each color var NUM_LANES = 4; var LANE_WIDTH = 400; // 2048/4 = 512, but leave margin var LANE_MARGIN = (2048 - NUM_LANES * LANE_WIDTH) / 2; // center lanes function laneToX(lane) { // Center of each lane return LANE_MARGIN + LANE_WIDTH * lane + LANE_WIDTH / 2; } // --- PLAYER --- var player = new Player(); player.y = 2732 - 550; // 350px from bottom player.moveToLane(1); // Start in lane 1 game.addChild(player); // --- HEALTH --- var maxHealth = 100; var health = maxHealth; // Health bar image and health percent text // Center canBari image vertically in top bar, and enlarge health percent text var canBariImg = LK.getAsset('canBari', { anchorX: -0.5, anchorY: 0.5, x: 120, y: 120, // move down a bit for better centering width: 380, height: 180 }); LK.gui.top.addChild(canBariImg); // Make health percent text much larger and vertically centered with canBari image var healthTxt = new Text2('100%', { size: 220, fill: 0xFFFFFF, font: "italic 200px 'Arial', 'Gill Sans', 'Tahoma', sans-serif" }); healthTxt.anchor.set(0, 0.5); // Place health text to the right of the canBari image, vertically centered healthTxt.x = canBariImg.x + canBariImg.width + 40; healthTxt.y = canBariImg.y; LK.gui.top.addChild(healthTxt); // --- OBSTACLE PASS COUNTER --- var obstaclesPassed = 0; var passCounterTxt = new Text2('0', { size: 110, fill: 0xFFFFFF }); passCounterTxt.anchor.set(1, 0); // right align LK.gui.topRight.addChild(passCounterTxt); // --- STAGE NAME DISPLAY (bottom left, italic font) --- var stageNames = ["Bölüm 1", "Bölüm 2", "Bölüm 3", "Bölüm 4", "Boss"]; var stageNameTxt = new Text2(stageNames[0], { size: 280, fill: 0xffffff, font: "italic 200px 'Arial', 'Gill Sans', 'Tahoma', sans-serif" }); stageNameTxt.anchor.set(0, 1); // bottom left LK.gui.bottomLeft.addChild(stageNameTxt); // --- OBSTACLES --- var obstacles = []; // Removed obstacleColors array; asset is determined by image asset only // --- STAGES --- var STAGES = [ // [numObstacles, speed, damage, minGap, maxGap] // Slower pace: more obstacles, lower speed { count: 45, speed: 10, damage: 10, minGap: 420, maxGap: 600 }, { count: 65, speed: 13, damage: 15, minGap: 370, maxGap: 540 }, { count: 120, speed: 18, damage: 20, minGap: 220, maxGap: 340 }, { count: 180, speed: 22, damage: 25, minGap: 160, maxGap: 260 }]; var currentStage = 0; var obstaclesSpawned = 0; var stageObstacleTypes = 18; // 18 unique types var stageInProgress = true; var bossMode = false; var bossHits = 0; // First two stages: bossRequired = 10, then increase for later stages var bossRequiredByStage = [10, 10, 15, 22]; var bossRequired = bossRequiredByStage[currentStage] || 22; // --- SPAWN CONTROL --- var spawnTimer = 0; var spawnInterval = 40; // ticks between spawns, will be randomized per stage function randomInt(a, b) { return a + Math.floor(Math.random() * (b - a + 1)); } // --- BOSS --- var bossObstacle = null; var bossActive = false; var bossCooldown = 0; // --- GAME STATE --- var gameOver = false; var youWin = false; // --- INIT OBSTACLE ASSETS (shapes) --- // (No obstacleColors array needed; assets are initialized in Assets section) // --- SPAWN OBSTACLE --- function spawnObstacle(stage) { var o = new Obstacle(); // Pick random lane var lane = randomInt(0, NUM_LANES - 1); o.lane = lane; o.x = laneToX(lane); o.y = -120; // just above screen // Pick color (cycle through 18 types) var colorIdx = obstaclesSpawned % stageObstacleTypes; var colorKeys = ['0x007aff', '0x22223b', '0x30b0c7', '0x34c759', '0x393e46', '0x4cd964', '0x5856d6', '0x5ac8fa', '0x8e8e93', '0x9d4edd', '0xaf52de', '0xe94f37', '0xf28d35', '0xfad02e', '0xff2d55', '0xff3b30', '0xff9500']; // There are 17 color keys above, but stageObstacleTypes is 18; fallback to first if out of range var colorKey = colorKeys[colorIdx] || colorKeys[0]; o.size = 220; o.speed = stage.speed; o.setAsset('obstacle_' + colorKey); obstacles.push(o); game.addChild(o); obstaclesSpawned++; } // --- SPAWN BOSS --- function spawnBoss() { var o = new Obstacle(); o.isBoss = true; o.size = 320; // Removed color assignment; asset is determined by image asset only o.speed = 32; // Boss lane: random o.lane = randomInt(0, NUM_LANES - 1); o.x = laneToX(o.lane); o.y = -180; o.setAsset('boss'); bossObstacle = o; bossActive = true; game.addChild(o); } // --- HEALTH UPDATE --- function updateHealthText() { var pct = Math.max(0, Math.round(health)); healthTxt.setText(pct + "%"); } // --- GAME OVER --- function triggerGameOver() { if (gameOver) { return; } gameOver = true; LK.effects.flashScreen(0xff0000, 800); // Show obstacles passed on game over screen LK.showGameOver({ score: obstaclesPassed }); } // --- YOU WIN --- function triggerYouWin() { if (youWin) { return; } youWin = true; LK.effects.flashScreen(0x00ff00, 800); LK.showYouWin(); } // --- PLAYER INPUT: LANE SWITCHING --- // Touch/click left/right half of screen to move game.down = function (x, y, obj) { if (gameOver || youWin) { return; } // Convert to game coordinates var lane = player.lane; if (x < 2048 / 2) { // Move left if (lane > 0) { lane--; } } else { // Move right if (lane < NUM_LANES - 1) { lane++; } } player.moveToLane(lane); }; // --- GAME UPDATE --- game.update = function () { if (gameOver || youWin) { return; } // --- SPAWN OBSTACLES --- if (!bossMode) { var stage = STAGES[currentStage]; if (obstaclesSpawned < stage.count) { if (spawnTimer <= 0) { spawnObstacle(stage); // Randomize next spawn interval spawnInterval = randomInt(stage.minGap, stage.maxGap) / stage.speed; spawnTimer = Math.max(18, Math.floor(spawnInterval)); } else { spawnTimer--; } } else if (obstacles.length === 0) { // Stage complete, next stage or boss if (currentStage < STAGES.length - 1) { currentStage++; obstaclesSpawned = 0; // Update stage name text if (stageNameTxt && stageNames[currentStage]) { stageNameTxt.setText(stageNames[currentStage]); } // Health bonus at the start of each stage if health is not 100% if (health < maxHealth) { var healthBefore = health; if (currentStage === 1) { health = Math.min(maxHealth, health + 20); } else if (currentStage === 2) { health = Math.min(maxHealth, health + 30); } else if (currentStage === 3) { health = Math.min(maxHealth, health + 40); } updateHealthText(); // Animate health bar green if health increased if (health > healthBefore) { tween.stop(healthTxt, { tint: true, scaleX: true, scaleY: true }); healthTxt.scale.set(1, 1); var originalTint = typeof healthTxt.tint !== "undefined" ? healthTxt.tint : 0xFFFFFF; healthTxt.tint = 0x00ff00; tween(healthTxt, { scaleX: 1.5, scaleY: 1.5 }, { duration: 180, easing: tween.cubicOut, onFinish: function onFinish() { tween(healthTxt, { scaleX: 1, scaleY: 1 }, { duration: 220, easing: tween.cubicIn }); } }); tween(healthTxt, { tint: originalTint }, { duration: 400, easing: tween.linear }); } } // Update bossRequired for new stage bossRequired = bossRequiredByStage[currentStage] || 22; } else { // All stages done, boss time! // Boss health bonus if not 100% if (health < maxHealth) { var healthBefore = health; health = Math.min(maxHealth, health + 50); updateHealthText(); // Animate health bar green if health increased if (health > healthBefore) { tween.stop(healthTxt, { tint: true, scaleX: true, scaleY: true }); healthTxt.scale.set(1, 1); var originalTint = typeof healthTxt.tint !== "undefined" ? healthTxt.tint : 0xFFFFFF; healthTxt.tint = 0x00ff00; tween(healthTxt, { scaleX: 1.5, scaleY: 1.5 }, { duration: 180, easing: tween.cubicOut, onFinish: function onFinish() { tween(healthTxt, { scaleX: 1, scaleY: 1 }, { duration: 220, easing: tween.cubicIn }); } }); tween(healthTxt, { tint: originalTint }, { duration: 400, easing: tween.linear }); } } bossMode = true; bossHits = 0; bossCooldown = 30; // Update stage name text to 'Boss' if (stageNameTxt && stageNames[4]) { stageNameTxt.setText(stageNames[4]); } // Set bossRequired for final stage if not already set bossRequired = bossRequiredByStage[currentStage] || 22; } } } // --- OBSTACLE MOVEMENT & COLLISION --- for (var i = obstacles.length - 1; i >= 0; i--) { var o = obstacles[i]; o.update(); // Remove if off screen if (o.y > 2732 + 120) { o.destroy(); obstacles.splice(i, 1); obstaclesPassed++; passCounterTxt.setText(obstaclesPassed + ""); continue; } // Collision with player if (!o.isBoss && o.lane === player.lane) { // Check overlap in y var dy = Math.abs(o.y - player.y); if (dy < (o.size + player.size) / 2 - 10) { // Hit! var prevHealth = health; health -= STAGES[currentStage].damage; // Animate health bar red for health decrease tween.stop(healthTxt, { tint: true, scaleX: true, scaleY: true }); healthTxt.scale.set(1, 1); var originalTint = typeof healthTxt.tint !== "undefined" ? healthTxt.tint : 0xFFFFFF; healthTxt.tint = 0xff0000; tween(healthTxt, { scaleX: 1.5, scaleY: 1.5 }, { duration: 180, easing: tween.cubicOut, onFinish: function onFinish() { tween(healthTxt, { scaleX: 1, scaleY: 1 }, { duration: 220, easing: tween.cubicIn }); } }); tween(healthTxt, { tint: originalTint }, { duration: 400, easing: tween.linear }); updateHealthText(); o.destroy(); obstacles.splice(i, 1); if (health <= 0) { triggerGameOver(); return; } } } } // --- BOSS LOGIC --- if (bossMode) { if (!bossActive && bossCooldown <= 0) { spawnBoss(); } else if (bossCooldown > 0) { bossCooldown--; } if (bossActive && bossObstacle) { bossObstacle.update(); // Remove if off screen if (bossObstacle.y > 2732 + 200) { // Player dodged boss bossHits++; bossActive = false; bossObstacle.destroy(); bossObstacle = null; bossCooldown = 32; if (bossHits >= bossRequired) { triggerYouWin(); return; } } else { // Collision with player if (bossObstacle.lane === player.lane) { var dy = Math.abs(bossObstacle.y - player.y); if (dy < (bossObstacle.size + player.size) / 2 - 10) { // Boss hit: instant game over LK.effects.flashObject(player, 0xff0000, 600); triggerGameOver(); return; } } } } } }; // --- INITIAL HEALTH DISPLAY --- updateHealthText();
===================================================================
--- original.js
+++ change.js
@@ -90,18 +90,18 @@
return LANE_MARGIN + LANE_WIDTH * lane + LANE_WIDTH / 2;
}
// --- PLAYER ---
var player = new Player();
-player.y = 2732 - 350; // 350px from bottom
+player.y = 2732 - 550; // 350px from bottom
player.moveToLane(1); // Start in lane 1
game.addChild(player);
// --- HEALTH ---
var maxHealth = 100;
var health = maxHealth;
// Health bar image and health percent text
// Center canBari image vertically in top bar, and enlarge health percent text
var canBariImg = LK.getAsset('canBari', {
- anchorX: 0,
+ anchorX: -0.5,
anchorY: 0.5,
x: 120,
y: 120,
// move down a bit for better centering
A very sweet yellow canary bird. In-Game asset. 2d. High contrast. No shadows
Create an image that says The Special One. The words should be written one under the other. It should be in a retro theme. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Create a visual that says 15 Million Euros. All the words should be written under each other. It should be in a retro theme. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Sarı kırmızı çizgili forma oluştur , formanın arkasında "A.KOC " yazsın , numarası da 25 numara olsun . Retro temada olsun . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Create a big skyscraper. Make it yellow, red and navy blue. Write "YAPI" underneath. Make it retro themed. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Bana can barı oluştur . Yatay bir şekilde tüp şeklinde olsun . tüpte can barı full dolu olsun. Yanları oval olsun , klasik oyunlarda ki can barına da benzer bir yapıda olsun . Retro temada olsun . . No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat. No background. Transparent background. Blank background. No shadows. 2d. In-Game asset. flat
Arka planı olmayan bir volume yazısı ses resmi oluştur , retro temada olsun. renkleri sarı lacivert olsun . yatay olsun olabildiğince dikey olmasın In-Game asset. 2d. High contrast. No shadows
Menu yazan yatay bir resim oluştur . Arka Planı olmasın . Sarı Lacivert bir resim olsun. retro temada olsun. In-Game asset. 2d. High contrast. No shadows
siyah renk prada montlu bir adam görseli oluştur , bu montu giyen adam sarı şapkalı , siyah güneş gözlüklü , hafif kirli sakallı bir tip olsun. prada yerine görselde "BRADA" yazsın In-Game asset. 2d. High contrast. No shadows
2025 - 2026 Türkiye Süper Ligi Şampiyonu Kupası oluştur , kupanınn üstünde FENERBAHÇE yazsın. soluk renklerde olsun , retro temada olsun In-Game asset. 2d. High contrast. No shadows
taraftarlarla kavga eden bir fenerbahce başkanı oluştur , başkan takım elbise giyiyor olsun , başkanın tipi ali koca benzesin . taraftarlar da sarı fb forması giyen taraftar olsunlar. In-Game asset. 2d. High contrast. No shadows
Oto yıkama ile alakalı bir görsel oluştur . Bu görselin altında 3.5M Euro yazsın. Retro temada bir görsel olsun .. In-Game asset. 2d. High contrast. No shadows
Beyaz bir megafon görseli oluştur . Retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Fenerbahçe logosuna benzer bir logo oluştur ama telif haklarından logonun aynısı olmasın Logoda Fenerbahçe değilde Fener yazsın sadece . Bu logonun üstüne de 5 yıldız koy . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
"22 Yıl" bordo renk "20 Yıl" kırmızı renk "15 Yıl" beyaz renk şeklinde bir görsel oluştur , üstü X şeklinde olsun . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows. 2
Bir adet şampiyonluk kupası oluştur , bu kupa full kırmzı renkte olsun . Kupanın boynuzları olsun , şeytanın boynuzları gibi . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Bir şampiyonluk kupası oluştur , kupanın altında 7 yazsın , kupanın üstü de çarpı şeklinde olsun . 7 yıldır şampiyon olunmuyoru anlatan bir tarzda olsun . retro temada olsun .. In-Game asset. 2d. High contrast. No shadows
Sarı lacivert bir doğum günü pastası oluştur , 2 tane mumlu . Bu pastanın üstünde "25 Bin Kişi" yazsın . retro temada olsun .. In-Game asset. 2d. High contrast. No shadows
Bir uçak bileti oluştur . Yolcunun adı T.T.S olsun . Uçak bileti siyah beyaz olsun . Ucağın rotası Adana -> Kadıköy olsun . Yolcunun fotosu kartal olsun . retro temada olsun .. In-Game asset. 2d. High contrast. No shadows
Fener adlı mavi tikli bir twitter sayfasının adana kebab paylaştığı bir görsel oluştur . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
2011 futbol şampiyonluk kupası resmi oluştur . Bu kupayı alttan birden fazla el kaldırıyor olsun . kupa altın sarısı renkte olsun . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Beyaz plastik sandalye ve masa da oturan volkan demiren görseli oluştur . bu görsel de volkan demirel Lacivert eşofman takımı giyiyor olsun . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Beyaz bir t-shirt oluştur . üsütünde beFair yazsın t-shirtün . be beyaz Fair mor renkte olsun . retro temada olsun. In-Game asset. 2d. High contrast. No shadows
Borsa grafiği oluştur grafiğin yönü aşağı yönde olsun .Altında "4.8 SOLD" şeklinde bir yazı yazsın . retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Galatasaray logosuna benzer bir logo oluştur "Gala" yazsın . Üstünde de 5 yıldız olsun . retro temada olsun .. In-Game asset. 2d. High contrast. No shadows
Kalp şeklinde görsel oluştur , kırmızı şeklinde olsun kalp . retro tasarımda olsun .. In-Game asset. 2d. High contrast. No shadows
Her el kalbe tıklayarak +50 can alabilirsiniz." yazan bir yazı oluştur . Dikey formatta olsun . Retro temada olsun , arka plan soluk renklerde sarı lacivert olsun . Yazı formatı çok büyük olmasın . Yazılar ekranda rahat rahat okunabilsin . Yazılar tüm ekranı kaplamasın . Oluşturacağın görselin alt ve üstünde boşluklar olsun , yazı ortada olsun görselde ! In-Game asset. 2d. High contrast. No shadows
Kara bir yazı tahtası oluştur , bu tahtada "Kadıköy Hatırası " yazsın . retro temada olsun .. In-Game asset. 2d. High contrast. No shadows
Bir iş adamı karakteri oluştur , Acun ılıcalıya benzesin karakter. Karakterin üstünde konuşma balonuna benzer bir balon olsun. Bu balonun içinde "Eğer seçilemezsek başkan hayatına devam e..." yazsın . Görsel Retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
Ali Koça Sinirle konuşan bir başkan karakteri oluştur . Bu karakter Ali Koça benzesin . Bu karakterin tepesinde bir konuşma baloncuğu olsun . Bu baloncukta "Vefasızlar , Aşağılık , Ciğeri beş para etmeyenler " yazsın . Retro temada olsun !. In-Game asset. 2d. High contrast. No shadows
fenerBogasi
Sound effect
isteBuBe
Sound effect
ahmetAbi
Sound effect
buSeneSampFener
Sound effect
dikDurEgilme
Sound effect
elNesiri
Sound effect
gitme
Sound effect
kartal
Sound effect
osimhenOzel
Sound effect
oyleBirTakim
Sound effect
tekBasima
Sound effect
asalik
Sound effect
ikiside
Sound effect