En gros comme les langages de programmation… c’est intéressant, je ne voyais pas ça comme ça. Pour le cout je n’ai pas de préférence sql ou json, mais je n’ai jamais utilisé dans le cadre de jeux vidéos. En théorie je pourrais même faire mon propre style de base de donnée avec mes propres méthodes ?
Tu peux toujours réinventer la roue si tu veux, mais est-ce que ça en vaut vraiment la peine ? La roue de ta propre fabrication sera forcément moins bien que celles prêtes à l’emploi que tu peux trouver et qui ont été largement éprouvées (à moins que tu sois très doué et que tu aies des idées révolutionnaires, probabilité pas complètement nulle mais très, très, très faible)
Inventer sa propre variante de JSON, ou recréer soi-même une bibliothèque pour lire/écrire du JSON, ça peut être une chouette introduction au parsing, et te donner l’envie de poursuivre avec un mini langage de programmation par la suite, peut-être, pourquoi pas. De même, créer un petit moteur de base de données basé sur SQL, c’est un fantastique moyen de découvrir comment ça marche en interne.
ON peut dire la même chose avec le moteur graphique, le moteur audio, ou n’importe quoi d’autre. On peut même descendre au niveau assembleur, ou carrément au niveau matériel si on veut. Aujourd’hui on trouve à peu près tout si on veut se lancer.
Si ces sujets t’intéressent, essaye, documentes-toi, amuse-toi ! Tu pourrais bien découvrir des mondes fascinants que tu ne soupçonnes même pas. C’est toujours très enrichissant pour sa culture personnelle de s’amuser à réinventer la roue. ON est même meilleur pour utiliser les roues préexistantes après avoir compris comment ça marche et essayé soi-même, c’est prouvé. Par exemple, tu comprends mieux pourquoi certaines choses sont plus performantes que d’autres, pourquoi certaines choses ont été ainsi conçues et pas autrement, les choix que les concepteurs ont fait ou ont dû faire et pourquoi, après t’y être un peu frotté toi-même un peu.
Par contre, si ton objectif est de terminer ton jeu vidéo un jour, réinventer la roue, ça n’a aucun intérêt. Tu te noiras dans des détails et tu n’aboutiras à rien.
Cela dit, ça peut t’arriver à toi aussi. Je me suis moi-même pris de passion pour certains de ces sujets, à tel point que je me suis aperçu que, parfois, ça m’amuse presque plus de créer un moteur/système/outil qui permet aux autres de créer quelque chose, plutôt que de créer ce quelque chose moi-même directement. En d’autres termes ça me passionne presque plus de construire un marteau plutôt que d’en utiliser un pour construire un objet concret. Je ne sais pas si c’est très clair… Mais ça, c’est personnel.
Pour en revenir à nos moutons, si tu cherches un format pour échanger des données en réseau en temps réel, le format JSON peut tout à fait convenir pour un jeu amateur, mais les jeux vidéo ont tous créé leurs propres formats binaires car ça leur permet d’être nettement plus performants, autant en CPU qu’en bande passante, en plus d’évidemment compliquer passablement la triche.
Les besoins ne sont pas les mêmes pour des échanges en réseau que pour un stockage.