many optimizations, nearing final release
12
index.html
@ -6,6 +6,18 @@
|
|||||||
<link rel="stylesheet" href="style.css" />
|
<link rel="stylesheet" href="style.css" />
|
||||||
<link href="https://fonts.googleapis.com/css?family=Aclonica" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/css?family=Aclonica" rel="stylesheet" />
|
||||||
<title>Bastion: The Watcher's Lament</title>
|
<title>Bastion: The Watcher's Lament</title>
|
||||||
|
<meta property="og:title" content="Bastion: The Watcher's Lament" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="A free, open source, browser based, tower defense game inspired by GemCraft: Frostborn Wrath. Playable NOW on PC!"
|
||||||
|
/>
|
||||||
|
<meta property="og:image" content="https://bastion.overflow.fun/faivcon.png" />
|
||||||
|
<meta property="og:url" content="https://bastion.overflow.fun" />
|
||||||
|
<meta name="twitter:title" content="Bastion: The Watcher's Lament" />
|
||||||
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="A free, open source, browser based, tower defense game inspired by GemCraft: Frostborn Wrath. Playable NOW on PC!"
|
||||||
|
/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 13 KiB |
BIN
public/assets/creeps/demon_spritesheet.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
public/assets/creeps/hood_spritesheet.png
Normal file
After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
@ -1,18 +1,20 @@
|
|||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const { exec, execSync } = require('child_process');
|
const { exec, execSync } = require('child_process');
|
||||||
let dir = fs.readdirSync('.');
|
let dir = fs.readdirSync('.');
|
||||||
dir.forEach((item) => {
|
// dir.forEach((item) => {
|
||||||
const itemPath = `./${item}`;
|
// const itemPath = `./${item}`;
|
||||||
if (fs.lstatSync(itemPath).isDirectory()) {
|
// if (fs.lstatSync(itemPath).isDirectory()) {
|
||||||
let subDir = fs.readdirSync(itemPath);
|
// let subDir = fs.readdirSync(itemPath);
|
||||||
subDir.forEach(async (subItem) => {
|
// subDir.forEach(async (subItem) => {
|
||||||
const subItemPath = `${itemPath}/${subItem}`;
|
// const subItemPath = `${itemPath}/${subItem}`;
|
||||||
if (fs.lstatSync(subItemPath).isFile() && subItem.endsWith('.png')) {
|
// if (fs.lstatSync(subItemPath).isFile() && subItem.endsWith('.png')) {
|
||||||
const outputFilePath = `${itemPath}/${subItem.replace('.png', 's.png')}`;
|
// const outputFilePath = `${itemPath}/${subItem.replace('.png', 's.png')}`;
|
||||||
await execSync(`convert -resize 128x128 -quality 80 ${subItemPath} ${outputFilePath}`);
|
// await execSync(`convert -resize 128x128 -quality 80 ${subItemPath} ${outputFilePath}`);
|
||||||
fs.unlinkSync(subItemPath);
|
// fs.unlinkSync(subItemPath);
|
||||||
fs.renameSync(outputFilePath, subItemPath);
|
// fs.renameSync(outputFilePath, subItemPath);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
// Disabled for now, dont need to optimize assets.
|
||||||
|
BIN
public/assets/creeps/pumpkin_spritesheet.png
Normal file
After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
public/assets/creeps/skeleton_spritesheet.png
Normal file
After Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB |
BIN
public/assets/creeps/wood_spritesheet.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
public/assets/creeps/zombie_spritesheet.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
public/assets/gems/Artifact_spritesheet.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 8.1 KiB |
BIN
public/assets/gems/Fire_spritesheet.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
public/assets/gems/Gold_spritesheet.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 6.7 KiB |
BIN
public/assets/gems/Soulforge_spritesheet.png
Normal file
After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 6.7 KiB |
BIN
public/assets/gems/Titalium_spritesheet.png
Normal file
After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 7.3 KiB |
BIN
public/assets/gems/Yeti_spritesheet.png
Normal file
After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 281 KiB |
Before Width: | Height: | Size: 244 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 926 KiB |
Before Width: | Height: | Size: 32 KiB |