Allow for custom footsteps. Some work on footsteps to make the sound less crazy. Various other updates. Added initial documentation and credits files.

This commit is contained in:
Storm Dragon
2025-02-05 02:04:57 -05:00
parent 883dafaac0
commit c29bcd40b7
17 changed files with 431 additions and 43 deletions

View File

@@ -1,7 +1,7 @@
{
"level_id": 1,
"name": "The Mausoleum",
"description": "After years of existing as a pile of bones, someone was crazy enough to assemble your skeleton. Time to wreak some havoc! Use W to jump, A/D to move, and CTRL to attack with your shovel.",
"description": "After years of existing as a pile of bones, someone was crazy enough to assemble your skeleton. Time to wreak some havoc!",
"player_start": {
"x": 0,
"y": 0
@@ -28,13 +28,15 @@
"static": true
},
{
"x": 25,
"x_range": [25, 30],
"y": 0,
"enemy_type": "goblin",
"health": 3,
"damage": 1,
"attack_range": 1,
"movement_range": 5
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 35,
@@ -64,13 +66,15 @@
"type": "coffin"
},
{
"x": 75,
"x_range": [75, 80],
"y": 0,
"enemy_type": "goblin",
"health": 5,
"damage": 2,
"attack_range": 1,
"movement_range": 5
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 85,
@@ -107,10 +111,18 @@
"direction": -1,
"fire_interval": 5000,
"range": 15
},
{
"x_range": [154, 159],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
}
],
"boundaries": {
"left": 0,
"right": 160
}
},
"footstep_sound": "footstep_stone"
}

View File

@@ -21,13 +21,15 @@
"static": true
},
{
"x": 25,
"x_range": [21, 29],
"y": 0,
"enemy_type": "goblin",
"health": 4,
"damage": 2,
"attack_range": 1,
"movement_range": 5
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 35,
@@ -62,13 +64,15 @@
"static": true
},
{
"x": 75,
"x_range": [71, 79],
"y": 0,
"enemy_type": "goblin",
"health": 5,
"damage": 2,
"attack_range": 1,
"movement_range": 6
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 85,
@@ -109,10 +113,18 @@
"min": 2,
"max": 5
}
},
{
"x_range": [145, 150],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
}
],
"boundaries": {
"left": 0,
"right": 170
}
},
"footstep_sound": "footstep_tall_grass"
}

238
levels/3.json Normal file
View File

@@ -0,0 +1,238 @@
{
"level_id": 3,
"name": "Endless Graves",
"description": "Graves continue in all directions as far as you can see. The dead seem restless.",
"player_start": {
"x": 0,
"y": 0
},
"objects": [
{
"x_range": [1, 4],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x": 5,
"y": 3,
"sound": "coffin",
"type": "coffin"
},
{
"x_range": [6, 10],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x": 15,
"y": 0,
"hazard": true,
"sound": "grave",
"static": true,
"zombie_spawn_chance": 25
},
{
"x": 15,
"y": 3,
"sound": "coffin",
"type": "coffin"
},
{
"x_range": [25, 27],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x_range": [21, 31],
"y": 0,
"enemy_type": "goblin",
"health": 5,
"damage": 2,
"attack_range": 1,
"attack_pattern": {
"type": "patrol"
}
},
{
"x_range": [35, 50],
"y": 12,
"type": "skull_storm",
"damage": 3,
"maximum_skulls": 2,
"frequency": {
"min": 2,
"max": 5
}
},
{
"x_range": [42, 44],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x": 55,
"y": 0,
"hazard": true,
"sound": "grave",
"static": true,
"zombie_spawn_chance": 25
},
{
"x_range": [60, 70],
"y": 0,
"enemy_type": "goblin",
"health": 5,
"damage": 2,
"attack_range": 1,
"attack_pattern": {
"type": "patrol"
}
},
{
"x_range": [75, 77],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x_range": [71, 81],
"y": 0,
"enemy_type": "goblin",
"health": 5,
"damage": 2,
"attack_range": 1,
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 85,
"y": 0,
"hazard": true,
"sound": "grave",
"static": true,
"zombie_spawn_chance": 28
},
{
"x": 85,
"y": 3,
"sound": "coffin",
"type": "coffin"
},
{
"x_range": [95, 120],
"y": 15,
"type": "skull_storm",
"damage": 3,
"maximum_skulls": 2,
"frequency": {
"min": 2,
"max": 4
}
},
{
"x_range": [105, 107],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x_range": [101, 111],
"y": 0,
"enemy_type": "goblin",
"health": 6,
"damage": 2,
"attack_range": 1,
"attack_pattern": {
"type": "patrol"
}
},
{
"x": 125,
"y": 0,
"hazard": true,
"sound": "grave",
"static": true,
"zombie_spawn_chance": 28
},
{
"x": 135,
"y": 0,
"hazard": true,
"sound": "grave",
"static": true,
"zombie_spawn_chance": 30
},
{
"x_range": [140, 150],
"y": 0,
"enemy_type": "goblin",
"health": 6,
"damage": 2,
"attack_range": 1,
"attack_pattern": {
"type": "patrol"
}
},
{
"x_range": [155, 157],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
},
{
"x_range": [146, 166],
"y": 0,
"enemy_type": "ghoul",
"health": 10,
"damage": 3,
"attack_range": 2,
"attack_pattern": {
"type": "hunter",
"turn_threshold": 5
}
},
{
"x_range": [165, 190],
"y": 15,
"type": "skull_storm",
"damage": 4,
"maximum_skulls": 3,
"frequency": {
"min": 2,
"max": 4
}
},
{
"x": 175,
"y": 0,
"type": "catapult",
"direction": -1,
"fire_interval": 4500,
"range": 20
},
{
"x_range": [173, 176],
"y": 3,
"sound": "coin",
"collectible": true,
"static": true
}
],
"boundaries": {
"left": 0,
"right": 200
},
"footstep_sound": "footstep_tall_grass"
}