Skip to content

Commit 4894351

Browse files
committed
Base setup
- Base index.html and css. - Rendering is provided by uirenderer-canvas - Shows a canvas and a simple texture. - Packaging and tooling done with Vite.
1 parent 0c0ce1f commit 4894351

File tree

13 files changed

+305
-0
lines changed

13 files changed

+305
-0
lines changed

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Eggscape
2+
3+
WIP html5 port of the Eggscape game (long live Flash!).
4+
Eggscape was a game jam entry for Ludum Dare 21. Original: https://app.assembla.com/spaces/make-a-game/subversion/source
5+
6+
## Development Setup
7+
8+
* Setup with `yarn install`
9+
* Run with `yarn run dev`
10+
11+
Keep in mind that `uirenderer-canvas` needs to to be located next to this repo in a relative path in package.json.

favicon.ico

3.19 KB
Binary file not shown.

index.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!doctype html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="utf-8"/>
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<link rel="icon" href="/favicon.ico" />
8+
9+
<title>Eggscape</title>
10+
</head>
11+
12+
<body>
13+
<div id="app">
14+
<h1>HI</h1>
15+
<canvas id="canvas-view" width="800" height="600"></canvas>
16+
</div>
17+
</body>
18+
19+
<script type="module" src="/src/main.ts"></script>
20+
21+
</html>

package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "eggscape",
3+
"private": true,
4+
"version": "0.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite",
8+
"build": "tsc && vite build",
9+
"preview": "vite preview",
10+
"postinstall": "npm link ../../../uirenderer-canvas"
11+
},
12+
13+
"devDependencies": {
14+
"typescript": "^5.0.2",
15+
"vite": "^4.3.0",
16+
"vite-plugin-glsl": "^1.1.2",
17+
"uirenderer-canvas": "file:../../../uirenderer-canvas"
18+
}
19+
}

public/plates/background.png

60.6 KB
Loading

public/sprites/egg.png

3.19 KB
Loading

src/main.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import './style.css'
2+
import { UIRenderer } from 'uirenderer-canvas';
3+
4+
function draw() {
5+
const ui = uiRenderer;
6+
ui.beginFrame();
7+
8+
ui.addImage(0, 0, 800, 600, bgTextureID);
9+
ui.addImage(400-16, 300-16, 32, 32, eggTextureID);
10+
11+
ui.draw();
12+
}
13+
14+
15+
let canvas = document.querySelector<HTMLCanvasElement>('#canvas-view');
16+
let uiRenderer: UIRenderer = new UIRenderer(canvas, draw);
17+
let bgTextureID: WebGLTexture = uiRenderer.loadImage('/plates/background.png');
18+
let eggTextureID: WebGLTexture = uiRenderer.loadImage('/sprites/egg.png');

src/style.css

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
:root {
2+
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3+
line-height: 1.5;
4+
font-weight: 400;
5+
6+
color-scheme: light dark;
7+
color: rgba(255, 255, 255, 0.87);
8+
background-color: #242424;
9+
10+
font-synthesis: none;
11+
text-rendering: optimizeLegibility;
12+
-webkit-font-smoothing: antialiased;
13+
-moz-osx-font-smoothing: grayscale;
14+
-webkit-text-size-adjust: 100%;
15+
}
16+
17+
a {
18+
font-weight: 500;
19+
color: #646cff;
20+
text-decoration: inherit;
21+
}
22+
a:hover {
23+
color: #535bf2;
24+
}
25+
26+
body {
27+
margin: 0;
28+
display: flex;
29+
place-items: center;
30+
min-width: 320px;
31+
min-height: 100vh;
32+
}
33+
34+
h1 {
35+
font-size: 3.2em;
36+
line-height: 1.1;
37+
}
38+
39+
#app {
40+
max-width: 1280px;
41+
margin: 0 auto;
42+
padding: 2rem;
43+
text-align: center;
44+
}
45+
46+
@media (prefers-color-scheme: light) {
47+
:root {
48+
color: #213547;
49+
background-color: #ffffff;
50+
}
51+
a:hover {
52+
color: #747bff;
53+
}
54+
}

src/vite-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/// <reference types="vite/client" />

0 commit comments

Comments
 (0)