Feed on
Posts
Comments
Article en preparation:

surprise...

(x%)

C’est un fait, depuis que je ne prends plus le train, j’ai bien moins d’occasions de blogger. Faut dire que ca prend pas mal de temps de faire un post digne de ce nom, mais bon je compte bien me rattraper une fois mon nouveau mode de vie en place. Bref bref.

Au cours de ma carriere j’ai occupe de nombreuses positions techniques et j’ai naturellement ete expose a plusieurs outils pour la production de jeux. Du coup, j’ai rapidement appris a aimer (et detester) certains software et ca tombe bien car c’est ce dont je vais parler aujourd’hui.

Mais avant de commencer a faire les louanges de certains produits ou de casser du sucre sur le dos d’autres, le tout sur font de rumeurs, je tiens a preciser deux trois trucs.

Tout d’abord, le cout n’entre pas dans l’equation pour mes criteres de qualite. Ca peut paraitre logique dis comme ca mais je tenais a le preciser pour pas qu’on me reponde comme j’ai entendu a la BNP recemment (oui ceux bourre de fric): mais CVS au moins c’est gratuit…

Ensuite, sachez que je polarise facilement (soit j’aime, soit je deteste, peu de trucs me laissent vraiment indifferent des lors que je dois les utiliser frequemment), et que d’autre part j’ai des criteres de qualite plutot eleves et axes sur l’utilisateur et le fonctionnel.

Enfin, je me base que sur ce que je connais et naturellement je ne connais pas tout. Toutefois, le fait que j’ai travaille dans beaucoup de boite de jeu videos (et correspondu par email avec plein d’autres) me donne une relative image de ce qu’utilise notre industrie en general. Comme je peux passer a cote de certains software geniaux (ou pourris), hesitez pas a m’en faire part dans les commentaires, c’est fait pour ca :)

Allez, sans plus attendre, commencons par ce que j’aime, ca me mettra de bonne humeur.

Les Winners…

Meilleur outil graphique: Photoshop

Photshop est incontournable et indetronable depuis maintenant bien des annees dans notre industrie. C’est un outil avec lequel j’ai toujours eu du plaisir a retoucher/modifier/creer les images et textures et qui ne s’est jamais mis en travers de mon chemin a part un probleme avec les TGA sur une vieille version qui fut vite fixe et le fait qu’il ne gere pas la transparence sur les PNG.

J’aprecie notamment sa facilite d’utilisation et sa puissance, les artistes l’adorent et font des trucs vraiment formidables avec.

Seul point noir au tableau, le format est ferme (bien qu’il ne soit pas bien dur a deviner si vous desirer uniquement chopper l’image finale sans comprendre les calques et autres effets) et le fait qu’il marche pas en ligne de commande pour l’inserer dans une pipeline automatisee (ca, ca aurait vraiment pas ete du luxe bon sang!).

L’alternative gratuite existe avec GImp, mais c’est encore loin d’arriver a la cheville de Photoshop, notamment a cause de leur interface GTK.

Meilleur bug tracker: Mantis

Question report de bug, c’est Mantis qui gagne ma preference. C’est un bug tracker tres visuel avec de jolies couleurs qui rendent la navigation moins austere. Oui c’est important lorsque le contenue est peu agreable :)

Le design est surtout simple et clair, facilitant la navigation et les modifications (ce qui est vraiment important pour moi).

La notification par email est bien faite, tout comme le code php qui est clair et propre, rendant facile toute modification (ce que j’ai eu l’occasion de tester sans jamais pleurrer… ouais j’suis sensible moi des fois ;)).

Notez que c’est un outil gratuit et dans ce cas je ne vois clairement pas l’interet de payer pour en avoir un autre.

J’ai eu l’occasion d’utiliser Mantis sur plusieurs projets (petits et gros) avec succes. Par exemple, il a supporte plus de 120 personnes lors de Catwoman sur un ordinateur tout naze sans jamais broncher ou presenter le moindre lag meme avec des centaines de bugs et pleins d’utilisateurs simultanes.

Les projets restent faciles a gerer, l’administration est loin de la prise de tete.

Bugzilla (gratuit lui aussi) est a mon gout bien trop confus et plus austere mais j’avoue ne pas y avoir ete confronte assez longtemps pour juger pleinement comme il se doit.

Meilleur developement console: SDK XBox

Question developement console, c’est sans hesiter que mon choix se porte sur la XBox et son kit de developement (XDK).

Presque tout est fait pour que vous ne soyez pas depayse du developement PC avec une integration remaquable a Windows Explorer et Visual Studio pour que ca reste un plaisir a programmer (bien qu’ils aient ete rudement lent a l’integrer a Visual Studio .NET 2005 apres nous avoir forcer a utiliser Visual Studio .NET 2002 a la place de Visual Studio 6 les salauds!).

Les outils possedent egalement des versions en command line pour integrer dans une pipeline, bref rien a redire si ce n’est qu’il faut copier tout le temps les donnees sur le disque dur de la XBox.

Depuis la 360, par contre ils sont passe en big endian (comme pour les Playstation) ce qui est plutot chiant car tous les outils sont sur PC… bordel!

L’aide et les XFest (evenement pour developer XBox) ont ete tres utils et fortement apprecies.

Bref, Microsoft a mis l’accent sur les developeurs et ca se resent.

Meilleur editeur: Visual Studio .NET 2005

Visual Studio .NET 2005 remporte haut la main cette categorie. Apres des annees de galere a cause de Visual Studio .NET 2002 et 2003 qui etaient aussi pourris que les tomates vendues en Angleterre, ca fait plaisir d’avoir enfin un editeur rapide, stable et agreable a utiliser.

Visual Studio 6 etait okay a son epoque et passer a .NET 2002 s’etait accompagne de son lot de souffrance, mais il fait desormais bien pale figure devant .NET 2005.

Notez que je ne parle pas vraiment du compilateur (bien que 2005 soit bien meilleur que celui de VC6), car il faut bien avouer qu’en tant que developeur c’est pas ma priorite. Je suis confronte toutes les secondes a l’interface de l’editeur et je me bats avec les compiler que dans de rares occasions.

Bref, j’utilise 2005 depuis la version beta 1, qui deja a l’epoque etait bien plus stable que la version release de .NET 2003!! Le choix a vraiment pas ete tres complique.

Y’as pas de vrai alternative qu’on se le dise… :)

Meilleur source control: Perforce

C’est sans aucune hesitation que je choisis Perforce. Pour moi n’y a tout simplement pas d’alternative si on veut faire du developement professionnel, un point c’est tout.

Avec Perforce, je sais qu’il tient la route avec des gros (et meme tres tres gros) projects sans broncher. Il est rapide et puissant et est meme utilise pour les donnees a present afin d’offrir une solution robuste.

La changelist est d’une importance crutiale, le merge, les branches, tout est present pour du developement solide. Les extension se font en C# avec leur API, bref que du bonheur.

J’ai eu l’occasion d’utiliser CVS (haha allez on oublie) et Source (pas) Safe, laissez tomber.

Ceux qui sont peut etre bien mais que je n’ai pas essaye: Subversion (mais on oublie aussi, car c’est aussi pourris que CVS a manipuler puisqu’il n’offre pas d’editeur potable changelist, merges et tout le tralala), Clearcase (apparemment bien plus lent et massif que Perforce), Accurave (je connais pas par contre) et AlienBrain (haha, voir plus bas).

Notons qu’il y a aussi TeamFoundation qui pointe le bout de son nez, mais je fais malheureusement confiance a Microsoft pour foirer les premieres versions comme a son habitude avec tous ses produits.

Bref, le marcher des source control est decidemment bien encombre et ca fait du bien d’avoir un point de reference qu’on sait excelent: Perforce.

Les Loosers…

Du cote des perdants, ca rigole moins et ca fait mal rien que d’y penser. Ca ravive souvent des souvenirs douloureux d’heure sup et frustrations, donc vous me pardonnerez si je me laisse un peu aller, ca a besoin de sortir :)

Pour eux, bien que le prix en lui meme n’entre pas dans l’equation, vous ne verrez pas d’outil gratuit tout simplement car ici figure les outils qui se proclament etre des outils professionnels alors qu’en fait ce sont des merdes innommables a eviter a tout prix.

Allez, c’est parti!

Pure merde source control: AlienBrain

Alors la c’est clair, c’est AlienBrain qui decroche le premier prix.

Ce soft est tout simplement la honte des source control. Il coute cher et encore plus cher en perte de productivite de toute l’equipe.

C’est bien simple, dans les projets qui ont utilise AlienBrain on tous eux d’enormes problemes de workflow. Quant aux projets qui ont essaye de faire des buildsystem (machine qui construisent automatiquement les donnees) avec AlienBrain, je vais meme pas le mentionner tellement c’est signer pour un tas d’emmerde. Biensur, Je ne parle pas de petit projet a 3-4 amis, mais de gros projects de plus de 60 personnes.

Alors oui AlienBrain proclame qu’il a tout pleins de client prestigieux. La veritee est bien moins glorieuse toutefois. D’apres plusieurs sources a EA (ho, premiere rumeur, verifiee), AlienBrain leur a ete donne gratuitement en echange de pouvoir nommer EA comme client. Apres tout le monde s’est fait mettre (“si EA l’utilise ca doit tenir le coup”). Depuis EA a eu tellement de problemes avec qu’ils ont decide de laisser tomber AlienBrain au benefice de Perforce. Meme la version 7 fixait aucun des veritables problems.

Alors certes, AlienBrain permet aux artistes de voir leur fichiers images, mais le prix a payer est bien trop eleve:

Tout d’abord AlienBrain est lent. Tres lent. Exit les “client spec” a la Perforce qui permettent de definir ce dont on a reellement besoin, va falloir vous organiser.

C’est pas un tant un probleme dans une petite equipe mais ca le devient tres rapidement au fur et a mesure que le projet grossit.

Ensuite, si c’etait que ca, cela irait, il agit de facon inconsistente, ce qui est un vrai probleme de confiance avec le soft. Des fois il ne recupere tout simplement pas la derniere version d’un sous dossier en fonction de l’orientation de la lune et du soleil. A l’inverse de Perforce, il utilise le temps de la machine comme indicateur de difference, ce qui mene a des problems bien evident et force a verifier chaque fichier pour les mises a jour. Et me parlez pas de leur smart getlatest qui est tout sauf smart.

Leur language script est une honte a lui tout seul, il y a une fonctions differente pour check-in de fichier, import de fichier ou check-in de dossier avec fichiers ou import de dossier avec fichiers… tous des prototypes differents a couvrir (merci les copier/collier pour tous les cas possibles avec toutes les bourdes possibles en cas de changement). Le language script choisit est Visual Basic (inserez rires ici), c’est l’un des plus mauvais pour ce genre d’outil, et tellement chiant a debugger.

Sans oublier que l’upload des scripts sur le serveur est completement con (faut faire tous les fichiers un par un et le programme se souvient pas du dossier d’ou on etait pour le fichier d’avant, du coup on doit naviguer constamment, trop marrant lorsque t’as 20 fichiers a mettre a jour haha, la tache parfaite pour bizuter dans le jeu video)…

Le support pour different serveurs est mal fouttu (une clef de registre invisible qui se reset elle meme a l’installe et les scripts ne se deployent pas si la clef est pas correcte, mais impossible de le savoir via une interface serveur qui a quoi a moins d’aller voir la machine soit meme). Puis on parle pas de leur systeme de license sticky qui fait qu’on doit resetter le serveur si on approche la limite de licence.

Bref vous l’aurez devine, c’est a eviter comme la peste. Les artistes l’aiment? Bah comme disait mon manager a EA, si toute l’equipe est constamment down a cause d’AlienBrain, tant pis pour les artistes!

Maintenant, j’ai eu l’occasion de voir la difference avec Perforce sur le meme projet/meme donnees et les artistes aussi pour le coup. Ils ont vite fait leur deuil d’AlienBrain lorsqu’il n’y avait plus tous les desagrements que causait cette bouse.

Pure merde editeur: Renderware Studio

A ne pas confondre avec Renderware graphic qui fournit des librairies de programmation graphiques pour console completement inconsistantes entre les differentes platformes car ca a ete fait par des nains unijambistes qui savent pas coder des interfaces communes.
Le plus drole d’ailleurs tant que j’y suis, c’est que la seule chose que BurnOut (Criterion) ait utilise de Renderware (Criterion donc) c’est le logo. Haha. Enfin on s’egare la :)

Donc, pour Renderware Studio, ou comment vendre un produit qu’on sait archi mauvais, le verdict est sans appelle: poubelle.

La on parle d’un editeur de jeu que Criterion essaye de refourger.

Une horreur pas possible, lorsqu’on regarde qui a vraiment fait des jeux avec, on s’apercoit rapidement que la “liste” est TRES courte. Quant a ceux qui l’ont finallement fait avec (ex: GodFather), ils ont paye le prix fort en larme et en sueur. D’ailleurs EA s’en est mordu les doigts et chaque projet refait sa propre version ou presque.

Deja la base de donnee choisie est en XML, et pret a rire? Ca repose sur AlienBrain pour sauver les fichiers. Resultat, des milliers de petits fichiers XML avec une base de donnee pourrie. Le tandem d’enfer. C’est lent, ultra mal designe au niveau code avec des COM object partout, bref, la joie au quotidien.

PS: Histoire de rire encore un coup (ca soulage je vous assure), leur language script pour construire les donnees est visual basic script. Ouais on a souffert a EA grace a Renderware Studio, merci les mecs.

Pure merde developement sur console: Playstation

Dire que je trouvais le developement sur Amstrad peu pratique a l’epoque, c’etait rien compare a la Playstation (toutes les versions de la 1 a la 3). Dans leur hantise de Microsoft tous leur soft sont fait maison ou presque et dieux que c’est horrible a utiliser.

On peut toujours utiliser l’editeur de Visual Studio .NET 2005 mais le compilateur reste GCC et on ne parlera pas de debugger (le point noir de la bete avec un editeur totallement naze digne des plus grand film d’horreur)…

Inutile de vous parler du besoin d’avoir 2 IPs par kit de developement, la lenteur du reseau, le temps que ca prend a rebooter, les limitations hardware de la bete (surtout la 1 et 2) qui ont fait que tu dois faire des modules en plus (et chaque module est un concentre d’horreur a developer)…

Malheureusement, 20 millions d’utilisateur, ca cree un marche ou le gentil developeur n’a d’autres choix que de subir. Allez, faites un bon geste pour les developeurs, achetez pas de Playstation 3! Nous on souffre :)

Pure merde bug tracker: DevTrack

Autant le dire tout de suite c’est l’outil prefere de EA qui l’impose meme a tous ceux avec qui travaillent avec eux. Resultat, en periode de stresse genre alpha, beta et autre milestone c’est super fun d’avoir un outil qu’on deteste utiliser.

Le seul et unique avantage de DevTrack est qu’il permet de faire des statistques super precis par developeur…. marrant qu’ils aient oublie d’en faire un pour le temps perdu a cause de soft!

C’est lent au possible, l’interface est pourrie a souhait et le workflow est inefficace au possible… L’administration est non intuitive (sauf pour un developeur d’AlienBrain surement).

La consigne de base avec cet outil est d’aller voir toutes les heures si vous avez un bug assigne car on recoit pas de notification par email! C’est possible mais chiant a mettre en place on m’a dit lorsque j’ai demande. Oui, on croit rever.

Un autre au verdict sans appel: Poubelle.

Pure merde outil graphique: 3DS Max, mais avec un bemol cette fois

Ok, depuis la version 8 ils ont fait des gros gros efforts pour que leur soft soit enfin un peu stable. Ils ont clairement abuse de leur position dominante sur le marche pour pratiquer une politique de prix outrageante (ouais limite rackette) et j’aimerais un peu casser du sucre sur leur dos histoire d’exorciser.

J’avais ete invite a une presentation pour MAX 7, c’etait assez hallucinant. Leur meilleur nouvelle fonction etait qu’on pouvait enfin agrandir la fenetre d’ouverture de fichiers… Puis ils nous ont demande d’acheter un upgrade et d’etre leur testeur en soumettant des reports de bug (une nouvelle fonction dans leur soft!) des que ca crash pour les aider a fixer leurs bugs… et vue le prix d’un upgrade, ca coute cher de jouer les beta testeurs.

Un truc drole avec max c’est que dans chaque version ils annoncent que cette fois c’est encore plus precis, qu’ils ont enfin regle leur probleme de precision.

Mais, pour moi le truc qui m’enerve avec max c’est leur systeme d’unite. Ce soft est incapable de bosser dans une unite universelle, ca pause toujours probleme entre centimetres et inches… (meme dans max 9!)

Leur SDK est une horreur, qui sous pretexte que leur plugins doivent toujours marcher sur les nouvelles versions ne change pas (ouais sauf qu’on doit tout de meme recompiler pour max 9…). Le hic c’est qu’il doit bien dater de leur version 3 leur SDK et que c’est un truc vraiment peu agreable a utilsier qui manque pas mal de fonctions que max pourrait faire (comme calculer proprement les normales pour nous), c’est du C tout pourri avec une API a la Charlie Chaplin sans les rires, juste les pleures.

Lorsque j’ai aborder des sujets un peu plus sensible a savoir si on pouvait enfin avoir un format libre pour les .MAX ou avoir au moins un language script comme Python integre ou MAX en ligne de commande pour l’inserer dans une pipeline, ca rigolait moins et on m’a dit que non c’etait pas prevu et qu’on pourrait peut etre en parler pour max 8…

De toute facon (encore une rumeur!! :)) ils prevoient de tuer 3DS Max aux allentour de la version 10, mais ca ils veulent pas le dire sinon personne acheteraient leur upgrade et commencerait a former les personnes sur d’autres softs comme… Maya? Ha merde trop tard AutoDesk les a rachete. Reste plus qu’XSI (voir plus bas)

Leur hypotetique suite a Max donc, nom de code Nitro, serait deja en test dans un studio de jeu prestigieux depuis deux ans et probablement d’autres a present mais la je specule :)

Une des solutions a l’heure actuelle niveau 3D est d’utiliser un langage ouvert et supporte par tous les soft 3D importants comme COLLADA pour ne plus avoir besoin de max et laisser l’artiste libre de son choix artistique. Ca semble bien dans l’absolue mais c’est pas si simple car les infos speciales ne sont pas sauvees (comme les stacks, position de camera…).

Donc mon conseil serait d’etudier une facon d’abstraire le soft 3D utilise afin de doucement migrer vers un soft qui convient a la boite et sa philosophie.
Petit PS sur XSI: XSI neuf coute bien bien moins cher qu’un upgrade de MAX dans sa version de base qui est touefois largement suffisante pour toutes les operations dans la construction d’un jeu (sauf le lighting, mais on peut acheter une ou deux licenses pour ca), les shaders sont mieux pense, la pipeline est plus efficace et on peut utiliser Python comme scirpt, puis le format est ouvert avec DotXSI… bref d’un point de vue ingenieur c’est mieux et Half Life 2 l’a bien compris. Pour les artiste c’est une question de gout :)

Bref bref voila qui conclue ce post

31 Responses to “Palmares des softs dans les jeux videos…”

  1. on 15 Nov 2006 at 16:04 Yannick

    Remarques :

    Visual Studio 2005 :

    J’ajouterai super pour la création d’interfaces graphiques (surtout .NET)

    3ds Max :

    Etant dévelopeur 3ds Max, je connais bien la bête. En fait développer des scripts, plugins et shaders pour Max c’est bien souvent de la bidouille. Il est vrai que l’architecture du SDK part dans tous les sens, mais je souhaite rectifier quelques trucs que t’as dis.

    Le développement des plugins sous 3ds Max se fait en C++ (non pas en C, faut pas pousser trop loin quand même :)) même s’il est vrai que certaines parties sont en C. Il est possible de faire des interfaces avec les MFC et même .NET et C++/CLI maintenant dans la version 9.

    Aussi le SDK a bien évolué depuis la version 3 mais il n’a pas été changé entre les versions 5 et 7 je crois.

    Sur XSI je suis tout à fait d’accord avec toi. Softimage a eu le courage de refaire un soft en repensant totalement l’architecture et ça se voit.
    Le SDK est bien pensé (comme Maya d’ailleurs mais en mieux apparemment), le scripting ne se fait pas avec des langages propriétaires (contrairement à Max et Maya, même s’il est possible de faire des scripts pour Maya en Python depuis pas longtemps mais c’est pas officiel je crois).

    Mais c’est une bonne nouvelle s’ils font un nouveau soft du moment qu’il soit bien mieux architecturé et pensé. Maya existera-t-il encore ? Autodesk ne l’aurait-il pas acheté pour l’étouffer petit à petit…

    A propos des bugs de Max, les artistes dans la boite dans laquelle je bossais avant collectionnaient les fenêtres de bug. Il y en avait des dizaines après seulement une demi-journée…

    Les autres :

    Oui, CVS c’est pourri et Peforce n’a pas d’égal mais ça on le savait depuis longtemps.

    Le débuggage de PS2/PSP sous Codewarrior (pas top d’ailleurs celui-là) avec le kit j’ai vu ça dans mon ancienne boite et c’est clair que c’est galère car il fallait recompiler avec GCC le code du compilo de VS généré pour le moteur du jeu (erreur de compil sous Codewarrior et pas sous VS.

  2. on 15 Nov 2006 at 16:13 Klaim

    Merci j’ai bien rit en lisant tout ça 😀

    Sinon j’ai une remarque a propos de photoshop : “le fait qu??il ne gere pas la transparence sur les PNG.”

    Il faudrait que je revérifie, mais j’ai dépanné un pote il y a quelques mois qui n’arrivait pas a générer des PNG avec la transparence. Si c’est bien le problème dont tu parles (et si je me trompe pas de format), en fait c’est possible, ya juste (attention astuce!) qu’il faut créer une couche de couleur suplémentaire dans ton PSD qui sera utilisée comme couche alpha lorsque tu l’exporte en PNG (via l’export web? a vérifier). J’utilises Photoshop CS2 pour précision.

    Autre chose :
    “Subversion (mais on oublie aussi, car c??est aussi pourris que CVS a manipuler puisqu??il n??offre pas d??editeur potable changelist, merges et tout le tralala)”
    Vu que j’ai jamais utilisé autre chose que TortoiseSVN pour Subversion (et d’autres editeurs à oublier pour CVS au boulot), est-ce que tu pourrais décrire a quoi ressemble un editeur potable selon toi?

  3. on 15 Nov 2006 at 16:17 Klaim

    Sinon j’ai aussi fait un comparatif perso des BugTRacker en me limitant aux gratos et marchant sans avoir de serveur perso (parceque besoins persos) et Mantis gagne aussi haut la main. Avec un bmol toutefois : c’est un peu chiant a installer (fichier config crer et editer sois mme, pas d’interface pour l’editer). Mais bon une fois fais c’est le top, surtout les mails bien clairs sur les changements effectivement. Avant de connaitre Mantis j’avais fait une premire recherche et je m’tais arrt sur Filespray qui possde des bugs d’affichages parfois et un mail pas trs clair sur les changements (mais ya un mail! ). Il tait quand mme assez correct malgrs tout.

  4. on 15 Nov 2006 at 16:17 Jeremy Chatelaine

    Salut Yannick,

    Merci pour les precisions.

    Tout a fait d’accord concernant 2005. Je dois avouer que mon point de vue etait purement en tant que programmeur C++, mais C# sur 2005 pour les interfaces graphiques c’est du bonheur en boite compare a MFC!

    Merci aussi pour les precisions concernant Max et autre soft, c’est tres interessant.
    Je dois avouer que j’ai du re-regarder le SDK pour Max et ouais y’a des classes (hahaha). Mais la logique est loin du C++, c’est vraiment utilise comme des struct que du vrai C++ (meme si on derive d’une classe pour etre plug-in ready, woa).

    Pour PS2 et meme PSP, on utilisait l’autre truc pour development, SN System (qui a ete rachete pour PS3 je crois bien), je te rassure tout de suite c’est un truc tout pourri aussi hehe

    En tout cas, le plus important: bienvenue ici! :)

  5. on 15 Nov 2006 at 17:12 Stphane

    A la base je suis surtout un programmeur sur PC bien que j’ai du passer par pas mal d’architecture (genre demomaking sur Amstrad CPC, Atari, Amiga …) ce qui doit me qualifier pour le dev sur PlayStation dixit Mr K. Nanmoins …

    Pour en revenir Subversion c’est un trs bonne outil, trs loign de CVS. Dans l’outil de base tu n’as certe qu’un client en ligne de commande mais ils fournissent surtout le serveur dont l’architecture est plutt sympa si tu veux faire un systme de build (genre le serveur peut automatiquement appeler un script lorsqu’une opration est effectu, et tu peux associer des mta donnes chaque fichier et le tout dispose d’une API attaquable en C ou en python ; do the math).

    Mais surtout tu peux utiliser TortoiseSVN qui est une bonne intgration du tout dans l’explorateur windows. Il apporte tous les petits raffinements que tu aimes… bon j’ai pas trouv leur outil de merge excellent alors .. j’utilise celui de perforce (ok j’avoue une fois que tu as essay l’outil de merge de perforce, si beau et lgant, tu utilises rien d’autres … et aussi si gratuit) … car bien entendu tu peux facilement customiser ton tortoise pour utiliser des applications tiers.

    L je dois avoir une BD d’environ 50go sous svn et ca marche plutot bien, enfin ca marchait plutot bien jusqu’ ce que j’upgrade le serveur avec la derniere fedora depuis j’ai quelques soucis (faut relancer le processus genre une fois par jour.. c’est pas la mort mais bon c’est pas normal non plus).

    Pour conclure j’ai rcemment lanc Codewarrior pour faire du dev console… mon dieu, on se croirait sous windows 3.11. Et il est o VI dans le palamars hein ?

  6. on 15 Nov 2006 at 17:19 Stphane

    Je rajoute pour le bugtracking… jusqu’ prsent on a utilis bugzilla mme si c’est effectivement plus rempli que ce qu’on a besoin. Vu qu’en plus on utilisait un wiki on a rcemment install Trac et on va sans doute passer l dessus vu qu’il runit les diffrents trucs en un outil qui va bien avec en plus de la gestion de projet lgre (comme la crme fraiche).

  7. on 15 Nov 2006 at 19:18 Jeremy Chatelaine

    “tu pourrais dcrire a quoi ressemble un editeur potable selon toi”

    Salut Klaim.

    Je suis pas un pro en design d’interface, celle de Perforce est tres fonctionnelle.
    Et personnellement je deteste l’editeur de merge de Perforce Stephane, j’utilise Beyond Compare 2 a la place (ha merde c’est payant :)). Ce que je voulais dire par merge c’est que le serveur merge mieux automatiquement que CVS qui rajoutte des lignes a la con partout.
    Bref, pour moi une interface basee sur une integration a Windows explorer est tres loin d’etre suffisante.
    Ca me permet pas de voir ce qui a ete effacce par exemple ou quels repertoires existent sans les recuperer. Le plus chiant c’est les repertoires et fichiers en plus qui viennent polluer tous mes repertoires avec Tortoise.
    Un autre exemple frappant, effacez un fichier, maintenant comment vous recuperez ce fichier? Non vous pouvez pas faire update cr vous allez tout recuperer alors que c’etait pas votre intention.

    Ensuite pour voir une changelist, t’oublie avec CVS. Y’avait bien FishEye qui etait utilise a la BNP, mais c’est lent d’acceder a une page internet et ca permet pas toute la souplesse de Perforce avec les changlelist.
    Ha puis j’oubliait le fait que pour travailler sur plusieurs taches a la fois c’est la galere car faut se rappeler des fichiers changes pour chaque tache si vous voulez pas faire de check-in entre les deux (car c’est pas fini par exemple). Avec Perforce tu as un systeme de changelist tu sais exactement ce que tu as et tu peux sousmettre juste celle que tu veux.

    Clairement Windows explorer ca suffit pas une fois que t’as goutte a Perforce :)

    Pour vous dire, a la banque j’ai installe un serveur Perforce et un client sur ma machine pour pouvoir me proteger des updates sauvages de CVS et pouvoir revenir a une version d’avant bien plus facilement. Et pour le coup, Perforce est gratuit jusqu’a deux utilisateurs :)

  8. on 16 Nov 2006 at 10:17 Johan

    Arggg, comment j’ai horreur des discussions de programmeurs, je pige que dalle …. 😛
    En mme temps, ces’t un site pour a non ?
    Merci en tout cas, j’en apprends beaucoup, continuez comme a avec vos commentaires, il m’arrive mme de sourir ! :)

  9. on 16 Nov 2006 at 10:20 Stphane

    “Ce que je voulais dire par merge cest que le serveur merge mieux automatiquement que CVS qui rajoutte des lignes a la con partout.”

    Celui de SVN tient bien aussi la route.

    “Ca me permet pas de voir ce qui a ete effacce par exemple ou quels repertoires existent sans les recuperer.”

    Bouton de droite, tortoise -> repository browser. Voir tortoise -> check out -> only checkout top folder.

    “Le plus chiant cest les repertoires et fichiers en plus qui viennent polluer tous mes repertoires avec Tortoise.”

    C’est pas faut, bon il y a aussi une fonction d’export pour avoir une copie sans superflu dans un autre rpertoire non source control genre si tu veux faire un zip.

    “Un autre exemple frappant, effacez un fichier, maintenant comment vous recuperez ce fichier?”

    Bouton de droite, tortoise -> repository browser -> copy to working folder.

    Pour le coup de la changelist, je te dirais que si tu bosses vraiment sur deux choses diffrentes tu peux faire un branch… mais bon c’est peut tre pas mal overkill. En mme temps ta maman aurait du t’expliquer que a se fait pas de bosser comme a :)

    Mais bon globalement il y a pas mal de dtails qui dpendent de ta faon de bosser qui elle mme est prconditionne par les outils que tu utilises et vice et versa. J’essayerais quand mme un serveur perforce pour voir, parce que je suis pas hermtique au changement ; mais pour l’instant je suis plutt trs satisfait de SVN (qui permet aussi de grer le binaire, je sais pas si perforce fait a bien) faut dire que ma premire boite on utilisait Source Safe qui a quand mme quelques caractristiques rigolote.

    Sinon je vois que tu ludes VI alors que chaque fois que je demandais une IDE sous Linux on me disait “VI+Make”.

  10. on 16 Nov 2006 at 10:49 Jeremy Chatelaine

    Ok alors, j’ai pas ton “repository browser” avec Tortoise moi, nouvelle fonction ajouttee? (Car ouais j’suis oblige d’utiliser cette bouse avec mon GameIncubator open source sur Sourceforge, meme si a la maison le depot est dans Perforce egalement)

    Ecoute le plus simple Stephane c’est que tu testes Perforce pour de vrai car la ca sent l’entetement de vieux dinosaure (“Puisque je vous dis que la terre est plate” genre de truc), tu verras peut etre mieux par toi meme (si t’es un peu ouvert d’esprit lorsque tu le testes, ce dont je ne doute pas :)). Si tu veux on se prend un moment et je t’explique en faisant une demo live.
    Y’a des trucs speciaux a Perforce aussi genre je peux voir qui dans l’equipe a un certain fichier checked-out, mais pour moi son avantage c’est la visibilite, rapidite et control total sur ce que je fais.

    Sinon Perforce gere tres bien les binaires en stoquant des delta et envoyant aussi que des deltas pour les updates lorsque ca vaut le coup si ma memoire ne me fait pas defaut.

    Du coup il supporte tres bien code et data de gros projet comme EA les aime, donc oui solution provee et robuste. Pas qu’en quantite d’ailleurs, avoir 50 go ca veut rien dire si t’as que 5 mecs qui y accedent de temps a autre.

    Sinon ma mere, elle m’a appris la realite de la vie, on bosse rarement que sur une tache a la fois. Moi j’suis dual core :)

  11. on 16 Nov 2006 at 11:16 Klaim

    “Ok alors, jai pas ton repository browser avec Tortoise moi, nouvelle fonction ajouttee? (Car ouais jsuis oblige dutiliser cette bouse avec mon GameIncubator open source sur Sourceforge, meme si a la maison le depot est dans Perforce egalement)”

    Heu… est-ce qu’il se peut que tu confondes TortoiseCVS et TortoiseSVN ? Parceque c’est pas du tout les mmes appli, mme si ya une philosophie commune au dpart, c’est assez diffrent finalement (tout comme CVS et SVN).
    Je vois que GameIncubator est toujours sous CVS mais tu peux faire migrer sous SVN sur Sourceforge maintenant.

  12. on 16 Nov 2006 at 11:28 Jeremy Chatelaine

    ha oui, my bad, merci Klaim. C’etait bien TortoiseCVS :)

  13. on 16 Nov 2006 at 16:13 Stphane

    Et c’est moi le vieux dinosaure qui marche sur la terre plate 😉

    Nan mais j’ai dit que j’allais le tester ton perforce, leur outil de merge il est tellement bien (et l je me rends compte qu’il y a deux outils de merge dans le package : P4WinMerge, dit le pas terrible, et P4Merge, dit le trop bien). Donc l d’un seul coup je me demande si on parle bien du mme.

    Par contre l’outil pour voir qui a check out un fichier distance a doit tre super kiewl pour les chasses l’homme :)

  14. on 16 Nov 2006 at 19:06 Jeremy Chatelaine

    “Et cest moi le vieux dinosaure qui marche sur la terre plate ;)”

    hehehe

    Ouais y’en a deux pour perforce, un tu laisses tomber y’a meme pas undo, une merde infame. L’autre est OK (comme Araxis Merge) et la c’est une histoire de gout, je trouve plus visuel Beyond Compare (qui fait malheureusement pas de 3 way merge). J’aime bien voir toutes les lignes des deux cotes, meme si y’en a pas de correspondance.

    Comme ca pour un fichier Hex (imaginez avec des lignes de texte):
    http://www.scootersoftware.com/images/hexview1.png

    Roh deja que j’aimais Beyond Compare pour le texte, je viens de voir que y’a pleins de plugins rudement utile dis donc comme les differences sur des fichiers Hex ou des images (haha vraiment plus aucun avantage pour AlienBrain du coup puisque tu peux mettre ca pour l’outil de diff dans Perforce ;))

    Cool :)

    Edit: Crotte, Perforce lance pas d’outil de diff pour les binaires, trop naze…
    Edit2: suffisait de ticker une box >:) Mais bon il cree un fichier temporaire avec une extension differente (.tmp) du coup Beyond Compare lance la comparaison sur fichier texte et pas image… hum

  15. on 22 Nov 2006 at 23:27 BurgerBob

    Allez, mon premier poste sur le blog de Jremy, qui m’a rendu pas mal de services 😉 .

    Voici la liste de mes outils prfrs :

    . C#, .Net. J’ai pas vu plus pratique pour faire des utilitaires rapidement. Le langage est super clean, les librairies trs compltes et bien documentes, l’outil de cration d’interfaces graphiques est un bonheur, on peut automatiquement srialiser une classe … Le mieux, c’est l’auto-completion, la rapidit de compilation, et surtout le dbuguage qui donne souvent les bonnes indications quand il y a un bug, mme en multi thread.

    . lua. J’adore ce langage de script, c’est tout ce que j’aime dans le gnie logiciel : un composant petit, performant, simple dans ses concepts mais extrmement puissant. Et trs bien document.

    . Ogre3D. Je pense que beaucoup de gens ne vont pas tre d’accord avec moi, mais je trouve ce moteur 3D trs bon. Pour ma part, je l’utilise un haut niveau d’abstraction : je cre une camra, des lumires, des entits auxquelles sont assignes une mesh et que je peux animer avec des bones. Il y a des exporteurs qui marchent, et a, c’est norme (ceux qui ont eu des problmes d’export sur des projets me comprennent). Beaucoup de choses se paramtrent par des scripts, ce qui est un bon point. De plus, et je trouve a trs important, les bibliothques mathmatiques sont trs compltes avec la plupart des classes attendues et beaucoup d’oprations et de fonctions de conversion.

    . NewtonGameDynamics est un bon moteur physique gratuit, avec une API simple et bien documente.

    Voil, c’tait ma petite pierre 😛

  16. on 23 Nov 2006 at 9:14 darjul

    @BurgerBob:
    Lua performant? Tu viens de t’auto-dcrdibiliser.

  17. on 23 Nov 2006 at 9:21 Jeremy Chatelaine

    Bah c’est tout de meme plus performant qu’utiliser Python ou Visual Basic Scipt 😀

    Yacc&Lex devrait etre plus rapide mais ca depend du language et de la grammaire en fait. Lorsque j’avais utilise ca pour Kyrne, j’avais compile le code en bytecode avant d’executer.

    Remarque t’as la possibilite de faire pareil avec Lua et j’avoue ne pas avoir fait de reels test de comparaison.

    Va plus loin dans tes reponses, quel language script qualifierais-tu de performant drajul? (ou le plus performant pour un language script)

  18. on 23 Nov 2006 at 10:17 Yannick

    Lua est intressant car son API est facile d’utilisation et il est donc rapidement possible de l’intgrer dans un soft ou dans un jeu contrairement Python.

    Maintenant il est aussi possible de scripter en utilisant C#/VB.NET, a se fait de plus en plus dans des softs. Dans les jeux peut-tre pour bientt…

    Mais le langage de script parfait n’existe pas. Des studios prfrent dvelopper le leur, d’autres prfrent utiliser Lua, Pyhon ou Ruby. C’est une question de got, de politique et de temps aussi.

  19. on 23 Nov 2006 at 12:08 darjul

    @Jeremy
    Far Cry = “lua? pratique et pas cher”
    Crysis = “lua? dgager, a rame”

  20. on 23 Nov 2006 at 12:14 darjul

    J’oubliais de rpondre ta question: je ne connais que lua comme langage de script orientable “jeu”, donc je ne parle que de celui-l. Et ma conclusion est: a rame. C’est pas inexploitable (loin de l !), mais a rame.

  21. on 23 Nov 2006 at 12:14 Jeremy Chatelaine

    Oui… ?

    Donc pour Crysis vous utilisez pas de language script c’est ca votre solution?
    Donc lorsque tu dis que lua rame ce que tu dis c’est que les langages scripts sont pas assez rapide j’ai bon?

    Dans ce cas ca aide pas trop si on veut avoir un language script :)

  22. on 23 Nov 2006 at 12:18 Jeremy Chatelaine

    hehe ok merci pour ta conclusion :)

  23. on 23 Nov 2006 at 22:56 Stphane

    Pour avoir intgrer python dans un moteur de jeu j’ai pas trouv a trs compliqu partir du moment o tu utilises un outil comme SWIG (boost.python c’est pas trop mal non plus mais faut utiliser les RTTI). Perso je prfre intgrer du python plutt que lua dans la mesure o le script je le mets entre des mains de non spcialiste de la programmation et que donc le python a quelques avantages ce niveau l (indentation, orient objet).

    Au commencement avec un camarade on avait crit notre propre langage de script (flex+bison) avec machine virtuel bytecode et tout le toutim. Je ne le conseillerai personne, c’est beaucoup de boulot finalement pour pas beaucoup d’avantages.

    Je crois que tous le monde est conscient des performances d’un langage de script et je ne crois pas que quelqu’un ici ait crit un moteur 3D en lua, mais pour ma part je suis bien conscient des gros intrt de mettre du script (genre faire bosser les autres).

  24. on 23 Nov 2006 at 23:37 BurgerBob

    @ darjul
    Joubliais de rpondre ta question: je ne connais que lua comme langage de script orientable jeu, donc je ne parle que de celui-l. Et ma conclusion est: a rame. Cest pas inexploitable (loin de l !), mais a rame.

    J’aimerais plus de prcisions car je compte utiliser lua dans un autre projet perso … Ou avait tu utilis lua dans Crisis pour qu’il fasse ramer le jeu ?

    @Yannick
    Maintenant il est aussi possible de scripter en utilisant C#/VB.NET, a se fait de plus en plus dans des softs. Dans les jeux peut-tre pour bientt

    J’ai plutot tendance considrer .NET comme un langage de programmation plutot que de script, c’est pas aussi flexible …
    Et puis si tu veux faire des jeux en C#, il y a XNA :p

  25. on 24 Nov 2006 at 9:26 darjul

    @BurgerBob
    Far Cry utilisait lua outrance. A un moment donn le chef du R&D a dit stop, et on a dgag le plus de lua possible.

  26. on 24 Nov 2006 at 20:10 msx

    hello,

    BurgerBob :”Joubliais de rpondre ta question: je ne connais que lua comme langage de script orientable jeu, donc je ne parle que de celui-l. Et ma conclusion est: a rame. Cest pas inexploitable (loin de l !), mais a rame.”
    tu peux gnrer du C partir du Lua pour booster ton jeu …

    http://lua-users.org/lists/lua-l/2006-07/msg00144.html

  27. on 24 Nov 2006 at 20:15 msx

    BurgerBob : “a rame. Cest pas inexploitable (loin de l !), mais a rame. ”
    Au pire des cas (si a rame), tu peux toujours convertir ton source lua en C grace Lua2C.

  28. on 25 Nov 2006 at 15:47 Gaylord

    Par rapport LUA comme tout langage de script, si c’est utilis par les programmeurs pour dvelopper, c’est clair que ca va ramer fond. Mais un langage de script c’est pas cens etre seulement pour les game designers ? Et l encore suffit de faire des appels a LUA de manire venementielle et ca passe (mais c’est toujours un potentiel bottleneck).
    Du moins, dans notre projet, on l’utilise de cette facon.

    Par rapport au dev Playstation, j’aimerai mettre un bmol. Avez-vous dj dvelopp pour Gamecube ? Pire avez-vous eu a porter un jeu PS2 pour GC ? Personnelement depuis cette exprience, je choisis mes projets en fonction de ca ! Y’a un portage Gamecube ? euuuuh …. le dev Wii semble toutefois se faire de manire moins douloureuse ! 😉 Ont-il appris qu’une mmoire de 16 meg juste pour le son c’est pas ce qu’on appelle une bonne ide !!

    Pour Alienbrain, je confirme mille fois.
    Le plus drole, c’est que si tu utilises le logiciel en ligne de commande et aprs l’interface utilisateur, il reconnait pas les fichiers que tu as rcupr et se sent oblig de tout tlcharg quand tu fais un Get Latest (et inversement GUI -> commande).
    Le plus comique c’est le Get Version, pour voir une diffrence, il semble tlcharger chaque fichier du serveur et fait un CRC dessus en fonction de ton fichier local ? C,est-y pas beau ca hein ? hein ? 😉

    Pour Devtrack, on l’utilise aussi (non je ne bosse pas chez EA 😉 ), c’est pas ultra merdique, juste un peu. Enfin je ne suis ni Production Manager ou Team Lead donc je gre pas vraiment les tches …
    Mais l’utilisation en tant que dev n’est pas si douloureuse que ca.

  29. on 29 Nov 2006 at 0:04 Jeremy Chatelaine

    Salut Gaylord et bienvenue ici,

    Oui, j’en aurais presque oublie la GameCube, qui est aussi a chier a coder que la Playstation (peut etre parce que j’ai aussi utilise SN System sur GameCube egalement et que c’est du pareil au meme).
    En fait c’est chiant le dev sur console (enfin la XBox ca compte pas comme une vrai console! ;))

    Et vous etes oblige d’utiliser DevTrack? Ca c’est pas de chance clairement.
    Aupret de Mantis, DevTrack fait bien pietre figure (pour utilisation en tant que developeur j’entends)

  30. on 05 Dec 2006 at 4:18 ZeRev

    Salut,

    C’est trs intressant de voir tes expriences avec ces logiciels mais je me demandais, s’il serait possible de nous prsenter tous les logiciels, les mthodes de travail (design pattern) que tu utilises pour le dveloppement de ton jeu.

  31. on 06 Dec 2006 at 13:19 ox

    Je ne suis pas tout a fait d’accord le debugger de Sn est plutot complet et puissant
    Il m’a meme permis de trouver des leaks/ecrasement memoire qu’il m’etait impossible de trouver sur pc via .NET

    Bon apres c’est sur que d’une maniere generale le dev PS est bien plus poussif que le dev Xbox.. :)

Trackback URI | Comments RSS

Laissez un message