Forums Casio - Projets de programmation

Index du Forum | Projets de programmation | MMGOC (Massive Multiplayer Game On-Calc)
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Posté le 09/12/2013 18:32

MMGOC (Massive Multiplayer Game On-Calc) :

Je cherche des volontaires, actifs ou non, sachant coder en C, pour participer à un projet d'envergure : créer le premier MMO-RPG mode calto : MMGOC (Massive Multiplayer Game On-Calc).

Le principe est simple : une carte Arduino sert de serveur, qui organise les requêtes des différents joueurs connectés à l'Arduino.
Le jeu sera une sorte de RPG hyper simplifié (au début du moins) : on peut bouger sur une carte, voir les joueurs, et comme interaction les attaquer.

L'objectif initial est de créer la prouesse de connecter 5 joueurs minimum. (Sachant qu'une carte Arduino Mega peut accueillir jusqu'à 25 caltos )

Dans un premier temps, les caltos seront connectées via le port série (3-pins) directement sur la carte. Ensuite, si c'est faisable (et ça l'est, faut juste de l'huile de coude), connecter le serveur via un port Ethernet en ligne de manière à ce que chacun puisse jouer en ligne. Et là ça serai classe 8)


Bien entendu, ça ne sert à rien, sinon qu'à doubler les TI-men dans la quête du concept le plus innovant (et un peu à se divertir bien sur)


J'ai créé (pour moi, et pour les intéressés) un repo sur Bitbucket de manière à ce que les dévellopeurs aient facilement accès au code.

Si vous voulez faire partie de la team (pas besoin de venir souvent, juste de savoir lire et d'y ajouter votre pierre lorsque vous voulez), n'hésitez pas, je suis ouvert.

Bon, après, si y'a personne c'est pas un problème mais j'aurai personne avec qui tester une fois arrivé au réseau en ligne

Bref, qu'en dites-vous ?


Lien du repo

Finir est souvent bien plus difficile que commencer. — Jack Beauregard


Nemhardy
Hors ligne
Membre
Niveau: Confirmé
Points: 1081
Défis: 54
Message
Dernier message de la page précédente :Posté le 16/03/2014 14:33 |
Tant qu'à faire si tu peux garder le maximum de ressources pour ce qui est propre à la calculatrice (affichage et refresh de l'écran, etc...) c'est mieux je suppose
----------------------------------
Mes programmes
Cliquer pour enrouler
Équilibrer des coefficients stœchiométriques en moins de 2500 octets sur ta Prizm : Ekisto
Ma version du moteur de calcul symbolique libre Eigenmath
Projets supportés !
Entres autres
ColorLib de Lancelot
Zelda de SmashMaster
FiXos de Kristaba
The Lingering Terror
Mes Projets futurs
(pour un futur plus ou moins proche ceci-dit…

Finir mon D.M. dans l'immédiat.

«Ceux qui exercent la profession d'herboriste-botaniste, lesquels sont de tous temps en possession de vendre des herbes ou plantes, seront soumis à la visite et inspection des gardes des apothicaires»
-- Arrêté du Conseil d'État, 30 oct. 1767



Pages: Précédente | 1, 2, 3, 4, 5, 6, 7 | Suivante

Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 16/03/2014 14:43 | #
Ninestars, je suis d'accord qu'on ne vas pas faire n'importe quoi non plus.
Mais comme le dit Nemhardy, mieux vaut s'ouvrir le plus de portes possibles.

Et puis la 3d ça bouffe en ressources
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 21
Défis: 5
Message
Citer : Posté le 16/03/2014 14:47 | #
et pis Unity n'est pas encore pris en charge sur caltos
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Citer : Posté le 16/03/2014 14:52 | #
Vous êtes allés un peu vite, j'ai pris 10 minutes à tout lire.

Pour reprendre les différentes idées émises, voici quelques rappels qui vous prouvent qu'un serveur est nécessaire :

-> Imaginons qu'il n'y en ai pas, que chaque calto envoie à une sorte de réseau local ses données : la calto A envoie un paquet "A, 1, 2, 3, 0", et la calto B un paquet "B, 1, 2, 3, 0" en même temps. La calto C recevra dans son buffer de réception "A, B, 1, 1, 2, 2, 3, 3, 0, 0", ce qui est impossible à traiter (surtout si y'a des décalages entre les paquets).

-> Imaginons encore que la calto fait tout les calculs toute seule. Dans le cas le joueur A tire, dans sa ligne de mire il a un ennemi B. B doit donc perdre de la vie. Or, A a un léger retard de 0,3 secondes, et B s'est décalé entre temps. B, au moment où il reçoit le message "A a tiré dans cette direction", n'est plus à l'endroit où A à tiré. On a donc chez A "B a perdu de la vie", et chez B "A a tiré à coté'. Je sais pas si vous avez suivi

La calculatrice ne gère que ce qui est indépendant des autres joueurs : collisions avec des obstacles fixes. Le reste est dirigé par le serveur. D'où la nécessité de programmer une interface multitâche performante coté serveur. Le reste se fera tout seul une fois cette étape franchie.

Ajouté le 16/03/2014 à 14:53 :
Intelligide a écrit :
et pis Unity n'est pas encore pris en charge sur caltos

Sur Prizm t'as déjà la SDL
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 16/03/2014 14:53 | #
J'essaye actuellement d'écrire une lib pour la modélisation 3d
Je pense que ce serait une bonne chose que tout le monde puisse y avoir accès.

Du coup, nous sommes 3 à développer notre moteur 3d: LImachi pour son Minecraft, Dark Storm qui l'a mentionné une fois sur le chat, et moi-même.

Par contre, c'est la galère
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Citer : Posté le 16/03/2014 14:56 | #
Si on a un jour 3 moteurs 3D fonctionnels, ça va être cool pour développer tout un tas de jeux
Mais j'ai pas l'intention de faire MMGOC en 3D, ça bouffera trop de ressources (faut pas oublier que la liaison série n'est pas non plus hyper rapide en lecture/écriture)
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1735
Défis: 22
Message
Citer : Posté le 16/03/2014 14:56 | #
Imaginons qu'il n'y en ai pas, que chaque calto envoie à une sorte de réseau local ses données : la calto A envoie un paquet "A, 1, 2, 3, 0", et la calto B un paquet "B, 1, 2, 3, 0" en même temps. La calto C recevra dans son buffer de réception "A, B, 1, 1, 2, 2, 3, 3, 0, 0", ce qui est impossible à traiter (surtout si y'a des décalages entre les paquets).

Pas avec ma solution, puisque les caltos envoient l'une après l'autres les paquets.
Regarde au début de la page 4

Imaginons encore que la calto fait tout les calculs toute seule. Dans le cas le joueur A tire, dans sa ligne de mire il a un ennemi B. B doit donc perdre de la vie. Or, A a un léger retard de 0,3 secondes, et B s'est décalé entre temps. B, au moment où il reçoit le message "A a tiré dans cette direction", n'est plus à l'endroit où A à tiré. On a donc chez A "B a perdu de la vie", et chez B "A a tiré à coté'. Je sais pas si vous avez suivi

Pourquoi dire à B qu'on a tiré sur lui ? il suffit de lui dire qu'on l'a touché et c'est réglé.
----------------------------------
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Citer : Posté le 16/03/2014 14:58 | #
9* a écrit :
Pas avec ma solution, puisque les caltos envoient l'une après l'autres les paquets.

Dans ce cas, je pense que ça larguera à mort. Pour un jeu type "Dofus", au tour par tour, c'est la bonne solution, sinon c'est pas hyper adapté.
Au passage, fait moi un schéma de comment tu organiserai les liaisons physiques, je te rappelle qu'il ne faut pas mélanger les câbles d'émission et de réception
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 16/03/2014 15:05 | #
Dark Storm a écrit :
Dans ce cas, je pense que ça larguera à mort.

Ah, enfin quelqu'un qui me soutient

Au fait Dark Storm, tu communiques par le 3 broches ? Si oui, tu le gères comment ?
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1735
Défis: 22
Message
Citer : Posté le 16/03/2014 15:07 | #
Si tu envoies 10, ou plus large 20 octets à chaque émission c'est super rapide.
Le shéma c'est pour une calto :
- calcul de tout : du décors, calcul des collisions...
- tu envoies tes infos : position, direction , ...
en boucle et pendant qu'elle travail, les paquets des autres arrivent dans le buffer et affiche les autres joueurs, gère les collision avec en fonction de ces données


Au passage, fait moi un schéma de comment tu organiserai les liaisons physiques, je te rappelle qu'il ne faut pas mélanger les câbles d'émission et de réception
J'y avais pensé...
Si on branche tout en commun, emission et récéption de tout le monde, au pire celle qui envoie reçoit ce qu'elle envoie
A part si mettre une tension sur la borne d'émision est dangereux.
----------------------------------
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 21
Défis: 5
Message
Citer : Posté le 16/03/2014 15:10 | #
Lephenixnoir a écrit :
Au fait Dark Storm, tu communiques par le 3 broches ? Si oui, tu le gères comment ?


Il y a des syscalls qui gères le 3-broches assez facilement
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Citer : Posté le 16/03/2014 15:16 | #
@ 9* : faudrait faire des tests, mais les fonctions de sérial restent relativement lentes...
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1735
Défis: 22
Message
Citer : Posté le 16/03/2014 15:57 | #
Ok, dans ce cas ce qui est bien avec ma méthode, c'est que la calto n'attend jamais de réponse. Elle envoie et pendant qu'elle travaille, elle reçoit les infos des autres. Au pire des cas elle a une frame d'avance sur les autres caltos du groupe.
Alors qu'avec un serveur, il y a plus de transmissions donc plus de temps d'attente
----------------------------------
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 16/03/2014 15:59 | #
Oui, mais les calculatrices sont plus synchrones et ça offre une plus grande puissance

Enfin, on ne va pas débattre la-dessus des heures.
De toute façon c'est Dark Storm qui bosse sur le projet
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Ninestars
Hors ligne
Membre
Niveau: Confirmé
Points: 1735
Défis: 22
Message
Citer : Posté le 16/03/2014 16:04 | #
Elles sont synchrones... et alors on s'en fou Si elles ont un décalage de (au pire) 0.2s, ça change rien !
Enfin oui après il fait comme il veut, mais c'est bien d'avoir différents points de vue
----------------------------------
Eltoredo
Hors ligne
Modérateur
Niveau: Intermédiaire
Points: 4260
Défis: 35
Message
Citer : Posté le 20/03/2014 21:46 | #
Alors le projet avance ? Sinon je rebondit sur l'idée de Kirafi, un dofus serait bien (surtout que j'y joue en ce moment )
Mais un jeu comme dodormeur a dit, en multi ou même en add-in tout simple serait génial !
----------------------------------
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Zolobou1
Hors ligne
Membre
Niveau: Débutant
Points: 53
Défis: 0
Message
Citer : Posté le 24/05/2014 06:39 | #
je voudrai vraiment y participer, mais je ne suis q'un débutant en la matière.
si je m'améliore d'ici la, je vous rejoint sans problème dans ce projet
Intelligide
Hors ligne
Banni de la Shoutbox
Niveau: Aucun
Points: 21
Défis: 5
Message
Citer : Posté le 24/05/2014 10:00 | #
Eltoredo a écrit :
Alors le projet avance ? Sinon je rebondit sur l'idée de Kirafi, un dofus serait bien (surtout que j'y joue en ce moment )
Mais un jeu comme dodormeur a dit, en multi ou même en add-in tout simple serait génial !


http://www.planet-casio.com/Fr/forums/topic12887-1-Un-Ankama-games-sur-CasioWakcalc.html

@zolobou, je te conseille d'apprendre le C(le C casio et le C arduino) et éventuellement le Mysql(gestion de BDD) si DS décide de le mettre sur internet
----------------------------------
┌∩┐(ಠ_ಠ)┌∩┐
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 24/05/2014 10:05 | #
Je ne te fais pas remarquer que le message d'ElToredo est de plus d'un moins antérieur à la création de ton topic
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.
Dark storm
Hors ligne
Administrateur
Niveau: Aucun
Points: 9597
Défis: 170
Message
Citer : Posté le 24/05/2014 10:11 | #
Bon, vu que y'a de l'activité, j'en profite pour exposer l'avancement du projet :

J'ai peu bossé dessus ces derniers mois, pour cause d'autres projets, de boulot, etc. mais j'ai beaucoup fait de théorie sur la méthode de synchronisation des données par l'arduino. Je pense tenir un truc, mais c'est pas dit que ça fonctionne... Bref, du coup le projet est à moitié en pause, mais je compte bien avancer pendant les vacances (pour une fois que j'ai 2 mois de libre )

En tout cas, si quelqu'un est motivé pour reprendre le projet, je veux bien lui passer les sources de ce qui existe (mais c'est pas très fonctionnel )
----------------------------------
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir
Hors ligne
Administrateur
Niveau: Confirmé
Points: 10036
Défis: 130
Message
Citer : Posté le 24/05/2014 10:12 | #
Vu que j'ai maintenant le matériel et deux caltos... comme toi, je m'y mettrai probablement après le bac.
----------------------------------
La sagesse est la prunelle de tes yeux, et la gloire l’enveloppe de ton cœur.

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7 | Suivante

Index du Forum | Projets de programmation | MMGOC (Massive Multiplayer Game On-Calc)
Publicité et partenaires
Casio Education
Casio éducation

TI-Planet
Casiopeia
Casiopeia
CasioFan, la communauté ClassPad
CasioFan
CodeWalrus
CodeWalrus

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2015 | Il y a 44 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Rugby Manager | Jeu de basket | Jeu de handball | Construction maison Carcassonne

Planète Casio est un site communautaire indépendant, géré bénévolement et n'est donc pas affilié à Casio | Toute reproduction de Planète Casio, même partielle, est interdite
Les fichiers, programmes et autres publications présents sur Planète Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des licences ou des copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd