
Javascript great again! - The Voice of Void
A thrilling game development, including a π / 42 theory.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
"scripts": {
"build": "vite build",
"client": "vite",
"server": "pnpm node src/services/dbServer.js",
// local development command
"start": "pnpm run server & pnpm run client"
},
"dependencies": {
// minimal dependency for AWS dynamodb
"@aws-sdk/client-dynamodb": "^3.0.0",
"@aws-sdk/lib-dynamodb": "^3.0.0",
"cors": "^2.8.5",
"dotenv": "^16.4.1",
"express": "^5.0.1"
},
"devDependencies": {
// tailwin
"autoprefixer": "^10.4.20",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.16",
// surprising it is need for JSDoc, but just devDep!
"typescript": "5.7.2",
// build
"vite": "^6.0.3",
// PWA
"vite-plugin-pwa": "^0.21.1"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
pnpm build
dist/registerSW.js 0.13 kB
dist/manifest.webmanifest 0.36 kB
dist/assets/manifest-B2xQAFIn.json 0.58 kB │ gzip: 0.26 kB
dist/credit.html 0.99 kB │ gzip: 0.46 kB
dist/adventure.html 0.99 kB │ gzip: 0.46 kB
dist/library.html 1.01 kB │ gzip: 0.47 kB
dist/ship.html 1.03 kB │ gzip: 0.51 kB
dist/card.html 1.03 kB │ gzip: 0.49 kB
dist/fit.html 1.14 kB │ gzip: 0.61 kB
dist/work.html 1.28 kB │ gzip: 0.55 kB
dist/mine.html 1.34 kB │ gzip: 0.62 kB
dist/story.html 1.36 kB │ gzip: 0.63 kB
dist/index.html 1.38 kB │ gzip: 0.68 kB
dist/deal.html 1.63 kB │ gzip: 0.70 kB
dist/marker.html 2.01 kB │ gzip: 0.86 kB
dist/travel.html 2.03 kB │ gzip: 0.85 kB
dist/__index.html 2.10 kB │ gzip: 0.91 kB
dist/throw.html 6.14 kB │ gzip: 1.81 kB
dist/assets/style-5bcm0AOV.css 19.64 kB │ gzip: 4.44 kB
dist/assets/marker-a3K9PoX8.css 20.43 kB │ gzip: 4.75 kB
dist/assets/ui-elements-C42piOfa.js 0.52 kB │ gzip: 0.20 kB
dist/assets/old-bird-soft-Cet9K-fd.js 0.64 kB │ gzip: 0.40 kB
dist/assets/targetSystem-C6rfYONd.js 0.70 kB │ gzip: 0.17 kB
dist/assets/index-DPcikNFZ.js 0.70 kB │ gzip: 0.47 kB
dist/assets/modulepreload-polyfill-B5Qt9EMX.js 0.71 kB │ gzip: 0.40 kB
dist/assets/story-BYdjpAbD.js 0.71 kB │ gzip: 0.50 kB
dist/assets/credit-B_lCQp87.js 0.92 kB │ gzip: 0.58 kB
dist/assets/shoot-9YV2jSCs.js 1.11 kB │ gzip: 0.20 kB
dist/assets/work-AxYhedTL.js 1.24 kB │ gzip: 0.59 kB
dist/assets/adventure-mfPAHVPp.js 1.26 kB │ gzip: 0.74 kB
dist/assets/fencer-CBOzlVSn.js 1.51 kB │ gzip: 0.76 kB
dist/assets/ship-DzKwFTHn.js 1.57 kB │ gzip: 0.79 kB
dist/assets/library-iOGeQgd2.js 1.69 kB │ gzip: 0.87 kB
dist/assets/concept-1YqRBMyf.js 1.70 kB │ gzip: 0.84 kB
dist/assets/travel-BjKxB5xP.js 1.70 kB │ gzip: 0.84 kB
dist/assets/GalaxyRoute-Czkip2Wg.js 1.77 kB │ gzip: 0.85 kB
dist/assets/asset-DRNybFKp.js 2.01 kB │ gzip: 0.50 kB
dist/assets/card-BxPOIcVT.js 3.05 kB │ gzip: 1.03 kB
dist/assets/mine-txzynpoG.js 3.08 kB │ gzip: 1.33 kB
dist/assets/marker-CDmeMeHZ.js 3.08 kB │ gzip: 1.43 kB
dist/assets/throw-CtACwOyr.js 7.86 kB │ gzip: 2.68 kB
dist/assets/deal-ptFW1zND.js 10.26 kB │ gzip: 3.93 kB
✓ built in 1.16s
PWA v0.21.1
mode generateSW
precache 41 entries (110.77 KiB)
{%fit%16/4}
1
2
3
4
5
6
7
8
9
10
11
12
13
#desk {
transform-style: preserve-3d;
transform:
perspective(70vw)
rotateX(40deg)
rotateY(0deg)
rotateZ(0deg)
scale(.55)
translateZ(0rem)
translateY(5rem)
translateX(-8rem);
pointer-events: none;
}
- Amazon Q : code expert
- ChatGPT : project assistant, lyric, code
- Midjourney : visual
- Suno : track
- Revoicer : voice over
- HailuoAI : clip
- Clipdrop : remove background
- DreamAI : visual training
2024.07.06 -> pure-web-ccg : started my pure web work
2024.12.14 -> flogon-board : meanwhile I found reddit hackhaton also,
a first game of Flogon series + sprite editor
2024.12.29 -> flogon-galaxy : I started focusing on this project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{%url%}
// or
{%url%aspect-ratio}
for example:
{%.%16/9} // start this program on standard aspect ratio
{%deal.html%16/9} // start a card game
// or
{%deal%16/9} // also start the card game.
// a secret old program is started by:
{%throw%1/1}
// this is my previous reddit hackhaton submit.
// A different version of Flogon's Throw to Match game.
1
2
3
4
5
6
AWS_ACCESS_KEY_ID = "AKI........"
AWS_SECRET_ACCESS_KEY = "4Qr8........"
AWS_REGION = "eu-north-1"
DYNAMO_TABLE = "storage-0392"
PORT = 3000
API = "http://localhost"
1
{%throw%1/1}
1
2
3
4
5
6
7
8
9
10
11
12
If press `z` started the sprite editor
`c` - move box
`v` - pick a sprite
`w` - decrease a vertical size
`s` - increase a vertical size
`a` - decrease a horizontal size
`d` - increase a horizontal size
`[` , `]` - change sprite sheet
// you can copy spritesheet data to your code with this js code
// in chorme dev tools:
copy(JSON.parse(localStorage.getItem('-shoot-') || '{}'));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/** @type {<T>(watcher?: function) => (state?: T | object) => T} */
export const signal = (watcher = () => { }) => (state = {}) => {
return new Proxy(state, {
get: (target, prop) => target[prop],
set: (target, prop, value) => {
target[prop] = (value !== null && typeof value === 'object')
? signal(watcher)(value)
: value
;
watcher(target, prop, value);
return true;
},
});
};
1
2
3
4
esbuild: {
jsxFactory: 'fencer', // Use your custom `fencer` function as the JSX factory
jsxFragment: 'Fragment', // Optional if you use JSX fragments (e.g., `<>...</>`).
},