Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/todos.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ List of things to implement following the "release" of the minimum viable produc

## Creeps

- [ ] Elemental resistances/attunement
- [x] Elemental resistances/attunement
- [x] Proper animation via PNG sequence
- [x] More variety in Creeps
- [x] Health bar
Expand All @@ -29,4 +29,4 @@ List of things to implement following the "release" of the minimum viable produc
- [ ] Add sound effects
- [ ] Tutorial image/mission
- [ ] Pause menu
- [ ] Score screen when winning/losing map
- [x] Score screen when winning/losing map
3 changes: 1 addition & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="style.css" />
<link href="https://fonts.googleapis.com/css?family=Aclonica" rel="stylesheet" />
<title>Bastion App</title>
<title>Bastion: The Watcher's Lament</title>
</head>
<body>
<script type="module" src="/src/main.ts"></script>
Expand Down
Binary file added public/TiledTDThree64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/Tileset.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.10" tiledversion="1.11.0" name="TiledTDThree64" tilewidth="64" tileheight="64" tilecount="140" columns="14">
<image source="../../../../dumping/tiles/TiledTDThree64.png" width="896" height="640"/>
<image source="./TiledTDThree64.png" width="896" height="640"/>
</tileset>
Binary file modified public/assets/creeps/basic/0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified public/assets/creeps/basic/9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/11.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/cloaker/9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/assets/creeps/demon/0.png
Binary file added public/assets/creeps/demon/1.png
Binary file added public/assets/creeps/demon/2.png
Binary file added public/assets/creeps/demon/3.png
Binary file added public/assets/creeps/demon/4.png
Binary file added public/assets/creeps/demon/5.png
Binary file added public/assets/creeps/demon/6.png
Binary file added public/assets/creeps/demon/7.png
Binary file added public/assets/creeps/maker/1.png
Binary file added public/assets/creeps/maker/2.png
Binary file added public/assets/creeps/maker/3.png
Binary file added public/assets/creeps/maker/4.png
Binary file added public/assets/creeps/maker/5.png
Binary file added public/assets/creeps/maker/6.png
Binary file added public/assets/creeps/maker/7.png
Binary file modified public/assets/creeps/quick/0.png
Binary file modified public/assets/creeps/quick/1.png
Binary file modified public/assets/creeps/quick/2.png
Binary file modified public/assets/creeps/quick/3.png
Binary file modified public/assets/creeps/quick/4.png
Binary file modified public/assets/creeps/quick/5.png
Binary file modified public/assets/creeps/quick/6.png
Binary file modified public/assets/creeps/quick/7.png
Binary file modified public/assets/creeps/tank/0.png
Binary file modified public/assets/creeps/tank/1.png
Binary file modified public/assets/creeps/tank/10.png
Binary file modified public/assets/creeps/tank/11.png
Binary file modified public/assets/creeps/tank/2.png
Binary file modified public/assets/creeps/tank/3.png
Binary file modified public/assets/creeps/tank/4.png
Binary file modified public/assets/creeps/tank/5.png
Binary file modified public/assets/creeps/tank/6.png
Binary file modified public/assets/creeps/tank/7.png
Binary file modified public/assets/creeps/tank/8.png
Binary file modified public/assets/creeps/tank/9.png
12 changes: 6 additions & 6 deletions public/assets/json/Creeps.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"textureArrayLength": 12,
"stats": {
"health": 5,
"speed": 6,
"speed": 4,
"special": null,
"resistance": {
"physical": 0,
Expand All @@ -19,10 +19,10 @@
{
"name": "quick",
"textures": [],
"textureArrayLength": 12,
"textureArrayLength": 8,
"stats": {
"health": 7,
"speed": 2.4,
"health": 2,
"speed": 6,
"special": null,
"resistance": {
"physical": 0,
Expand All @@ -38,8 +38,8 @@
"textures": [],
"textureArrayLength": 12,
"stats": {
"health": 7,
"speed": 2.4,
"health": 12,
"speed": 2,
"special": null,
"resistance": {
"physical": 0,
Expand Down
26 changes: 15 additions & 11 deletions public/assets/json/Gems.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
{
"name": "Fire Gem",
"description": "Forged from molten lava, the Fire Gem imbues your tower's attacks and adds 50% extra fire damage. It can be merged with any gem and is common. This text shouldn't be long.",
"color": "red",
"type": "Fire",
"totalLevels": 2,
"textures": [],
Expand All @@ -11,15 +12,15 @@
"genericImprovements": [
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
"gemValueUp": 0
},
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
Expand All @@ -30,14 +31,14 @@
{
"physical": 0,
"divine": 0,
"fire": 0.5,
"fire": 0.25,
"ice": 0,
"frostfire": 0
},
{
"physical": 0,
"divine": 0,
"fire": 0.5,
"fire": 0.25,
"ice": 0,
"frostfire": 0
}
Expand All @@ -46,6 +47,7 @@
{
"name": "Yeti Gem",
"description": "Yeti gem description. Something something, write this while drunk or something.",
"color": "#32e4fc",
"type": "Yeti",
"totalLevels": 2,
"textures": [],
Expand All @@ -55,15 +57,15 @@
"genericImprovements": [
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
"gemValueUp": 0
},
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
Expand All @@ -90,6 +92,7 @@
{
"name": "Titalium Gem",
"description": "Titalium gem description. Something something zombie creeps working for you something something.",
"color": "pink",
"type": "Titalium",
"totalLevels": 3,
"textures": [],
Expand All @@ -99,23 +102,23 @@
"genericImprovements": [
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
"gemValueUp": 0
},
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0,
"timeToLiveUp": 0,
"pierceUp": 1,
"gemValueUp": 10
},
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0,
"timeToLiveUp": 0,
"pierceUp": 1,
Expand Down Expand Up @@ -149,6 +152,7 @@
{
"name": "Soulforge Gem",
"description": "Soulforge gem description, have to write later.",
"color": "gray",
"type": "Soulforge",
"totalLevels": 2,
"textures": [],
Expand All @@ -158,15 +162,15 @@
"genericImprovements": [
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
"gemValueUp": 0
},
{
"damageUp": 2,
"attackSpeedUp": 100,
"attackSpeedUp": 10,
"rangeUp": 0.5,
"timeToLiveUp": 0,
"pierceUp": 1,
Expand Down
16 changes: 10 additions & 6 deletions public/assets/json/Towers.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,30 @@
"description": "The building block of society, nothing more basic exists.",
"stats": {
"damage": 2,
"cooldown": 60,
"cooldown": 120,
"gemSlotsAmount": 2,
"cost": 100,
"range": 3
"range": 3,
"timeToLive": 120,
"pierce": 1
}
},
{
"name": "Circle Tower",
"behaviour": "BasicTowerBehaviour",
"behaviour": "CircleTowerBehaviour",
"sprite": "circle_tower",
"texture": null,
"projectileTextures": [],
"projectileTexturesArrayLength": 4,
"description": "If you feel a little circular.",
"stats": {
"damage": 6,
"cooldown": 180,
"damage": 2,
"cooldown": 120,
"gemSlotsAmount": 3,
"cost": 125,
"range": 3
"range": 2,
"timeToLive": 8,
"pierce": 30
}
}
]
Binary file added public/assets/maps/01_first_steps.png
Binary file added public/assets/maps/02_the_turn.png
Binary file added public/assets/maps/03_fork_in_the_road.png
Binary file added public/assets/maps/04_crossroads.png
Binary file added public/assets/maps/05_the_maze.png
Binary file added public/assets/maps/06_multiple_fronts.png
Binary file added public/assets/maps/07_final_stretch.png
Binary file removed public/assets/maps/mission_01.png
Diff not rendered.
76 changes: 76 additions & 0 deletions public/assets/missions/01_first_steps.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
{
"name": "First Steps",
"description": "Welcome to your first defense mission. Protect the exit from basic invaders.",
"mapImage": {
"url": "/assets/maps/01_first_steps.png"
},
"gameMap": {
"rows": 17,
"columns": 25,
"cells": [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
],
"paths": [
[
[0, 8],
[1, 8],
[2, 8],
[3, 8],
[4, 8],
[5, 8],
[6, 8],
[7, 8],
[8, 8],
[9, 8],
[10, 8],
[11, 8],
[12, 8],
[13, 8],
[14, 8],
[15, 8],
[16, 8],
[17, 8],
[18, 8],
[19, 8],
[20, 8],
[21, 8],
[22, 8],
[23, 8],
[24, 8]
]
]
},
"rounds": [
{
"waves": [
{
"firstCreepSpawnTick": 500,
"spawnIntervalTicks": 1000,
"creeps": [0, 0, 0]
},
{
"firstCreepSpawnTick": 4000,
"spawnIntervalTicks": 1000,
"creeps": [0, 0, 0, 0]
}
],
"offeredGems": [0, 1]
}
]
}
Loading