From d0f71bc79d76004f004d4b6b9c8f62e029262382 Mon Sep 17 00:00:00 2001 From: Benjamin Kraft Date: Fri, 24 Mar 2023 15:36:55 +0100 Subject: [PATCH] Init --- .gitignore | 2 + project.json | 6 + public/index.html | 40 +++ public/scripts/Bird.js | 41 +++ public/scripts/Cloud.js | 30 ++ public/scripts/Human.js | 20 ++ public/scripts/Tree.js | 30 ++ public/scripts/lib/BenjoLibrary.js | 380 +++++++++++++++++++++++++ public/scripts/sketch.js | 434 +++++++++++++++++++++++++++++ public/styles.css | 103 +++++++ public/thumbnail.png | Bin 0 -> 109828 bytes 11 files changed, 1086 insertions(+) create mode 100644 .gitignore create mode 100644 project.json create mode 100644 public/index.html create mode 100644 public/scripts/Bird.js create mode 100644 public/scripts/Cloud.js create mode 100644 public/scripts/Human.js create mode 100644 public/scripts/Tree.js create mode 100644 public/scripts/lib/BenjoLibrary.js create mode 100644 public/scripts/sketch.js create mode 100644 public/styles.css create mode 100644 public/thumbnail.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6ef218 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea + diff --git a/project.json b/project.json new file mode 100644 index 0000000..7104f46 --- /dev/null +++ b/project.json @@ -0,0 +1,6 @@ +{ + "display_name": "2D Openworld", + "info_text": "My first 2D Openworld project. You can explore by moving your cursor to the frame borders.". + "visible": false, + "tags": ["Game", "Simulation"] +} \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..e7b27c7 --- /dev/null +++ b/public/index.html @@ -0,0 +1,40 @@ + + + + + + + + + + + + + 2D Openworld + + + + + + + + + + +
+ + + + +
+ +
+
+

+ //Hier stehen irgendwann mal Infos +

+
+
+
+ + \ No newline at end of file diff --git a/public/scripts/Bird.js b/public/scripts/Bird.js new file mode 100644 index 0000000..f7ffe7a --- /dev/null +++ b/public/scripts/Bird.js @@ -0,0 +1,41 @@ +class Bird{ + + constructor(x){ + this.x = x; + this.y = random(height * 0.05, height * 0.3); + this.v = random([true, false]) ? random(3, 5) : random(-3, -5); + this.length = random(50, 100); + } + + move(){ + this.x += this.v; + if (this.x - this.length / 2 > worldWidth) this.x = -this.length / 2; + if (this.x + this.length / 2 < 0) this.x = worldWidth + this.length / 2; + } + + show(){ + let wing = sin(0.02 * PI * this.x); + if (this.x + this.length / 2 > viewPort.x && this.x - this.length / 2 < viewPort.x + width){ + fill(0); + beginShape(); + vertex(this.x - this.length / 2, this.y); + vertex(this.x - this.length * 0.4, this.y - this.length * 0.1); + vertex(this.x + this.length * 0.15, this.y - this.length * 0.1); + vertex(this.x + this.length * 0.15, this.y - this.length * 0.1 - this.length * 0.4 * wing); + vertex(this.x + this.length * 0.1, this.y - this.length * 0.1 - this.length * 0.5 * wing); + vertex(this.x + this.length * 0.05, this.y - this.length * 0.1 - this.length * 0.4 * wing); + vertex(this.x, this.y - this.length * 0.1 - this.length * 0.5 * wing); + vertex(this.x - this.length * 0.05, this.y - this.length * 0.1 - this.length * 0.4 * wing); + vertex(this.x - this.length * 0.1, this.y - this.length * 0.1 - this.length * 0.5 * wing); + vertex(this.x - this.length * 0.15, this.y - this.length * 0.1 - this.length * 0.4 * wing); + vertex(this.x - this.length * 0.15, this.y - this.length * 0.1); + vertex(this.x + this.length * 0.4, this.y - this.length * 0.1); + vertex(this.x + this.length / 2, this.y); + vertex(this.x + this.length * 0.4, this.y + this.length * 0.1); + vertex(this.x - this.length * 0.4, this.y + this.length * 0.1); + endShape(); + fill(255); + ellipse(this.x + ((this.v > 0) ? 1 : -1) * this.length * 0.4, this.y - this.length * 0.025, this.length * 0.05); + } + } +} \ No newline at end of file diff --git a/public/scripts/Cloud.js b/public/scripts/Cloud.js new file mode 100644 index 0000000..fdae4cb --- /dev/null +++ b/public/scripts/Cloud.js @@ -0,0 +1,30 @@ +class Cloud{ + + constructor(x, y, w, h){ + this.x = x; + this.y = y; + this.width = w; + this.height = h; + this.v = 0.25; + this.brightness = random(0.75, 1); + } + + move(){ + this.x += this.v; + if (this.x - this.width / 2 > worldWidth){ + this.x = -this.width; + } + } + + show(){ + fill(255 * this.brightness); + if (this.x + this.width * 9 / 8 > viewPort.x && this.x - this.width * 9 / 8 < viewPort.x + width){ + ellipse(this.x + this.width / 4, this.y + this.height * 2 / 3, this.width / 2, this.height / 2); + ellipse(this.x + this.width / 2, this.y + this.height * 2 / 3, this.width / 2, this.height / 2); + ellipse(this.x + this.width * 3 / 4, this.y + this.height * 2 / 3, this.width / 2, this.height / 2); + ellipse(this.x + this.width * 3 / 8, this.y + this.height * 1 / 3, this.width / 2, this.height / 2); + ellipse(this.x + this.width * 5 / 8, this.y + this.height * 1 / 3, this.width / 2, this.height / 2); + } + } + +} \ No newline at end of file diff --git a/public/scripts/Human.js b/public/scripts/Human.js new file mode 100644 index 0000000..ff5815a --- /dev/null +++ b/public/scripts/Human.js @@ -0,0 +1,20 @@ +function Human(x, h, v){ + this.x = x; + this.height = h; + this.male = random([true, false]); + this.legDist = 0; + this.v = v; + + this.move = function(d){ + this.x += this.v * d; + } + + this.show = function(){ + var y = ground[this.x]; + stroke(0); + fill(0); + strokeWeight(1); + line(this.x, y - this.height * 0.4, this.x, y - this.height * 0.85); + ellipse(this.x, y - this.height * 0.925, this.height * 0.1, this.height * 0.15); + } +} \ No newline at end of file diff --git a/public/scripts/Tree.js b/public/scripts/Tree.js new file mode 100644 index 0000000..bca3ac9 --- /dev/null +++ b/public/scripts/Tree.js @@ -0,0 +1,30 @@ +class Tree{ + + constructor(x, w, h){ + this.x = x; + this.width = w; + this.height = h; + let c = round(random(60, 100)); + this.color = {r: c, g: round(random(170, 230)), b: c}; + } + + show(){ + if (this.x + this.height * 0.375 > viewPort.x && this.x - this.height * 0.375 < viewPort.x + width){ + let yArr = []; + for (let x = this.x - this.width / 2; x < this.x + this.width / 2; x++){ + try{yArr.push(ground[round(x)].y);} + catch(e){} + } + let crownY = max(yArr) - this.height; + fill(80, 50, 40); + rect(this.x - this.width / 2, crownY, this.width, this.height); + fill(this.color.r, this.color.g, this.color.b); + ellipse(this.x, crownY, this.height / 2, this.height / 2); + for (let i = 0; i < TWO_PI; i += 1 / 4 * PI){ + let x = this.x + this.height / 4 * sin(i); + let y = crownY + this.height / 4 * cos(i); + ellipse(x, y, this.height / 2, this.height / 2); + } + } + } +} \ No newline at end of file diff --git a/public/scripts/lib/BenjoLibrary.js b/public/scripts/lib/BenjoLibrary.js new file mode 100644 index 0000000..ef3fa60 --- /dev/null +++ b/public/scripts/lib/BenjoLibrary.js @@ -0,0 +1,380 @@ +var TOP = 1; +var RIGHT = 2 +var BOTTOM = 3; +var LEFT = 4; +var TOP_RIGHT = 5; +var BOTTOM_RIGHT = 6; +var BOTTOM_LEFT = 7; +var TOP_LEFT = 8; + +var wWidth = window.innerWidth; +var wHeight = window.innerHeight; +var oldWHeight; +var oldWWidth; + +function updateVars(){ + oldWWidth = wWidth; + oldWHeight = wHeight; + wWidth = window.innerWidth; + wHeight = window.innerHeight; +} + +function collisionDetection(obj0, obj1){ + + var sp = strokePadding; + if (sp == null) sp = 0; + + if (obj0.isEllipse && obj1.isRectangle){ + + //Ball + var b = obj0; + + //Rectangle + var r = obj1; + + for (var i = 0; i < TWO_PI; i += PI / 32){ + + /* Check every borderpoint of the ball beginning + at the top in clock direction up to top again */ + + // Ball Center X + var bcx = b.x; + + // Ball Center Y + var bcy = b.y; + + // Ball Border X + var bbx = b.x + sin(i) * b.r; + + // Ball Border Y inverted because Y = 0 is the TOP of the screen + var bby = b.y - cos(i) * b.r; + + // Rectangle Width + var rW = r.width + 2 * sp; + + // Rectangle Height + var rH = r.height + 2 * sp; + + // Rectangle Border X + var rX = r.x - sp; + + // Rectangle Border Y + var rY = r.y - sp; + + // Objects touch + if (bbx > rX && bbx < rX + rW + && bby > rY && bby < rY + rH){ + + // STRAIGHT FACES // + + //Top/Bottom touch + if (bcx > rX && bcx < rX + rW){ + + //Top touch + if (b.v.y > 0) return {isTouching: true, location: TOP}; + + //Bottom touch + if (b.v.y < 0) return {isTouching: true, location: BOTTOM}; + } + + //Left/Right touch + if (bcy > rY && bcy < rY + rH){ + + //Left touch + if (b.v.x > 0) return {isTouching: true, location: LEFT}; + + //Right touch + if (b.v.x < 0) return {isTouching: true, location: RIGHT}; + + } + + // CORNERS // + + // BOTTOM Left/Right + if (i > 0 && i <= PI / 2) return {isTouching: true, location: BOTTOM_LEFT}; + + //LEFT Bottom/Top + if (i > PI / 2 && i <= PI) return {isTouching: true, location: TOP_LEFT}; + + //TOP Left/Right + if (i > PI && i <= PI + PI / 2) return {isTouching: true, location: TOP_RIGHT}; + + //RIGHT Bottom/Top + if (i > PI + PI / 2 && i <= TWO_PI) return {isTouching: true, location: BOTTOM_RIGHT}; + } + } + + } + + if (obj0.isEllipse && obj1.isEllipse){ + + //Ball 1 + var b1 = obj0; + + //Ball 2 + var b2 = obj1; + + //Balls are close to each other + if (b1.x + b1.r > b2.x - b2.r + && b1.x - b1.r < b2.x + b2.r + && b1.y + b1.r > b2.y - b2.r + && b1.y - b1.r < b2.y + b2.r){ + + var distance = sqrt(pow(b1.x - b2.x, 2) + pow(b1.y - b2.y, 2)); + + if (distance < b1.r + b2.r) return {isTouching: true}; + } + } + return {isTouching: false, location: 0}; +} + +function performCollision(obj0, obj1, collision){ + if (obj0.isEllipse){ + + var ball = obj0; + + //Ball collides with frameborder + if (obj1.isFrameborder){ + switch (collision.location){ + case BOTTOM: + ball.v.y *= -1; + break; + case LEFT: + case RIGHT: + ball.v.x *= -1; + break; + } + if (testMode && collision.location == TOP) ball.v.y *= -1; + ball.move(); + } + + //Ball collides with any brick + if (obj1.isBrick){ + switch (collision.location){ + case TOP: + case BOTTOM: + ball.v.y *= -1; + ball.move(); + return; + case LEFT: + case RIGHT: + ball.v.x *= -1; + ball.move(); + return; + case TOP_LEFT: + var cornerX = obj1.x; + var cornerY = obj1.y; + break; + case TOP_RIGHT: + var cornerX = obj1.x + obj1.width; + var cornerY = obj1.y; + break; + case BOTTOM_LEFT: + var cornerX = obj1.x; + var cornerY = obj1.y + obj1.height; + break; + case BOTTOM_RIGHT: + var cornerX = obj1.x + obj1.width; + var cornerY = obj1.y + obj1.height; + break; + } + + var nx = ball.x - cornerX; + var ny = ball.y - cornerY; + var length = sqrt(nx * nx + ny * ny); + nx /= length; + ny /= length; + + var projection = ball.v.x * nx + ball.v.y * ny; + ball.v.x = ball.v.x - 2 * projection * nx; + ball.v.y = ball.v.y - 2 * projection * ny; + + ball.move(); + + } + + //Ball collides with paddleboard + if (obj1.isPaddle){ + switch (collision.location){ + case TOP: + case TOP_LEFT: + case TOP_RIGHT: + ball.v.x = ball.calcVelocityX(obj1, ball.v.x); + ball.v.y = -ball.calcVelocityY(); + ball.move(); + return; + case LEFT: + case RIGHT: + ball.v.x *= -1; + ball.move(); + return; + case BOTTOM_LEFT: + var cornerX = obj1.x; + var cornerY = obj1.y + obj1.height; + break; + case BOTTOM_RIGHT: + var cornerX = obj1.x + obj1.width; + var cornerY = obj1.y + obj1.height; + break; + } + var nx = ball.x - cornerX; + var ny = ball.y - cornerY; + var length = sqrt(nx * nx + ny * ny); + nx /= length; + ny /= length; + + var projection = ball.v.x * nx + ball.v.y * ny; + ball.v.x = ball.v.x - 2 * projection * nx; + ball.v.y = ball.v.y - 2 * projection * ny; + + ball.move(); + } + + //Ball collides with other ball + if (obj1.isEllipse){ + + //Ball 1 + var b1 = obj0; + + //Ball 2 + var b2 = obj1; + + //Set mass equal to radius of each ball + b1.mass = b1.r; + b2.mass = b2.r; + + //Colliding angle of ball 1 to ball 2 using arc tan of both x and y differences + var collisionAngle = atan2((b2.y - b1.y), (b2.x - b1.x)); + + //Converting directions of velocity vector of balls into angles + var d1 = atan2(b1.v.y, b1.v.x); + var d2 = atan2(b2.v.y, b2.v.x); + + //Ignoring mass effects new velocites are simply magnitude multiplied with value of angle differences + var newXspeed1 = b1.v.mag * cos(d1 - collisionAngle); + var newYspeed1 = b1.v.mag * sin(d1 - collisionAngle); + var newXspeed2 = b2.v.mag * cos(d2 - collisionAngle); + var newYspeed2 = b2.v.mag * sin(d2 - collisionAngle); + + //According to the principle of linear momentum, kinetic energy stays the same after collision, so velocities are now related to masses + var finalXspeed1 = ((b1.mass - b2.mass) * newXspeed1 + b2.mass * 2 * newXspeed2) / (b1.mass + b2.mass); + var finalYspeed1 = newYspeed1; + var finalXspeed2 = (b1.mass * 2 * newXspeed1 + (b2.mass - b1.mass) * newXspeed2) / (b1.mass + b2.mass); + var finalYspeed2 = newYspeed2; + + //Values of collisionAngle + var cosAngle = cos(collisionAngle); + var sinAngle = sin(collisionAngle); + + //To also keep velocites relative to pure collisionAngle, subtract sin*x from cos*x and add sin*y to cos*y because coordSystem has y = 0 on the top + var u1x = cosAngle * finalXspeed1 - sinAngle * finalYspeed1; + var u1y = sinAngle * finalXspeed1 + cosAngle * finalYspeed1; + var u2x = cosAngle * finalXspeed2 - sinAngle * finalYspeed2; + var u2y = sinAngle * finalXspeed2 + cosAngle * finalYspeed2; + + //Set new velocities to both balls + b1.v.x = u1x; + b1.v.y = u1y; + b2.v.x = u2x; + b2.v.y = u2y; + + //Update magnitude + b1.v.mag = sqrt(pow(b1.v.x, 2) + pow(b1.v.y, 2)); + b2.v.mag = sqrt(pow(b2.v.x, 2) + pow(b2.v.y, 2)); + + + //Move balls one vx/vy forward to avoid double inverting collision detection + b1.x += b1.v.x; + b1.y += b1.v.y; + b2.x += b2.v.x; + b2.y += b2.v.y; + } + } +} + + + +function toTimeString(time, hoursWanted){ + + var time = floor(time / 10); + + var hs = String(floor(time % 100)); + var fs = String(floor((time / 100) % 60)); + + if (hoursWanted){ + var min = String(floor(((time / 100) / 60) % 60)); + var hr = String(floor(((time / 100) / 60) / 60)); + + if (hs.length < 2) hs = "0" + hs; + if (fs.length < 2) fs = "0" + fs; + if (min.length < 2) min = "0" + min; + if (hr.length < 2) hr = "0" + hr; + + var timeString = hr + ":" + min + ":" + fs + ":" + hs; + } else { + var min = String(floor(((time / 100) / 60) % 60)); + + if (hs.length < 2) hs = "0" + hs; + if (fs.length < 2) fs = "0" + fs; + if (min.length < 2) min = "0" + min; + + var timeString = min + ":" + fs + ":" + hs; + } + + + + return timeString; +} + + +function setCookie(name, value, years){ + var expires = ""; + if (years){ + var date = new Date(); + date.setTime(date.getTime() + (years * 365 * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toUTCString(); + } + document.cookie = name + "=" + value + expires + "; path=/"; +} + +function getCookie(name){ + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++){ + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); + } + return null; +} + +function deleteCookies(){ + for (var i = 0; i < arguments.length; i++) setCookie(arguments[i], "", -1); +} + +function deleteAllCookies(){ + var cookies = document.cookie.split(";"); + for (var i = 0; i < cookies.length; i++) deleteCookies(cookies[i].split("=")[0]); +} + +Array.prototype.shuffle = function(){ + let currentIndex = this.length, temporaryValue, randomIndex; + while (0 != currentIndex) { + randomIndex = floor(random() * currentIndex); + currentIndex -= 1; + temporaryValue = this[currentIndex]; + this[currentIndex] = this[randomIndex]; + this[randomIndex] = temporaryValue; + } +} + +Array.prototype.clone = function() { + return this.slice(0); +}; + +Array.prototype.partitiate = function(dimensions){ + if (dimensions == 0) return this; + let parts = []; + while(this.length) parts.push(this.splice(0, round(pow(this.length, 1 / (1 + 1 / dimensions)))).partitiate(dimensions - 1)); + return parts; +} \ No newline at end of file diff --git a/public/scripts/sketch.js b/public/scripts/sketch.js new file mode 100644 index 0000000..3603188 --- /dev/null +++ b/public/scripts/sketch.js @@ -0,0 +1,434 @@ +let trees = [], + birds = [], + clouds = [], + humans = [], + ground = [], + time = 12, // in hours + cycleTime = 10, // in minutes + worldWidth = 40000, + viewPort = {x: Math.round(worldWidth / 2 - window.innerWidth / 2), y: 0, v: 20}, + waveDispo = 0, + cliffDispo = 25, + STRAIGHT_GROUND = 0, + SMALL_HILLS = 1, + LARGE_HILL = 2, + LAKE = 3, + gameIsRunning = false; + +function setup(){ + setFrameRate(120); + createCanvas(window.innerWidth, window.innerHeight); + background(160, 160, 255); + noStroke(); + $("#saveLink").hide(); + $("#fileBrowser").hide(); + $("#toolBarOpener").hide(); + $("#infoWrapper").hide(); + $("button").on("click", function(){this.blur();}); +} + +function createWorld(){ + $("#restoreWorld, #createWorld").hide(); + fill(80); + rect(width * 0.1, height * 0.5 - 25, width * 0.8, 50); + fill(0, 255, 0); + let x = 0, + createProgress = 0, + y = random(height * 0.7, height * 0.8), + treeDist = 0, + a = 0, c = 1, b = 0, + biome, + biomeX = 0, + biomeDistance = 1, + usedBiomes = [], + biomes = [STRAIGHT_GROUND, SMALL_HILLS, LARGE_HILL, LAKE], + isWooden; + + function create(){ + //Updating progressbar + createProgress++; + rect(width * 0.1, height * 0.5 - 25, width * 0.8 * (createProgress / (worldWidth * 2)), 50); + + //Main creating + if (ground.length < worldWidth){ + //Ground + let biomeRemainder = (x - biomeX) % biomeDistance; + if (biomeRemainder == 0){ + biome = random(biomes); + if (usedBiomes.includes(biome)) biome = random(biomes); + usedBiomes.push(biome); + biomeX = x; + isWooden = biome == LAKE ? false : random([true, false]); + biomeDistance = round(random(1000, 1500)); + a = 0, c = 1, b = 0; + } + switch (biome){ + case STRAIGHT_GROUND: + a = 0; + if (y < height * 0.3) a = -1; + if (y > height * 0.95) a = 1; + //y = noise(x / 100, y / 100) * height; + y += random(-0.25 - a, 0.25 - a); + break; + case SMALL_HILLS: + if (biomeRemainder == round(biomeDistance / 12) + || biomeRemainder == round(biomeDistance * 5 / 12) + || biomeRemainder == round(biomeDistance * 0.75)) + c = -1; + if (biomeRemainder == round(biomeDistance * 0.25) + || biomeRemainder == round(biomeDistance * 7 / 12) + || biomeRemainder == round(biomeDistance * 11 / 12)) + c = 1; + if (y < height * 0.3){ + c = -1; + b = -0.5; + } + else if (y > height * 0.9){ + c = 1; + b = 0.5; + } + else b = 0; + a -= random(0.005, 0.015) * c; + y += random(2 * a - b); + break; + case LARGE_HILL: + if (biomeRemainder == round(biomeDistance * 0.25)) c = -1; + if (biomeRemainder == round(biomeDistance * 0.75)) c = 1; + if (y < height * 0.3){ + c = -1; + b = -1; + } + else if (y > height * 0.9){ + c = 1; + b = 1; + } + else b = 0; + a -= random(0.0025, 0.0075) * c; + y += random(2 * a - b); + break; + } + ground[x] = {y: y, biome: biome, isWooden: isWooden}; + + //Trees + let treeH, treeW, valid; + treeDist++; + if (isWooden) valid = random(100) < 1 ? true : false; + if (!isWooden) valid = random(1000) < 0.5 ? true : false; + treeH = random(height * 0.3, height * 0.5), + treeW = random(40, 60); + if (treeDist < treeH * 0.25) valid = false; + try{if (ground[round(x - treeW / 2)].biome == LAKE || biomeRemainder > biomeDistance - treeW || y - treeH < height * 0.15) valid = false;} + catch(e){} + if (valid){ + trees.push(new Tree(x, treeW, treeH)); + treeDist = 0; + } + + //Clouds + let cloudY, cloudW, cloudH; + valid = random(1000) < 1 ? true : false; + if (valid){ + cloudY = random(0, 200), + cloudW = random(100, 500), + cloudH = random(50, 80); + clouds.push(new Cloud(x, cloudY, cloudW, cloudH)); + } + + //Birds + valid = random(1000) < 1 ? true : false; + if (valid){ + birds.push(new Bird(x)); + } + + x++; + } + + //Reset some variables + if (x == worldWidth){ + x = 0; + a = 0; + } + + //Ground details + if (ground.length == worldWidth){ + try{ + if (ground[x].biome != LAKE && ground[x + cliffDispo * 2].biome == LAKE){ + a++; + ground[x].y += a * a * 0.01; + } + else if (ground[x].biome != LAKE && ground[x - cliffDispo * 2].biome == LAKE){ + a--; + ground[x].y += a * a * 0.01; + } + else if (ground[x].biome == LAKE) a = cliffDispo * 2; + else a = 0; + }catch(e){} + x++; + } + + //End progress if bar is full + if (createProgress == worldWidth * 2){ + clearInterval(interval); + trees.shuffle(); + clouds.shuffle(); + birds.shuffle(); + $("#toolBarOpener").show(); + gameIsRunning = true; + } + if (createProgress < worldWidth * 2){ + setTimeout(create, 0); + } + } + let interval = setInterval(create, 0); +} + +function downloadWorld(){ + let newGround = [], + newTrees = [], + newBirds = [], + newClouds= [], + worldValues = [{time: time, viewPort: {x: viewPort.x, y: viewPort.y}}]; + for (let g of ground) newGround.push({y: round(g.y), b: g.biome, w: g.isWooden ? 1 : 0}); + for (let t of trees) newTrees.push({x: round(t.x), w: round(t.width), h: round(t.height), c: t.color}); + for (let b of birds) newBirds.push({x: round(b.x), y: round(b.y), v: round(b.v * 100) / 100, l: round(b.length)}); + for (let c of clouds) newClouds.push({x: round(c.x), y: round(c.y), w: round(c.width), h: round(c.height), b: round(c.brightness * 100) / 100}); + let str = + JSON.stringify(newGround.partitiate(1)) + ", " + + JSON.stringify(newTrees.partitiate(1)) + ", " + + JSON.stringify(newBirds.partitiate(1)) + ", " + + JSON.stringify(newClouds.partitiate(1)) + ", " + + JSON.stringify(worldValues); + let data = 'data:application/json;charset=utf-8,['+ encodeURIComponent(str) + "]"; + $("#saveLink").attr("href", data); + $("#saveLink")[0].click(); +} + +function uploadWorld(){ + gameIsRunning = false; + let files = document.getElementById("fileBrowser").files; + let fr = new FileReader(), recovery = {ground: ground, trees: trees, birds: birds, clouds: clouds, time: time, viewPort: viewPort}; + fr.onload = function(e){ + try{ + let data = JSON.parse(e.target.result); + let newGround = data[0].departitiate(); + let newTrees = data[1].departitiate(); + let newBirds = data[2].departitiate(); + let newClouds = data[3].departitiate(); + + ground = [], trees = [], birds = [], clouds = []; + + for (let g of newGround) ground.push({y: g.y, biome: g.b, isWooden: g.w == 1 ? true : false}); + for (let t of newTrees){ + let i = newTrees.indexOf(t); + trees.push(new Tree(t.x, t.w, t.h)); + trees[i].color = t.c; + } + for (let b of newBirds){ + let i = newBirds.indexOf(b); + birds.push(new Bird(b.x)); + birds[i].y = b.y; + birds[i].v = b.v; + birds[i].length = b.l; + } + for (let c of newClouds){ + let i = newClouds.indexOf(c); + clouds.push(new Cloud(c.x, c.y, c.w, c.h)); + clouds[i].brightness = c.b; + } + + time = data[4][0].time; + viewPort = {x: data[4][0].viewPort.x, y: data[4][0].viewPort.y, v: recovery.viewPort.v}; + $("#restoreWorld, #createWorld").hide(); + $("#toolBarOpener").show(); + + } catch(e){ + ground = recovery.ground; + trees = recovery.trees; + birds = recovery.birds; + clouds = recovery.clouds; + time = recovery.time; + viewPort = recovery.viewPort; + waveDispo = recovery.waveDispo; + window.alert("Data is damaged!"); + } + + if (ground.length > 0) gameIsRunning = true; + else {$("#restoreWorld, #createWorld").show();} + } + fr.readAsText(files.item(0)); +} + +function draw(){ + if (gameIsRunning){ + clear(); + translate(-viewPort.x, -viewPort.y); + updateUnits(); + updateGround(); + updateTime(); + checkViewPort(); + } +} + +function updateUnits(){ + //Sky + background(160, 160, 255); + + //Clouds + for (let c of clouds){ + c.move(); + c.show(); + } + + //Birds + for (let b of birds){ + b.move(); + b.show(); + } + + //Trees + for (let t of trees){ + t.show(); + } + + //Humans + for (let h of humans){ + h.move(); + h.show(); + } +} + +function updateGround(){ + let x, y, lake = false, grassH = 20, waveH = 2; + waveDispo += 1; + waveDispo %= 8 * PI; + function wave(x){ + return sin((0.25 * (x - waveDispo))) * 3; + } + + // grass + fill(100, 200, 100); + beginShape(); + for (x = viewPort.x; x <= viewPort.x + width; x++){ + //console.log(x); + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, height); + else + vertex(x, g.y); + } + for (x = viewPort.x + width; x >= viewPort.x; x--){ + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, height); + else + vertex(x, g.y + grassH); + } + endShape(); + + // water + fill(100, 100, 255); + beginShape(); + for (x = viewPort.x; x <= viewPort.x + width; x++){ + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, g.y + grassH / 2 + waveH + cliffDispo + wave(x)); + else + vertex(x, height); + } + for (x = viewPort.x + width - 1; x >= viewPort.x; x--){ + vertex(x, height); + } + endShape(); + + // water --> waves + fill(50, 50, 255); + beginShape(); + for (x = viewPort.x; x <= viewPort.x + width; x++){ + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, g.y + grassH / 2 + cliffDispo + wave(x)); + else + vertex(x, height); + } + for (x = viewPort.x + width - 1; x >= viewPort.x; x--){ + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, g.y + grassH / 2 + cliffDispo + wave(x) + waveH); + else + vertex(x, height); + } + endShape(); + + // dirt + fill(80, 60, 40); + beginShape(); + for (x = viewPort.x; x <= viewPort.x + width; x++){ + let g = ground[x]; + if (g.biome == LAKE) + vertex(x, height); + else + vertex(x, g.y + grassH); + } + for (x = viewPort.x + width; x >= viewPort.x; x--){ + vertex(x, height); + } + endShape(); +} + +function updateTime(){ + function getDayBrightness(){ + let value = sin(PI / 12 * (time - 8)) + 0.25; + value = value > 1 ? 1 : value; + value = value < 0.1 ? 0.1 : value; + return value; + } + let timeTick = 24 / (60 * cycleTime * frameRate()); + time += (timeTick == Infinity ? 0 : timeTick); + fill(0, 0, 0, 255 - 255 * getDayBrightness()); + rect(viewPort.x, viewPort.y, width, height); +} + +function checkViewPort(){ + let scrollBegin = 100; + if (winMouseX <= scrollBegin && viewPort.x > 0) + viewPort.x -= round(viewPort.v * (scrollBegin - winMouseX) / scrollBegin); + if (winMouseX >= width - scrollBegin && viewPort.x < worldWidth - width - viewPort.v) + viewPort.x += round(viewPort.v * (winMouseX - (width - scrollBegin)) / scrollBegin); + if (viewPort.x < 0) viewPort.x = 0; + if (viewPort.x >= worldWidth + width) viewPort.x = worldWidth - width - 1; +} + +function togglePause(obj){ + gameIsRunning = !gameIsRunning; + if (gameIsRunning) $(obj).html("||"); + else $(obj).html("►"); +} + +function toggleToolBar(obj){ + if ($(obj).css("top") == "0px"){ + $(obj).animate({top: 103}, {top: "easeOut"}); + $("#toolBar").animate({top: 0}, {top: "easeOut"}); + } + if ($(obj).css("top") == "103px"){ + $(obj).animate({top: 0}, {top: "easeOut"}); + $("#toolBar").animate({top: -103}, {top: "easeOut"}); + } +} + +function toggleInfo(){ + $("#pauseButton")[0].click(); + $("#infoWrapper").toggle(); +} + +Array.prototype.departitiate = function(){ + let newArr = []; + for (let i = 0; i < this.length; i++){ + let a = this[i]; + for (let j = 0; j < a.length; j++){ + let object = a[j]; + newArr.push(object); + //for (let k = 0; k < b.length; k++){} + } + } + return newArr; +} \ No newline at end of file diff --git a/public/styles.css b/public/styles.css new file mode 100644 index 0000000..2fad39a --- /dev/null +++ b/public/styles.css @@ -0,0 +1,103 @@ +a:link, a:hover, a:active, a:visited{color: #000;} + +body{margin: 0; padding: 0; overflow-y:hidden; overflow-x: hidden;} + +canvas{margin: 0; padding: 0; border: none; display: block;} + +button{cursor: pointer;} + +#toolBarOpener{ + position: absolute; + display: block; + background-color: #FFF; + left: calc((100% - 50px) / 2); + top: 0; + width: 50px; + height: 20px; + border: none; + border-radius: 0 0 5px 5px; +} + +#toolBar{ + position: absolute; + display: block; + background-color: #F90; + left: calc((100% - 371px) / 2); + top: -103px; + width: 335px; + height: 70px; + padding: 15px; + border-radius: 0 0 20px 20px; + border: 3px solid #000; + border-top: none; +} + +.toolBarEntry{ + width: 70px; + height: 70px; + margin: 0 5px 0 5px; + border: 3px solid #000; + border-radius: 10px; + background-color: #FFF; + padding: 0; + font-size: 50px; +} + +#downloadButton{color: #0C0;} +#uploadButton{color: #C00;} +#infoButton{color: #00F;} + +#createWorld{ + position: absolute; + top: calc(100% / 2 - 50px); + left: calc(100% / 2 - 220px); + width: 200px; + height: 100px; + border: 5px solid #000; + border-radius: 10px; + font-size: 25px; +} + +#restoreWorld{ + position: absolute; + top: calc(100% / 2 - 50px); + left: calc(100% / 2 + 20px); + width: 200px; + height: 100px; + border: 5px solid #000; + border-radius: 10px; + font-size: 25px; +} + +#infoWrapper{ + position: absolute; + width: 100%; + height: 100%; + z-index: 5; + background-color: rgba(0, 0, 0, 0.3); +} + +#info{ + position: absolute; + width: 600px; + height: 400px; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + border: 7px solid #333; + border-radius: 30px; + font-size: 25px; + background-color: #999; +} + +#info button{ + width: 100px; + height: 50px; + margin: 30px; + background-color: #0C0; + border: 3px solid #080; + border-radius: 5px; + font-size: 30px; +} diff --git a/public/thumbnail.png b/public/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee343267f3611e150f0405b1cbecad4119d0f4 GIT binary patch literal 109828 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 U!