ajout page retrogame
@ -73,8 +73,8 @@ La classe américaine ou le grand détournement. c'est le "flim" qui a inspiré
|
||||
|
||||

|
||||
|
||||
JSdos est un projet pour faire tourner DosBox (émulateur MS-DOS) sur navigateur.
|
||||
JSdos est un projet pour faire tourner DosBox (émulateur MS-DOS en JavaScript) sur navigateur.
|
||||
Cliquez sur l'icône et choisissez parmis les plus grand classiques DOS tels que DOOM, SIM CITY ou encore BLOOD.
|
||||
Un grand merci à [@caiiiycuk](https://twitter.com/caiiiycuk) pour cet ouvrage.
|
||||
|
||||
[UN DOS EMBARQUÉ DANS UNE PAGE WEB AVEC LES GRANCS CLASSIQUES](https://js-dos.com/games/)
|
||||
[UN DOS EMBARQUÉ DANS UNE PAGE WEB AVEC LES GRANDS CLASSIQUES](https://js-dos.com/games/)
|
||||
|
@ -3,6 +3,73 @@ title: RETRO ARCADE GAME
|
||||
subtitle: A tribute to retro classics
|
||||
---
|
||||
|
||||

|
||||
|
||||
|
||||
### LE PRINCIPE
|
||||
|
||||
Le but est de fournir un jeu ludique et personalisé pour mes neveux, dans l'esprit
|
||||
des jeux codés fin des années 90 : plateforme 2D à niveaux themés.
|
||||
Pour ce faire, nous allons récupérer un tas de "sprites" (animation 2D ou suite de différentes poses du personnage) ainsi que des décors pour créer des scènes sous Unity.
|
||||
|
||||
Ensuite, le plus dur est de codé les mécanismes de jeu... mais heureusement, il y a des tutos pour ça! (voir youtube, tutos, unity)
|
||||
Le cahier des charges est le suivant:<br>
|
||||
- Un level type Mario World<br>
|
||||
- Un level type Sonic<br>
|
||||
- Un level type R-type<br>
|
||||
- Un Level de type Street of Rage<br>
|
||||
|
||||

|
||||
|
||||
|
||||

|
||||
|
||||
----------------
|
||||
### LA V2.0 EN WEBGL
|
||||
|
||||

|
||||
|
||||
Cela fait un petit bout de temps que je voulais mettre en ligne la version 2 de mon projet de jeu mais des querelles de versions entre Unity et son plugin WebGL ainsi que le boulot m'ont
|
||||
freiné dans le processus, mais voilà la V2.0 avec un niveaux vraiment complet ainsi que pleins de nouvelles mécaniques est là!
|
||||
|
||||
Un petit listing des updates:<br><br>
|
||||
- Ajout d'un Game Manager qui persiste entre les scènes (persiste le score et les vies)<br>
|
||||
- Le coup de poing est disponible avant l'arme <br>
|
||||
- Le player peut désormais s'agenouiller<br>
|
||||
- Ajout des dragons cracheurs de boule de feu<br>
|
||||
- Ajout du boss Bowser<br>
|
||||
- Ajout d'un Menu avec choix du perso <br>
|
||||
- Nouveau HUD (affichage des vies et du score)<br>
|
||||
- Nouveaux FX visuels <br><br>
|
||||
J'ai dû en oublier mais l'essentiel est là. Pour essayer, toujours le même lien en dessous,
|
||||
Pour les commandes, les manettes type Xbox360 sont reconnus ainsi que le clavier, control pour tirer, espace pour sauter<br>
|
||||
|
||||
[LE JEUX VERSION WEBGL](../../docs/webgl/index.html)
|
||||
|
||||
----------------
|
||||
### LA V3.0 ANDROID
|
||||
|
||||

|
||||
|
||||
Nouvelle version avec un troisième level!
|
||||
Beaucoup d'améliorations au niveau des animations et du gameplay:<br>
|
||||
- Affinage du code des ennemis,<br>
|
||||
- Ajout d'ennemis au niveau 2 (Sonic)<br>
|
||||
- Ajout niveau 3 : Star wars en mode R-type pour ceux qui ont connus<br>
|
||||
- Ajout du menu pause avec l'option quitter<br>
|
||||
- Build Android avec contrôles tactiles<br>
|
||||
|
||||
Bref, pleins de belles choses à tester!<br>
|
||||
|
||||
[LE JEUX VERSION ANDROID](../../docs/android/EwannEtMilhauVSVideoGames.apk)
|
||||
|
||||
----------------
|
||||
### ROADMAP
|
||||
|
||||

|
||||
|
||||
### SCREENSHOTS
|
||||
|
||||

|
||||
|
||||
(Les références à "One piece" & "Yu-Gi-Oh!", c'est pour mes neveux...)
|
||||
|
BIN
static/docs/android/EwannEtMilhauVSVideoGames.apk
Normal file
BIN
static/docs/webgl/Build/EWANN ET MILHAU WEB GL.data.unityweb
Executable file
15
static/docs/webgl/Build/EWANN ET MILHAU WEB GL.json
Executable file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"companyName": "Gregan.Dev",
|
||||
"productName": "EwannEtMilhauVSVideoGames",
|
||||
"productVersion": "0.30",
|
||||
"dataUrl": "EWANN ET MILHAU WEB GL.data.unityweb",
|
||||
"wasmCodeUrl": "EWANN ET MILHAU WEB GL.wasm.code.unityweb",
|
||||
"wasmFrameworkUrl": "EWANN ET MILHAU WEB GL.wasm.framework.unityweb",
|
||||
"graphicsAPI": ["WebGL 2.0","WebGL 1.0"],
|
||||
"webglContextAttributes": {"preserveDrawingBuffer": false},
|
||||
"splashScreenStyle": "Dark",
|
||||
"backgroundColor": "#231F20",
|
||||
"developmentBuild": false,
|
||||
"multithreading": false,
|
||||
"unityVersion": "2019.2.19f1"
|
||||
}
|
BIN
static/docs/webgl/Build/EWANN ET MILHAU WEB GL.wasm.code.unityweb
Executable file
BIN
static/docs/webgl/Build/EWANN ET MILHAU WEB GL.wasm.framework.unityweb
Executable file
4
static/docs/webgl/Build/UnityLoader.js
Executable file
24
static/docs/webgl/TemplateData/UnityProgress.js
Executable file
@ -0,0 +1,24 @@
|
||||
function UnityProgress(unityInstance, progress) {
|
||||
if (!unityInstance.Module)
|
||||
return;
|
||||
if (!unityInstance.logo) {
|
||||
unityInstance.logo = document.createElement("div");
|
||||
unityInstance.logo.className = "logo " + unityInstance.Module.splashScreenStyle;
|
||||
unityInstance.container.appendChild(unityInstance.logo);
|
||||
}
|
||||
if (!unityInstance.progress) {
|
||||
unityInstance.progress = document.createElement("div");
|
||||
unityInstance.progress.className = "progress " + unityInstance.Module.splashScreenStyle;
|
||||
unityInstance.progress.empty = document.createElement("div");
|
||||
unityInstance.progress.empty.className = "empty";
|
||||
unityInstance.progress.appendChild(unityInstance.progress.empty);
|
||||
unityInstance.progress.full = document.createElement("div");
|
||||
unityInstance.progress.full.className = "full";
|
||||
unityInstance.progress.appendChild(unityInstance.progress.full);
|
||||
unityInstance.container.appendChild(unityInstance.progress);
|
||||
}
|
||||
unityInstance.progress.full.style.width = (100 * progress) + "%";
|
||||
unityInstance.progress.empty.style.width = (100 * (1 - progress)) + "%";
|
||||
if (progress == 1)
|
||||
unityInstance.logo.style.display = unityInstance.progress.style.display = "none";
|
||||
}
|
BIN
static/docs/webgl/TemplateData/favicon.ico
Executable file
After Width: | Height: | Size: 13 KiB |
BIN
static/docs/webgl/TemplateData/fullscreen.png
Executable file
After Width: | Height: | Size: 345 B |
BIN
static/docs/webgl/TemplateData/progressEmpty.Dark.png
Executable file
After Width: | Height: | Size: 155 B |
BIN
static/docs/webgl/TemplateData/progressEmpty.Light.png
Executable file
After Width: | Height: | Size: 159 B |
BIN
static/docs/webgl/TemplateData/progressFull.Dark.png
Executable file
After Width: | Height: | Size: 137 B |
BIN
static/docs/webgl/TemplateData/progressFull.Light.png
Executable file
After Width: | Height: | Size: 142 B |
BIN
static/docs/webgl/TemplateData/progressLogo.Dark.png
Executable file
After Width: | Height: | Size: 2.3 KiB |
BIN
static/docs/webgl/TemplateData/progressLogo.Light.png
Executable file
After Width: | Height: | Size: 2.2 KiB |
18
static/docs/webgl/TemplateData/style.css
Executable file
@ -0,0 +1,18 @@
|
||||
.webgl-content * {border: 0; margin: 0; padding: 0}
|
||||
.webgl-content {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
|
||||
|
||||
.webgl-content .logo, .progress {position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
|
||||
.webgl-content .logo {background: url('progressLogo.Light.png') no-repeat center / contain; width: 154px; height: 130px;}
|
||||
.webgl-content .progress {height: 18px; width: 141px; margin-top: 90px;}
|
||||
.webgl-content .progress .empty {background: url('progressEmpty.Light.png') no-repeat right / cover; float: right; width: 100%; height: 100%; display: inline-block;}
|
||||
.webgl-content .progress .full {background: url('progressFull.Light.png') no-repeat left / cover; float: left; width: 0%; height: 100%; display: inline-block;}
|
||||
|
||||
.webgl-content .logo.Dark {background-image: url('progressLogo.Dark.png');}
|
||||
.webgl-content .progress.Dark .empty {background-image: url('progressEmpty.Dark.png');}
|
||||
.webgl-content .progress.Dark .full {background-image: url('progressFull.Dark.png');}
|
||||
|
||||
.webgl-content .footer {margin-top: 5px; height: 38px; line-height: 38px; font-family: Helvetica, Verdana, Arial, sans-serif; font-size: 18px;}
|
||||
.webgl-content .footer .webgl-logo, .title, .fullscreen {height: 100%; display: inline-block; background: transparent center no-repeat;}
|
||||
.webgl-content .footer .webgl-logo {background-image: url('webgl-logo.png'); width: 204px; float: left;}
|
||||
.webgl-content .footer .title {margin-right: 10px; float: right;}
|
||||
.webgl-content .footer .fullscreen {background-image: url('fullscreen.png'); width: 38px; float: right;}
|
BIN
static/docs/webgl/TemplateData/webgl-logo.png
Executable file
After Width: | Height: | Size: 3.5 KiB |
25
static/docs/webgl/index.html
Executable file
@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en-us">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Unity WebGL Player | EwannEtMilhauVSVideoGames</title>
|
||||
<link rel="shortcut icon" href="TemplateData/favicon.ico">
|
||||
<link rel="stylesheet" href="TemplateData/style.css">
|
||||
<script src="TemplateData/UnityProgress.js"></script>
|
||||
<script src="Build/UnityLoader.js"></script>
|
||||
<script>
|
||||
var unityInstance = UnityLoader.instantiate("unityContainer", "Build/EWANN ET MILHAU WEB GL.json", {onProgress: UnityProgress});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="webgl-content">
|
||||
<div id="unityContainer" style="width: 960px; height: 600px"></div>
|
||||
<div class="footer">
|
||||
<div class="webgl-logo"></div>
|
||||
<div class="fullscreen" onclick="unityInstance.SetFullscreen(1)"></div>
|
||||
<div class="title">EwannEtMilhauVSVideoGames</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |