SokoCar
About
Elève Premium de Gamecodeur depuis 11 mois
Langage C# Framework Monogame
Codé par moi, modèle 3D voiture issu de Blendswap.com, sons issus de freesound.org. Détails dans Credits.txt du zip.
Librairie externe: BEPUphysics pour la physique (sources intégrées au projet ce qui permet de comprendre et de personnaliser)
Temps passé 50 heures
Postmortem Technique:
Pour mes 11 mois et 6ème participation aux JAM Gamecodeur je me suis lancé un défi : la 3D !
Je suis parti de l'atelier sur les bases de la 3D
ça a été très instructif d'être confronté à certaines problématiques de la 3D que les moteurs de jeu nous cachent complètement.
Passer + d'1 demi journée pour réussir à faire simplement (sans copier coller des tonnes de code usine à gaz) une caméra qui suit le joueur en rotation...
Même si au final dans ce jeu la camera la plus jouable est fixe, c'était intéressant et ça me servira pour d'autres jeux.
Comprendre les formats d'export, les problèmes d'échelles/positions/rotations initiales entre blender et monogame.
Générer un terrain 3D, à partir d'une heightmap en niveaux de gris: Des jours de recherche pour en comprendre l'essence même et éviter d'utiliser des monstres de code tout faits.
La physique: j'ai essayé de gérer ça moi même, mais là, j'ai trouvé mes limites : en 3D c'est un cauchemar de gérer les collisions précisément.
Savoir si il ya eu collision ça va: au pire on considère une boite comme un ensemble de petites sphères.
Mais savoir exactement OU a eu lieu une collision, on arrive dans des calculs d'une complexité...
J'ai donc utilisé une librairie Physique BEPUphysics. Mais en intégrant les sources au projet, pour pouvoir comprendre un mimumum comment c'est fait en mode debug pas à pas.
Postmortem Gameplay:
Quitte à faire de la 3D et se lancer des défis, autant controler ce qui me plait le plus dans les jeux: une auto.
Le gameplay Sokoban de base, en voiture, c'était chiant: la précision requise pour placer les boites n'était pas amusante.
Donc j'ai adapté le gameplay pour que ça soit fun: ejecter les caisses dans le vide, on a trouvé ça très fun avec mon fils.
D'ailleurs j'ai pas pu coder autant que je voulais : on a passé pas mal de temps à y jouer en fait.
Postmortem Methode:
Contraitrement aux 5 autres JAMS, j'ai passé la majorité du temps à vraiment faire le coeur du jeu (avec quand même gestion de menu, win/loose et multi niveaux)
Mais jusqu'au dernier jour, je n'ai fait que 2 niveaux, pas de son, et interface minimale.
L'ajout d'autres niveaux, de sons, de vidéos, et l'amélioration des textes n'ont été faits que le dernier jour très rapidement.
Bref j'ai mieux géré les priorités et pas trop perdu de temps sur des détails.
Les JAMS nous apprennent bien à faire ça de mieux en mieux.
Egalement, un des meilleurs conseils de David que j'ai suivi et qui a bien marché:
Mettre à la poubelle un truc qui marche pas bien ou qui est trop lourd, et le refaire !