index :: Morphland Dungeon
Test: Explore




Items :: Provision
Food
Eat to satisfy
hunger and
restore health.

Value: 75 gold ea
Max stack: 12
Shovel
Use to dig
or break open.

Value: 250 gold ea
Max stack: 6
Pickaxe
Use to hack
or break open.

Value: 275 gold ea
Max stack: 6
Antivenom
Use to counter
blight, poison
and toxin.

Value: 150 gold ea
Max stack: 6
Bandage
Use to stop
bleeding.

Value: 150 gold ea
Max stack: 6
Medicinal Herbs
Use to cure diseases
and combat debuffs.

Value: 200 gold ea
Max stack: 6
Skeleton Key
Use to unlock
chests or doors.

Value: 200 gold ea
Max stack: 6
Holy Water
Use to purge evil
and restore purity.

+Blight/Bleed Resist
+Disease/Debuff Resist
Value: 150 gold ea
Max stack: 6
Torch
Increases the
light level.

Value: 75 gold ea
Max stack: 8
Happy-P
Placebo.
Swallow to
raise mood.

Value: 75 gold ea
Max stack: 6
Hycatox
Happy pill.
Swallow to
raise mood.

Value: 100 gold ea
Max stack: 6
Blood
Use to regain
health.

Value: varying
Max stack: 60


Items :: Loot
Gold



Max stack: 1500
Jade
Dull green like
mouldy cheese.

Value: 250 gold ea
Max stack: 6
Quartz
Hazy like
womb water.

Value: 250 gold ea
Max stack: 6
Amber
Shiny like
sclerotic pus.

Value: 250 gold ea
Max stack: 6
Pyrite
Shimmery like
steel testicles.

Value: 250 gold ea
Max stack: 6
Citrine
Yellow like
ork urine.

Value: 300 gold ea
Max stack: 5
Onyx
Black like a
starless night.

Value: 500 gold ea
Max stack: 3
Opal
Colourful like
bird feces.

Value: 500 gold ea
Max stack: 3
Emerald
Green like
toxic slime.

Value: 500 gold ea
Max stack: 3
Sapphire
Blue like a
haematoma.

Value: 1000 gold ea
Max stack: 2
Ruby
Bright red like
sputtering blood.

Value: 1000 gold ea
Max stack: 2


Items :: Trinkets
Damage Stone
common
The power of granite.
+20 % DMG (melee)
+10 % DMG (ranged)
Value: 6000 gold ea
Grotty Nocturnal
Pisspot

very common
Urinate in the night
like a meth junkie.

+10 % Darkness resist
-10 % SPD
Value: 3000 gold ea
Old Nocturnal
Pisspot

common
Urinate in the night
like a doddery grandma.

+20 % Darkness resist
+5 % Move resist
-10 % SPD
Value: 6000 gold ea
Standard
Nocturnal Pisspot

uncommon
Urinate in the night
like a bourgeois.

+30 % Darkness resist
+10 % Move resist
-10 % SPD
Value: 9000 gold ea
Fine Nocturnal
Pisspot

rare
Urinate in the night
like a re-elected mayor.

+40 % Darkness resist
+15 % Move resist
-10 % SPD
Value: 12000 gold ea
Nocturnal
Pisspot Deluxe

very rare
Urinate in the night
like a half-naked king.

+50 % Darkness resist
+20 % Move resist
-10 % SPD
Value: 15000 gold ea
Dreamchaser´s
Slumber Bonnet

very common
Sweet dreams are
made of serotonin.

+15 % Stress resist
+10 % Darkness resist
+12 % Heal Recieved
Value: 3000 gold ea
Nightwarrior´s
Slumber Hood

uncommon
Don´t fear the darkness.
+45 % Stress resist
+30 % Darkness resist
+36 % Heal Recieved
Value: 9000 gold ea
Shadowmangler´s
Slumber Cap

very rare
Defy night-time scariness.
+75 % Stress resist
+50 % Darkness resist
+60 % Heal Recieved
Value: 15000 gold ea
Cheap Adult
Diaper XS

very common
Capacity: 200 ml
+2 % Move resist
+3 % Stress resist
Value: 1200 gold ea
Adult Diaper S
very common
Capacity: 500 ml
+3 % DeathBlow resist
+2 % Debuff resist
+6 % Move resist
+9 % Stress resist
Value: 3000 gold ea
Standard
Adult Diaper

common
Capacity: 750 ml
+6 % DeathBlow resist
+3 % Debuff resist
+10 % Move resist
+15 % Stress resist
Value: 5000 gold ea
Adult Diaper L
uncommon
Capacity: 1.2 litre
+9 % DeathBlow resist
+5 % Debuff resist
+15 % Move resist
+23 % Stress resist
+5 % PROT
-2 % Dodge
Value: 7500 gold ea
Adult Diaper XL
rare
Capacity: 2 litre
+15 % DeathBlow resist
+7 % Debuff resist
+24 % Move resist
+35 % Stress resist
+12 % PROT
-4 % Dodge
Value: 12000 gold ea
Adult Diaper XXL
very rare
Capacity: 2.75 litre
+20 % DeathBlow resist
+10 % Debuff resist
+33 % Move resist
+50 % Stress resist
+20 % PROT
-5 % Dodge
Value: 16500 gold ea
Three Handed Sword
very rare
[Crusader]
What a knife!
+30 % ACC (melee)
+30 % DMG (melee)
+5 % CRT (melee)
+20 % Stun Skill Chance
Value: 17500 gold ea
Durahell Battery
very common
A wee bit more power.
+15 % DMG (melee)
+7 % DMG (ranged)
Value: 2950 gold ea
Old Car Battery
uncommon
For additional power.
+25 % DMG (melee)
+12 % DMG (ranged)
Value: 8900 gold ea
Viagra
rare
The power you need.
+30 % DMG (melee)
+15 % DMG (ranged)
Value: 12000 gold ea
Thor´s Hammer
very rare
Power from Asgard.
+35 % DMG (melee)
+17 % DMG (ranged)
Value: 14850 gold ea
Small Compass
common
Cute navigation aid.
+20 % Scouting Chance
Value: 6000 gold ea
Vintage Compass
uncommon
Grampa´s outdoor guide.
+30 % Scouting Chance
Value: 9000 gold ea
Stylish Compass
rare
See what lies ahead.
+40 % Scouting Chance
Value: 12000 gold ea
Precious Compass
very rare
Know what´s coming.
+50 % Scouting Chance
Value: 15000 gold ea
Teenie Diary
rare
A pink book full of
little dirty secrets.

+20 % Debuff Resist
-33 % Appetite
+20 % Dodge
+50 % Speed
Value: 12000 gold ea
Survival
Guide Crib

very common
Don´t forget
to breathe.

+7 % Disease Resist
+2 % Food Efficiency
+8 % Scouting Chance
+4 % Dodge
+10 % Speed
+5 % Heal Recieved
Value: 3000 gold ea
Survival
Guide Booklet

uncommon
Should increase
your viability.

+21 % Disease Resist
+6 % Food Efficiency
+24 % Scouting Chance
+12 % Dodge
+30 % Speed
+15 % Heal Recieved
Value: 9000 gold ea
Survival
Guide Deluxe

very rare
Dungeon crawler´s
essential almanac.

+35 % Disease Resist
+10 % Food Efficiency
+40 % Scouting Chance
+20 % Dodge
+50 % Speed
+25 % Heal Recieved
Value: 15000 gold ea
Old Teddy
very common
Something to cuddle.
+4 % Stress Resist
+4 % Darkness Resist
Value: 3000 gold ea
Sulphuric Acid
Refill Pack

very rare
[Pest Control]
A lethal snack
for vermin brood.

+25 % ACC (melee)
+30 % ACC (ranged)
+25 % DMG (melee)
+30 % DMG (ranged)
+30 % Blight Skill Chance
Value: 17500 gold ea
Seven-League
Boots

unique
Let the party jump
directly into any
farther room.

Value: 18000 gold ea
Feces Jeesus
uncommon
Mythical weapon of
the toilet slaves.

+20 % Disease Resist
+20 % Stress Resist
+3 % CRIT (melee)
Value: 9000 gold ea

Specs :: Classes
Each character, be it hero or foe, is derived from a specific character class which defines the base resistances and other properties.
When a character is instantiated, he inherits (a copy of) the default settings of his class.

NameDefault
value
RESISTANCES
0DeathBlow67 %
1Stun(varying)
2Blight(varying)
3Bleed(varying)
4Disease(varying)
5Debuff(varying)
6Move(varying)
7Stress(varying)
8Darkness(varying)
PROPERTIES
9Food efficiency100 %
10Appetite100 %
11Scout chance(varying)

On top of that, a character's array is extended by individual Modifiers:

NameDefault
value
MODIFIERS
12MaxHP0 %
13ACC (melee)0 %
14ACC (ranged)0 %
15DMG (melee)0 %
16DMG (ranged)0 %
17CRT (melee)0 %
18CRT (ranged)0 %
19Dodge0 %
20Speed0 %
21Prot0 %
22Heal0 %
23Heal Recieved0 %
24Move skill chance0 %
25Stun skill chance0 %
26Blight skill chance0 %
27Blight skill DMG0 %
28Bleed skill chance0 %
29Bleed skill DMG0 %

The values of the entire array can be altered by buffs/debuffs and trinkets.

Specs :: Hunger
The hunger value [0 ... 100 %] represents energy/calorie requirement (ERQ).

At mission start, a hero is always full (ERQ at 0 %).
During a dungeon run, hunger gets incremented by each segment (room or hallway part) visited.

Below 75 %, hunger value is no concern.
When ERQ reaches 75 %, the hero signals a 'hungry' message.
When ERQ reaches 90 %, the hero signals a 'very hungry' message.
When ERQ reaches 100 %, the hero is about to starve and enters a Death Door State.

Walking hungry (ERQ > 75 %), each crossing of a segment lets the hero suffer an increasing dose of stress which can accumulate quickly.

Hunger can only be decreased by giving the hero something edible; typically a Food ration (meal), which on average equals 37.5 % ERQ. Alternatively he can be fed Medicinal Herbs (worth 0.5 Food = 18.75 % ERQ), Happy-P or Hycatox (both worth 0.25 Food = 9.375 % ERQ).

Growth rate
Per visited segment, ERQ raises by about 3.125 %. In other words, if a hero eats nothing, then...
... the first 'hungry' message likely appears on the 24th segment (~ 5 rooms) after the starting room,
... the 'very hungry' message follows on the 29th segment (~ 6 rooms),
... and starvation risk finally occurs on the 32th segment.

ROOM
0 1 2 3 4 5 6 7
H V !
0 12345 678910 1112131415 1617181920 2122232425 2627282930 3132333435
SEGMENT

Typically, the best time to feed a character is when his hunger value has risen above ~40 % (so the entire Food unit can be exploited) and is still under 75 % (to avoid the unnecessary stress related first hunger event).

Food requirement
The following table shows the absolute minimum of Food needed to avoid hunger events for non-modified characters.

