random floors

This commit is contained in:
ntr 2019-01-22 12:46:55 +11:00
parent 0da395d3d6
commit 29299a3100
4 changed files with 36 additions and 64 deletions

View File

@ -45,10 +45,10 @@ const statsLearnableX = () => Math.floor(statsX() + statsWidth() / 2);
const statsTextMargin = () => 24; const statsTextMargin = () => 24;
const statsLearnableMargin = () => 12; const statsLearnableMargin = () => 12;
const logWidth = () => combatWidth() * 0.5; const logWidth = () => Math.floor(combatWidth() * 0.5);
const logHeight = () => combatHeight() * 0.3; const logHeight = () => Math.floor(combatHeight() * 0.3);
const logY = () => headerHeight() + (combatHeight() * 0.7); const logY = () => Math.floor(headerHeight() + (combatHeight() * 0.7));
const logX = () => combatWidth() * 0.2; const logX = () => Math.floor(combatWidth() * 0.2);
module.exports = { module.exports = {

View File

@ -69,13 +69,13 @@ class StatSheet extends Phaser.Scene {
})); }));
}; };
this.specs.add(this.add.text(X_MARGIN, 0, 'Common Specs', TEXT.HEADER)); this.specs.add(this.add.text(X_MARGIN, 0, 'Common', TEXT.HEADER));
cryp.specs.common.forEach((specInfo, i) => listSpecs(1, specInfo, i)); cryp.specs.common.forEach((specInfo, i) => listSpecs(1, specInfo, i));
this.specs.add(this.add.text(X_MARGIN * 2, 0, 'Uncommon Specs', TEXT.HEADER)); this.specs.add(this.add.text(X_MARGIN * 2, 0, 'Uncommon', TEXT.HEADER));
cryp.specs.uncommon.forEach((specInfo, i) => listSpecs(2, specInfo, i)); cryp.specs.uncommon.forEach((specInfo, i) => listSpecs(2, specInfo, i));
this.specs.add(this.add.text(X_MARGIN * 3, 0, 'Rare Specs', TEXT.HEADER)); this.specs.add(this.add.text(X_MARGIN * 3, 0, 'Rare', TEXT.HEADER));
cryp.specs.rare.forEach((specInfo, i) => listSpecs(3, specInfo, i)); cryp.specs.rare.forEach((specInfo, i) => listSpecs(3, specInfo, i));
} }
@ -84,7 +84,7 @@ class StatSheet extends Phaser.Scene {
if (this.hoverText) this.hoverText.destroy(); if (this.hoverText) this.hoverText.destroy();
this.hoverText = this.add.text(x, y, description, { this.hoverText = this.add.text(x, y, description, {
fontSize: '16px', fontSize: '16px',
fontFamily: 'Arial', fontFamily: 'Jura',
color: '#ffffff', color: '#ffffff',
backgroundColor: '#222222', backgroundColor: '#222222',
}).setPadding(32); }).setPadding(32);

View File

@ -7,13 +7,13 @@ const WIDTH = MENU_MAIN.width();
const HEIGHT = MENU_MAIN.height(); const HEIGHT = MENU_MAIN.height();
const TEXT_MARGIN = 24; const TEXT_MARGIN = 24;
const menuX = WIDTH / 10; const menuX = Math.floor(WIDTH / 10);
const menuY = HEIGHT * 0.8; const menuY = Math.floor(HEIGHT * 0.8);
const menuWidth = WIDTH / 10; const menuWidth = Math.floor(WIDTH / 10);
const menuHeight = HEIGHT * 0.2; const menuHeight = Math.floor(HEIGHT * 0.2);
const X_LEARN = WIDTH * 2 / 4; const X_LEARN = Math.floor(WIDTH * 2 / 4);
const Y_SKILLS = HEIGHT * 0.5; const Y_SKILLS = Math.floor(HEIGHT * 0.5);
function addButton(scene, x, y, cback, name) { function addButton(scene, x, y, cback, name) {

View File

@ -3,6 +3,28 @@
* Express something * Express something
* Prove something * Prove something
* 1: Fighting against human nature is a losing game
* 2: Aesthetics matter
* 3: Resonance is important
* 4: Make use of piggybacking
* 5: Don't confuse "interesting" with "fun"
* 6: Understand what emotion your game is trying to evoke
* 7: Allow the players the skill to make the game personal
* 8: The details are where the players fall in love with your game
* 9: Allow your players to have a sense of ownership
* 10: Leave room for the player to explore
* 11: If everyone likes your game, but no one loves it, it will fail
* 12: Don't design to prove you can do something
* 13: Make the fun part also the correct strategy to win
* 14: Don't be afraid to be blunt
* 15: Design the component for its intended audience
* 16: Be more afraid of boring your players than challenging them
* 17: You don't have to change much to change everything
* 18: Restrictions breed creativity
* 19: Your audience is good at recognizing problems and bad at solving them
* 20: All the lessons connect
# Key Mechanics # Key Mechanics
* 10d chaos maths, not rock paper scissors * 10d chaos maths, not rock paper scissors
* phys is faster and chaotic * phys is faster and chaotic
@ -98,53 +120,3 @@ gem td style attr combinations
slimey slimey
ghostly ghostly
* 1: Fighting against human nature is a losing game
* 2: Aesthetics matter
* 3: Resonance is important
* 4: Make use of piggybacking
* 5: Don't confuse "interesting" with "fun"
* 6: Understand what emotion your game is trying to evoke
* 7: Allow the players the skill to make the game personal
* 8: The details are where the players fall in love with your game
* 9: Allow your players to have a sense of ownership
* 10: Leave room for the player to explore
* 11: If everyone likes your game, but no one loves it, it will fail
* 12: Don't design to prove you can do something
* 13: Make the fun part also the correct strategy to win
* 14: Don't be afraid to be blunt
* 15: Design the component for its intended audience
* 16: Be more afraid of boring your players than challenging them
* 17: You don't have to change much to change everything
* 18: Restrictions breed creativity
* 19: Your audience is good at recognizing problems and bad at solving them
* 20: All the lessons connect
Evasion:
• Provides a X% chance to dodge direct hits
• Exists a bar with e.g. 200 / 200 evasion rating
• Your chance to dodge is reduced as your evasion rating is reduced
20% base dodge with e.g 150 / 200 rating will reduce your chance to dodge to 15%
• As you take damage your evasion rating decreases as a linear proportion of your HP bar
(not armour or magic shield)
E.g. with 700/900 hp your (200 / 200) evasion rating would be reduced to
(7/9) * 200 = 155
Armor:
• Defensive bonus against incoming physical damage
• Provides a X% mitigation to reduce incoming physical damage before it is applied
• Armor exists as an additional pseudo health bar
• Armor is reduced to zero before damage is applied to cryp health
• If damage taken is physical, armor is the first defensive bar to be reduced
• A cryp has the X% mitigation while they have at least 1 armour
Magic Shield (same as armor basically)
• Defensive bonus against incoming magic damage
• Provides a X% mitigation to reduce incoming magic damage before it is applied
• Magic shield exists as an additional pseudo health bar
• Magic shield is reduced to zero before damage is applied to cryp health
• If damage taken is magic, armor is the first defensive bar to be reduced
• A cryp has the X% mitigation while they have at least 1 magic shield