Merge branch 'master' of ssh://cryps.gg:40022/~/cryps

This commit is contained in:
Mashy 2019-01-22 14:15:33 +10:00
commit f3d7037abb
5 changed files with 45 additions and 71 deletions

View File

@ -4,12 +4,14 @@ const createSocket = require('./socket');
const registerEvents = require('./events');
const createTutorial = require('./tutorial');
const game = renderCryps();
const tutorial = createTutorial();
const events = registerEvents(game.registry, game.events, tutorial);
const ws = createSocket(events);
document.fonts.load('10pt "Jura"').then(() => {
const game = renderCryps();
const tutorial = createTutorial();
const events = registerEvents(game.registry, game.events, tutorial);
const ws = createSocket(events);
events.setWs(ws);
events.setGameList([]);
events.setWs(ws);
events.setGameList([]);
ws.connect();
ws.connect();
});

View File

@ -45,10 +45,10 @@ const statsLearnableX = () => Math.floor(statsX() + statsWidth() / 2);
const statsTextMargin = () => 24;
const statsLearnableMargin = () => 12;
const logWidth = () => combatWidth() * 0.5;
const logHeight = () => combatHeight() * 0.3;
const logY = () => headerHeight() + (combatHeight() * 0.7);
const logX = () => combatWidth() * 0.2;
const logWidth = () => Math.floor(combatWidth() * 0.5);
const logHeight = () => Math.floor(combatHeight() * 0.3);
const logY = () => Math.floor(headerHeight() + (combatHeight() * 0.7));
const logX = () => Math.floor(combatWidth() * 0.2);
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));
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));
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));
}
@ -83,7 +83,7 @@ class StatSheet extends Phaser.Scene {
if (this.hoverText) this.hoverText.destroy();
this.hoverText = this.add.text(x, y, description, {
fontSize: '16px',
fontFamily: 'Arial',
fontFamily: 'Jura',
color: '#ffffff',
backgroundColor: '#222222',
}).setPadding(32);

View File

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

View File

@ -3,6 +3,28 @@
* Express 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
* 10d chaos maths, not rock paper scissors
* phys is faster and chaotic
@ -98,53 +120,3 @@ gem td style attr combinations
slimey
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