Mission sizeEnergy
required
(ERQ %)
Food units equivalent
totalsafe minimum
LengthRoomsSegm.per HeroPartyper HeroParty
tiny2515.625~ 0.4~ 1.7(0)
31031.25~ 0.8~ 3.3(0)
41546.875~ 1.35(0)
52062.5~ 1.7~ 6.7(0)
'hungry' treshold
62578.125~ 2.1~ 8.314
'very hungry' treshold
short73093.752.51014
Starvation treshold
835109.375~ 2.9~ 11.714
940125~ 3.3~ 13.328
1045140.625~ 3.81528
1150156.25~ 4.2~ 16.7312
medium1255171.875~ 4.6~ 18.3312
1360187.5520416
1465203.125~ 5.4~ 21.7416
1570218.75~ 5.8~ 23.3416
1675234.375~ 6.325520
long1780250~ 6.7~ 26.7520
1885265.625~ 7.1~ 28.3624
1990281.257.530624
2095296.875~ 7.9~ 31.7624
21100312.5~ 8.3~ 33.3728
extended22105328.125~ 8.835728
23110343.75~ 9.2~ 36.7832
24115359.375~ 9.6~ 38.3832
251203751040936
26125390.625~ 10.4~ 41.7936
ultra27130406.25~ 10.8~ 43.3936
28135421.875~ 11.3451040
29140437.5~ 11.7~ 46.71040
30145453.125~ 12.1~ 48.31144
31150468.7512.5501144
marathon32155484.375~ 12.9~ 51.71144
33160500~ 13.3~ 53.31248
34165515.625~ 13.8551248
35170531.25~ 14.2~ 56.71352
36175546.875~ 14.6~ 58.31352

Of course, backtracking increases the number of segments to walk. So even a short mission can lead to medium mission distances when lots of backtracking is involved - usually due to additional hallways or dead ends.

Appetite and Energy efficiency
To prevent the whole party from getting hungry at the same exact spot (which would be quite unrealistic), both, Food/ERQ ratio and hunger increment, can be adjusted by individual modifiers. This way we're able to simulate diverse levels of appetite, e.g. gluttony or abrosia/anorexia/fasting; also the grade of energy efficiency.

In fact, hunger growth rate (default: 3.125 % ERQ per segment) inversely indicates how efficiently consumed food is transferred to energy: the more a character's metabolism can make use of food, the slower will ERQ increase, and the longer he can walk before getting real hungry.

Formula:  HungerGrowthRate = 0.03125 / EnergyEfficiency 
Efficiency range: [~ 0.5 ... 1 ... ~ 2]

Appetite - or stomach size, if you will - is an inverse modifier for the equivalent of 1 food unit (default: 37.5 % ERQ): the bigger a character's appetite (stomach), the more she will eat until she's full.

Formula:  FoodEquivalent = 0.375 / Appetite 
Appetite range: [~ 0.5 ... 1 ... ~ 2]

Healing with food
As a side-effect, eating increases HP. Its effect, however, isn't as significant as real healing (via skill). Reason is that health and hunger are actually completely unrelated: even a deathly sick person can be full, and a person in rude health can starve out.
Also, a hero refuses to eat once he's full - which is usually accomplished by just 1 or 2 food units (a unit might be consumed only partially; the rest, unneeded for ERQ satisfaction, is discarded) - hence food healing can't be applied extensively anyway.

Formula:  FoodHP = 1 + FoodUnits * MaxHP / 10 

Specs :: Miss and Dodge
Without Dodge, hit success is equal to Accuracy:

0102030405060708090100 %
ACC
75 %
PROBABILITY
HIT SUCCESS
75 %
MISS
25 %


However, ACC is capped at 90 %, which means that every target has at least a 10 % chance to evade hits, even if the attacker has decently high accuracy:

0102030405060708090100 %
ACC
98 %
PROBABILITY
HIT SUCCESS
90 %
MISS
10 %


Dodging is technically a countermeasure and gets subtracted from Accuracy:

0102030405060708090100 %
ACC
85 %
Dodge
20 %
PROBABILITY
HIT SUCCESS
65 %
DODGE
20 %
MISS
15 %

0102030405060708090100 %
ACC
110 %
Dodge
15 %
PROBABILITY
HIT SUCCESS
90 %
M
5%
D
5%

Specs :: Avatars
Avatar sprites are PNG images.

Scale
1 px ≈ 0.62 cm (6.2 mm)
1 cm ≈ 1.6 px
1 m ≈ 161.7 px

Dimensions
Typemax. Widthmax. Height
Hero~ 124 px~ 300 px
Foe (standard)~ 124 px~ 300 px
Foe (mini boss)~ 248 px~ 400 px
Foe (boss)~ 372 px~ 480 px

Specs :: Stage
The stage consists of a floor and up to 4 background layers for parallax scrolling.

Viewport
Width: 1200 px
Height: 580 px (480 px background + 100 px floor)

Total room width: 1200 px (≈ 9.06 m)
Total hallway width: 4392 px (≈ 33.15 m)

Specs :: Stage :: Floor
The floor is tiled (1 row) with a preprocessed (perspective warp) trapezoid image.
These tiles get additionally transformed (parallel shear) at runtime - drawn on a canvas element.

The trapezoid base image size is 400 × 100 px (top border width: 278 px), having included factor ×6 visual height/depth shortening, hence represents a floor area of 400 × 600 px, or approx. 210 × 315 cm in reality.


Example: Base image

Specs :: Stage :: Wall layers
Each background layer is made of (1 row of) tiles.

Front tiles generally have a width of 1064 px and a height of 480 px (≈ 8.03 × 3.62 m).

As for room sides, we insert narrow tiles of 68 px width to accomplish the viewport span:
(68 + 1064 + 68 = 1200 px)

Same applies to hallways:
ABCD
(68 + 4 × 1064 + 68 = 4392 px)

Due to occasional camera tilt effects, which uncover a bit more of the background horizontally, those side stripes must actually have a width of 86 px.

Horizon
Sky height (above horizon): 253 px
Ground height (below horizon): 227 px

These add up to the 480 px background height.

Layer stack
Background tiles are JPG or PNG images, depending on whether they are final (no layers behind) or transparent (having one or more layers behind).

Final (JPG)

Transparent (PNG)

Unused
Internally, the front layer has index 0, followed by the mid layers (index 1 and 2) and the backdrop (index 3).

One of the simplest setups consists of just a backdrop. This is the case in the dungeon start room only, where no scrolling occurs:


Another minimal setup consists of a front wall only; allowing a basic scrolling effect:


For parallax scrolling we use at least one more layer.
or or

In-between layers are optional; however, the depth effect will be lessened.
or or or

Image quality
Because of being usually out of focus, deeper background levels (1/2/3) don't need to be as sharp as the front layer. We can easily simulate this blur effect by serving smaller images, and let the browser enlarge them to their size as needed. This way we also have a lower data transfer volume, thus optimized download times.

Image size / Scale
IndexLayerBehaviourScroll
speed
Real Z
distance
ScaleTile image W × H (px)
ScreenFileFactor
3backdrop(fixed)(0)(horizon)1405 × 480562 × 1922.5
2far midscrolling×.3~ 24.03 m1 px ≈ 2.52 cm724 × 480362 × 2402
1near midscrolling×.65~ 5.55 m1 px ≈ 1.16 cm612 × 480408 × 3201.5
0frontscrolling(×1)(0)1 px ≈ 0.75 cm1064 × 4801
front side86 × 480
curios(scrolling)~ ×1.14~ -1.31 m1 px ≈ 0.66 cm
avatars(scrolling)~ ×1.22~ -1.86 m1 px ≈ 0.62 cm
stage edge(scrolling)~ ×1.44~ -3.15 m1 px ≈ 0.52 cm
camera~ -10.3 m

Seamless tiling
To maintain a fluent visual transition, we need to provide seamless images.

In the simplest case, borders would show half a global pattern/object (e.g. pillar), so all front tiles were automatically matching each other.
Room:
Hallway:

A slightly better solution, which diminishes repetition, would be to define at least two different, alternating borders (e.g. pillar and bricks).
Room:
Hallway:

For the near/far mid layers we don't need that much of variation; most of their areas are probably hidden by the front layer anyway. Therefore, mid layers are based on a single (repeating) tile each.
Near mid:
Far mid:

The static backdrop is just a single tile without repetition, thus its borders don't need to be seamless.


Scenery categories
As we see diverse environments in Darkest Dungeon, ...
... there's analogous locations in MLD; probably even mixed up within a dungeon/mission.
Interesting environmental themes might be...