IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Le code source en C# de l'éditeur et du moteur Unity est maintenant disponible à la lecture


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut Le code source en C# de l'éditeur et du moteur Unity est maintenant disponible à la lecture
    Le code source en C# de l'éditeur et du moteur Unity est maintenant disponible à la lecture

    En effet, dorénavant, le code source en C# du moteur de jeux vidéo Unity ainsi que de l'éditeur est disponible à la lecture sur GitHub. Toutefois, tous les mots de cette phrase sont importants. En effet, ce n'est pas l'intégralité du code source de Unity qui est disponible, mais uniquement les morceaux codés en C#. Aussi, le code n'est pas open source. Il est disponible uniquement à des fins de lecture. C'est-à-dire : vous n'avez aucun droit de le modifier, ni même pour en faire un « pull request » (pour rapporter un bogue, il faut utiliser le trackeur de bogues, comme auparavant).
    En bref, le code a été mis à disposition afin d'aider les développeurs à mieux comprendre le fonctionnement de leur projet, ou encore, aux curieux souhaitant comprendre comment le moteur fonctionne. Il est aussi possible de voir les changements entre chaque version (et de remonter jusqu'à la version 2017.1).

    Il est utile de rappeler que les parties C# du moteur de jeux vidéo étaient déjà accessibles, en décompilant les assemblies de Unity. Cela est même permis par la licence de Unity. Toutefois, le résultat était difficile à utiliser (absence des noms de variables et des commentaires). De plus, certaines personnes mettaient à disposition les fichiers produits par le disassemblage, ce qui était illégal. Ainsi, pour améliorer la vie des curieux et pour éviter à des personnes bienveillantes de passer dans l'illégalité, la société a mis le code source à disposition (à la lecture uniquement).

    Bonne lecture !


    Votre opinion

    Aviez-vous eu le besoin de désassembler Unity ?
    Est-ce que cette annonce vous impacte ? Pourquoi ?


    Source

    Annonce officielle
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Bot Troll en alpha-test

    Femme Profil pro
    Webmarketer
    Inscrit en
    Septembre 2016
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2016
    Messages : 133
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    le code n'est pas très propre

  3. #3
    Membre éprouvé
    Homme Profil pro
    Programmeur des cavernes
    Inscrit en
    Août 2017
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur des cavernes
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2017
    Messages : 364
    Points : 1 240
    Points
    1 240
    Par défaut
    @datalandia : n'hésite pas à le leur faire savoir. Je suis sûr qu'ils n'attendent que cela.

  4. #4
    Bot Troll en alpha-test

    Femme Profil pro
    Webmarketer
    Inscrit en
    Septembre 2016
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2016
    Messages : 133
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    je donne simplement mon avis...et si il le mettent en open source c'est justement pour avoir aussi ce genre de retour

  5. #5
    Membre éprouvé
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2014
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Août 2014
    Messages : 476
    Points : 1 042
    Points
    1 042
    Par défaut
    Je suis d'accord leur code est a chier, ils ont nommé les variables comme s'ils ecrivaient du C++. (m_Variable) Si c'est pas un anti pattern ca ! ...

  6. #6
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Sachant que le moteur est codé en c++, ça parait pas si absurde.
    C'est marrant les critiques subjective du code sans arguments. C'est un peut "je trouve ça moche", bref, très constructif...

    Très intéressant par ailleurs, merci pour l'info.

  7. #7
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par datalandia Voir le message
    je donne simplement mon avis...et si il le mettent en open source c'est justement pour avoir aussi ce genre de retour
    Un avis est intéressant s'il est constructif (surtout sur un aspect aussi subjectif que la qualité d'un code). Et ce n'est clairement pas le cas du votre. Je vous invite donc à étayer vos propos à l'aide d'arguments et d'exemples tirés du code source.

    De plus, il n'est pas "open source". Il est "ouvert" à la lecture, pour des raisons explicitées dans l'actualité. La nuance est importante...
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  8. #8
    Bot Troll en alpha-test

    Femme Profil pro
    Webmarketer
    Inscrit en
    Septembre 2016
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2016
    Messages : 133
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    1)un exemple parlant, il manque clairement de commentaire, les fichiers se contente de 1-2 commentaires de 1 ligne grand max
    c'est un exemple typique d'une mauvaise qualité de code

    2)il n'y a pas de coding standard, certaines variable (de meme catégorie, c'est pas des global ou des attributs) commence par des majuscule d'autre non

    voila un exemple de code bien fait par exemple

  9. #9
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par datalandia Voir le message
    1)un exemple parlant, il manque clairement de commentaire, les fichiers se contente de 1-2 commentaires de 1 ligne grand max
    c'est un exemple typique d'une mauvaise qualité de code pour vous
    J'ai rajouté la partie en gras. Beaucoup ne partagent pas votre point de vue.

    Le point 2 est tout à fait recevable par contre.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  10. #10
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Citation Envoyé par datalandia Voir le message
    1)un exemple parlant, il manque clairement de commentaire, les fichiers se contente de 1-2 commentaires de 1 ligne grand max
    c'est un exemple typique d'une mauvaise qualité de code
    Non. Il vaux mieux un nom de variable ou de fonction ayant du sens et explicite qu'un bloc de commentaire....
    Et j'ai trop souvent vu des pavés de commentaires n'ayant rien avoir avec le code... au minimum actuel... pour les considérer comme fiable ou indicateur de quoique ce soit.

    Lesquels classes que j'ai regardé ont des métriques relativement correct...

    • Longueur de la classe inférieur à 2000 lignes.
    • Longueur des fonctions inférieur à 200 lignes.
    • Profondeur des fonctions (nombre de bloc imbriqué) inférieur à 5.


    Edit :
    Citation Envoyé par François DORIN Voir le message
    J'ai rajouté la partie en gras. Beaucoup ne partagent pas votre point de vue.
    Je confirme.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  11. #11
    Membre expérimenté Avatar de dfiad77pro
    Homme Profil pro
    Responsable Architecture logicielle
    Inscrit en
    Décembre 2008
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable Architecture logicielle
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 541
    Points : 1 729
    Points
    1 729
    Par défaut
    il est vrai que c'est assez spécial comme code, faut pas s'attendre a du MVVM pur Microsoft pour l'UI

    On dira mais bon si ça marche bien on s'en fiche.

    Mais ça me surprends quand même.

    Mon avis perso :
    - Pour le nommage des variables , la seul fois ou je n'y fait pas attention c'est pour les couches auto générées style Entity Framework ou je trouve interessant d'être proche de la BDD, car l'abstraction naturelle d'entité peut amener des surprises dans la génération sur SQL. (Généralement je fais une couche de service qui l'abstrait)

    - Pour les commentaires, ok pour ne pas trop en mettre mais au moins soigner les commentaire XML des entêtes de classe/méthodes(CsDoc), c'est la base.
    - Je trouve qu'il y'a peu d'interfaces pour de la POO ?
    - Beaucoups de if sans curly braces Il y'en a qui aiment (#vbPythonLovers) moi je trouve ça pas lisible en C#/Java et problématique pour les merges/intégration.
    - indentation mal faite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      double time = EditorApplication.timeSinceStartup;
     
                if (time > m_FadeoutTime)
                    GUI.color = new Color(1, 1, 1, 1 - (float)((time - m_FadeoutTime) / kWarningFadeoutTime));
                    GUI.Label(r, GUIContent.none, EditorStyles.notificationBackground);
                EditorGUI.DoDropShadowLabel(r, m_Notification, EditorStyles.notificationText, .3f);

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 204
    Points : 540
    Points
    540
    Par défaut
    C'est quand même vrai que le code est un peu surprenant. Certes on doit pas avoir le wiki qui va avec (enfin j'espère qu'ils en ont un), mais dans l'état c'est dur de suivre le code, du fait du peu de commentaire et du noms de certaines variables pas très parlant. A titre d’exemple j'ai voulu voir comment était codé les gizmo de l'éditeur (pour comprendre les différences de fonctionnement avec ceux de blender) et c'est pas facile à suivre. Pourtant Unity ça fait 5 ans que je l'utilise donc c'est pas comme si je me plongeais dans un domaine que je ne connais pas. Et pour ceux qui trouve que le code est "très bien" (je dirai pas qu'il est mauvais non plus) il suffit de regarder les codes d'exemples fournit dans la documentation Unity (celle pour les utilisateurs) qui sont bien plus commentés et facile à suivre. Vous allez tout de suite voir que c'est radicalement différent. Pourtant les 2 sont codés par les personnes de la même boite (mais probablement pas les mêmes).

    Du coup c'est sympa d'ouvrir le code mais je doute qu'a part quelques individus, ça sera sans doute inutile à la plupart, surtout que Unity c'est sa mise prise en main simple et immédiate qui fait son plus grand atout. Et la c'est pas les adjectifs que j'utiliserai pour qualifier le code de l'éditeur.

  13. #13
    Membre confirmé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Points : 479
    Points
    479
    Par défaut
    La POO n'est pas définie par l'utilisation d'interfaces.
    Un pti CTRL+K, CTRL+D / "format document" et voilà, les tabulations seront réglées.

    Ce code est disponible pour satisfaire les curieux, pas pour faire un état de l'art sur la meilleure façon d'écrire/présenter son code.

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/12/2019, 11h00
  2. Réponses: 0
    Dernier message: 24/05/2017, 20h23
  3. Réponses: 3
    Dernier message: 06/05/2015, 17h34
  4. Réponses: 0
    Dernier message: 27/03/2015, 02h38
  5. éditeur de code source
    Par lejum dans le forum EDI et Outils pour Java
    Réponses: 9
    Dernier message: 20/03/2006, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo