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

Projets Discussion :

La vérité sur la conception de jeux amateurs


Sujet :

Projets

  1. #221
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 106
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par screetch Voir le message
    sais tu combien d'allocations fait la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    std::string result = Environment::getPluginDir() + "/" + prefix + "/" + pluginName + ".dll";
    le char * c'est pas complétement le mal.
    les std::string en général c'est très très mauvais.
    le bas niveau est tres important encore dans les jeux.
    pour 5% du code c'est important... en general la manipulation de chaine de caracteres dans un jeux video n'est pas critique en performance, a moins de faire un jeu de texte

    je sors.

  2. #222
    screetch
    Invité(e)
    Par défaut
    je trouve ca dommage de ne pas coder immédiatemment de maniere efficace, et de gaspiller des cycles inutilement sur des choses comme ca. le plus ennuyeux c'est que apres ces cycles perdus la n'apparaissent sur aucun benchmark car ils ne se voient pas, et du coup ne sont jamais corrigés.

    mais le mieux c'est bien de ne jamais avoir fait ces allocations non ? que ce soit du code critique ou non critique.

    std::string devrait etre banni du code c++ en general... il y a des moyens tres efficaces de faire la meme chose

  3. #223
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Déjà, avec les r-value ça va supprimer pas mal de copies inutiles. Ensuite, est-ce que tu penses que c'est vraiment un bottleneck ? Comme l'a dit unmanous, comparativement à tous les algorithmes (IA, affichage, éclairage, ray tracing...), c'est vraiment pas ces détails qui vont te ralentir le code, je pense.

  4. #224
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 106
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par screetch Voir le message
    std::string devrait etre banni du code c++ en general...il y a des moyens tres efficaces de faire la meme chose
    A part faire du Java/C#, utiliser la STL ou re-ecrire une mini STL je ne vois pas d'autres moyens de faire la meme chose (du moins sans tripler le nombre de ligne de code et d'oublier quelques delete[] au passage). Un des gros avantages de la STL ou d'autres librairies de template similaire (et du C++ en general) c'est aussi de pouvoir thrower des exceptions en étant sur que la mémoire sera libérée correctement via les dtors.

    Il y a une perte en performance c'est clair, mais le gain de temps pour développer est tellement énorme, et je ne parle pas du temps a debugger. De plus cote serveur, les containers font clairement gagner en sécurité. Personnelement je n'utilise jamais la STL, j'ai mes propres containers que je développe et améliore depuis des années qui sont largement inspiré de la STL (en plus simple, mais plus rapide).

    Si on doit faire du C++, autant utiliser les fonctionnalités du C++ a fond: templates, containers, opérateurs, exceptions, polymorphisme, ... Certes il reste des parties critiques comme l'affichage qui doivent être optimisés et dans ses routines, je suis d'accord pour dire qu'il faut se méfier comme de la peste de ces facilitées (je me suis deja fait avoir comme tout le monde), mais d'expérience c'est 5% du code max. Et souvent un petit vector.reserve peut suffir a régler le problème. Il existe pas mal d'outils pour savoir on vont les cycles (celui de visual est très bien d'ailleurs) et il ne sert a rien d'optimiser une routine appelé rarement, d'autant que souvent un code très optimise est plus difficile a relire.

  5. #225
    screetch
    Invité(e)
    Par défaut
    rien ne dit que tu dois ecrire ca comme un cradoc avec des fonctions C non plus
    mais string n'est pas un "golden hammer", ca ne devrait pas etre utilisé partout

    std::string est surtout bien pour stocker une chaine de caracteres, pour l'etendre il y a stringbuilder et d'autres trucs. c'est toujours C++, deja, et pas de leaks.

    De plus, ici, c'est une chaine visiblement temporaire, qui n'existe que dans cette "stackframe", alors pourquoi utiliser le tas ? la chaine devrait etre construite sur la pile, pas sur le tas.

    Et ce n'est pas parce que ce code n'est pas critique en performance qu'il doit etre ecrit comme une porcasse, gaspiller des cycles meme dans des parties non critique, c'est etre incompétent. Si un outil adapté existe, il faut l'utiliser; c'est cela qui prouve que l'on a une bonne connaissance du langage, des outils, du "monde réel". dire "j'utilise la STL et std::string", c'est dire "j'ai un couteau suisse, je m'en sert pour tout", et c'est pas faire preuve de professionalisme.

  6. #226
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 106
    Points : 153
    Points
    153
    Par défaut
    Je ne vois pas trop ou tu veux en venir screetch, faire le choix de perdre un peu en performance pour faciliter le developpement et la maintenance n'a absolument rien a voir avec ecrire du code "crade".

    Et dans le code que tu as donne toi meme en exemple, je ne vois rien de choquant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result = Environment::getPluginDir() + "/" + prefix + "/" + pluginName + ".dll";
    Pour le coup il semble que ça serve à récupérer le chemin d'un plug in... pas très critique niveau performance.

    J'utilise beaucoup le C# pour faire mes outils, or mon moteur est en C++, j'utilise donc un système d'interop (un système fait maison qui me sert aussi dans le cadre de mes RPC client/serveur qui ressemble a Thrift) qui est beaucoup plus lent qu'un appel de fonction normal (je dirais au moins 50 fois plus lent qu'un appel classique du a la serialization/deserializarion des paramètres et de la valeur de retour). J'ai un éditeur de monde que j'ai développé en un mois grâce a ce système... si j'avais du le faire avec les MFC en C++ par exemple, en me souciant des performances, j'aurais peut être mis 1 an a le faire et il ne serait pas aussi agréable a utiliser. Les appels C# vers le moteur C++, il y en a au maximum 100 par secondes dans l'éditeur, franchement ça vaut le coup! On a la chance d'avoir des machines plus puissante et de ne pas être obligé de tout écrire en assembleur comme au bon vieux temps, c'est quand même dommage de faire une crois dessus en prétextant un problème de performance qui n'a pas lieu d'être dans beaucoup de situation.

    Et le temps gagne grâce a toutes ces facilitées peut être utilement utilisé pour optimiser des routines critiques.

  7. #227
    screetch
    Invité(e)
    Par défaut
    je veux en venir qu'il y a moyen de faire aussi propre "visuellement" avec des operateurs de concatenation et une gestion automatique, sans faire d'allocation mémoire sur le tas.

    et c'est important d'utiliser l'outil adapté (ou de créer l'outil s'il n'existe pas)

    MEME si il ne s'agit pas de code critique, montrer que l'on maitrise les solutions c'est bien.

  8. #228
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Bonjour.
    Je viens de lire la page précédente et je viens de rêver devant l'histoire du mec qui s'est fait embaucher grâce à un jeu crade en 1996. En fait, j'espère approcher l'industrie du jeu vidéo en ayant fait plusieurs projets personnels; pour l'instant je n'ai que deux ébauches de jeu, et en java; un casse-brique que je n'ai pas touché depuis longtemps et un shoot'em up en Java3D vaguement inspiré de Gradius V sur lequel je galère en ce moment. A côté de ça, je suis en train d'achever un DUT info en alternance et je me prépare à une formation d'ingé en alternance aussi (argh, il me manque encore l'entreprise!)

    Petit aparté pour dire que je trouve vraiment dommage de n'avoir trouvé aucune boîte de JV qui accepte des apprentis

    Sinon, en C, je me posais une question: depuis que j'ai découvert les appels systèmes (fcntl.h et les fonctions open, close, write, read...) je me met à les utiliser à tout va, à la place des printf, fprintf, fopen et compagnie parce que je trouve leur utilisation bien plus simple; il y a juste à retenir une poignée de fonctions à connaître pour faire autant de chose qu'avec toute l'usine à gaz de stdio.h. Je me demandais: c'est mal?

  9. #229
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par Guntha Voir le message
    Je me demandais: c'est mal?
    Les appels systèmes d'entrée/sortie ne sont pas bufferisés (contrairement à printf), donc potentiellement plus gourmand en temps.
    Je ne répondrai à aucune question technique en privé

  10. #230
    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
    Pour les jeux ( je reviens un peu sur ce qui a été dit un peu avant ), les entrées sorties ne sont pas vraiment utiliser. Premièrement, tout ce qui est affichage dans la console ( pour les traces et autre ) ne seront que dans une version de debug et non la version vendue.

    Les accès qui risque d'y avoir, sont les lectures des ressources, mais ceci sont faites en début ( ou en phase de chargement ) donc on peut relativement prendre son temps ( j'ai dit relativement, en tant que joueur je n'aime pas attendre :p ).

    Et puis les accès en sortie, ne seront pas nombreuses ( un fichier log comme font certains jeu ) les screenshots ( UT2004 faut mieux pas en faire car on perd facilement 2 secondes ("lag") :p ).

    Finalement, pour sortir complètement de ce mini hors sujet, le conseille que je peux donner à Guntha c'est qu'il faut se lancer sur un projet et le faire à fond à fond à fond. De A à Z. ( Je dis pas de refaire le moteur graphique ) mais je dis de faire un jeu qui tient debut, pas un truc que l'on arrête lorsque l'on a atteind 75% du truc qui marche.

    Et puis l'histoire de la personne qui se fait embaucher en 96, c'était en 96 ... et je voudrais pas dire mais maintenant lorsque l'on parle d'un jeu vidéo, on parle de milliers ( millions ) d'euro d'investissement, d'une équipe de plus de 10 personnes ... d'un projet s'étalant sur 1 an ou plus. ( Je parle JV pro ). En 96 c'était pas la même.

    Et puis, comme avait dit un ami ( faut pas le prendre mal ) en France on se fait embaucher pour produire les dernières productions de "Barbie va faire du shopping" sur DS.
    Donc je pense qu'en France, il se peut que l'on se fasse embaucher facilement.

    Je vous souhaite ( Guntha ) bonne chance pour trouver le stage, et bonne continuation dans les études et aussi projet perso Vous nous montrerez le gradius-like ?.
    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.

  11. #231
    screetch
    Invité(e)
    Par défaut
    hmmm il y a pas mal de grosses productions francaises, chez eugen systems, quantic dreams, a ubistoft a montpellier ou chez arkane studios (Dark Messiah of might and magic).
    apres, des barbie va faire du shopping ou des poney simulator pour filles a couettes, ca, y'en a vraiment vraiment partout dans le monde, pas qu'en france.

  12. #232
    Membre expérimenté
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2009
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 416
    Points : 1 443
    Points
    1 443
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Et puis l'histoire de la personne qui se fait embaucher en 96, c'était en 96 ... et je voudrais pas dire mais maintenant lorsque l'on parle d'un jeu vidéo, on parle de milliers ( millions ) d'euro d'investissement, d'une équipe de plus de 10 personnes ... d'un projet s'étalant sur 1 an ou plus. ( Je parle JV pro ). En 96 c'était pas la même.

    Et puis, comme avait dit un ami ( faut pas le prendre mal ) en France on se fait embaucher pour produire les dernières productions de "Barbie va faire du shopping" sur DS.
    Donc je pense qu'en France, il se peut que l'on se fasse embaucher facilement.
    A côté de ça il reste Arkedo, Mekensleep ou Nadeo qui font encore des choses très différentes (moins de millions de brouzoufs, pas plus de quelques dizaines de personnes) et qui marchent!(surtout pour Nadeo).

    Citation Envoyé par LittleWhite Voir le message
    Je vous souhaite ( Guntha ) bonne chance pour trouver le stage, et bonne continuation dans les études et aussi projet perso Vous nous montrerez le gradius-like ?.
    Ce n'est pas un stage mais un contrat d'apprentissage (ça n'a pas l'air mais ça n'a rien à voir ) Et je viens de le trouver cet après-midi, quelqu'un s'est désisté apparemment, pour un poste pour lequel j'avais déjà passé deux entretiens \o/ Par contre ça reste loin du jeu vidéo.

    Pour le Gradius-Like, je vais attendre d'avoir quelque chose de vraiment complet pour le montrer (une vieille version doit toujours être sur l'ancien forum d'ajva-online.com, association qui avait fait un concours pour lequel je l'avais commencé). Par contre visuellement, ça restera assez abstrait (et suffisamment éloigné de Gradius dans le gameplay tout de même)

  13. #233
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 202
    Points : 91
    Points
    91
    Par défaut
    Message transféré.

  14. #234
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Je rebondis rapidement sur la phrase "des projets personnels peuvent remplacer un diplôme".

    Pour moi c'est totalement faux, voir l'inverse.

    Actuellement, il faut cinq années pour obtenir un diplôme d'ingénieur (ou
    universitaire, le niveau est exactement le même), huit pour un doctorat, encore bien plus pour une habilitation à diriger des recherches.

    En tout, cinq à huit ou quinze années à travailler sur le sujet, dans un milieu extrêmement compétent, huit heures par jour à pas de limites pour les doctorants ou les maîtres de conférences passant une HDR.

    Alors à quel moment le fait de travailler sur des projets personnels, donc, en dehors d'un contexte technique de haut niveau, en plus de ce qu'on fait à coté (parce que c'est sur le temps libre, du coup) peut-il ne serait-ce qu'arriver à égaliser un diplôme supérieur (bac+5 ou niveau ingénieur) ?

    Jamais. Il faut également compter sur les éléments suivants :

    - Un cycle d'études supérieures est ponctué de projets (concrètement, un cours = un projet en rapport avec ce cours)
    - Les écoles et universités "spécialisent" très souvent leurs fin de cycles (cinquième année par exemple)
    - Une formation d'ingénieur ou universitaire apporte une très grande part de théorie et de science, qui se révèle au final très bon sur le plan des compétences que l'on peut apporter au niveau industriel

    Le diplôme n'est remplaçable qu'avec l'expérience; sauf bien sûr en France, où même après 10 ans d'expérience, on risque bien de demander un diplôme à un entretien, et attention, s'il vient de la fac, c'est surement que ça cache quelque chose...

    Pour moi, cette affirmation n'est plus vraie actuellement, même si cela a pu l'être. Le bon technologique entre 1996 (période de l'exemple page précédente) et 2009 est énorme. On peut devenir expert dans, au mieux, une technologie, dans un domaine très précis.

    Après avoir eu un diplôme.

    Tout ça se vérifie encore plus pour les jeux vidéos. Et si des développeurs à faible niveau (Bac+2, +3, IUT, BTS, ...) sont embauchés pour développer des jeux vidéos, ça n'est surement pas pour leurs compétences, mais parce qu'ils ne coutent pas cher (je ne dis pas que tous ces gens sont incompétents).
    [|]

  15. #235
    Membre confirmé

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Points : 527
    Points
    527
    Par défaut
    En tant qu'embaucheur de profils techniques (pas dans le domaine du JV, mais avec à peu près le même jeu de compétence), on me dit souvent (au dessus et au dessous dans ma hiérarchie) que le candidat idéal a un diplôme d'ingénieur rang 2 ou 3, pas de thèse ni DEA, a deux ans d'expérience dans une boite dont il veut s'échapper (PME pourrie si possible), est célibataire, mâle, et passe ses nuits à faire du Open Source avec le monde entier. Ça, c'est la théorie, et je pense effectivement qu'il y a malheureusement un peu de vrai là-dedans pour beaucoup de boites (et pourtant il est illégal de prendre en compte le sexe ou la situation de famille d'un candidat). C'est un peu la synthèse cynique de pas mal de posts ci-dessus. Lors de l'entretien d'embauche, certains essaient même de forcer le trait dans cette direction.

    En fait, j'ai appris à mes dépends à faire très attention face à ces profils. Je ne veux pas rentrer dans les détails, mais je vous demande de vous mettre à la place de votre employeur (certes encore très futur et virtuel) quand vous tentez de répondre aux questions qui sous-tendent ces dernières pages: dois-je continuer mes études? payer une école spécialisée? me concentrer au contraire sur des projets personnels? aller jusqu'au bout d'un bidule, ou finasser un truc pointu mais hyper propre? apprendre à fond les technos les plus en vogue? connaitre un peu toutes les technos pour avoir une meilleure vue d'ensemble?

    Du point de vue du recruteur technique (qui aura le dernier mot, ne croyez pas que des cravatés vont décider à ce niveau d'embauche), il doit concilier des critères diamétralement opposés:
    - être rentable à court terme. Il y a toujours une urgence en cours, un problème à résoudre, avec très peu (ou pas du tout) de temps pour former. C'est pourquoi on voit des trucs comiques dans les annonces, genre "2 ans d'expérience avec DirectX 11 et connaissance parfaite de Clearcase". Malheureusement, une part des embauches doit absolument résoudre ces problèmes, même si c'est une très mauvaise manière d'embaucher. Dans ces cas, seuls votre jeu de compétences effectivement validés et votre salaire demandé seront évalués. Ne mettez pas des listes d'acronymes à la con avec dans la même ligne CSS et C++, vous serez de toute façon scrutés par des vétérans pros qui en savent bien plus que vous.
    Pour ce genre d'embauche, des projets aboutis (si possible dans la PME pourrie, mais le garage pourra faire affaire parfois, en tout cas bien mieux que des TP) mettant en œuvre exactement ce qui est demandé, seront des atouts immenses, pouvant vous assurer une embauche directe, sans besoin de diplôme. Au contraire, moins vous en avez plus vous serez compétitifs car vous pourrez être embauchés au prix de la chair à canon (cynisme garanti). Un saupoudrage de méthode théoriques saines acquises à l'école mais non validées sur projet dans la vraie vie ne fera pas le poids.

    - être rentable à long terme. Pourquoi est-ce que parfois, on embauche un centralien ou un thésard, alors qu'il est bien "connu" que ce sont d'éternels étudiants la tête dans les nuages? Ou bien un senior? Eh bien en fait, avoir une longue expérience, ou avoir suivi avec succès une formation longue et sélective est un critère en soi. Il s'agit de quelque chose de très différent des diplômes obtenus en payant telle ou telle école privée (il y en a sur le JV je pense) dont les critères d'attribution de diplômes sont moins contrôlables, et qui en tout cas n'ont pas de sélection à l'admission comparables aux écoles d'ingénieur de rang 1 (ou même 2), ou des diplômes avancés universitaires (bac+5+). Dans ce cas, on investit dans quelqu'un qui sera capable de suivre, qui a prouvé ses capacités à apprendre et à être performant dans un environnement souvent bien plus difficile que la grosse SSII avec ses grand comptes captifs. Là j'ai un peu de mal à imaginer pourquoi une boite de JV aurait besoin de ce genre de profil (sauf peut-être la capacité à suivre les évolutions rapides des technologies, et encore...), mais dans beaucoup de domaines industriels, ces capacités sont très recherchées.

    Par ailleurs, il y a toujours les critères habituels un peu hors sujet ici:
    - capacité à travailler en équipe: difficile de le prouver sur un projet solo, ou par un parcours scolaire.
    - capacité de travail: un gros projet solo autodidacte peut être spectaculaire, mais un gros parcours scolaire montre à peu près les même dispositions
    - capacité à diriger: ni un projet solo ni des diplômes ne démontrent quoi que ce soit.

    Entre les deux approches, il n'est pas évident de choisir. Le gros profil qui coute cher et dans lequel on investit peut vous prendre comme un simple marchepied et bouger ailleurs dès que vous commencez à rentabiliser votre investissement. Le profil débrouillard qui résous tout à pas cher peut très bien caler au premier virage serré et vous demander "mais au fait, c'est quoi une normale de triangle?" juste après la fin de la période d'essai (vécu, pas chez moi cependant), ou bien rester jusqu'à 23h tous les soirs à peiner sur un bug de dépassement de tableau réglé en 3 minute par un vétéran (vécu).

    En ce qui me concerne, j'ai la chance d'avoir un budget et un rythme de développement qui me permettent de payer des gens très cher, et donc de construire au fil des années une équipe ultra performante. Nous avons un "incubateur" dans lequel nous embauchons parmi les deux types de profil. Aujourd'hui, notre meilleure "pêche" est un BTS électronique ultra talentueux, qui a mis un an à se révéler en logiciel bas niveau. Nous le payons comme s'il avait fait Polytechnique, il est très heureux ... et nous aussi!

    C'est en lisant le post de maske que j'ai voulu donner un son de cloche un peu de l'autre coté de la barrière, bien que je n'ai pas vraiment d'expérience dans l'aspect non technique du JV. En particulier, sa dernière phrase ("Et si des développeurs à faible niveau (Bac+2, +3, IUT, BTS, ...) sont embauchés pour développer des jeux vidéos, ça n'est surement pas pour leurs compétences, mais parce qu'ils ne coutent pas cher) démonte un peu à mon avis ce qu'il dit au dessus: pour moi, les deux types d'embauches existent, il ne faut pas se faire d'illusion.

    Comme pour des raisons évidentes il y aura bien plus d'autodidactes dans le domaine du JV (plus que, disons, dans le domaine de la rhéologie des fluides supersoniques ou la vectorisation furtive des médicaments), il y a plus de chances pour qu'une embauche à bas niveau tombe sur une "perle" et gagne sur les deux niveaux: la compétence ET le bas salaire.
    "Maybe C++0x will inspire people to write tutorials emphasizing simple use, rather than just papers showing off cleverness." - Bjarne Stroustrup
    "Modern C++11 is not your daddy’s C++" - Herb Sutter

  16. #236
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par ac_wingless Voir le message
    Là j'ai un peu de mal à imaginer pourquoi une boite de JV aurait besoin de ce genre de profil (sauf peut-être la capacité à suivre les évolutions rapides des technologies, et encore...), mais dans beaucoup de domaines industriels, ces capacités sont très recherchées.
    au contraire, ce sont des profiles tres demandé par les boites de JV qui veulent faire de la technique un peut poussé.

    Dans ce genre de boite, la capacité à comprendre les dernier papier de recherche sorte et à les adapter est un atout concurrentiel énorme.

    Un exemple : chez crytek, ils embauche des docteur pour faire de la r&d sur leurs futurs moteurs. Je connais aussi personnellement des personnes issue de grandes écoles francaises qui travaillent dans le JV en france.

    Bien sur, si c'est une boite qui fait du petit jeu à pas cher, ils n'ont pas forcement le même type de besoin
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  17. #237
    screetch
    Invité(e)
    Par défaut
    combien de boites bossent sur des "poney simulator, le retour de la fille aux couettes 3" contre combien bossent sur des far cry 3 ?

  18. #238
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par ac_wingless Voir le message
    En fait, j'ai appris à mes dépends à faire très attention face à ces profils. Je ne veux pas rentrer dans les détails, mais je vous demande de vous mettre à la place de votre employeur (certes encore très futur et virtuel) quand vous tentez de répondre aux questions qui sous-tendent ces dernières pages: dois-je continuer mes études? payer une école spécialisée? me concentrer au contraire sur des projets personnels? aller jusqu'au bout d'un bidule, ou finasser un truc pointu mais hyper propre? apprendre à fond les technos les plus en vogue? connaitre un peu toutes les technos pour avoir une meilleure vue d'ensemble?

    Du point de vue du recruteur technique (qui aura le dernier mot, ne croyez pas que des cravatés vont décider à ce niveau d'embauche), il doit concilier des critères diamétralement opposés:
    - être rentable à court terme. Il y a toujours une urgence en cours, un problème à résoudre, avec très peu (ou pas du tout) de temps pour former. C'est pourquoi on voit des trucs comiques dans les annonces, genre "2 ans d'expérience avec DirectX 11 et connaissance parfaite de Clearcase". Malheureusement, une part des embauches doit absolument résoudre ces problèmes, même si c'est une très mauvaise manière d'embaucher. Dans ces cas, seuls votre jeu de compétences effectivement validés et votre salaire demandé seront évalués. Ne mettez pas des listes d'acronymes à la con avec dans la même ligne CSS et C++, vous serez de toute façon scrutés par des vétérans pros qui en savent bien plus que vous.
    Pour ce genre d'embauche, des projets aboutis (si possible dans la PME pourrie, mais le garage pourra faire affaire parfois, en tout cas bien mieux que des TP) mettant en œuvre exactement ce qui est demandé, seront des atouts immenses, pouvant vous assurer une embauche directe, sans besoin de diplôme. Au contraire, moins vous en avez plus vous serez compétitifs car vous pourrez être embauchés au prix de la chair à canon (cynisme garanti). Un saupoudrage de méthode théoriques saines acquises à l'école mais non validées sur projet dans la vraie vie ne fera pas le poids.

    - être rentable à long terme. Pourquoi est-ce que parfois, on embauche un centralien ou un thésard, alors qu'il est bien "connu" que ce sont d'éternels étudiants la tête dans les nuages? Ou bien un senior? Eh bien en fait, avoir une longue expérience, ou avoir suivi avec succès une formation longue et sélective est un critère en soi. Il s'agit de quelque chose de très différent des diplômes obtenus en payant telle ou telle école privée (il y en a sur le JV je pense) dont les critères d'attribution de diplômes sont moins contrôlables, et qui en tout cas n'ont pas de sélection à l'admission comparables aux écoles d'ingénieur de rang 1 (ou même 2), ou des diplômes avancés universitaires (bac+5+). Dans ce cas, on investit dans quelqu'un qui sera capable de suivre, qui a prouvé ses capacités à apprendre et à être performant dans un environnement souvent bien plus difficile que la grosse SSII avec ses grand comptes captifs. Là j'ai un peu de mal à imaginer pourquoi une boite de JV aurait besoin de ce genre de profil (sauf peut-être la capacité à suivre les évolutions rapides des technologies, et encore...), mais dans beaucoup de domaines industriels, ces capacités sont très recherchées.
    Pour commencer, mon employeur existe pour moi à très court terme, puisque ayant juste fini mes études je suis confronté à ces problématiques actuellement. Là actuellement, thèse ou pas, DEA ou pas (d'ailleurs ça n'existe plus et souvent les cinquième années en université, maintenant les Masters, sont mixés entre recherche et professionnel), je crois pas que la distinction soit clairement faite. En plus, ça dépend également du type d'embauche voulue (sur projet ou sur profil).

    Il est clair qu'on ne peut pas bluffer le recruteur (le commercial comme le technique de toutes façons). Tout dépend ensuite du type de poste visé et de la politique de l'entreprise. "Acheter" des compétences brutes qu'on va pouvoir payer pas cher et donc exploiter (clairement, c'est de l'enfumage), c'est une politique de marchand de viande.

    On sait très bien à l'opposé que par exemple un ingénieur (bac+5 et plus, universitaire ou école) ne va pas forcément rester éternellement technique (ou alors il devient expert, mais il coute aussi cher) et donc va vouloir évoluer (parfois trop vite même). Mais à priori comme tu le précises, c'est un investissement dans une valeur sûre.

    Pour faire un aparté, c'est à ce moment dans l'entretien qu'il faut prouver être une valeur sûre et "dans les prix" du recruteur. Le diplôme "garanti" cette qualité.


    Citation Envoyé par ac_wingless Voir le message
    Entre les deux approches, il n'est pas évident de choisir. Le gros profil qui coute cher et dans lequel on investit peut vous prendre comme un simple marchepied et bouger ailleurs dès que vous commencez à rentabiliser votre investissement. Le profil débrouillard qui résous tout à pas cher peut très bien caler au premier virage serré et vous demander "mais au fait, c'est quoi une normale de triangle?" juste après la fin de la période d'essai (vécu, pas chez moi cependant), ou bien rester jusqu'à 23h tous les soirs à peiner sur un bug de dépassement de tableau réglé en 3 minute par un vétéran (vécu).

    En ce qui me concerne, j'ai la chance d'avoir un budget et un rythme de développement qui me permettent de payer des gens très cher, et donc de construire au fil des années une équipe ultra performante. Nous avons un "incubateur" dans lequel nous embauchons parmi les deux types de profil. Aujourd'hui, notre meilleure "pêche" est un BTS électronique ultra talentueux, qui a mis un an à se révéler en logiciel bas niveau. Nous le payons comme s'il avait fait Polytechnique, il est très heureux ... et nous aussi!

    C'est en lisant le post de maske que j'ai voulu donner un son de cloche un peu de l'autre coté de la barrière, bien que je n'ai pas vraiment d'expérience dans l'aspect non technique du JV. En particulier, sa dernière phrase ("Et si des développeurs à faible niveau (Bac+2, +3, IUT, BTS, ...) sont embauchés pour développer des jeux vidéos, ça n'est surement pas pour leurs compétences, mais parce qu'ils ne coutent pas cher) démonte un peu à mon avis ce qu'il dit au dessus: pour moi, les deux types d'embauches existent, il ne faut pas se faire d'illusion.

    Comme pour des raisons évidentes il y aura bien plus d'autodidactes dans le domaine du JV (plus que, disons, dans le domaine de la rhéologie des fluides supersoniques ou la vectorisation furtive des médicaments), il y a plus de chances pour qu'une embauche à bas niveau tombe sur une "perle" et gagne sur les deux niveaux: la compétence ET le bas salaire.
    Je ne crois pas que je me démonte moi même (quoique...), c'était d'ailleurs plus une phrase "coup de gueule". On sait très bien que beaucoup de boites préfèrent prendre des gens bien moins compétents parce qu'ils coutent moins cher, beaucoup moins, mais ils font l'affaire. Ils n'ont pas de "hautes compétences" ni forcément de diplômes, mais ça passe.

    Rien à faire d'avoir des choses bien faites. Rien à faire d'avoir des choses "propres", "bien codées", au pire c'est les ingénieurs du support qui corrigeront. Et c'est une réalité.

    Et ça vient d'où ? Eh bien les compétences viennent d'une "expérience" de projets personnels (donc sur temps libre et pas contrôlable) ou d'un petit diplôme. Donc pas cher. C'est faire le marchand de viande, et le pire c'est que les entreprises ne s'en cachent pas.

    Je précise également que je suis d'accord, il y a des "perles", des génies qui sans faire d'études sont très bon. Mais combien de "perles" pour combien de "pas si compétents que ça mais vous ferez l'affaire" ?

    De plus, et je rebondis sur l'histoire des "projets personnels". Ce n'est pas comme si ça n'existait pas lors des études. Dans 99% des cas (pour pas dire 100, je parle des cursus "officiels" ou "reconnus"), un cours se compose d'un cours magistral, d'un cours de travaux dirigés et de travaux pratiques. Puis la note est composée d'une note à un examen écrit + une note de projet. Le projet, c'est comme un projet personnel, mais avec un sujet qui est fixé par un professeur, et une deadline. Sur mettons cinq années d'études, étant donné le nombre de cours sur ce nombres d'années, combien de projets un étudiant en informatique aura-t-il réalisé ?

    Résultat : je pense que la personne qui travaille sur un, voir deux projets personnels sur son temps libre sera toujours dans les faits moins compétent que l'étudiant qui fait son cycle de cinq ans en études - en travaillant sur une trentaine de projets étant directement concrets par rapport à une réalité scientifique ou industrielle, et tout au long du cursus de l'étudiant.

    Pour finir, sur deux points :

    + Il faut aussi distinguer le contexte : est-ce qu'on va prendre un bricoleur qui "résout tout pour pas cher" pour travailler dans l'aéronautique par exemple (où là on veut pas que ça déconne et on veut pas à avoir à réparer) ou bien un ingénieur qui saura s'adapter et qui, par son diplôme, "justifie" à priori ses compétences ?

    + Et sur des problématiques de qualité (on a bien toujours des gens qui font des revues de codes et qui sont responsables de sa qualité), comment faire avec des gens qui n'ont pas acquis ce genre de compétences, mais qui sont juste "super-débrouillard" ? Je ne crois pas qu'un code "bidouillé-mais-qui-marche" soit très approprié dans ce genre de cas...

    + (ouais ça fait trois mais bon) Il me semblait également que techniquement, dans le domaine du jeu vidéo, les compétences techniques sont bien souvent plus proches d'un bac+5 qu'un bac-2, par exemple pour les moteurs (3d, etc...), les problématiques d'optimisation, les intelligences artificielles, etc... bon je connais pas les jeux Barbie, mais disons que j'en parle pas dans mon discours...

    Pour préciser ma pensée, disons que :

    Des projets personnels ne peuvent pas remplacer un diplôme, dans le cas où l'on cherche un travail où on ne se ferait pas exploiter, exception faite des génies, mais encore une fois je pense qu'ils sont bien rares...
    [|]

  19. #239
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Citation Envoyé par maske Voir le message
    Résultat : je pense que la personne qui travaille sur un, voir deux projets personnels sur son temps libre sera toujours dans les faits moins compétent que l'étudiant qui fait son cycle de cinq ans en études - en travaillant sur une trentaine de projets étant directement concrets par rapport à une réalité scientifique ou industrielle, et tout au long du cursus de l'étudiant.
    C'est un peu contestable...
    si tu te lances dans un cycle d'études longues et que tu as des diplomes tu t'intégreras parfaitement chez Dassault Systèmes ou chez Thales sur des projets pointus parce qu'ils ont besoin de "tronches".
    Par contre postuler pour une petite boite de 10 personnes et avoir fait des projets personnels peut être un atout.
    Surtout si tu développes dans ton coin un logiciel de compta par exemple même un jeu et que tu désires le vendre.
    Parce que sur un projet perso tu fais tout , à échelle très réduite certes, mais tu touches à tous les domaines : politique commerciale, gestion/conduite de projet, réseautage..
    je doute qu'en cycle long ou école d'ingé on t'apprenne à flairer les tendances d'un marché, sentir ce qui peut marcher commercialement..

  20. #240
    Membre éprouvé

    Homme Profil pro
    non
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : non

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Points : 1 116
    Points
    1 116
    Par défaut
    C'est vrai.
    Mais il faut aussi prendre en compte que dans les écoles d'ingénieurs, il y a des cours de commerce, économie, marketing, etc... mais peut-être pas de la même manière dans toutes les écoles admettons.

    Exception faite de l'université ou la formation est essentiellement scientifique et technique.

    C'est vrai également que ça dépend du type d'entreprise que l'on cherche : une petite entreprise sur un domaine "restreint" change complètement la donne. Il y a beaucoup d'entreprise où les dix employés ne font pas d'informatique et le onzième en fera, juste parce qu'il a convaincu son recruteur peu importe son diplôme.

    Pour le reste ça se tient toujours : à part dans les très petites entreprises, on ne demande pas à un "technique" de sentir les tendances commerciales. Ce sera le travail d'un ingénieur commercial (ou je sais pas quel terme exact).

    Mais il y a toujours des petites entreprises de quelques personnes qui font de la recherche ou qui vont taper tellement haut niveau technologie qu'il va vraiment falloir un ingénieur, donc pas quelqu'un qui tient toute sa formation de projets personnels.

    Et bien sur, il existe des gens extrêmement compétents qui se sont formés tout seuls.
    [|]

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