Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » RPG OpenWorld Online
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

RPG OpenWorld Online

Posté le 17/02/2023 00:34

Bonjour tout le monde !
Ça faisait longtemps n'est-ce pas ? Je me suis absenté pendant un moment et je reviens vers vous avec du lourd ! Du très très lourd !

aparté
Cliquer pour enrouler

Petite aparté, non, le projet ParticuleEngine n'est pas mort. J'y travaille toujours, mais avec mes études qui prennent tout mon temps, c'est compliqué d'avancer dessus. Mais dites-vous qu'il y a eu pas mal de travail dessus, c'est juste que je n'ai rien montré pour l'instant. Mais revenons au cœur de ce projet.


Je vais commencer mon introduction en vous injectant une idée toute simple :
Et si on pouvait créer un jeu où tout le monde pourrait le modifier, rajouter des quêtes en temps réel, éditer la carte et jouer en multijoueur dessus, etc. En gros, un Zelda/Dofus/World of Warcraft modifiable par la communauté et validé par la communauté. Autrement dit : un RPG Maker Online.

Pour couronner le tout, imaginons que ce jeu soit multiplateforme, compatible avec les Casio, la Nintendo DS, 3DS, WII, Switch, PSP, Windows, Linux, Android, etc., afin de créer la fusion entre toutes les communautés existantes et de donner une seconde vie à ces anciennes consoles (et aussi les récentes).

Vous en pensez quoi ? Trop ambitieux ? Laissez-moi vous montrer que ce n'est pas si compliqué que ça si tout le monde rajoute sa pierre à l'édifice.

Vous voulez des preuves que c'est faisable, n'est-ce pas ? Et bien, je vais vous en donner !

Il y a un moment, j'ai créé un topic où j'ai montré que j'avais recréé RPG Maker ici. Vous vous en doutez, c'est sur cette base que ce projet repose. Car j'ai refait 80% de RPG Maker, ça m'a pris du temps, mais ça fonctionne !

De plus, j'ai non seulement créé le mode « joueur » mais aussi le mode éditeur ! Ce qui veut dire qu'on peut techniquement créer des cartes sur Casio (même si pour l'instant je l'ai fait que sur Windows, mais bon tkt).


Et enfin, est-ce que vous connaissez devkitpro ? En gros, c'est une giga librairie qui permet de créer des programmes pour la DS, 3DS, Switch, wii, etc. Et il y a aussi pspsdk pour la PSP. Bref ! Vous avez compris là où je voulais en venir… Mais vous savez quoi ? Bah en fait, j'ai adapté ParticuleEngine pour qu'il puisse compiler sur tous ces supports. C'est bon pour vous ? (En vrai, il me reste à faire quelques ajustements, mais c'est bon trql).
Grosso modo, t'as un code source, mais genre un seul vraiment, et ça compile pour toutes les versions. Miam ! La petite dose de dopamine de satisfaction !

Mais là, vous vous dites : « Mais Farhi ! Comment vas-tu faire pour le mode Online sur Casio ? »
Sur ce, je vais vous répondre : Le port 3-pin ! (En vérité, j'ai prévu d'autres alternatives aussi).

Revenons un peu plus en détail sur l'idée. Ce projet est en d'autres termes une sorte de GitHub version jeu vidéo, c'est-à-dire que si tu veux créer une quête, étendre la carte, créer des donjons, etc., et bien tu peux ! Cela créera une sorte de branche dans le projet principal. Cependant, pour éviter que les gens fassent n'importe quoi, un vote sera organisé, par exemple tous les mois, pour valider une modification et ainsi fusionner ta branche avec la branche principale du projet. C'est donc un projet fait par la communauté pour la communauté et validé par celle-ci !

C'est donc, vous l'aurez compris, un jeu open world (puisque l'on peut étendre la carte). C'est le « nouveau Minecraft » version RPG.

Voilà ! Toutefois, ce que je vais dire est très important. Ce projet est un très gros projet. Je vous le dis directement, je ne pourrai pas le faire seul. Donc soit il y a des gens qui sont motivés pour faire naître ce projet, soit je l'enterre directement. Car seul, ce n'est pas possible, et de plus, c'est un projet communautaire. De plus, je vais publier toutes les sources du projet. Il sera donc open source.

Par exemple, j'aurais besoin de personnes qui m'aident à refaire les Tilesets de RPG Maker pour qu'on n'ait pas de problème de copyright et que le jeu ait sa propre identité. J'aurais aussi besoin de personnes qui m'aident pour la partie « serveur » et « fusion » (fusion des branches et structure d'envoi des modifications/push).
Moi, je m'engage à faire la partie programmation du jeu lui-même, c'est-à-dire ses mécaniques, compatibilité, système de base, mode éditeur, etc. Mais pour tout le reste, j'aurai besoin d'aide.

De plus, n'hésitez pas à ramener des gens venant des communautés de dev DS, 3DS, etc.
Voilà ! J'ai terminé d'expliquer mon idée, j'attends vos retours pour savoir si ce projet peut naître ou si je l'enterre dès maintenant .


1, 2, 3 Suivante
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 17/02/2023 09:47 | #


Je dois admettre que tu coches bien les cases du projet collaboratif. En particulier quand tu dis avoir adapté devkitPro, ie. déjà trouvé une solution technique très intéressante pour lancer le projet.

Perso mes disponibilités sont erratiques au mieux (comme toujours x_x), mais je peux aider sur la partie théorique (ie. l'algorithmique de la fusion des "branches" quand les modifications se recoupent), et peut-être un peu sur la partie réseau (mais si tu utilises des outils bien faits déjà je ne serai sans doute pas très utile).
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Acrocasio En ligne Membre Points: 973 Défis: 0 Message

Citer : Posté le 17/02/2023 09:50 | #


Ouah ! C'est très bien, ça !

Par contre, ton jeu risque de peser très lourd sur calto

Mais en tout cas, c'est magnifique

Je veux bien faire deux trois maps, mais au niveau des graphismes, je suis nul, donc pas les tileset.

Je connais une communauté de Dev très sympa, CodinGame (je vous invite à aller sur leur site, c'est vraiment chro chro bien : https://www.codingame.com )

Je pensent que cela peut amener pleins d'autres gens dans notre communauté, et ainsi amener une nouvelle ère de jeu et de savoir !

Par contre, si ton jeu attire beaucoup de gens, tu vas devoir posséder énormément de serveurs

Une question : Le même sur Texas Instrument ?

Je m'empresse d'en parler sur CodinGame
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 17/02/2023 10:10 | #


Lephenixnoir a écrit :
Perso mes disponibilités sont erratiques

Acrocasio a écrit :
Je veux bien faire deux trois maps, mais au niveau des graphismes, je suis nul, donc pas les tileset

Bien sûr, le but, comme je l'ai dit, c'est d'apporter plein de petites pierres à l'édifice et de collaborer avec les autres. Ce n'est pas obligé que ce soit une seule personne sur le même thème, il peut y avoir plusieurs personnes sur les Tilesets, sur la partie réseaux, etc...
Ce n'est pas obligé que ce soit la même personne à chaque fois, ni à des moments fixes. Mais il faut juste qu'il y ait des gens qui m'aident à le réaliser.
Acrocasio a écrit :
ton jeu risque de peser très lourd sur calto

Justement, j'ai pensé aux poids sur la calculatrice, il y a plusieurs solutions, notamment le fait que la map se télécharge en ligne en temps réel et dès qu'on quitte la zone, la map est déchargée, tout cela grâce au port 3-pin. Sinon, offrir la possibilité de télécharger par zones et télécharger d'autres zones dès qu'on a fini toutes les quêtes de celle-ci.
Acrocasio a écrit :
Une question : Le même sur Texas Instrument ?

Pour la question de Texas Instruments, en fait, je vais offrir la possibilité de modifier le moteur lui-même, donc cela veut dire que n'importe qui peut créer une distribution. Donc, si tu veux faire une version Texas Instruments, tu peux changer deux ou trois choses pour l'adapter.
Acrocasio a écrit :
Par contre, si ton jeu attire beaucoup de gens, tu vas devoir posséder énormément de serveurs

Pour la question du financement, c'est une question compliquée à laquelle je réfléchis encore.
"La créativité est contagieuse faites la tourner"
Albert Einstein
Slyvtt Hors ligne Maître du Puzzle Points: 2276 Défis: 17 Message

Citer : Posté le 17/02/2023 11:59 | #


Ah salut Fahri, ca fait un bon moment, content de te retrouver et en plus plein d'avancées et d'idées.

C'est un gros morceau que tu lances en effet. Je suis pas mal pris aussi mais si je peux aider à un moment je le ferai avec grand plaisir.

Pour le réseau il vaut mieux que tu patientes un peu, Lephe nous concocte l'USB dans gint.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 17/02/2023 12:03 | #


Salut ! Content de tous vous retrouver aussi !
Merci beaucoup d'avance !
l'USB dans gint... Je sens que ça va être super comme nouveauté
"La créativité est contagieuse faites la tourner"
Albert Einstein
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 18/02/2023 02:00 | # | Fichier joint


J'ai un petit problème avec les makefiles, car j'essaie de fusionner toutes les consoles et donc de regrouper tous les makefiles pour n'en former plus qu'un. J'ai du mal à créer celui pour la Nintendo DS. Voici le lien du dépôt Git du projet (il sera sûrement renommé plus tard) : https://github.com/leofarhi/RPG-Online

Voici le problème : je veux remplir la partie "ifeq (nds_mode,$(MAKECMDGOALS))" du makefile avec une version modifiée de celui qui est en pièce jointe et qui s'inspire de la version Windows et PSP, c'est-à-dire en utilisant les variables communes définies en haut. Cela fait deux jours que je suis dessus, je n'aimerais pas perdre plus de temps. Si quelqu'un pouvait m'aider, je le remercierais grandement.
(Actuellement j'ai réussi a faire la distribution Windows et PSP. Là j'essaye de faire la version DS et après je m'attaque aux Casio)
"La créativité est contagieuse faites la tourner"
Albert Einstein
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 18/02/2023 20:50 | #


Après beaucoup d'effort, j'ai finalement réussi. Donc la distribution Nintendo DS fonctionne.
Maintenant j'aimerai savoir s'il y a un moyen de faire un Makefile pour la Casio ou on est obligé d'utilisé CMakeLists.txt ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 18/02/2023 20:53 | #


Le fxSDK supporte toujours le vieux Makefile (fxsdk new Truc --makefile) par contre faut te débrouiller pour le maintenir, ie. je fais aucune promesse que ça va marcher tout de suite et surtout qu'il n'y aura pas de changements à faire lorsque le fxSDK sera mis à jour.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 23/02/2023 18:20 | #


Finalement je vais faire avec Cmake car j'ai créé une UI qui permet de réunir tout les supports, comme ça, je n'aurais pas à le maintenir.
Mais est-ce qu'il y a moyen de changer le dossier de build, changer "build-gc" en "build" lorsqu'il compile ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 23/02/2023 18:40 | #


C'est pas trop prévu non, mais si tu y tiens tu peux hack de la façon suivante :

# Pour configurer (appel de CMake) :
% fxsdk build-cg -c -B build
# Pour compiler ensuite :
% make -C build

Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message

Citer : Posté le 23/02/2023 21:57 | #


Après pour le multijoueur online ce ne serait pas possible de brancher la calculatrice en USB reliée à un PC pour avoir accès à internet.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 23/02/2023 21:58 | #


Est-ce que une question ou une affirmation ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message

Citer : Posté le 23/02/2023 22:02 | #


C'est une proposition. Ça n'a pas l'air si compliqué de communiquer en USB quand on regarde ce que circuit10 montre sur Discord.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 23/02/2023 22:04 | #


En effet, c'est pas super dur. D'ailleurs Manawyrm a déjà fait ça pour utiliser sa calto comme un serveur : https://www.planet-casio.com/Fr/forums/topic16830-1-fxip-implementation-tcpip-avec-client-irc-et-serveur-web.html
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 23/02/2023 22:17 | #


Oui c'est exact, enfin en termes de code ça ne change pas grand-chose.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 24/02/2023 00:49 | #


Ou les deux au pire (port 3pin et USB)
"La créativité est contagieuse faites la tourner"
Albert Einstein
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 24/02/2023 00:55 | #


Bon sinon j'ai terminer de faire la base de la multi compatibilité. Ca compile sur Windows, Linux, Nintendo DS, Nintendo 3DS, PSP, Casio CG, Casio FX. Cependant la 3DS, Linux, Casio FX n'ont pas encore l'affichage graphique totalement fonctionnel (ça compile mais ça n'affiche pas encore tout).
De plus j'ai créé un "Editeur" de compilation, en gros on dit quelle config on veut et ça make tout seul en 1 clic
"La créativité est contagieuse faites la tourner"
Albert Einstein
Farhi Hors ligne Membre Points: 1301 Défis: 0 Message

Citer : Posté le 27/02/2023 14:49 | #


Hello, quels sont les différents profils d'images pour casio et leur spécificité ? (exemple : p4, p8, etc...)
(j'ai pas réussi à trouver l'info sur PC)
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 27/02/2023 14:52 | #


rgb565 c'est du 16-bit classique. rgb565a c'est pareil mais une couleur est réservée pour la transparence.

p8_rgb565 c'est une image avec une palette 8 bits (ie. un octet par pixel, 256 couleurs max), qui une fois décodée donne du rgb565. p8_rgb565a c'est pareil mais après décodage il peut y avoir de la transparence.

Enfin, p4_* c'est pareil que p8_* sauf que c'est une palette de 4 bits (ie. un demi-octet par pixel, 16 couleurs max).

Effectivement y'a pas beaucoup d'infos bien organisées à ce sujet, hmm...
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
1, 2, 3 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 110 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd