Compare commits

...

20 Commits

Author SHA1 Message Date
b70bdfb955 Add README 2025-05-21 10:19:08 +02:00
6de586ba01 meta 2025-05-20 17:02:24 +02:00
d0446e680d rename laby to loadingMaze 2024-03-20 16:41:00 +01:00
852394c54c perspective rotation 2024-03-20 16:38:26 +01:00
4717ec0877 loading perspective 2024-03-15 02:47:24 +01:00
9ac5c35c90 rotating loading maze 2024-03-14 21:37:05 +01:00
1fb8296bcd Merge branch 'master' of https://git.malingrey.fr/adrien/daedalus 2024-03-13 03:20:26 +01:00
1b8e4b2676 little fixes 2024-03-13 03:18:35 +01:00
dd8361cf33 - new loading screen
- huge loading time reducing by simplifiying ocean
2024-03-13 02:29:02 +01:00
4f20dce37f loading circle before instructions 2024-02-26 23:59:36 +01:00
eb36acac39 fov 2024-02-24 15:14:35 +01:00
ebe7c41578 use webp textures 2024-02-22 23:18:34 +01:00
97172aedf3 use cdn.jsdelivr.net 2024-02-22 23:16:43 +01:00
6ddf3b2949 use avif to reduce textures size 2024-02-19 15:18:55 +01:00
4722783018 remove hex tiling 2023-11-20 01:44:03 +01:00
96d485aabb format 2023-11-20 00:30:56 +01:00
d53b6a97c9 rename pressedMouseButtons 2023-11-18 16:33:38 +01:00
eb5b39529a combine ao roughness and metalness maps in one file for ground material 2023-11-18 16:31:40 +01:00
af8fdfd30e cleanup 2023-11-18 15:49:36 +01:00
2adbecea71 cleanup 2023-11-18 15:49:35 +01:00
47 changed files with 480 additions and 492 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
textures/old/

5
README.md Normal file
View File

@ -0,0 +1,5 @@
# Daedalus
3D Maze Web game made with Three.js library
![screenshot](https://git.malingrey.fr/adrien/daedalus/raw/branch/master/thumbnail.png)

View File

@ -1,20 +1,28 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Daedalus</title>
<meta charset=utf-8 />
<title>Daedalus</title>
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" id="favicon"/>
<meta property="og:title" content="Daedalus"/>
<meta property="og:type" content="game"/>
<meta property="og:url" content="https://adrien.malingrey.fr/jeux/daedalus/"/>
<meta property="og:image" content="https://adrien.malingrey.fr/jeux/daedalus/thumbnail.png"/>
<meta property="og:image:width" content="250"/>
<meta property="og:image:height" content="250"/>
<meta property="og:description" content="Retrouvez la sortie"/>
<meta property="og:locale" content="fr_FR"/>
<meta property="og:site_name" content="adrien.malingrey.fr"/>
<link rel="stylesheet" href="style.css">
<!-- Import maps polyfill -->
<!-- Remove this when import maps will be widely supported -->
<script async src="https://unpkg.com/es-module-shims@1.6.3/dist/es-module-shims.js"></script>
<script async src="https://cdn.jsdelivr.net/npm/es-module-shims@1.8.3/dist/es-module-shims.min.js"></script>
<script type="importmap">
{
"imports": {
"three": "https://unpkg.com/three@0.158/build/three.module.js?module",
"three/addons/": "https://unpkg.com/three@0.158/examples/jsm/",
"three-hex-tiling": "https://cdn.jsdelivr.net/npm/three-hex-tiling@0.1.1/dist/index.js"
"three": "https://cdn.jsdelivr.net/npm/three@0.169.0/build/three.module.min.js",
"three/addons/": "https://cdn.jsdelivr.net/npm/three@0.169.0/examples/jsm/"
}
}
</script>
@ -143,15 +151,19 @@
</script>
</head>
<body>
<div id="container"></div>
<span id="message" class="loading">
<div id="loading">
<div id="loadingMazeShadow">
<table id="loadingMazeTable"></table>
</div>
<div id="loadingMessage">Construction du labyrinthe : <span id="progress">0</span>%</div>
<div>
Se déplacer : ↑←↓→, ZQSD ou clic<br/>
Sauter : ESPACE<br/>
Regarder : Souris
</div>
<div id="progressCircle" style="--progress: 0deg;">0%</div>
</span>
</div>
<div id="container"></div>
<span id="message"></span>
<script type="module" src="./main.js"></script>
</body>

792
main.js

File diff suppressed because it is too large Load Diff

114
style.css
View File

@ -1,9 +1,74 @@
body {
margin: 0;
background-color: #000;
color: #fff;
font-family: Georgia, serif;
background-color: #041626;
font-size: 1.3em;
overscroll-behavior: none;
cursor: progress;
}
#loading {
width: fit-content;
color: #2c5c88;
font-size: 1.3em;
top: 20vh;
margin: auto;
font-family: sans-serif;
}
#loadingMessage {
margin-bottom: 0.5em;
}
@keyframes perspective {
from {
transform: rotateX(0deg) perspective(0px);
filter: drop-shadow(0px 00px 0px #0f2437);
}
to {
transform: rotateX(40deg) perspective(150px);
filter: drop-shadow(0px 10px 0px #0f2437);
}
}
#loadingMazeShadow {
width: 230px;
height: 230px;
margin-left: auto;
margin-right: auto;
margin-top: 20vh;
margin-bottom: 5vh;
animation: perspective 30s;
}
@keyframes rotation {
from {
transform: rotateZ(0deg);
}
to {
transform: rotateZ(360deg);
}
}
#loadingMazeTable {
border-collapse: collapse;
animation: rotation 60s infinite;
border: none;
}
#loadingMazeTable td {
width: 10px;
height: 10px;
transition: background-color 1s;
border: none;
padding: 0;
}
.wall {
background-color: transparent;
}
.ground {
background-color: #214464;
}
#container {
@ -32,48 +97,7 @@ body {
justify-content: center;
z-index: 1;
color: gray;
}
#message.loading {
display: flex;
flex-direction: column;
top: 20vh;
width: 100%;
margin: auto;
align-items: center;
gap: 5rem;
text-align: center;
font-size: 1.7em;
cursor: progress;
}
#progressCircle {
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 200px;
height: 200px;
border: 4px solid dimgray;
border-radius: 50%;
font-size: 0;
font-size: 3vh;
font-weight: 700;
font-family: system-ui;
text-align: center;
}
#progressCircle::after {
content: "";
display: flex;
position: absolute;
width: 200px;
height: 200px;
top: -4px;
left: -4px;
border: 4px solid #1da8b7;
border-radius: 50%;
mask: conic-gradient(black var(--progress), transparent var(--progress));
font-family: serif;
}
#message a {

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 KiB

View File

@ -1,3 +0,0 @@
This asset was made with Poly, an AI-generated design asset marketplace that lets you find and create incredibly life-like, detailed, and artistic assets for your next project, in seconds.
Get started for free at https://withpoly.com

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 KiB

View File

@ -1,23 +0,0 @@
{
"prompt_text": "stone retaining wall, extreme fine details",
"patch": {
"ext": "png",
"dtype": "uint8",
"width": 512,
"height": 512,
"url": "https://static-dev.withpoly.com/v3-voronoi/textures/patches/909585e0-8b3f-4659-ae84-03f58ceaaaeb.png",
"patch_id": "EbJzaafatu"
},
"seamless_prompt_text": "stone retaining wall, extreme fine details",
"seamless_patch_scale": 0.8,
"upscale_prompt_text": "stone retaining wall, extreme fine details",
"upscale_resolution": 4096,
"is_seamless": true,
"pbr_mode": "organic",
"pbr_generate_color": true,
"pbr_generate_normal": true,
"pbr_generate_height": true,
"pbr_generate_ao": true,
"pbr_generate_roughness": true,
"pbr_generate_metallic": false
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 803 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 566 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 556 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

BIN
textures/waternormals.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB