Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Jeu de programmation] Utopia

Attendez, ça me dit quelque chose...

    22 novembre 2017 à 18:23:33

    Bonsoir,

    Je m'appelle Jérôme, alias Lynix, j'approche de ... attendez, j'ai déjà dit ça. Je recommence :D

    Bonsoir !

    Aujourd'hui est un jour spécial, cela fait exactement huit ans que je vous présentais mon projet de MMORTS de programmation, Utopia.
    Pour ceux qui n'ont pas le courage de lire le premier topic, ne vous en faites pas, je vais tout reprendre.

    Alors, Utopia, qu'est-ce que c'est, ou plutôt qu'est-ce que c'était ?

    Démarré en 2009, Utopia est un projet de jeu vidéo de type MMO que j'ai démarré à l'âge de seize ans, quelques mois après avoir commencé le C++, vous sentez la merde arriver ?

    Comme tous les MMO irréalistes démarrés par un débutant avec des étoiles dans les yeux, celui-ci embarquait un univers persistant capable de gérer des millions d'entités en temps réel, etc.

    Mais ce n'est pas ça l'important, (la véritable présentation commence ici :D).

    Utopia avant tout, c'est un jeu de programmation, orienté sur le développement, la gestion et les combats spatiaux.

    Le principe était le suivant : le joueur n'était pas en charge de l'action directe mais de la programmation d'intelligences artificielles capable d'analyser et réagir aux situations auxquelles elles sont exposées, le cas typique: un combat de vaisseau spatiaux.

    Chaque vaisseau spatial évolue dans un environnement physique tridimensionnel avec lequel il est capable d'interagir à l'aide de divers modules (moteurs, armes, radar, etc.), et où le lien entre tous ces modules est un script utilisateur par vaisseau.

    Le joueur peut donc concevoir/assembler les vaisseaux de son choix, pour ensuite les programmer comme bon lui semble.

    Cela laisse beaucoup de possibilités au joueur (c'est tout l'intérêt du jeu), on peut imaginer par exemple:

    • Un traditionnel chasseur, faiblement armé mais rapide et capable d'esquiver les tirs ennemis.
    • Un croiseur, vaisseau lourdement armé, plus lent mais capable de résister à des tirs et de faire très mal.
    • Un vaisseau-suicide, remplaçant les armes par des boucliers et cherchant à s'écraser sur les vaisseaux stratégiques ennemis.
    • Un vaisseau de repérage, rapide dont l'objectif est de se positionner derrière les lignes ennemies afin de transmettre des informations aux autres vaisseaux (suicide par exemple).
    • Un vaisseau de "DDOS", lent, bien protégé mais possédant une armée d'antennes, suffisamment pour tenter de brouiller les communications ennemies en les "spammant" de communications inutiles.
    • Un vaisseau stationnaire, restant en retrait, doté uniquement d'une puissante arme et utilisant les données des vaisseaux de repérage cités plus haut pour viser/tirer.
    • Etc.

    Tous ces scénarios (et bien d'autres) seraient possibles simplement par assemblage de module (avec avantages/inconvénients, comme du poids rajouté) et surtout d'un script contrôlant le vaisseau pour lui donner le comportement de son choix.

    Cela étant, si regarder ses propres vaisseaux exécuter correctement leur comportement peut donner un sentiment de satisfaction, ce n'est pas la même chose qu'être directement au cœur de l'action.

    Et c'est précisément pour cette raison qu'il est également possible pour un joueur de piloter un vaisseau directement, pour prendre part à l'action, se retrouver au milieu d'un combat de plusieurs centaines de vaisseau et remplir un rôle particulier.

    À savoir que tous les scripts dont je vous ai parlé jusqu'ici sont des scripts dits "serveur", le serveur exécute le comportement de chaque vaisseau et envoie le résultat aux "clients" (joueurs).
    Mais il serait également possible de pouvoir scripter totalement le côté client de la chose (notamment le contrôle d'un vaisseau), vous permettant de gérer les contrôles comme vous le souhaitez, mais aussi pourquoi pas de vous donner divers outils pour contrôler votre flotte (des boutons "Couvrez-moi", "Repliez-vous", "Attaquez ce vaisseau", ne dépendant que de l'utilisateur).

    En résumé:

    Utopia est un vieux projet démarré en 2009 par une équipe d'amateurs avec les yeux plus gros que le ventre, mais un concept capable de motiver bien des programmeurs, et je connais des personnes qui sont attachées au projet encore aujourd'hui.

    C'est donc tout naturellement que j'ai eu envie (et pour être franc, l'envie ne m'a pas quitté depuis 2009) de rendre vie à ce projet, mais de façon réaliste, on oublie les grandes idées de gestion d'empire, de planète, d'univers persistant et on se concentre sur la base du jeu: les combats de vaisseau spatiaux programmés, et seulement après on pourra de nouveau étendre le jeu.

    Pourquoi je dis "on" ? Parce qu'une des grandes nouveauté est aussi de rendre le projet communautaire, là où le premier projet était closed-source et développé par une équipe restreinte, l'objectif est de rendre le projet totalement ouvert.

    Pour y arriver:

    • Le code source du jeu est intégralement disponible sur GitHub et les contributions sont encouragées.
    • Certaines idées du jeu sont disponibles sur un site ouvert où tout le monde peut proposer ce qu'il veut.
    • Un canal dédié au projet est disponible sur le Discord du groupe NaN (groupe de programmeurs)
    • Le développement du jeu est en grande partie diffusé en temps réel sur la plateforme Twitch

    En effet, un pas que j'ai sauté tout récemment a été de me mettre à diffuser de la programmation en temps réel, et c'est plus amusant qu'il n'y paraît à première vue.

    Déjà, ça me permet de discuter du jeu et de répondre aux questions en temps réel, d'attirer plus de monde sur le projet et d'être focalisé à 100% pendant quatre à cinq heures (l'envie de faire une pause 9gag quand on est observé par des dizaines de personnes disparaît assez vite :D).
    Mais aussi, ça vous permet de participer directement au projet, de voir son évolution feature par feature, et j'espère, d'apprendre des choses (et ça marche dans les deux sens, parfois c'est vous qui m'apprenez des choses).

    Il arrive aussi assez régulièrement que j'envoie un exécutable sur Twitch pour que des spectateurs puissent se connecter à mon serveur de test et tester directement les nouvelles fonctionnalités :)

    Screenshots

     

     

    (Note: les deux derniers screenshots ne viennent pas directement du jeu mais de mon moteur de jeu, plus d'information ci-dessous).

    Vidéos

    Petite F.A.Q.

    • Donc c'est un jeu uniquement pour les programmeurs ?

      Dans un premier temps oui, savoir programmer sera nécessaire pour jouer au jeu. Cependant je compte mettre en place de la programmation graphique (imaginez l'éditeur de déclencheur de Warcraft 3 ou les Blueprint d'Unreal Engine) plus tard pour permettre à tous ceux qui le souhaitent de participer.

    • Quel moteur allez-vous utiliser ?

      Nazara Engine, mon propre moteur sur lequel j'ai travaillé ces six dernières années.

    • Quel langage pour la programmation ?

      La seule certitude c'est que le jeu sera programmable en Lua, la question de savoir si on va rajouter le support d'autres langages par la suite n'a pas encore été tranchée, notamment à cause de soucis de division de la communauté.

    Voilà, je dois écourter un peu l'écriture de ce topic car je suis actuellement en diffusion, mais n'hésitez pas à poser des questions !

    -
    Edité par Lynix 22 avril 2018 à 17:17:12

    • Partager sur Facebook
    • Partager sur Twitter

    Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

      22 novembre 2017 à 19:12:34

      Hum... Vas vraiment falloir que je fasse un tour sur le github du projet...

      Edit : Je viens de regarder les suggestions actuelle et j'aimerais y apporter mon avis :

      Scripts clients - Je trouve que c'est une bonne idée, mais je me demande si c'est bien nécessaire de faire la distinction entre un script client et un script serveur... En effet, il est tout à fait envisageable de penser que les scripts clients et les scripts serveurs aient le même fonctionnement.

      Marché aux scripts - Pourquoi pas? Par contre, je pense que l'idée des backdoor est mauvaise. En effet, comme le jeu se veut, à terme, grand public, je ne croix pas que tous les joueurs vont être conscients des risques. De plus, l'utilisation de backdoor et de code vérolé pour affaiblir son adversaire est, certe, une bonne stratégie, mais cela risque de nuire à la communauté et d'induire un mauvais climat. Finalement, si l'usage de backdoor se répand, le marché risque de ne servir qu'à exploiter les ignorants (casual qui ne sont pas programmeur) puisque ceux qui sont informé des risques préféreront tout faire eux-même plutôt que prendre des risques avec le marché...

      -
      Edité par charlesfire 22 novembre 2017 à 19:23:04

      • Partager sur Facebook
      • Partager sur Twitter
      L'être humain, contrairement aux geeks qui ne sont de toute façon pas des êtres humains, est un animal social taillé pour vivre en "meute".
        23 novembre 2017 à 17:58:07

        Hello, merci pour la réponse.

        Tout d'abord, n'hésite pas à poser ce genre de questions directement sur le site de feedback, ça permet de centraliser les interrogations dans un même endroit.

        Et pour te répondre:

        charlesfire a écrit:

        Scripts clients - Je trouve que c'est une bonne idée, mais je me demande si c'est bien nécessaire de faire la distinction entre un script client et un script serveur... En effet, il est tout à fait envisageable de penser que les scripts clients et les scripts serveurs aient le même fonctionnement.

        En fait la principale raison de la distinction entre script client et script serveur est technique, un script client peut être appelé beaucoup plus souvent sans poser de problème de charge et peut faire des choses qu'un script serveur ne peut pas faire (comme lire l'état actuel de la souris, savoir si une touche est enfoncée, etc.), et à l'inverse un script serveur a accès à plus de choses qu'un script client (accès aux capteurs, etc.).

        Du coup il faut encore y réfléchir pour avoir un truc correct.

        charlesfire a écrit:

        Marché aux scripts - Pourquoi pas? Par contre, je pense que l'idée des backdoor est mauvaise. En effet, comme le jeu se veut, à terme, grand public, je ne croix pas que tous les joueurs vont être conscients des risques. De plus, l'utilisation de backdoor et de code vérolé pour affaiblir son adversaire est, certe, une bonne stratégie, mais cela risque de nuire à la communauté et d'induire un mauvais climat. Finalement, si l'usage de backdoor se répand, le marché risque de ne servir qu'à exploiter les ignorants (casual qui ne sont pas programmeur) puisque ceux qui sont informé des risques préféreront tout faire eux-même plutôt que prendre des risques avec le marché...

        Je suis d'accord que le marché aux scripts perd complètement son intérêt s'il est vérolé de partout, mais je pense que ça n'est qu'une question de contre-mesures.

        En fait parler des backdoors c'est surtout pour dire "On donne tellement de possibilités qu'on autorise même ça", mais évidemment il faut pouvoir contre-attaquer. On peu comme ce qui se passe sur les application store de smartphone :)

        Au passage, je voudrais remercier tous ceux qui sont passés hier, on était un maximum de 35 personnes en même temps sur Twitch et une dizaine d'entre vous sont passés lors du test de l'intégration d'un petit chat dans le jeu:

        Le prochain stream aura lieu ce week-end, soit samedi après-midi soit dimanche soir, ce n'est pas encore décidé (je mettrais une mise à jour la veille en guise de statut Twitch).

        Merci du soutien que vous apportez au projet en tout cas, ça fait plaisir ;)

        • Partager sur Facebook
        • Partager sur Twitter

        Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

          23 novembre 2017 à 18:49:18

          Bonne chance, mais si tu vas programmer Utopia tu vas laisser de côté Nazara ?
          • Partager sur Facebook
          • Partager sur Twitter
            24 novembre 2017 à 10:11:14

            Random Coder 99 a écrit:

            Bonne chance, mais si tu vas programmer Utopia tu vas laisser de côté Nazara ?

            Pas spécialement, déjà parce que le temps que je passe sur Utopia est très encadré (par les lives) et aussi parce qu'Utopia va nécessiter des évolutions de la part de Nazara (avec par exemple le fameux PBR dont je parlais sur le topic de Nazara), d'ailleurs la GUI avance beaucoup plus vite depuis qu'Utopia est démarré, parce que c'est la première fois que je les utilise vraiment (et que je constate ce dont ils manquent).
            • Partager sur Facebook
            • Partager sur Twitter

            Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

              28 novembre 2017 à 12:12:48

              C'est fou, je déteste suivre un sujet sur OC pour ne pas être spamé.

              Et pourtant j'en suis 2, les tiens ! :p

              En tout cas un grand bravo, j'adore l'idée, j'adore le concept, j'adore l'open source ... Dès que j'ai du temps devant moi je me rue sur ce github pour y aporter ma pierre :)

              Encore bravo à toi Lynix ! :)

              • Partager sur Facebook
              • Partager sur Twitter
              Si debugger, c’est supprimer des bugs, alors programmer ne peut être que les ajouter - Edsger Dijkstra
                12 décembre 2017 à 14:25:01

                Félicitations pour Utopia, impatient d'être sur le prochain live ! :3
                • Partager sur Facebook
                • Partager sur Twitter
                Au plaisir de vous aider =D, venez voir ce que je fais
                  12 décembre 2017 à 20:55:46

                  Merci à vous deux :)

                  J'en profite pour faire un rapide point sur ce qui a été fait dernièrement: l'ajout des armes et de la vie.

                  Le développement avance à bon rythme, même si l'aspect WIP est encore très présent (que ça soit au niveau des graphismes, des contrôles ou même d'un ballon de foot spatial :D).

                  En ce moment je travaille surtout sur l'intégration de l'extrapolation, une technique de synchronisation entre le serveur et le client prenant en compte la physique, et c'est compliqué.

                  Je précise aussi qu'exceptionnellement le prochain stream aura lieu non pas mercredi mais jeudi à 18h, et qu'il risque d'il y avoir deux stream ce week-end au lieu d'un. :)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                    14 décembre 2017 à 0:41:04

                    Ca fait très longtemps que je traîne sur le forum et je ne suis malheureusement jamais tombé sur ce projet. Finalement je suis tombé dessus.

                    Projet que je trouve vraiment très très intéressant, j'avais pensé récemment à la problématique d'un jeu de programation. Je n'avais pas pensé à l'idée de vaisseau spatial et d'IA. J'avais également pensé à un marché au script que je plussoie totalement, car il permettrait d'une part de rendre aux joueurs non programmeurs de jouer, mais également de voir comment d'autres personnes ont codé (à voir si le script est visible et modifiable si venant du marché). Pour le backdoor j'ai posté un commentaire sur le site de feedback.

                    Malheureusement ma connexion internet actuellement ne me permet pas de tester le jeu, mais dès que possible j'essayerai. J'ai essayé de regarder le github, et je suis bien motivé pour explorer un peu et voir si je peux t'aider d'une quelconque manière.

                    Bref super projet, que je vois à du mûrir dans ta tête depuis des années. Je posterai sûrement à nouveau quand j'aurais pu tester et installer le code sur mon ordi. Et j'essayerai de passer sur un live une fois :)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 décembre 2017 à 18:15:05

                      Salut à tous !

                      Hier soir s'est achevé le dernier live Twitch de développement de l'année, qui reprendra après une pause de deux semaines (reprise la première semaine de janvier).

                      Pour l'occasion, deux choses ont étés faites:

                      • Le serveur d'Utopia tourne maintenant de façon permanente, vous pouvez vous connecter à n'importe quel moment sans problème
                      • Un scripting côté client est maintenant disponible ! Tous les contrôles ont été migrés sur un script .lua qui sera chargé par le jeu (et rechargeable avec un appui sur la touche F5).

                      Le client est téléchargeable ici !

                      Le scripting peut faire de nombreuses choses avec une API documentée, n'hésitez pas à bidouiller.
                      Vous pouvez notamment afficher les sprites de votre choix, décider des mouvements du vaisseau, positionner la caméra, faire un scan et récupérer la position/rotation de toutes les entités du serveur, etc.

                      Vous pouvez également télécharger une petite lib faite par DragonJoker à l'occasion: https://github.com/DigitalPulseSoftware/Erewhon-Game/releases/download/v0.16/Scripts.zip

                      Je précise que le scripting tel quel est fait à l'arrache, et que l'API va totalement changer quand ce sera fait sérieusement. Sans oublier que le scripting tel quel est uniquement client-side, alors qu'il est principalement voulu server-side (mais le scripting-client side existera pour scripter vos propres contrôles/interface).

                      J'attends vos retours !

                      @dewey70: Merci beaucoup pour tes retours, je t'ai répondu sur le site de feedback (que je risque de changer, il ne me convient pas vraiment). N'hésite pas si tu veux participer ;) 

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                        11 janvier 2018 à 21:34:37

                        So it begins *_* ça fait plaisir de voir que l'idée n'a jamais disparu ^_^

                        -
                        Edité par Arsleust 11 janvier 2018 à 21:35:08

                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 janvier 2018 à 4:30:29

                          Je tiens à te féliciter ! Je suis assez surpris de ton évolution, j’ai commencé à te suivre à l’époque où tu présentais ton propre moteur, c’était un projet déjà très impressionnant et tu continues encore dans ta lancée donc félicitation et bonne continuation.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 janvier 2018 à 15:26:05

                            Salut à toi, Lynix ! :)

                            Je trouve que l'idée en lui même est vachement bien foutu et cela ouvre d'une certaine manière, sur une nouvelle façon d'apprendre à "coder", cela rendrait l'apprentissage plus attrayants pour certains (ayant pris pas mal de temps à apprendre les langues les plus simples comme le JavaSCRIPT j'arrive toujours à hurler quand il s'agit de créer une fonction) mis à part ça ;

                            En espérant avoir bien lu tous tes posts sur ce topic, serait-il possible de pouvoir travailler sur un tutorial ou une IA d'aide permettant aux débutants de pouvoir jouer en utilisant les langues de codes ? 

                            • Partager sur Facebook
                            • Partager sur Twitter
                              26 janvier 2018 à 21:33:44

                              Merci à tous !

                              SHOJembaun a écrit:

                              Salut à toi, Lynix ! :)

                              Je trouve que l'idée en lui même est vachement bien foutu et cela ouvre d'une certaine manière, sur une nouvelle façon d'apprendre à "coder", cela rendrait l'apprentissage plus attrayants pour certains (ayant pris pas mal de temps à apprendre les langues les plus simples comme le JavaSCRIPT j'arrive toujours à hurler quand il s'agit de créer une fonction) mis à part ça ;

                              En espérant avoir bien lu tous tes posts sur ce topic, serait-il possible de pouvoir travailler sur un tutorial ou une IA d'aide permettant aux débutants de pouvoir jouer en utilisant les langues de codes ? 

                              Oui bien sûr, c'est tout à fait envisageable. Mais l'API n'est pas assez mature pour s'attaquer dès maintenant à un tutoriel, peut-être d'ici quelques semaines ? :)


                              J'en profite pour annoncer que le prochain live sera dimanche à 14h30, et aussi que j'ai ouvert des issues sur GitHub pour discuter du gameplay, vos avis m'intéressent grandement !

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                4 février 2018 à 21:36:16

                                Chat - lut :)

                                Ton projet avance-t-il ?

                                Et est il multi - platforme ? (étant sous linux ...)

                                Bonne continuation, et bon courage :)

                                • Partager sur Facebook
                                • Partager sur Twitter

                                CodeWe is an open-source live code-sharing website.

                                  7 février 2018 à 0:37:29

                                  Salut, désolé du temps de réponse !

                                  Oui le projet avance bien, actuellement on en est à la gestion de la base de donnée ;)

                                  Je ne communique pas beaucoup sur l'avancement du projet mais tu peux le retrouver sur Twitch deux fois par semaine, dont demain à partir de 18h15. :)

                                  Le jeu est multi-plateforme oui, le client compile sous Linux et te permet normalement de te connecter au serveur qui tourne (le serveur compilait jusqu'à il y a peu sous Linux, il y a une erreur qu'il faut que je règle de ce côté).

                                  À bientôt ;)

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                    19 février 2018 à 23:14:17

                                    salut je viens de découvrir le projet par l ancien topic

                                    je voulait juste dire super idée

                                    je vais suivre le projet et commencer a test ce week :)

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      20 mars 2018 à 7:20:13

                                      Ça fait 3 mois que j'attende des news sur le moteur, mais je n'ai pas vue le message surprise (même si j'ai vue ton live), du coup, me voici

                                      bonne chance pour le développement du jeu ;)

                                      -
                                      Edité par Eyefighter 20 mars 2018 à 7:20:33

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 avril 2018 à 14:23:42

                                        Salut, j'essaie de compiler le projet mais je bloque à un moment.

                                        Quand il faut éditer le config.lua, pour le moteur c'est ok, pas pour pgsql, je dois mettre quoi dans le champ [[...]] ?

                                        -- libpq base directory (should contains bin, include and lib directories)
                                        PostgresClientPath = [[/usr/lib/postgresql/9.5]]

                                        Quand j'exécute premake5-linux64, j'ai cette erreur :

                                        Error: ...cuments/PROGRAMME/Erewhon-Game-master/build/premake5.lua:74: "/usr/lib/postgresql/9.5/include" does not exists
                                        


                                        Merci !

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          7 avril 2018 à 14:40:08

                                          Je sais pas comment résoudre ton erreur @Robinoes mais vu que t'étais sur le sujet de nazara, et maintenant d'utopia, je t'invite à rejoindre le serveur discord NaN pour avoir une réponse plus rapide à tes problèmes

                                          Edit: Tu as bien installé PostgreSQL ? il est installé où ? Si c'est pas dans /usr/lib/postgresql/9.5 (si par exemple tu es sous windows ça sera forcément autre chose), va falloir changer le PostgresClientPath

                                          -
                                          Edité par Random Coder 99 7 avril 2018 à 14:43:00

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            7 avril 2018 à 20:35:33

                                            Hello, le fichier que tu suis n'est pas à jour depuis l'ajout de PostgreSQL. Sous Linux tu n'as rien à mettre entre les [[]] (donnant donc une chaîne vide), car la bibliothèque est trouvable directement depuis le système (ce qui n'est pas le cas de Nazara actuellement).

                                            PostgresClientPath = [[]]

                                            À noter qu'actuellement le serveur ne tourne pas, et ma chaîne Twitch est actuellement désactivée (normalement elle était censée être rétablie il y a une heure mais j'imagine que ça attendra demain).

                                            Donc si ma chaîne est rétablie demain, rendez-vous à 14h30 pour le prochain stream :)

                                            Edit: Chaine rétablie

                                            -
                                            Edité par Lynix 7 avril 2018 à 20:46:21

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                              11 avril 2018 à 13:50:06

                                              Hello !

                                              Tout d'abord, des nouvelles du jeu depuis tout ce temps: il avance bien, surtout d'un point de vue technique (je considère que l'architecture est primordiale dans un gros projet), gérant maintenant correctement les vaisseaux, effets sonores et visuels. Mais délaissant un peu le côté gameplay, qui n'a pas beaucoup évolué récemment.

                                              Cependant, on a atteint le stade où je pense qu'il est intéressant de renforcer l'expérience utilisateur (visuelle et sonore), ceci demandant du travail moteur.

                                              Pour cette raison, comme je l'explique sur le topic de Nazara, je vais temporairement dédier les lives du mercredi soir à de la programmation autour de Nazara, pour améliorer tout le côté rendu, sonore et widgets principalement.

                                              Le dimanche reste consacré à Utopia, notamment plus sur des tâches de gameplay.

                                              Donc si cela vous intéresse, rendez-vous à partir de ce soir 18h15 sur ma chaîne Twitch.

                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                14 avril 2018 à 16:28:00

                                                Bonjour,

                                                Après quelques heures passées sur le jeu, je me permet de faire mon petit commentaire.

                                                Tout d'abord, pour ce qui est de l'installation, je pense que bien que le jeu est en phase de création, tu devrais le rendre un peu plus compatible avec les systèmes linux, vus que même la dernière version LTS ne peux supporter le jeu (compilation).

                                                Sinon, pour le jeu en lui même, je trouve que ce qui a déjà été implémenté l'est très bien, avec peu etre comme seul exception les déplacements (qui ne permettent ni de faire des micromouvements ni de faire de grands mouvements).

                                                Pour ce qui est de la programmation par nous, je trouve que tu l'as super bien intégré, notamment le F5 instantané sans devoir relancer continuellement le jeu. Ne connaissant pas le lua, certains principes m'échappent encore, bien que le langage semble bien adapté. Dernier petit bémol, qui est les variables de mouvements et de positions qui sont parfois relatives et parfois absolue, ce qui embrouille un peu (Comme par exemple ma tentative de stabilisateur :p ).

                                                Je te souhaite bon courage, et surtout, continue comme ça ;)

                                                Au plaisir de reparler avec toi sur discord,

                                                Bhasher.

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                CodeWe is an open-source live code-sharing website.

                                                  15 avril 2018 à 3:35:20

                                                  Salut ! Merci de tes retours.

                                                  Bhasher a écrit:

                                                  Tout d'abord, pour ce qui est de l'installation, je pense que bien que le jeu est en phase de création, tu devrais le rendre un peu plus compatible avec les systèmes linux, vus que même la dernière version LTS ne peux supporter le jeu (compilation).

                                                  Le problème d'Ubuntu version LTS c'est que c'est une distribution spécifiquement conçue pour bloquer l'évolution des paquets dans d'autres domaines que la correction de bug/la sécurité.

                                                  Lors de la conception d'Utopia, j'ai choisi d'utiliser le C++17 afin de me familiariser à cette norme et de pouvoir utiliser les derniers ajouts du C++, mais ça vient avec quelques désavantages, notamment celui qu'il faut des paquets à jour, plus à jour même que ce que Debian Stretch ne propose (qui est déjà loin devant ta version d'Ubuntu LTS de ce que j'ai vu).

                                                  C'est une direction que je vais conserver, notamment parce qu'il serait difficile de faire un retour en arrière mais aussi parce que je ne pense pas que ça soit la solution, il existe des moyens de ramener des paquets à jour sur ta version d'Ubuntu (même si je conçois que ce n'est pas pratique) et une bonne partie des distributions alternatives (Arch) fonctionnent en rolling release et sont donc toujours à jour.

                                                  Donc désolé pour ça mais je ne peux pas y faire grand chose, seul le temps le peut. :(

                                                  Bhasher a écrit:

                                                  Sinon, pour le jeu en lui même, je trouve que ce qui a déjà été implémenté l'est très bien, avec peu etre comme seul exception les déplacements (qui ne permettent ni de faire des micromouvements ni de faire de grands mouvements).

                                                  Les contrôles que j'ai mis en place dans le jeu sont la partie la plus critiquée, et je comprends pourquoi. L'avantage étant qu'ils sont intégralement programmés dans le fichier spaceshipcontroller.lua et que n'importe qui peut donc faire ses propres contrôles.

                                                  Néanmoins j'ai quelques idées pour refaire des contrôles corrects, il faut juste que j'arrive à les mettre en place.

                                                  Bhasher a écrit:

                                                  Pour ce qui est de la programmation par nous, je trouve que tu l'as super bien intégré, notamment le F5 instantané sans devoir relancer continuellement le jeu. Ne connaissant pas le lua, certains principes m'échappent encore, bien que le langage semble bien adapté. Dernier petit bémol, qui est les variables de mouvements et de positions qui sont parfois relatives et parfois absolue, ce qui embrouille un peu (Comme par exemple ma tentative de stabilisateur :p ).

                                                  Le scripting client tel qu'il est est une ébauche, un test, un brouillon en attendant de refaire ça bien (d'une façon plus similaire au serveur). À ce moment-à je mettrais en place une documentation, et les choix seront un peu plus réfléchis. :D

                                                  En tout cas merci pour l'intérêt que tu portes au projet, au plaisir de rediscuter avec toi !





                                                  -
                                                  Edité par Lynix 15 avril 2018 à 13:40:56

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                    22 avril 2018 à 17:16:02

                                                    Hello !

                                                    Pour celles et ceux qui n'auraient pas eu l'occasion d'assister au live d'hier, ou qui n'étaient pas là au moment du test des fonctionnalités, je vous ai concocté une petite vidéo youtube faisant état de l'avancement du jeu, après presque six mois de développement:

                                                    Malheureusement le serveur distant n'est pas encore à jour, notamment parce qu'il faut que j'intègre des limitations sur cette nouvelle fonctionnalité avant de l'intégrer, vu le bordel monstre que ça peut provoquer.

                                                    En espérant que ça vous plaise !

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                      23 avril 2018 à 8:09:41

                                                      j'ai vue la rediffusion sur YouTube.

                                                      félicitation, ça avance bien. j'ai hâte de voir le jeu avec un début de gameplay

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 mai 2018 à 10:27:50

                                                        J'aime beaucoup le principe du jeu.

                                                         Une question sur la programmation des vaisseau à l'avance, est très complexe ou non?
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          14 mai 2018 à 20:23:32

                                                          matie a écrit:

                                                          J'aime beaucoup le principe du jeu.

                                                           Une question sur la programmation des vaisseau à l'avance, est très complexe ou non?


                                                          J'essaie justement de la simplifier pour rendre le tout ludique sans pour autant perdre en possibilités de gameplay :)

                                                          D'ailleurs hier j'ai mis en place la troisième version du module radar des petits vaisseaux, la version précédente était bien trop complexe à gérer je trouve. 

                                                          Je donnerais bientôt des nouvelles, ce que je peux déjà dire c'est que le launcher du jeu a survécu aux premiers tests ;) 

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)

                                                            30 juillet 2018 à 15:36:57

                                                            alors, du nouveau?

                                                            est ce que le jeu avance bien ?

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            [Jeu de programmation] Utopia

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                            • Editeur
                                                            • Markdown