new character, level 2, improved gameplay scaling
BIN
images/png/azrael_angry.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
images/png/azrael_happy.png
Normal file
|
After Width: | Height: | Size: 1 MiB |
BIN
images/png/azrael_idle.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
images/png/level2.png
Normal file
|
After Width: | Height: | Size: 966 KiB |
BIN
images/png/level2_bottom.png
Normal file
|
After Width: | Height: | Size: 228 KiB |
BIN
images/png/level2_top.png
Normal file
|
After Width: | Height: | Size: 985 KiB |
BIN
public/sprite/azrael_angry.webp
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
public/sprite/azrael_happy.webp
Normal file
|
After Width: | Height: | Size: 174 KiB |
BIN
public/sprite/azrael_idle.webp
Normal file
|
After Width: | Height: | Size: 190 KiB |
BIN
public/sprite/level2.webp
Normal file
|
After Width: | Height: | Size: 110 KiB |
|
|
@ -46,6 +46,7 @@ export class GameScene extends Phaser.Scene {
|
||||||
preload() {
|
preload() {
|
||||||
this.load.setBaseURL();
|
this.load.setBaseURL();
|
||||||
this.load.image("level1", "/sprite/level1.webp");
|
this.load.image("level1", "/sprite/level1.webp");
|
||||||
|
this.load.image("level2", "/sprite/level2.webp");
|
||||||
this.load.image("lyre", "/sprite/lyre.webp");
|
this.load.image("lyre", "/sprite/lyre.webp");
|
||||||
this.load.image("cloud", "/sprite/clouds.webp");
|
this.load.image("cloud", "/sprite/clouds.webp");
|
||||||
this.load.image("pillar", "/sprite/pillar.webp");
|
this.load.image("pillar", "/sprite/pillar.webp");
|
||||||
|
|
@ -62,6 +63,16 @@ export class GameScene extends Phaser.Scene {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.createMap();
|
this.createMap();
|
||||||
|
window.addEventListener("resize", () => {
|
||||||
|
this.calculateScale();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
calculateScale() {
|
||||||
|
const xScale = (document.body.clientWidth - document.body.clientHeight / 2) / this.originalWidth;
|
||||||
|
const yScale = this.originalHeight / document.body.clientHeight;
|
||||||
|
const offset = 300 / document.body.clientHeight;
|
||||||
|
this.container.scale = Math.min(xScale, yScale) - offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
createMap() {
|
createMap() {
|
||||||
|
|
@ -69,11 +80,10 @@ export class GameScene extends Phaser.Scene {
|
||||||
|
|
||||||
steps.set(this.map.steps);
|
steps.set(this.map.steps);
|
||||||
this.container = this.add.container();
|
this.container = this.add.container();
|
||||||
this.container.width = this.map.size.x * this.map.px + this.map.offset.x * 2;
|
this.originalWidth = this.map.size.x * this.map.px;
|
||||||
this.container.height = this.map.size.y * this.map.px + this.map.offset.y * 2;
|
this.originalHeight = this.map.size.y * this.map.px;
|
||||||
this.grid = this.add.container(this.map.offset.x, this.map.offset.y);
|
this.grid = this.add.container(this.map.offset.x - this.originalWidth / 2, this.map.offset.y - this.originalHeight / 2);
|
||||||
this.container.width = this.map.size.x * this.map.px;
|
this.calculateScale();
|
||||||
this.container.height = this.map.size.y * this.map.px;
|
|
||||||
|
|
||||||
this.background = this.add.image(this.container.width / 2, this.container.height / 2, this.map.background);
|
this.background = this.add.image(this.container.width / 2, this.container.height / 2, this.map.background);
|
||||||
this.container.add(this.background);
|
this.container.add(this.background);
|
||||||
|
|
|
||||||
|
|
@ -56,5 +56,30 @@ export const maps = {
|
||||||
[null , "lyre" , null , null , pillar ],
|
[null , "lyre" , null , null , pillar ],
|
||||||
[null , "lyre" , "spawn" , null , pillar ]
|
[null , "lyre" , "spawn" , null , pillar ]
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
michael: {
|
||||||
|
background: "level2",
|
||||||
|
sprite: "uriel",
|
||||||
|
next: "michael_heretic",
|
||||||
|
size: {
|
||||||
|
x: 11,
|
||||||
|
y: 8
|
||||||
|
},
|
||||||
|
offset: {
|
||||||
|
x: 40,
|
||||||
|
y: 90
|
||||||
|
},
|
||||||
|
px: 100,
|
||||||
|
steps: 177013,
|
||||||
|
map: [
|
||||||
|
["barrier" , "barrier" , "barrier" , "cloud" , "cloud" , "cloud" , "cloud" , "cloud" , "cloud" , "cloud" , "cloud" ],
|
||||||
|
["barrier" , "barrier" , "barrier" , "cloud" , "barrier" , "barrier" , "barrier" , "barrier" , "barrier" , "pillar" , "cloud" ],
|
||||||
|
["cloud" , "cloud" , "cloud" , "cloud" , "barrier" , "barrier" , "barrier" , "barrier" , "barrier" , "pillar" , "cloud" ],
|
||||||
|
["cloud" , "barrier" , "barrier" , "barrier" , "barrier" , "barrier" , "barrier" , "barrier" , null , "angel" , "cloud" ],
|
||||||
|
["cloud" , null , "lyre" , null , null , null , null , "lyre" , null , null , "barrier" ],
|
||||||
|
[null , null , null , "lyre" , "lyre" , null , "lyre" , null , "lyre" , "lyre" , null ],
|
||||||
|
["spawn" , null , "lyre" , null , null , "lyre" , null , "lyre" , null , null , "barrier" ],
|
||||||
|
["barrier" , "barrier" , null , "lyre" , null , null , "lyre" , "barrier" , "barrier" , "barrier" , "barrier" ]
|
||||||
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -33,4 +33,12 @@ export const characters = [{
|
||||||
happy: "/sprite/gabriel_win.webp",
|
happy: "/sprite/gabriel_win.webp",
|
||||||
sad: "/sprite/gabriel_fail.webp"
|
sad: "/sprite/gabriel_fail.webp"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
name: "Azrael",
|
||||||
|
art: "/sprite/azrael_idle.webp",
|
||||||
|
title: "the great executioner",
|
||||||
|
poses: {
|
||||||
|
happy: "/sprite/azrael_happy.webp",
|
||||||
|
angry: "/sprite/azrael_angry.webp"
|
||||||
|
}
|
||||||
}];
|
}];
|
||||||
|
|
@ -39,6 +39,7 @@ export const dialog = [{
|
||||||
background: "/sprite/backg.webp",
|
background: "/sprite/backg.webp",
|
||||||
character: "Michael",
|
character: "Michael",
|
||||||
text: "How did you... You know what I don't even care. Heretic like you needs to be punished.",
|
text: "How did you... You know what I don't even care. Heretic like you needs to be punished.",
|
||||||
|
map: "michael",
|
||||||
buttons: [{
|
buttons: [{
|
||||||
text: "Jokes on you I'm into that shit.",
|
text: "Jokes on you I'm into that shit.",
|
||||||
next: "michael_success"
|
next: "michael_success"
|
||||||
|
|
@ -107,7 +108,7 @@ export const dialog = [{
|
||||||
background: "/sprite/backg.webp",
|
background: "/sprite/backg.webp",
|
||||||
character: "Gabriel",
|
character: "Gabriel",
|
||||||
text: "That... That would be lovely actually. Could you buy me some coffee? After my department got defund I can't even afford it.",
|
text: "That... That would be lovely actually. Could you buy me some coffee? After my department got defund I can't even afford it.",
|
||||||
next: "uriel_entrance",
|
next: "azrael_start",
|
||||||
pose: "happy",
|
pose: "happy",
|
||||||
flags: ["success"]
|
flags: ["success"]
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -127,6 +128,34 @@ export const dialog = [{
|
||||||
name: "helltaker2",
|
name: "helltaker2",
|
||||||
background: "/sprite/gabriel_background.webp",
|
background: "/sprite/gabriel_background.webp",
|
||||||
text: "What are you doing here?",
|
text: "What are you doing here?",
|
||||||
next: "uriel_entrance",
|
next: "gabriel_start",
|
||||||
flags: ["failure"]
|
flags: ["failure"]
|
||||||
|
}, {
|
||||||
|
name: "azrael_start",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
character: "Azrael",
|
||||||
|
text: "Oh my my, what do we have here a lost soul wandering around heaven with an intent lust for angel.",
|
||||||
|
buttons: [{
|
||||||
|
text: "You're god damn right.",
|
||||||
|
next: "azrael_fail"
|
||||||
|
}, {
|
||||||
|
text: "Just go with me",
|
||||||
|
next: "azrael_win"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
name: "azrael_fail",
|
||||||
|
next: "azrael_start",
|
||||||
|
character: "Azrael",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
flags: ["failure"],
|
||||||
|
text: "And with that another horny soul bite the dust.",
|
||||||
|
pose: "angry"
|
||||||
|
}, {
|
||||||
|
name: "azrael_win",
|
||||||
|
next: "uriel_entrance",
|
||||||
|
background: "/sprite/backg.webp",
|
||||||
|
character: "Azrael",
|
||||||
|
pose: "happy",
|
||||||
|
flags: ["success"],
|
||||||
|
text: "I wonder what should I say here."
|
||||||
}];
|
}];
|
||||||