Idées d'addons, données télémétriques en LAN
Publié : 15 septembre 2013, 06:26
Hello,
Je voudrais vous proposer une idée d'addon, je ne sais pas si ça existe déjà et si ça peut plaire/intéresser du monde alors dites moi ce que vous en pensez ^^
J'utilise KSP sans aucun Addon, et il faut avouer que c'est super hard d'aligner une orbite sur un plan angulaire précis ou bien de circulariser une orbite avec une excentricité très très très proche de 0 tout simplement car KSP de base tel qu'il est présenté sans Addon ne donne pas ses infos (ou alors j'ai raté un truc). J'ai vu qu'il existait des Addons pour afficher ces infos, mais ce que j'ai fait est un peu différent.
C'est un module qu'on fixe sur sa fusée, et les données télémétriques de vol sont transmises vers une adresse IP du réseau (en UDP pour ceux que ça intéresse).
Mon trip c'était un peu de faire un "Mission Control" de la NASA, on est devant son PC sur un programme qui imite les vieilles console de la NASA (genre MS-DOS) on ne voit pas sa fusée, on ne voit que les données télémétriques c'est à dire, l'altitude, l'apoapsis, la périapsis, la masse, la vitesse, et d'autres données. KSP tourne sur un ordi, et à coté on peut avoir son ordi portable qui affiche les data, ou même sont iPhone ou sa tablette Android. En résumer je rajoute une couche réseau sur KSP.
J'ai fait un prototype baclé en une nuit mais qui fonctionne, je mettrais des screenshot un peu plus tard.
J'ouvre une parenthèse là :
Ajouter un couche réseau peut ouvrir une grande possibilité au jeu, pour enregistrer des vols et les faire homologuer pour des défis voir carrément implémenter un multi-joueur.
Perso je pense que le multi-joueur ne devrait pas se faire dans un plugin mais devrais être codé dans le coeur même du jeu. Ça va impliquer énormément de contrainte coté développeur et coté joueur :
- Voir les vaisseaux qui se téléportent à cause du lag, ce qui risque de compliquer les rendez-vous multijoueur.
- Comment gérer le time warp en multi. Si il faut l'interdire, le multi va être chiant et injouable à cause des durées des temps de vol spatiaux.
Je ferme la parenthèse xD
Une autre idée m'était venue en tête, mais des Addons KSP permettent de faire plus ou moins la même chose (je crois) :
J'avais commencé à coder il y 1 ou 2 mois un programme JAVA qui lit les fichiers du jeu pour récupérer les "parts" (engine, fuel-tank, etc...)
On choisit sa planète/lune de départ, sa planète/lune d'arrivée. Le programme calcule automatiquement les manœuvres à effectuer et les deltaV. Au final le programme génère 2 pdf (ou html peu importe) :
- "Le manuel de l'ingénieur" qui nous dit combien de deltaV il nous faut pour chaque manœuvre, avec un descriptif de chaque étage de la fusée à concevoir: masse, Isp, thrust, thrust-weight-ratio et quels éléments du jeu utiliser pour la construire (tel réacteur, tel reversoir, etc...)
- "Le plan de vol", qui contient la description de chaque phase de vol, avec les altitudes, angles d'éjection ou de manoeuvre, temps de poussée, etc....
Enfin une dernière idée, mais celle là va intéresser peu de monde (ou sauf les mecs du JPL, de la NASA, de l'ESA ou des chez Airbus qui voudraient utiliser ça à titre pédagogique):
Faire un interpréteur de script écrit en ADA pour piloter ses fusées. Pourquoi ADA, car c'est ce qui est utilisé en vrai. Mais MechJeb le fait en Lua ce qui est beaucoup plus simple et à la portée de tous. Donc idée à oublier xD
Perso j'ai pas trop de temps actuellement pour tout coder moi même, je suis entrain de faire ma dernière année d'école d'ingénieur et j'aurai énormément de temps à consacrer à des projets pour l'école. Mais une fois le diplôme en poche j'aurai plus de temps à consacrer au développement d'Addon, donc si ça vous plait et que je me lance là dedans le résultat ne sera pas pour demain
Pour en revenir à la télémétrie, je vais poster quelques screens pour que vous ayez un aperçu de ce qu'on peut en faire.
Je voudrais vous proposer une idée d'addon, je ne sais pas si ça existe déjà et si ça peut plaire/intéresser du monde alors dites moi ce que vous en pensez ^^
J'utilise KSP sans aucun Addon, et il faut avouer que c'est super hard d'aligner une orbite sur un plan angulaire précis ou bien de circulariser une orbite avec une excentricité très très très proche de 0 tout simplement car KSP de base tel qu'il est présenté sans Addon ne donne pas ses infos (ou alors j'ai raté un truc). J'ai vu qu'il existait des Addons pour afficher ces infos, mais ce que j'ai fait est un peu différent.
C'est un module qu'on fixe sur sa fusée, et les données télémétriques de vol sont transmises vers une adresse IP du réseau (en UDP pour ceux que ça intéresse).
Mon trip c'était un peu de faire un "Mission Control" de la NASA, on est devant son PC sur un programme qui imite les vieilles console de la NASA (genre MS-DOS) on ne voit pas sa fusée, on ne voit que les données télémétriques c'est à dire, l'altitude, l'apoapsis, la périapsis, la masse, la vitesse, et d'autres données. KSP tourne sur un ordi, et à coté on peut avoir son ordi portable qui affiche les data, ou même sont iPhone ou sa tablette Android. En résumer je rajoute une couche réseau sur KSP.
J'ai fait un prototype baclé en une nuit mais qui fonctionne, je mettrais des screenshot un peu plus tard.
J'ouvre une parenthèse là :
Ajouter un couche réseau peut ouvrir une grande possibilité au jeu, pour enregistrer des vols et les faire homologuer pour des défis voir carrément implémenter un multi-joueur.
Perso je pense que le multi-joueur ne devrait pas se faire dans un plugin mais devrais être codé dans le coeur même du jeu. Ça va impliquer énormément de contrainte coté développeur et coté joueur :
- Voir les vaisseaux qui se téléportent à cause du lag, ce qui risque de compliquer les rendez-vous multijoueur.
- Comment gérer le time warp en multi. Si il faut l'interdire, le multi va être chiant et injouable à cause des durées des temps de vol spatiaux.
Je ferme la parenthèse xD
Une autre idée m'était venue en tête, mais des Addons KSP permettent de faire plus ou moins la même chose (je crois) :
J'avais commencé à coder il y 1 ou 2 mois un programme JAVA qui lit les fichiers du jeu pour récupérer les "parts" (engine, fuel-tank, etc...)
On choisit sa planète/lune de départ, sa planète/lune d'arrivée. Le programme calcule automatiquement les manœuvres à effectuer et les deltaV. Au final le programme génère 2 pdf (ou html peu importe) :
- "Le manuel de l'ingénieur" qui nous dit combien de deltaV il nous faut pour chaque manœuvre, avec un descriptif de chaque étage de la fusée à concevoir: masse, Isp, thrust, thrust-weight-ratio et quels éléments du jeu utiliser pour la construire (tel réacteur, tel reversoir, etc...)
- "Le plan de vol", qui contient la description de chaque phase de vol, avec les altitudes, angles d'éjection ou de manoeuvre, temps de poussée, etc....
Enfin une dernière idée, mais celle là va intéresser peu de monde (ou sauf les mecs du JPL, de la NASA, de l'ESA ou des chez Airbus qui voudraient utiliser ça à titre pédagogique):
Faire un interpréteur de script écrit en ADA pour piloter ses fusées. Pourquoi ADA, car c'est ce qui est utilisé en vrai. Mais MechJeb le fait en Lua ce qui est beaucoup plus simple et à la portée de tous. Donc idée à oublier xD
Perso j'ai pas trop de temps actuellement pour tout coder moi même, je suis entrain de faire ma dernière année d'école d'ingénieur et j'aurai énormément de temps à consacrer à des projets pour l'école. Mais une fois le diplôme en poche j'aurai plus de temps à consacrer au développement d'Addon, donc si ça vous plait et que je me lance là dedans le résultat ne sera pas pour demain
Pour en revenir à la télémétrie, je vais poster quelques screens pour que vous ayez un aperçu de ce qu'on peut en faire.