landgreen / n-gon

2-d physics rogue-lite platformer shooter
https://landgreen.github.io/n-gon/
GNU General Public License v3.0
143 stars 205 forks source link

new community map: unchartedCave #132

Closed 3xionDev closed 9 months ago

3xionDev commented 9 months ago
unchartedCave() {
//lore.unlockTesting();
//simulation.enableConstructMode();
level.difficultyIncrease(15);
level.setPosToSpawn(0, -50); //normal spawn
level.exit.x = 20985;
level.exit.y = 2816;
spawn.mapRect(level.enter.x, level.enter.y + 20, 100, 20); //bump for level entrance
spawn.mapRect(level.exit.x, level.exit.y + 20, 100, 20); //bump for level exit
level.defaultZoom = 1900
simulation.zoomTransition(level.defaultZoom)
document.body.style.backgroundColor = "#979797";
// color.map = "#444" //custom map color

  spawn.randomMob(1000, -975, 0);
  spawn.randomMob(2550, -575, 0);
  spawn.randomMob(2050, -325, 0);
  spawn.randomMob(2475, -1350, 0);
  spawn.randomMob(2800, -1100, 0);
  spawn.randomMob(3400, -1250, 0);
  spawn.randomMob(3375, -425, 0);
  spawn.randomMob(4575, -775, 0);
  spawn.randomMob(5750, -750, 0);
  spawn.randomMob(5475, -325, 0);
  spawn.randomMob(7625, -250, 0);
  spawn.randomMob(9675, 525, 0);
  spawn.randomMob(12150, 1200, 0);
  spawn.randomMob(12825, 1275, 0);
  spawn.randomMob(13175, 1725, 0);
  spawn.randomMob(13725, 1375, 0);
  spawn.randomMob(15550, 2375, 0);
  spawn.randomMob(17625, 3550, 0);
  spawn.randomMob(18850, 3500, 0);
  spawn.mapRect(-150, 0, 300, 75);
  spawn.mapRect(-375, 25, 2550, 75);
  spawn.mapRect(-400, -950, 75, 1025);
  spawn.mapRect(-400, 75, 50, 25);
  spawn.mapRect(-400, -1750, 100, 800);
  spawn.mapRect(-350, -1050, 50, 1125);
  spawn.mapRect(-400, -1950, 100, 275);
  spawn.mapRect(1875, 25, 2075, 75);
  spawn.mapRect(-400, 50, 4350, 1175);
  spawn.mapRect(-400, 650, 4350, 1175);
  spawn.mapRect(2975, 25, 3575, 1800);
  spawn.mapRect(-375, -1925, 1725, 800);
  spawn.mapRect(-400, -2275, 5625, 725);
  spawn.mapRect(1075, -1725, 500, 425);
  spawn.mapRect(1275, -1325, 200, 125);
  spawn.mapRect(1525, -1325, 25, 75);
  spawn.mapRect(1400, -1425, 125, 200);
  spawn.mapRect(1400, -1725, 325, 275);
  spawn.mapRect(1675, -1600, 125, 100);
  spawn.mapRect(-350, -1200, 250, 250);
  spawn.mapRect(-175, -1225, 250, 175);
  spawn.mapRect(-50, -1150, 275, 50);
  spawn.bodyRect(-275, -475, 75, 175);
  spawn.bodyRect(325, -750, 50, 50);
  spawn.mapRect(2075, -1575, 75, 725);
  spawn.mapRect(1900, -1600, 50, 325);
  spawn.mapRect(2600, -1675, 25, 850);
  spawn.mapRect(2125, -1625, 125, 425);
  spawn.mapRect(2125, -1200, 50, 75);
  spawn.mapRect(2075, -875, 25, 150);
  spawn.mapRect(2025, -1625, 50, 250);
  spawn.mapRect(4700, -2275, 2175, 1275);
  spawn.mapRect(3975, -1725, 1125, 400);
  spawn.mapRect(4300, -1400, 650, 200);
  spawn.mapRect(4600, -1225, 175, 125);
  spawn.mapRect(3925, -1600, 175, 150);
  spawn.mapRect(3950, -1450, 50, 75);
  spawn.mapRect(4225, -1350, 150, 100);
  spawn.mapRect(3875, -1600, 175, 175);
  spawn.mapRect(4450, -1275, 200, 125);
  spawn.mapRect(4850, -1125, 50, 550);
  spawn.mapRect(5225, -1175, 25, 400);
  spawn.mapRect(3250, -1725, 25, 1200);
  spawn.mapRect(3600, -1750, 75, 550);
  spawn.mapRect(2850, -1700, 325, 325);
  spawn.mapRect(2900, -1525, 175, 750);
  spawn.mapRect(2975, -900, 75, 450);
  spawn.mapRect(550, -175, 150, 500);
  spawn.mapRect(625, -300, 125, 450);
  spawn.mapRect(725, -175, 50, 475);
  spawn.mapRect(675, -400, 25, 200);
  spawn.mapRect(450, -25, 150, 150);
  spawn.mapRect(275, -1200, 75, 625);
  spawn.mapRect(300, -1300, 150, 600);
  spawn.mapRect(425, -1250, 25, 800);
  spawn.mapRect(425, -1225, 125, 425);
  spawn.mapRect(525, -1175, 100, 250);
  spawn.mapRect(175, -1200, 175, 375);
  spawn.mapRect(1600, -375, 50, 650);
  spawn.mapRect(1650, -525, 75, 725);
  spawn.mapRect(1450, -225, 150, 475);
  spawn.mapRect(1400, -125, 100, 275);
  spawn.mapRect(1500, -325, 125, 150);
  spawn.mapRect(1750, -225, 100, 350);
  spawn.mapRect(1700, -300, 75, 275);
  spawn.mapRect(1850, -150, 25, 325);
  spawn.mapRect(1750, -50, 75, 225);
  spawn.mapRect(1600, -50, 200, 250);
  spawn.mapRect(1700, -600, 25, 125);
  spawn.bodyRect(1275, -250, 50, 125);
  spawn.mapRect(6450, 50, 675, 2000);
  spawn.mapRect(6925, 175, 675, 300);
  spawn.mapRect(7450, 300, 675, 775);
  spawn.mapRect(6925, 325, 1275, 1850);
  spawn.mapRect(7025, 125, 375, 100);
  spawn.mapRect(7500, 275, 425, 100);
  spawn.mapRect(6700, -2275, 1975, 1575);
  spawn.mapRect(6475, -1175, 400, 300);
  spawn.mapRect(6550, -925, 250, 150);
  spawn.mapRect(6600, -825, 175, 75);
  spawn.mapRect(6300, -1050, 325, 100);
  spawn.mapRect(8050, 400, 450, 1675);
  spawn.mapRect(8275, 475, 800, 1550);
  spawn.mapRect(8600, 575, 925, 1475);
  spawn.mapRect(8400, 425, 300, 100);
  spawn.mapRect(8975, 550, 300, 100);
  spawn.mapRect(6900, -775, 2375, 200);
  spawn.mapRect(7350, -725, 2125, 275);
  spawn.mapRect(7725, -550, 1800, 225);
  spawn.mapRect(8300, -400, 1750, 125);
  spawn.mapRect(8725, -350, 1350, 225);
  spawn.mapRect(8525, -375, 400, 150);
  spawn.mapRect(8650, -250, 150, 50);
  spawn.mapRect(8200, -350, 175, 50);
  spawn.mapRect(7600, -475, 275, 100);
  spawn.mapRect(7475, -500, 175, 75);
  spawn.mapRect(7200, -600, 300, 75);
  spawn.mapRect(7075, -600, 150, 25);
  spawn.mapRect(7125, -575, 100, 25);
  spawn.mapRect(7275, -525, 100, 25);
  spawn.mapRect(7500, 225, 275, 125);
  spawn.mapRect(5800, -1175, 675, 100);
  spawn.mapRect(9400, 625, 500, 1725);
  spawn.mapRect(9750, 775, 575, 1500);
  spawn.mapRect(10050, 1075, 675, 1300);
  spawn.mapRect(9725, -250, 975, 350);
  spawn.mapRect(10275, -100, 1000, 625);
  spawn.mapRect(10125, 25, 375, 350);
  spawn.mapRect(9900, 25, 375, 225);
  spawn.mapRect(10075, 250, 200, 50);
  spawn.mapRect(10275, 425, 75, 75);
  spawn.mapRect(10150, 325, 200, 75);
  spawn.mapRect(10200, 375, 125, 100);
  spawn.mapRect(9600, -175, 225, 200);
  spawn.mapRect(9650, -25, 125, 100);
  spawn.mapRect(9450, -200, 225, 175);
  spawn.mapRect(10000, 200, 50, 25);
  spawn.mapRect(9800, 50, 200, 125);
  spawn.mapRect(9875, 725, 150, 75);
  spawn.mapRect(10300, 900, 100, 325);
  spawn.mapRect(10375, 950, 75, 225);
  spawn.mapRect(10425, 1000, 75, 175);
  spawn.mapRect(9100, -150, 375, 75);
  spawn.mapRect(3525, 0, 1850, 100);
  spawn.mapRect(3650, -25, 1475, 175);
  spawn.mapRect(4000, -100, 950, 225);
  spawn.mapRect(4450, -175, 300, 175);
  spawn.mapRect(1825, -25, 775, 100);
  spawn.mapRect(4150, -1375, 175, 75);
  spawn.mapRect(3800, -1600, 125, 100);
  spawn.mapRect(2700, 0, 175, 100);
  spawn.mapRect(2750, -50, 75, 150);
  spawn.mapRect(2775, -25, 75, 75);
  spawn.bodyRect(3775, -575, 50, 75);
  spawn.mapRect(8050, -2300, 4650, 1750);
  spawn.mapRect(9300, -975, 2450, 575);
  spawn.mapRect(9925, -775, 2350, 700);
  spawn.mapRect(10675, -600, 2025, 1175);
  spawn.mapRect(10300, 825, 50, 125);
  spawn.mapRect(10000, 750, 100, 25);
  spawn.mapRect(9875, 700, 75, 75);
  spawn.mapRect(9850, 675, 75, 50);
  spawn.mapRect(8975, 525, 225, 50);
  spawn.mapRect(8625, 450, 225, 50);
  spawn.mapRect(8925, -150, 175, 50);
  spawn.mapRect(-500, 1775, 10800, 1800);
  spawn.mapRect(10075, 2200, 625, 1850);
  spawn.mapRect(10525, 475, 250, 75);
  spawn.mapRect(10450, 1025, 25, 25);
  spawn.mapRect(10450, 1050, 150, 25);
  spawn.mapRect(10675, 1125, 175, 1700);
  spawn.mapRect(10725, 1225, 400, 725);
  spawn.mapRect(10975, 1425, 300, 1300);
  spawn.mapRect(11225, 1550, 700, 1275);
  spawn.mapRect(11725, 1625, 1150, 1150);
  spawn.mapRect(11050, 1275, 125, 350);
  spawn.mapRect(11150, 1350, 75, 175);
  spawn.mapRect(10825, 1200, 125, 75);
  spawn.mapRect(10325, 1750, 1275, 1150);
  spawn.mapRect(11250, 1500, 325, 100);
  spawn.mapRect(11225, 1475, 200, 75);
  spawn.mapRect(11525, 1525, 350, 75);
  spawn.mapRect(11875, 1575, 425, 100);
  spawn.mapRect(12200, 1625, 25, 25);
  spawn.mapRect(12200, 1600, 250, 75);
  spawn.randomMob(11250, 675, 0);
  spawn.bodyRect(10900, 575, 50, 625);
  spawn.mapRect(11050, 575, 1725, 200);
  spawn.mapRect(11275, 750, 1650, 125);
  spawn.mapRect(11575, 875, 1525, 150);
  spawn.mapRect(11450, 850, 250, 125);
  spawn.mapRect(11325, 850, 225, 50);
  spawn.mapRect(11400, 875, 100, 75);
  spawn.mapRect(11175, 750, 200, 75);
  spawn.mapRect(11125, 775, 100, 25);
  spawn.mapRect(11250, 825, 50, 25);
  spawn.mapRect(11675, 1025, 400, 50);
  spawn.mapRect(12175, 1025, 50, 150);
  spawn.mapRect(11625, 1000, 75, 50);
  spawn.mapRect(12200, 1175, 25, 25);
  spawn.mapRect(12400, 950, 100, 275);
  spawn.mapRect(12450, 1200, 50, 100);
  spawn.mapRect(12425, 1225, 50, 125);
  spawn.mapRect(12425, 1325, 25, 75);
  spawn.mapRect(12325, 1025, 25, 100);
  spawn.mapRect(12625, 1000, 625, 150);
  spawn.mapRect(12775, 1150, 600, 50);
  spawn.bodyRect(12075, 1325, 100, 50);
  spawn.mapRect(12825, 2000, 800, 975);
  spawn.mapRect(13475, 1625, 150, 475);
  spawn.mapRect(12850, 1750, 50, 275);
  spawn.mapRect(12875, 1850, 75, 225);
  spawn.mapRect(12950, 1925, 75, 125);
  spawn.mapRect(13450, 1700, 50, 350);
  spawn.mapRect(13400, 1750, 75, 350);
  spawn.mapRect(13325, 1875, 100, 200);
  spawn.mapRect(13350, 1800, 75, 100);
  spawn.mapRect(13300, 1950, 25, 75);
  spawn.mapRect(12925, 1900, 75, 25);
  spawn.mapRect(12900, 1800, 25, 75);
  spawn.mapRect(13000, 1975, 150, 25);
  spawn.mapRect(12475, 100, 1150, 925);
  spawn.mapRect(13200, 100, 925, 1100);
  spawn.mapRect(13525, 1150, 400, 75);
  spawn.mapRect(13875, 1200, 175, 125);
  spawn.mapRect(13975, 1300, 75, 225);
  spawn.mapRect(14025, 1425, 25, 225);
  spawn.mapRect(13600, 1700, 100, 1250);
  spawn.mapRect(13675, 1775, 150, 1200);
  spawn.mapRect(13775, 1825, 75, 1150);
  spawn.mapRect(13825, 1900, 50, 1075);
  spawn.mapRect(13850, 1950, 75, 1025);
  spawn.mapRect(13875, 2025, 75, 950);
  spawn.mapRect(13925, 2100, 50, 1025);
  spawn.mapRect(13900, 2125, 100, 1000);
  spawn.mapRect(13975, 2225, 75, 900);
  spawn.mapRect(14000, 2375, 100, 750);
  spawn.mapRect(14050, 1200, 75, 525);
  spawn.mapRect(14075, 1625, 100, 150);
  spawn.mapRect(14175, 1750, 50, 175);
  spawn.mapRect(14150, 1750, 50, 75);
  spawn.mapRect(14225, 1875, 50, 150);
  spawn.mapRect(14250, 2000, 50, 150);
  spawn.mapRect(14100, 300, 300, 1450);
  spawn.mapRect(14225, 1675, 150, 250);
  spawn.mapRect(14300, 1700, 100, 675);
  spawn.mapRect(14275, 1925, 50, 175);
  spawn.mapRect(14025, 2300, 50, 200);
  spawn.mapRect(14075, 2600, 275, 700);
  spawn.mapRect(14050, 2425, 75, 475);
  spawn.mapRect(14100, 2525, 50, 150);
  spawn.mapRect(14150, 2575, 50, 100);
  spawn.mapRect(14325, 2650, 800, 1300);
  spawn.mapRect(15000, 2600, 1075, 1275);
  spawn.mapRect(15100, 2550, 1200, 1400);
  spawn.mapRect(14375, 1075, 1400, 1175);
  spawn.mapRect(14375, 2225, 200, 50);
  spawn.mapRect(14375, 2275, 75, 75);
  spawn.mapRect(14425, 2275, 75, 25);
  spawn.mapRect(14775, 2200, 50, 125);
  spawn.mapRect(14725, 2250, 25, 125);
  spawn.bodyRect(14300, 2375, 50, 225);
  spawn.mapRect(15075, 2600, 50, 25);
  spawn.mapRect(15075, 2575, 50, 50);
  spawn.mapRect(14950, 2625, 50, 25);
  spawn.mapRect(15525, 2525, 300, 50);
  spawn.mapRect(15550, 2500, 175, 100);
  spawn.mapRect(14975, 2250, 200, 25);
  spawn.mapRect(14400, 1000, 1900, 1250);
  spawn.mapRect(15925, 2250, 275, 25);
  spawn.mapRect(15975, 2275, 150, 25);
  spawn.mapRect(16075, 2300, 25, 75);
  spawn.mapRect(16250, 2575, 275, 1275);
  spawn.mapRect(16400, 2600, 250, 1300);
  spawn.mapRect(16525, 2675, 300, 1150);
  spawn.mapRect(16650, 2725, 300, 1175);
  spawn.mapRect(16200, 1050, 600, 1225);
  spawn.mapRect(16525, 1025, 500, 1300);
  spawn.mapRect(16725, 1150, 525, 1225);
  spawn.mapRect(16900, 1425, 550, 1000);
  spawn.mapRect(16375, 2250, 250, 50);
  spawn.mapRect(16675, 2325, 75, 25);
  spawn.mapRect(16850, 2400, 25, 25);
  spawn.mapRect(16850, 2375, 100, 50);
  spawn.mapRect(16800, 2375, 50, 25);
  spawn.mapRect(16575, 2650, 150, 75);
  spawn.mapRect(16625, 2625, 50, 50);
  spawn.mapRect(16800, 2700, 50, 50);
  spawn.mapRect(16950, 2900, 450, 1175);
  spawn.mapRect(16900, 2825, 100, 275);
  spawn.mapRect(16900, 2775, 75, 150);
  spawn.mapRect(16950, 2850, 100, 125);
  spawn.mapRect(17600, 3000, 350, 25);
  spawn.mapRect(17650, 3025, 200, 50);
  spawn.mapRect(17750, 3050, 100, 1200);
  spawn.mapRect(17850, 3025, 25, 425);
  spawn.mapRect(18200, 3100, 450, 25);
  spawn.mapRect(18250, 3125, 150, 100);
  spawn.mapRect(18400, 3125, 200, 50);
  spawn.mapRect(18400, 3150, 75, 900);
  spawn.mapRect(18400, 3950, 75, 375);
  spawn.mapRect(17750, 4000, 100, 325);
  spawn.mapRect(18200, 3075, 525, 50);
  spawn.mapRect(18450, 3175, 50, 275);
  spawn.mapRect(18575, 3125, 50, 50);
  spawn.mapRect(18600, 3100, 50, 50);
  spawn.mapRect(18325, 3200, 100, 175);
  spawn.mapRect(18350, 3350, 75, 100);
  spawn.mapRect(18375, 3450, 25, 75);
  spawn.mapRect(18500, 3175, 25, 150);
  spawn.mapRect(17725, 3075, 50, 175);
  spawn.mapRect(17700, 3075, 25, 50);
  spawn.mapRect(18550, 3150, 50, 1275);
  spawn.mapRect(18975, 2975, 525, 25);
  spawn.mapRect(19025, 2975, 400, 75);
  spawn.mapRect(19150, 3025, 150, 1400);
  spawn.mapRect(19250, 3025, 100, 325);
  spawn.mapRect(19100, 3050, 75, 225);
  spawn.mapRect(19125, 3275, 50, 75);
  spawn.mapRect(19275, 3325, 50, 200);
  spawn.mapRect(19700, 3000, 525, 50);
  spawn.mapRect(19750, 3050, 175, 1275);
  spawn.mapRect(19925, 3025, 100, 225);
  spawn.mapRect(19900, 3200, 75, 250);
  spawn.mapRect(20025, 3050, 50, 100);
  spawn.mapRect(20000, 3150, 50, 75);
  spawn.mapRect(19900, 3450, 50, 125);
  spawn.mapRect(19725, 3050, 75, 150);
  spawn.mapRect(19650, 3025, 25, 25);
  spawn.mapRect(19650, 3000, 625, 25);
  spawn.mapRect(17375, 1450, 3525, 250);
  spawn.mapRect(17400, 1675, 100, 400);
  spawn.mapRect(17475, 1675, 75, 150);
  spawn.mapRect(17525, 1650, 125, 75);
  spawn.mapRect(17475, 1775, 50, 175);
  spawn.mapRect(17425, 2025, 50, 200);
  spawn.mapRect(17825, 1650, 375, 75);
  spawn.mapRect(17975, 1700, 100, 125);
  spawn.mapRect(18050, 1800, 50, 150);
  spawn.mapRect(18025, 1675, 100, 150);
  spawn.mapRect(18075, 1900, 25, 175);
  spawn.mapRect(20550, 2825, 825, 1525);
  spawn.mapRect(20825, 1450, 550, 250);
  spawn.mapRect(21350, 1450, 300, 2700);
  spawn.mapRect(21100, 1650, 275, 425);
  spawn.mapRect(21225, 2025, 175, 275);
  spawn.mapRect(21175, 2025, 75, 150);
  spawn.mapRect(21300, 2275, 75, 150);
  spawn.mapRect(21000, 1675, 100, 300);
  spawn.mapRect(21050, 1950, 50, 100);
  spawn.mapRect(20700, 1700, 200, 50);
  spawn.mapRect(20750, 1725, 50, 225);
  spawn.mapRect(20800, 1725, 50, 175);
  spawn.mapRect(20750, 1925, 25, 150);
  spawn.mapRect(20975, 1675, 50, 225);
  spawn.mapRect(21275, 2300, 50, 50);
  spawn.mapRect(20550, 1700, 150, 50);
  spawn.mapRect(20550, 1725, 50, 825);
  spawn.mapRect(20575, 1725, 50, 300);
  spawn.mapRect(20600, 1725, 50, 75);
  spawn.mapRect(20600, 1875, 25, 350);
  spawn.mapRect(20675, 1750, 25, 400);
  spawn.bodyRect(20550, 2550, 50, 275);
  spawn.mapRect(20500, 2850, 75, 1500);
  spawn.mapRect(20475, 2900, 50, 1425);
  spawn.bodyRect(21200, 2550, 50, 75);
  spawn.bodyRect(20775, 2225, 75, 75);

  spawn.mapRect(19525, 1700, 550, 25);
  spawn.mapRect(19650, 1725, 100, 275);
  spawn.mapRect(19725, 1700, 50, 525);
  spawn.mapRect(19750, 1725, 250, 150);
  spawn.mapRect(19775, 1850, 100, 225);
  spawn.mapRect(19850, 1875, 100, 75);
  spawn.mapRect(19600, 1675, 125, 175);
  spawn.mapRect(18425, 1700, 1050, 50);
  spawn.mapRect(18475, 1750, 800, 25);
  spawn.randomMob(12000, 2850, 0);
  spawn.mapRect(10550, 2725, 5275, 1775);
  spawn.mapRect(15700, 3850, 5950, 1050);
  spawn.mapRect(8225, 2975, 4050, 1500);
  spawn.mapRect(12100, -2300, 9350, 2925);
  spawn.mapRect(14175, 350, 8725, 1075);
  spawn.mapRect(20825, -2325, 3700, 2650);
  spawn.mapRect(21450, 50, 4450, 5925);
  spawn.mapRect(16325, 1125, 7175, 400);
  spawn.mapRect(-875, -3775, 27375, 1625);
  spawn.mapRect(-3250, -4000, 2925, 8075);
  spawn.mapRect(8125, 4475, 18250, 7300);
  spawn.mapRect(7125, 3975, 8775, 2800);
  spawn.mapRect(-4300, -4475, 2300, 11350);
  spawn.randomGroup(5835, -532, 0.4);
  if (simulation.difficulty > 1) spawn.randomLevelBoss(18823, 2191);
  spawn.secondaryBossChance(20217, 1913)

level.custom = () => {
    level.exit.drawAndCheck();

    level.enter.draw();
};
},
3xionDev commented 9 months ago

if you can't tell, i'm going for a sort of story-like series of levels

kgurchiek commented 9 months ago

Wow, that was fast!

3xionDev commented 9 months ago

@kgurchiek i was working on 2 at the same time lol

landgreen commented 9 months ago

Looks good, it's cool to see people still making community maps. If you plan to make more I have a few bits of general advice for all map makers:

Every map element you add slows the game down, so try to go for simple maps that aren't too big. Maps are way more fun if there are several ways to move through the level. Try to avoid a linear path. Dark background colors are gonna make the game confusing. The color scheme of the game is designed for off white backgrounds.