Lancer un caillou et rentrer dans une maison

Me voilà déjà dans le dur. Il fallait bien que ça arrive, après la période gratifiante des débuts où tout marche très vite car c’est  simple. « Je découvre, je teste, ça fonctionne ». Ou au pire « je découvre, je teste, ça marche pas, je corrige un peu, ça fonctionne ». Le bon vieux temps.

Là j’en suis au moment où les choses ne fonctionnent pas alors qu’en toute évidence elles devraient fonctionner parce qu’on a déjà fait la même chose quelques heures avant et que ça marchait. Dans ce cas là on refait tout étape par étape, on essaye d’écarter peu à peu tous les facteurs potentiels d’échec pour isoler celui qui nous emmerde et l’éliminer, mais évidemment ça marche pas. Les heures passent, on refait le chemin, on fait pareil et ça veut pas. Le facteur d’échec se cache bien, le salaud. Il va falloir du temps pour le débusquer.

Ce qui est marrant dans la programmation, ou du moins la version édulcorée que je pratique via GameMaker, c’est que rien ne va de soi. Quand un personnage lance une pierre a priori ça semble simple, et ben pas du tout. Il faut tout préciser. Que la pierre doit partir de la main, que la pierre va à telle vitesse, qu’elle blesse si on est sur son chemin, qu’elle doit disparaître un jour… La programmation c’est un peu comme tout apprendre à quelqu’un qui ne comprend rien à rien. Et quand on commence à l’étudier c’est la même chose sauf que soi-même on sait rien non plus et qu’on doit s’aider d’un dictionnaire qu’on a du mal à déchiffrer…

Au début mon personnage lançait une pierre en ligne droite, qui ne tombait jamais. Mais je me suis dit que ce serait mieux qu’elle tombe. Dans ce cas là j’ai pensé à la possibilité de donner un chemin à la pierre, un « path » comme on en fait pour un monstre ou un animal qui bouge dans le décors, comme ça :

path

Une solution qui aurait pu fonctionner mais complètement inadaptée évidemment. Enfin je crois.

Donc j’ai opté pour l’usage de la gravité : ma pierre partait tout droit, mais était attirée vers le bas au fur et à mesure de sa progression. C’était nettement mieux. Par contre elle continuait sa route jusqu’à disparaître de l’écran, et il aurait fallu pour un  meilleur effet qu’elle disparaisse lorsqu’elle arrivait grosso modo au niveau des pieds de mon personnage. Je pensais trouver un truc pour la détruire lorsqu’elle arriverait à une certaine coordonnée horizontale mais comme j’ai pas trouvé, j’ai opté pour une autre solution, à savoir un timing qui fait disparaître le caillou au bout d’un certain laps de temps, que j’ai bidouillé pour qu’il colle à peu près au moment voulu.

Ca donne ça (en vrai c’est mieux là c’est un gif pourri fait avec quelques images, donc c’est forcément moins fluide) :

pierre

Ca au moins c’est plus ou moins réglé.

Le truc beaucoup plus pénible c’est d’entrer dans les maisons. Je pensais que ce serait simple : je mets un petit sprite invisible sur la porte à l’extérieur, qui réagit au contact de mon personnage et l’envoie dans une autre zone qui est l’intérieur de la maison, j’avais fait ça dans ma petite démo pour le changement de zones et ça marchait très bien. Sauf que là ça veut pas, pour une raison non élucidée jusqu’à présent. Mon personnage rentre dans la maison, mais il disparaît aussitôt, semble-t’il envoyé à des coordonnées hors de l’écran… Et je me retrouve comme un con avec un intérieur de maison vide. Ou alors il faut que je crée un autre personnage dans la maison comme je l’ai fait dans les illustrations ci-dessous, mais à ce moment là le personnage se retrouve avec un double à la sortie de la maison, ce qui n’est pas du tout satisfaisant.

Ce qui est intéressant avec ce genre de problème technique, c’est qu’à un moment donné on se lasse d’échouer d’une certaine manière et on cherche une autre manière de faire. Ce qui est souvent possible.

Donc puisque mon personnage disparaissait si je changeais d’écran en rentrant dans une maison (voir ci-dessous)

ext_jojoint_jojo0

je me suis dit après tout, pourquoi vouloir changer d’écran ? Pourquoi ne pas simplement changer le sprite de la maison quand tu rentres dedans, en restant dans le même environnement, comme ça :

int_jojo_2

Bon là sur l’image on dirait que ça marche, mais en fait ça marche pas, j’ai testé différents trucs mais c’est pas au point.

Donc me voilà avec le choix entre deux solutions qui ne fonctionnent pas, c’est super. Mais l’autre  truc intéressant c’est qu’en cherchant une solution alternative je me suis rendu compte qu’une autre méthode impliquait des différences pas forcément envisagées par ailleurs et pourtant notables. Avoir un intérieur qui s’affiche sur fond d’écran noir, isolé du reste du village, ça n’est pas du tout pareil que de rentrer dedans en voyant toujours l’environnement extérieur. La première méthode diffuse un sentiment d’isolement, mais aussi de protection et de repli. Elle provoque une rupture dans le mouvement du joueur. La seconde place davantage les intérieurs comme des lieux comme les autre. On a pour ainsi dire moins la sensation de rentrer dans des bâtiments, on rentre tout en restant dehors d’une certaine façon.

Considérations intéressantes, mais qui ne m’avancent pas beaucoup au niveau concret. Je vais dessiner un peu, en attendant qu’une bonne idée me vienne ou qu’une âme charitable me vienne en aide.. De toute façon j’ai le dictionnaire, je trouverai bien un jour.

Publicités

2 réflexions sur “Lancer un caillou et rentrer dans une maison

  1. On passe aux choses sérieuses, on dirait… En tant que joueur potentiel j’attends beaucoup de cette étape mais je suis surtout intéressé par l’évolution de ton style de représentation graphique en rentrant dans les baraques… N’hésite pas à nous montrer les dessins d’intérieurs même si entrer/sortir ça marche pas pour l’instant. Je trouve que l’esthétique de l’univers du jeu est très important (pour moi) et tu sembles développer un style qui t’es propre. Très curieux de ça.

    J'aime

  2. Ah ben oui, ça c’est un style qui est personnel :D. Même si j’utilise différents trucs qui me tombent sous la main comme base, ça passe à ma moulinette et ça ressort à mon standard ! Et puis c’est agréable, je dessine tellement mal que dès qu’un objet ressemble un peu à ce que je veux représenter c’est comme un miracle et je suis content.

    J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s