feat: ajout de mes projets Sonic Xtreme

This commit is contained in:
Kazhnuz 2023-09-02 12:47:31 +02:00
parent d8d7208149
commit 6fe843d9d9
10 changed files with 62 additions and 13 deletions

38
content/sonic/paper.md Normal file
View file

@ -0,0 +1,38 @@
---
layout: layouts/base.njk
eleventyNavigation:
key: Paper Sonic
parent: Sonic the Hedgehog
order: 5
---
# Paper Sonic
Le projet "Paper Sonic" était une évolution de mon projet Sonic Xtreme, ou j'avais un peu abandonné l'aspect Sonic Xtreme, pour tenter de réutiliser des sprites de megadrive dans un environnement 3D en caméra fixe. Ça devait être un jeu de plateforme avec des composantes action-RPG, à la manière de Super Paper Mario sur Wii, mais dans un environnement plus "blocky" à la Sonic Xtreme.
![Sonic, en sprite megadrive, dans un environnement blocky un peu futuriste/utopique](/img/xtreme/paper/utopia.png)
Le projet était fait en parallèle de celui Sonic Xtreme et les deux se nourissaient un peu. Il a été abandonné vers 2013, quand j'ai commencé à manquer de temps et n'avait plus de PC Windows pour utiliser Game Maker.
## Pourquoi ?
Passer de Sonic Xtreme à un Paper Sonic peut sembler, étrange, et ça vient d'une envie que j'avait et que je ne pouvais pas faire avec le jeu de base : ajouter du multi-personnages. L'idée du coup était qu'en utilisant les sprites des perso sur MD, ou en style MD, ce serait plus simple pour moi de faire du multi-personnage, là ou Xtreme n'avait des sprites que pour Sonic.
![Screenshot d'un menu de ou on voit deux niveau accessible, Techno Paradise et Floating stones, et Sonic, Tails et Knuckles jouable](/img/xtreme/paper/menu.png)
L'aspect plus RPG est venu rapidement, mais n'a jamais vraiment été implémenté. Le plus que j'ai mis, c'est un sprite de Shadow dans l'un des niveaux de tests.
![Sonic, face à Shadow dans un environnement de neige](/img/xtreme/paper/icelevel.png)
## Soucis rencontrés
Encore une fois, quelques soucis dans ce projet :
- Je galérait à l'époque à bien gérer mes courbes d'acceleration, du coup mes perso était super lourd et patinettes
- J'avais tendance à réfléchir le jeu en "vue de devant" alors qu'avec les sprites la vue de côté était de mise
- Les collisions étaient pleines de soucis, parce que j'avais séparé les "murs" et les sols, ce qui provoquait des collisions pas hyper bien finies
De plus, le code source s'est retrouvé dispersé dans deux fichier .gmk, (du à un ou j'expérimentait une refactorisation du moteur) ce qui fait que j'ai jamais vraiment pris le temps de tout réunir et adapter.
En plus, y'avait quelques bugs graphique sur la première version du moteur… qui était aussi celle qui avait le plus de contenu.
![Knuckles, face à un fragment de la Master Emerald dans un environnement désolé](/img/xtreme/paper/floating.png)

View file

@ -1,3 +1,11 @@
---
layout: layouts/base.njk
eleventyNavigation:
key: Sonic Xtreme
parent: Sonic the Hedgehog
order: 4
---
# Sonic Xtreme Remake
Comme beaucoup de jeunes fans de Sonic un peu dev, j'ai été fasciné par Sonic Xtreme quand j'étais plus jeune, et j'ai fait plusieurs tentatives de le recréer ou de partir de ses principes. J'ai fait quelques tentatives de recréation du jeu, chacune avec leurs qualités et défauts. J'avais plusieurs projets d'histoire, un qui mélangeait notamment pas mal d'élément de "titre oublié", et une autre ou je fusionnais toutes les histoires, notamment les trucs lié à la sorte de "Virus" qui contamine Sonic.
@ -6,6 +14,8 @@ Comme beaucoup de jeunes fans de Sonic un peu dev, j'ai été fasciné par Sonic
La première tentative avait un défaut particulier, le fait d'être en vue de derrière. Si cela peut parraitre pas tant à première vue, en fait cela provque pleins de complexité, et a fait que je savait que je devais passer en caméra fixe à côté de cela. Le moteur utilisait Game Maker avec un faux système de 3D pour les collisions : une collision 2D pour savoir si j'étais dans la zone de la plateforme, puis un check de la valeur z pour savoir ou je me situait sur l'axe en plus.
![Sonic, de dos, dans un terrain très "blocky" typé green hill](/img/xtreme/screen.png)
Plusieurs trucs m'ont fortement handicapé dans ce projet (outre mon manque de connaissance à l'époque mdr) :
- Les soucis de caméra (surtout que c'était full clavier avec juste une caméra tank, soit un peu incontrolable)
- Ce n'était pas possible de faire des éléments par dessus des autres
@ -13,21 +23,16 @@ Plusieurs trucs m'ont fortement handicapé dans ce projet (outre mon manque de c
Mon plan pour gérer ça était de passer en caméra fixe, et de build les niveaux à partir de ça. Pour le second aspect, il me fallait un éditeur de niveau custom. Pour le premier aspect, le plan à rapidement évolue vers un autre projet, "Paper Sonic".
## Paper Sonic
Une autre tentative que j'ai fait était une approche plus "Paper-Mario-esque". C'était le même moteur, mais j'étais sortie de l'idée "refaire Sonic Xtreme" et plus "chercher des idées pour faire un Sonic en caméra fixe". L'idée derrière le jeu était qu'en utilisant les sprites des anciens personnages, ce serait plus simple pour moi de faire du multi-personnage, là ou Xtreme n'avait des sprites que pour Sonic.
Encore une fois, quelques soucis dans ce projet :
- Je galérait à l'époque à bien gérer mes courbes d'acceleration, du coup mes perso était super lourd et patinettes
- J'avais tendance à réfléchir le jeu en "vue de devant" alors qu'avec les sprites la vue de côté était de mise
- Les collisions étaient pleines de soucis, parce que j'avais séparé les "murs" et les sols, ce qui provoquait des collisions pas hyper bien finies
Je comptais commencer à rajouter des éléments "RPG-esque" à la Paper Mario, mais je ne l'ai finalement jamais fait.
## Moteur de création de niveaux
## Editeur de niveaux
Un petit projet de création de niveau. Il générait un modèle qui serait utilisé par Game Maker avec un moteur de collision 3D que je comptais réutiliser. Ce projet a été plutôt fonctionnel en tant qu'éditeur, et l'export/import marchait pas trop mal.
![Un éditeur de niveau, pour faire des niveaux très blocky. Sonic y est visible de dos, quelques anneaux sont placé.](/img/xtreme/editor.png)
L'itnerface devait permettre de modifier la texture de l'appreil du block posé (c'était pas encore fonctionnel), et de poser différents types de blocs et objets
## Création d'un fisheye
En parallèle de ça, j'avais tenté de coder un système de fisheyes, basé sur un exemple de distortion d'écran pour Game Maker. À l'époque, je connaissais pas tout ce qui était vertex shader, donc ça avait été géré de manière plus dégueux.
En parallèle de ça, j'avais tenté de coder un système de fisheyes, basé sur un exemple de distortion d'écran pour Game Maker. À l'époque, je connaissais pas tout ce qui était vertex shader, donc ça avait été géré de manière plus dégueux.
![Un test de caméra en fisheyes, déformant les côté pour donner un aspect sphérique.](/img/xtreme/fisheyes.png)

View file

@ -210,3 +210,9 @@ footer {
margin:12px;
}
#page img {
max-width:100%;
height:auto;
display:block;
margin:auto;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB