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 » [add-in] multijoueur en Basic
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

[add-in] multijoueur en Basic

Posté le 05/02/2018 20:54

Bonjour communauté ! ici je partage mon idée de projet d'add-in d'ajout de commandes basic pour gérer le multijoueur (quête ultime du flemmard qui n'a pas envie d'apprendre le C... ). Le chemin sera long et difficile, mais je compte sur vous pour partager vos conseils et idées ! si vous voulez participer à la création du programme, toute aide est la bienvenue !
projet multijoueur en basic :
   20%

moral de l'équipe
   99%


EDIT: je pense utiliser les syscalls pour modifier les fonctions Send, Receive, Send38k et Receive38k pour en faire des commandes permettant la communication entre deux calculatrices. Voici les types de communications que j'envisage:
> Send :envoi de une ou plusieurs informations sans attente de confirmation de réception via le port 3 pin
> receive38k : met le programme en pause le temps de recevoir quelque chose ( n'importe quoi ) ( faire par exemple receive→ A va déterminer le type de données que receive pourra recevoir, ici une variable, mais ca peut être une liste ou autre : receive→List x )
> Send38k : envoi de données par le port USB
> Receive : recoit les données sans mettre le programme en pause ( la syntaxe est la même que Receive )
> OpenComport38k : permettra de mettre la calto en receive permanent en background de l'exécution du programme
> CloseComport38k : stoppe le receive en background

Je pense aussi ajouter quelques nuances et fonctions supplémentaires pour varier les types de communications et palier le fait de ne pouvoir modifier que 4 commandes...

en avant !

EDIT :

Le projet ici a été abandonné, mais rassurez vous : c'est parce que Sentaro21 a été plus rapide que moi : téléchargez C.Basic qui permet de gérer la communication par le port série et bien d'autres choses !


Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 25/03/2018 15:17 | #


Merci beaucoup Lephenixnoir pour ces éclaircissements ! Alors si j'ai bien compris, s'il s'agit de la création d'un OS alternatif, il faut reprendre sa création depuis zéro... mis à part le temps, techniquement c'est possible (motivation+connaissances ), mais pour gagner du temps, on ne pourrait pas tout simplement récupérer le code source de l'OS existant ( celui de SimLo) pour le modifier où du moins récupérer les parties qu'on aura pas à toucher ?

merci de ton aide !
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 25/03/2018 15:21 | #


Oui, techniquement, c'est possible ! On peut le même le faire dans un add-in, comme en témoignent FiXOS ou dans une moindre mesure, gint.

Edit : Dans ce cas, le système alternatif s'arrête avec l'add-in.

Le problème c'est qu'on n'a pas les sources de l'OS ! Casio est une entreprise, pas une association caritative. On n'a qu'on gros blob binaire, et on ne peut rien modifier de son code sous peine de casser plein de trucs. Si tu as fait de l'assembleur, imagine-toi essayer de remplacer une séquences de deux instructions par une séquence de trois... c'est perdu d'avance.

D'un autre côté, le rétro-engineering est une tâche très fastidieuse et à ma connaissance personne ici ne connaît ne serait-ce que la structure générale du système. De là à modifier des points précis, on n'y pense pas.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 25/03/2018 18:30 | #


Oui, techniquement, c'est possible ! On peut le même le faire dans un add-in, comme en témoignent FiXOS ou dans une moindre mesure, gint.

Ça me paraissait pas clair, donc je précise :

Oui, techniquement, c'est possible ! On peut le même lancer l'OS alternatif en live depuis un addin, comme en témoignent FiXOS ou dans une moindre mesure, gint.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 28/03/2018 15:05 | #


ok ok ok je pense qu'on va procéder ainsi: on va créer deux topic, le premier est celui ci et concerne un projet d'OS alternatif, et le second portera sur un add-in. Les deux auront bien sûr le même but.
Je pense prendre les choses comme ceci car je ne dispose pour le moment de trop peu d'éléments pour savoir lequel est le mieux, mais je pense pouvoir trancher bientôt !

A bientôt !
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 28/03/2018 19:18 | #


Le mieux ? Tu t'occuperas de faire un OS en Flash quand tu sauras faire avec un add-in, pas avant...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 29/03/2018 20:21 | #


je pense (après réflexion) que tu as raison Lephenixnoir...
Actuellement, je suis dans le bain infernal des syscalls (looooonnngue liste de fonctions), mais je suis motivé, donc l'add-in sortira un jour !

"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 29/03/2018 20:26 | #


... t'es sûr que t'as compris le but d'un OS ?

Edit : Tu peux pas utiliser ces syscalls dans ton add-in, je veux dire.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 29/03/2018 20:38 | #


ah bon ? on peut pas modifier les commandes Send, receive et Co comme le précise SimLo ?
Comme je l'avais compris, on pouvait le faire depuis un add-in (sans modifier ou recréer un OS)
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 29/03/2018 20:40 | #


Ah ben tu fais plus un OS, alors. Suffit de le dire.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 29/03/2018 20:46 | #


oui désolé, --' j'avais oublié de le préciser dans un message précédent... j'ai pensé (et tu m'as aidé a prendre cette décision) qu'un add-in permettrait que les modifications et les ajouts que je souhaite apporter soient accessibles au plus grand nombre tout en préservant (je pense !) sa validité lors des examens.


Ajouté le 07/06/2018 à 10:37 :
donc j'ai précisé mon projet dans la description du topic, si vous avez des idées ou des questions, allez y
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 07/06/2018 11:23 | #


Je te conseille de regarder du coté de PGRM2
À la réflexion, c'est ce qui me parait le plus adapté à ton cas. Le plus gros est déjà fait, tout ce que tu dois ajouter ce sont les commandes de communication
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 07/06/2018 11:28 | #


Ta méthode est valide, en tous cas. As-tu commencé à regarder la doc de SimLo pour savoir comment modifier les syscalls ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 07/06/2018 11:47 | #


@Lephe
oui, mais côté add-in, je pars presque de zéro, donc pour tout comprendre, à risque de me prendre du temps. Je sais programmer en C normal ( pour ordi quoi ) donc pour la calto, il me faudra un temps d'adaptation, je pense déjà me familiariser avec la programmation d'add-in, puis jeter à nouveau un coup d'œil à la doc de SimLo.

@Darks
oui, je pense m'y mettre si tu penses que ça pourrait me servir, mais comme eux ce qu'ils voulaient faire était un IDE en C pour créer des add-ins depuis la calto, en ce qui me concerne je ne pense pas aller aussi loin
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 07/06/2018 13:42 | #


mais comme eux ce qu'ils voulaient faire était un IDE en C pour créer des add-ins depuis la calto

Ah non non, pas du tout. Le principe de PRGM2, c'est d'augmenter la puissance du Basic, en ajoutant des fonctions supplémentaires, comme l'affichage de sprites complexes.

En fait, je relis le truc, et y'a déjà tout ce qu'il faut pour faire un jeu multi en Basic
Confère l'exemple Serial fourni dans le zip.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 14/06/2018 09:07 | #


ah oui ! donc si je comprends bien, ce projet a déjà été fait avant !
je pensais pas que PRGM2 avait icorporé la possibilité de communiquer entre calculatrices...
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Lephenixnoir En ligne Administrateur Points: 24582 Défis: 170 Message

Citer : Posté le 14/06/2018 09:08 | #


C'est toujours intéressant de faire un état de l'art avant de commencer... '

(m'enfin ça ne casse pas l'intérêt de ton travail à toi, de loin)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 18/06/2018 17:39 | #


... Après test de PRGM2, je peux lui donner deux gros problèmes ( et ce n'est pas que mon avis à moi ), qui sont:
> l'add-in est très instable, même sur des SH3
>l'add-in a vieilli et sa compatibilité SH4 aussi

Je compte donc faire mieux sur ces deux points ( pour le 2eme ca devrait être plus facile )
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Maxipoint14 Hors ligne Membre Points: 244 Défis: 0 Message

Citer : Posté le 04/09/2018 14:27 | #


Bonjour lightmare
Je serais partant pour t'aider a faire cet add-in mais il va me faloir de l'aide sur comment sa a progresse car si j'ai des meilleurs détails, je serais plus avancé pour essayer de te faire des corrections de bugs ou quoi
S'il te plait mets un téléchargement en texte pour que je regardes sa
Bonne continuation sur le projet
Mon moral
   79%

Mon moral de programmation:
   80%

avancée de la maj 1.15 de fortcalc
   5%
Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

Citer : Posté le 04/09/2018 16:52 | #


@Maxipoint : a vrai dire, ce projet ci n'est pas ma priorité actuellement car je suis encore en phase d'apprentissage des syscalls... D'autant plus que j'ai été doublé : PRGM2 et C.Basic ont déjà intégré le multijoueur programmable depuis sa calculatrice...
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher

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 65 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