JeuWeb - Crée ton jeu par navigateur
Langages les plus appropriés pour du Point & Click - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Langages les plus appropriés pour du Point & Click (/showthread.php?tid=7906)



Langages les plus appropriés pour du Point & Click - L'Omniscient - 21-03-2018

Hello tout le monde,
Je viens vers vous pour me renseigner sur le Point & Click.
J'aimerais essayer de créer un jeu qui n'implique pas du multi-joueurs, qui soit plus direct qu'une interaction client - serveur, qui soit moins dépendant du navigateur et de l'écran en terme de code, qui ne nécessite pas de payer un serveur et un nom de domaine...
Enfin bref, je veux principalement travailler sur jeu sans m'encombrer de tous les défauts du jeu web :p Ce afin de pouvoir m'attarder plus en profondeur sur le gameplay !

Du coup, techniquement je penche sur quelques chose de très simple, du point & click, quelque chose d'assez littéraire avec choix de dialogues et orientation de l'histoire, déplacement sur du 2D de paysage fixe à paysage fixe.
Après pourquoi pas des phases de jeu un peu plus dynamique qui implique des minis-jeux assez simples.

Pourquoi pas aussi partir sur un moteur de jeu qui permette un déplacement en 3D sur une carte, mais je veux absolument pas partir sur de l'illustration 3D, personnages en 3D etc. Par contre, façon Don't Starve, ça ça peut le faire ! J'ai envie de rester assez libre dans mon dessin ^^ Ou sinon laisser de côté le travail sur le dessin et partir sur un jeu qui a été fait comme Rimworld ou Prisonarchitect (en insérant des illustrations parfois si c'est possible ?).

Ou sinon, peut-être que vous me conseillerez de rester sur du jeu web ? J'ai vu quelques jeux webs littéraires de dialogue, mais j'ai vraiment pas envie de me casser la tête avec les différents formats d'écran, les différents navigateurs, etc.

Fin voilà, je suis prêt à m'essayer à un nouveau langage, ou à une nouvelle manière de créer des jeux vidéos. Je crois que je dois pratiquer le jeu solo avant de poursuivre le jeu multi joueurs ^^

J'ai besoin de vos avis !


RE: Langages les plus appropriés pour du Point & Click - Xenos - 22-03-2018

Salut,

pour moi, la grosse différence qui permet de dire si tu fais du jeu web ou du jeu "AAA" (ie: classique client lourd PC) réside dans la question: "est-ce que je m'abstrait du support ou pas?"
L'avantage d'un jeu client lourd, c'est que tu fixes le contexte dans lequel le joueur joue: un écran, de environ telle taille par telle taille, avec telles ressources PC, en étant focalisé sur le jeu et rien d'autre, avec un clavier, une souris, etc. Pour un jeu AAA console, même principe, mais avec un autre contexte (écran TV souvent plus large, puissance de la console fixée, manettes,...) L'inconvénient, c'est que tu ne peux plus atteindre les joueurs hors de ce contexte (ton jeu Xbox aura du mal à être porté sur PC et inversement, et attention, je parle de portage: faire juste "tourner" un FPS PC sur une console n'aura pas du tout le même impact sur le gameplay, c'est donc bien un "portage" du gameplay qu'il faudra faire).
A l'inverse, le jeu web tente de s'abstraire du support (en tous cas, il propose les outils pour ça, après, on s'en sert ou pas) pour pouvoir proposer une expérience de jeu sur tout support (idéalement, c'est alors le navigateur qui fait le portage automatiquement, et tu crée ton jeu non pas "par rapport à" un contexte de jeu, mais par rapport aux specs du web que le navigateur suit également et adaptera). C'est donc un atout (plus de monde pourra y accéder) mais aussi un inconvénient (difficile de proposer une expérience de jeu 100% adaptée à chaque support, car le navigateur ne fera qu'un portage approximatif). Si tu te "casses la tête" avec les différents navigateur, c'est que t'as loupé l'intérêt du web: coder sur la spec et pas sur chaque navigateur (la spec abstrait le navigateur comme une interface "abstrait" une classe).

cf https://toile.reinom.com/les-differents-types-de-jeu/ pour le détail


Si tu veux te concentrer sur l'aspect "contenu" du jeu, il existe des sites proposant de créer sa "nouvelle graphique" ("visual novel", ouais ma traduction est foirée mais tu démarrera surement par une nouvelle plutôt qu'un long roman). Pas de code, pas d'emmerde associé, juste du contenu. Mais tu sera probablement plus limité (et est-ce gratuit et sans pub, je ne sais pas [je ne pense pas, mais t'auras de toute façon rien sans rien]). Il doit exister le même style pour du "client lourd", mais je ne sais pas si c'est une bonne piste pour de la visual novel (je trouve que c'est facile de faire tourner cela en web et le client lourd n'a donc que peu d'intérêt... mais bon, les vieux jeux de chez Cryo de 1995, c'était ça: du client lourd, du point & clic, et ça marchait bien donc des engines du style existent peut-être aussi).

Sinon, tu as aussi la solution du "forum de RP": pas de code, juste un forum avec des posts (verrouillés) liés les uns aux autres qui forment une histoire.

Enfin, deux mots sur les jeux réels: tu peux faire un "livre-dont-vous-êtes-le-héros", imprimé. Au lieu de faire des paragraphes, tu feras peut-être des images, mais là encore, c'est un support qui est accessible et à ne pas oublier.


Pour le point & click web, tu peux regarder comment j'ai monté Skye Birthday. C'est pas franchement lourd ni compliqué à faire (surtout si tu zappes le responsive: en fait, ce sont juste des pages web, chacune représentant une scène, et qui sont liées les unes aux autres, avec du JS pour stocker l'état du joueur).


------
Edit: A mon sens, en fait, l'essentiel est surtout de ne pas vouloir voir trop grand: il est bien plus simple de gérer 60 petits projets indépendants (60 petits chapitres de point & click) que de vouloir créer un seul et énorme jeu. Rien n'empêchant ensuite de mettre un peu de liant entre ces chapitres (ie: pouvoir passer du chapitre 1 au chapitre 2 sans revenir à l'accueil, garder une partie de son inventaire, garder son personnage, etc). J'ai beaucoup tourné en rond sur ECLERD v2, VariiSpace, voire même Iamanoc, pour finalement n'avoir qu'un truc pas super fini et creux. En revanche, sur les minis-jeux, ça dépote et je trouve cela bien plus simple et agréable de taffer 1 semaine sur une min-ijeu qui alors sort et est joué que 6 mois sur un énorme truc qui au final aura le même nombre de joueurs et de parties (voire moins!) que le mini-jeu... :/


RE: Langages les plus appropriés pour du Point & Click - L'Omniscient - 22-03-2018

Si je pars sur du web je pensais effectivement quelque chose comme Skye Birthday. J'avais aperçu un jeu web qui s'appelle "Amour sucré" j'ai trouvé ça assez bien fait niveau design (un grand décor en fond, des personnages devant). Je pensais à ce genre (c'est un peu le même genre que Skye Birthday). Mais encore une fois, les éléments qui me saoulent un peu pour le web :
- le chargement des images pas toujours immédiat
- la dépendance au domaine / serveur à payer
- et malgré tout, la non précision qu'il peut y avoir niveau design, du genre à un moment la table si tu la pose sur un fond de manière à ce qu'elle soit à l'angle d'un mur, elle ne sera plus à l'angle selon la taille de l'écran / le navigateur utilisé (est-ce que les autres langages sont aussi imprécis ?)

D'autre part, l'enregistrement durable de données me paraît importants, tu fonctionnes sur les cookies avec Skye Birthday ou autre chose ? Je trouve ça assez instable les cookies (pour le web si tu passes sur un autre ordi tu l'as plus, et sur ton propre ordi, si tu effaces les cookies tu ne l'as plus non plus). En plus si je passe sur un autre navigateur j'ai plus mon avancée non plus. J'aime bien les choses bien ancrées moi Big Grin

Concernant les jeux AAA, je veux bien m'y essayer, mais pour pouvoir modifier l'apparence du jeu, il faut utiliser des outils précis non ? Pour le coup je veux bien apprendre un langage, mais pas passer trois plombes à trouver / apprendre à utiliser un logiciel de 3D par exemple. (Enfin après, si je peux avoir le logiciel, pourquoi pas ne serait-ce qu'essayer). Je parlais de Don't Starve parce que c'est du 2D sur un déplacement 3D, ça ça me paraît plus abordable, ou alors de Rimworld / PrisonArchitect parce que c'est du pixel art, et ça pourquoi pas aussi ^^

J'avoue que les interfaces toute faites pour du web... Je préfères pas (un moment si tu te retrouves limité bah tu bidouilles des trucs de mer$$ pour essayer d'arriver à tes fins, je veux plus trop m'enfermer dans ce genre de trucs). Forum RP c'est pas assez interactif, je veux du click et du visuel plus que de la lecture ^^ Du coup livre dont vous êtes le héro pareil. Puis je ne veux pas du tout faire d'objet physique. J'ai plein d'objets physiques à vendre, exposés ou en attente de finissage (dont un livre d'ailleurs), c'est trop de frais, trop de moyens physiques nécessaires (parce qu'une reliure aux agraffes par exemple j'aime pas trop ^^" et pour le coup quand je fais des objets physiques je veux utiliser des belles matières), et puis ça demande beaucoup de mise en place pour être communiqué. Pareil un jeu de société... Pour y jouer c'est monstrueusement compliqué ! (Et le fonctionnement technique est plus complexe en papier qu'en web, je ne suis pas un vieux joueur de RPG sur table moi = ) ) Bref, je veux du virtuel ! Big Grin

Je veux pas spécialement faire du trop grand (enfin je suis spécialiste de vouloir faire trop grand). En fait je voudrais surtout travailler le visuel pour que tous les éléments visuels deviennent éléments d'univers : que l'habillement ou la coiffure représentent la culture par exemple, que les ambiances soient caractérisées. C'est déjà un gros travail, mais avant le côté ludique, ce qui m'intéresse c'est d'immerger dans un univers sensitif (et pas intellectuel, d'où le fait que je ne veuille pas me limiter à l'écriture). Et dans un second temps, je veux amener le joueur à avoir de l'impact sur cet univers : ses choix et ses actes qui vont définir ses relations et ses choix face au monde (genre les jeux Bioware Star wars Kotor, Dragon age, Mass Effect). Et j'aimerais aussi principalement travailler sur les relations du joueurs avec les autres personnages. Donc de base ça part sur du très simple en terme de codage, bien que ça ne me dérange pas de partir sur un jeu AAA si je peux avoir les moyens de vraiment transformer les fleurs, les arbres et les animaux par exemple (quitte à réaliser un univers avec 3 types d'arbres, 3 types d'animaux et 3 types de fleurs seulement). Mais autant sur un jeu web je saurais comment partir, autant sur un jeu AAA je n'ai aucune idée de comment me lancer ! (D'ailleurs du Point & Click sans 3D, c'est pas du AAA ? Ca s'appelle comment du coup ?)


RE: Langages les plus appropriés pour du Point & Click - Xenos - 23-03-2018

- Le chargement peut se préparer si nécessaire. Grosso-modo, cela veut simplement dire "rajouter une balise link dans le head". A défaut, il te suffira de lister les ressources (très simple à faire vu que tu as un dossier de ressources statiques: un bête PHP peut les lister) et de les faire ensuite charger une à une en créant une balise img et en chargeant l'image dedans (par exemple). Puis onload de l'image N, tu charges l'image N+1. Bref, c'est amplement solvable sans nécessiter de réapprendre tout un langage et un écosystème (ce qu'il te faudrait faire en client lourd)

- Tu auras de toute façon un serveur à payer si tu te fais un client lourd, car il faudra le diffuser. Les hébergeurs gratuits pour client lourds existent, mais seront tout aussi mal branlés et peu fiables (ie: pubs partout voir modification du contenu téléchargé) que ce soit un site web ou un client lourd. En revanche, un jeu réel (physique, type jeu de société ou livre papier) n'aura pas ce problème (mais en amènera sûrement d'autres)

- La précision, tu peux l'avoir sans soucis: regarde comment est placée la branche d'arbre sur la première scène de Skye Birthday. Si mes souvenirs sont bons, quelque soit le ratio d'aspect de l'écran, la branche est bien placée.

Un autre atout du web pour ce genre de jeu: il te faudra peut-être creuser le JS et le CSS (le vrai hein, pas les chiasses de jQuery et de BootStrap) ce qui t'amènera des compétences franchement utiles niveau métier de l'informatique (si tu t'y destines). Avoir appris le CSS et JS pour sont jeu de point & click est potentiellement plus rentable qu'apprendre RPGMaker ou assimilé pour ce même point & click (en revanche, apprendre Unity ou Unreal Engine pour son point & click, là, cela peut être tout aussi utile, si tu ne veux pas faire de web plus tard comme métier).

Pour l'enregistrement durable des données, il y a le localStorage. Rien ne t'empêche également de stocker une copie en BDD. Cela requièrera juste un peu plus de code pour faire une partie "inscription" simple. Le localStorage n'a pas vocation à être purgé par le navigateur (sauf si tu y stockait des dizaines de Mo genre en voulant t'en servir comme d'un recodage du cache du navigateur... Si si, j'ai déjà entendu ce genre d'idée, et c'était même ici je crois). Variante: proposer de télécharger sa partie pour que l'utilisateur la stock où il le veut. C'est simple à faire, et cela évite la BDD (regarde du côté du gamebook: je crois que la feuille d'aventure peut être ainsi sauvegardée en JSON et rechargée).
Avec un client lourd, tu auras les mêmes problèmes de partage de sauvegarde, voire pire.

Par "jeu AAA", j'entends juste les "clients lourds" (ie: truc à télécharger avant de jouer, même si c'est plug-n-play ou si c'est un "installateur léger"). C'est pas nécessairement un 3D sous Unreal Engine.

Les jeux que tu cite, c'est des équipe de 100aines de personnes, à plein temps, et avec du financement, donc ne part pas sur "je veux faire un peu comme...". Essaie plutôt de trouver les petites perles faites par un type ou deux, sur leur temps libre, pour se marrer. Un jeu avait été présenté sur ce forum avec un tchat axé politique et magouilles, dans lequel on était un maire ou assiatnt du maire, et on dialoguait avec quelques personnalités politiques et économiques. C'était très simpliste, mais cela permettait de faire passer le message de l'auteur du jeu. Je pense qu'il te faut plutôt imaginer les choses dans ce genre d'optique (simples, axées sur ce que tu veux faire, et pas forcément hyper-riches). Les minis-jeux que j'ai sont les seuls vrais projets jouables et aboutit, et aucun n'a un gameplay de foli hyper-étoffé...

Bref, vu ce que tu veux faire, très similaire à Skye Birthday mais avec un univers totalement différent et probablement plus de contenu, je dirai qu'il te suffit de pages web classsiques, HTML, CSS, JS pour l'enchainement des dialogues, avec une page par scène (ie: par lieu et unité de temps). Rien ne t'oblige à faire du responsive (tu peux parfaitement fixer un aspect ratio pour ton conteneur de jeu, et le centre à l'acran point barre; d'ailleurs, je me demande si je n'avais pas fait ainsi pour Skye Birthday...). Ca te permettra de poser très vite une base de jeu. En 2 semaines, tu pourras sortir un premier truc "jouable".


RE: Langages les plus appropriés pour du Point & Click - Thêta Tau Tau - 23-03-2018

Je vois qu'il n'y a pas beaucoup de gens pour défendre les moteurs de jeu ici, pourtant je pense que ça peut avoir un intérêt, même pour les petits jeux.

Même pour un jeu simple si on veut bien faire les choses on a besoin de plein de trucs avant de commencer à développer le jeu lui même.
Par exemple :
-Un éditeur de niveau
-Un gestionnaire de ressources
-Un loader
-Une interface
-Un système de sauvegarde
-La boucle de jeu
-La gestion des sons/musiques
-Un système de particules
-Des effets graphiques divers (fondus, screen shacking etc.)
-etc.

Chacune de ses fonctionnalité prise indépendamment n'est pas forcément hyper compliquée à développer from scratch, mais devoir tout faire risque d'être décourageant, et surtout c'est du temps qu'on passe pas sur le développement du jeu lui même.

Du coup utiliser un moteur prends tout son sens.

J'utilise Unity depuis quelques mois, je l'ai trouvé facile à prendre en main (beaucoup plus simple que n'importe quel framework web). La doc est bien faite, il y a une chiée de tutos. Une fois la logique du moteur comprise tout deviens intuitif. Finalement on code assez peu, le moteur ayant été conçu pour permettre aux non-codeurs de travailler efficacement on peut pratiquement tout faire en quelques drag&drop et formulaires à remplir. Il y a toujours besoin de coder, mais uniquement les trucs spécifique au jeu.

Certes si on veut faire un jeu "state of the art" en 3D réaliste avec physique au poil de cul tout ça tout ça c'est vite très compliqué, mais si on veut rester simple on peut aussi. C'est pas parce que le moteur peut faire plein de trucs qu'on peut pas l'utiliser pour faire de la 2D basique (ou de la 3D basique, hein, c'est pas compliqué non plus).


RE: Langages les plus appropriés pour du Point & Click - Xenos - 24-03-2018

Je ne l'ai pas jeté l'engine 3D AAA classique (Unreal, Unity ou NeoAxis ou même autre), c'est en effet une très bonne piste. Sauf que "mais je veux absolument pas partir sur de l'illustration 3D, personnages en 3D etc." limite l'usage des moteurs 3D. Je sais, je sais, on peut faire du 2D avec Unreal ou Unity, mais cela ne change pas la question principale permettant de savoir si on veut d'un moteur classique client-lourd ou pas:

"Est-ce que je veux m'abstraire du support?"

Parce que je suis d'accord: Neoaxis, tu l'installes, tu y joues 30 minutes pour essayer un peu toutes les démos, puis tu lances l'éditeur et en 5 minutes montre en main tu as ta première carte. Donc, y'a vraiment que le contenu à créer. Après, transformer le FPS par défaut en point & click, c'est amplement faisable (la différence étant juste de "locker" les mouvements et de ne permettre que la rotation de la caméra à des points-clefs). Mais, et c'est là l'ensemble des points qu'il faut alors accepter: il faudra un circuit de distribution du jeu, y compris pour les MaJ (Neoaxis n'offre rien du genre je crois, peut-être Unreal/Unity ont-ils un équivalent "Steam"... sinon, il faut réussir à percer sur Steam même... et sinon on retombe sur le site web classique pour le distribuer) et il faut accepter que le jeu tournera probablement que sur PC (Unity se vante bien d'être "exportable" sur tous supports, mais franchement, je doute que cela se fasse automatiquement et sans aucun travail... je me vois mal jouer à un FPS sur mobile sans aucune adaptation)

Edit: attention aussi aux clients lourds car ce sera probablement à toi de gérer toutes les mises à jour. C'est à dire que Firefox/Chrome/etc se mettent tous seuls à jour et suivent les nouvelles APIs du web sans aucun taff de ta part (ce qui, à l'inverse, peut parfois avoir l'inconvénient de planter ton jeu, cf https://xenos.reinom.com/coast-harbor/ qui marchait impec sur FF et maintenant rame beaucoup trop et a une sprite plantée). Pour un client lourd, ok, tu ne gèreras pas le code de mise à jour du moteur, mais ce sera probablement à toi de gérer son déploiement pour ton jeu...


RE: Langages les plus appropriés pour du Point & Click - Thêta Tau Tau - 24-03-2018

(24-03-2018, 11:52 AM)Xenos a écrit : Unity se vante bien d'être "exportable" sur tous supports, mais franchement, je doute que cela se fasse automatiquement et sans aucun travail... je me vois mal jouer à un FPS sur mobile sans aucune adaptation)

Honnêtement si, ça peut se faire en quelques clics. Les seuls soucis c'est que sur mobile/web t'as des effets graphiques qui ne sont pas compatibles. Et bien sur passer de contrôles souris/clavier à manette ou à tactile ça va demander une version du jeu différente voir ne va pas être possible selon le genre de jeu (oui les FPS sur mobile, ça le fait pas trop). Mais pour un point&click, à priori ça me semble aisé de faire un truc qui marche bien à la souris et en tactile. De plus les "effets graphiques pas compatibles web/android" c'est surtout des trucs en 3D, je pense qu'en 2D ça pose beaucoup moins problème.

Pour les difficulté de distribution des clients lourds, il y a certes la barrière de l'installation, qui va poser problème surtout pour les mini-jeux. Après niveau hébergement il y a pas mal de solutions, y compris gratuites (perso pour les mini jeux genre mes participations au LD, je met sur dropbox je me fait pas chier). Et pour "percer" c'est le même soucis qu'on soit web ou pas, il faut faire en sorte d'être bien référencé et/ou faire de la pub.