Comment une équipe doit-elle partager / stocker le contenu du jeu pendant le développement?

8

À part Dropbox, qu'est-ce qui a été particulièrement utile pour stocker et partager du contenu de jeu comme des images pendant le développement (fonctionnalité similaire à Dropbox comme le travail hors ligne, la synchronisation automatique et la prise en charge de Windows / OSX)?

Nous envisageons d'héberger notre propre serveur SharePoint, mais il semble être vraiment axé sur les documents ... Peut-être que Box.net fonctionnerait?

ÉDITER

Pour le code, nous utilisons Git.

Pour être plus précis, je cherchais un moyen simple et automatique pour que le contenu produit par des artistes / ingénieurs audio soit accessible à tous. Des fonctionnalités telles que l'approbation des actifs ne font pas de mal non plus. À la suite de la réponse liée par Tetrad, Alienbrain semblait assez intéressant mais..est bien en dehors de notre budget (peut-être quelque chose à investir dans l'avenir).

Qu'est-ce qui a fini par faire ...

Nous allions aller avec Box.net mais le téléchargement des applications de synchronisation pour une utilisation sur le bureau nous obligeait à attendre d'être contacté par eux pour une raison quelconque. Nous n'avons pas eu beaucoup de temps à attendre donc nous avons fini par aller avec les équipes Dropbox. Box.net a un bel ensemble de fonctionnalités mais nous ne nous sommes jamais vraiment sentis retenus sans eux.

Merci pour l'aide :).

irwinb
la source
4
Vous recherchez un système de contrôle de version? gamedev.stackexchange.com/questions/480/…
Tetrad
Un script simple et scp?
jcora

Réponses:

18

Cela dépend de la nature du contenu:

  • Est-ce un atout qui est chargé par le jeu, comme un modèle ou une texture? Vous voulez un système de contrôle de version.
  • S'agit-il d'une forme de données non chargée directement par le jeu, mais utilisée pour créer des données directement chargées par le jeu, comme une feuille de calcul de localisation? Vous voulez un système de contrôle de version.
  • Est-ce un document décrivant la conception du jeu, des détails sur les fonctionnalités ou un processus ou une procédure technique? Vous voulez un système de contrôle de version.
  • S'agit-il d'un fichier qui peut être reconstruit à partir de quelque chose qui est déjà en contrôle de version, comme des exécutables et des objets de l'éditeur de liens? Vous ne voulez probablement pas de système de contrôle de version (*).
  • Est-ce un fichier que vous souhaitez partager temporairement avec un collègue, comme un changement de code ou un élément mis à jour, dont vous ne voulez pas en permanence dans le jeu, mais dont il a besoin pour continuer son travail? Vous ne voulez pas d'un système de contrôle de version. (^)

(^) Il y a quelques options dans ce cas:

  • Vous avez mentionné Dropbox, ce qui est génial lorsque vous collaborez avec des équipes sur n'importe quelle distance, mais vous limite à 2 Go. Cela devrait convenir pour une utilisation temporaire, étant donné que toutes vos autres données doivent être dans le contrôle de version; cependant, si vous avez besoin de plus d'espace, il existe maintenant une option Dropbox (payante) pour les équipes .

  • Si vous ne voulez pas payer le coût d'un plan Dropbox plus important, mais que vous avez seulement besoin de partager occasionnellement des fichiers volumineux, l'utilisation de l'un des dizaines de sites de partage de fichiers (comme RapidShare) peut être une option.

  • L'hébergement d'un serveur FTP peut également être viable pour vous.

  • Si vous travaillez sur le même réseau local (ou si vous pouvez configurer un VPN), Windows et Mac peuvent créer des partages réseau qui sont inscriptibles les uns par les autres, sans restrictions de taille. Il est courant de créer un partage en lecture / écriture nommé Dropbox et de l'utiliser pour échanger des fichiers. Il est également courant de nommer les machines d'après leurs utilisateurs; c'est-à-dire pour envoyer un fichier à John Doe, je peux ouvrir le partage \\JOHNDOE\Dropboxet y placer le fichier.

  • Mention spéciale pour Git si vous partagez du code: vous pouvez créer une branche séparée avec vos modifications de code, et pousser vers votre référentiel principal. D'autres personnes peuvent ensuite saisir vos modifications sans perturber votre masterbranche. (Dans ces cas, il est courant de placer votre branche dans un répertoire avec votre nom, par exemple johndoe/bugfix.)

(*) Parfois, vous voudrez valider / stocker des fichiers exécutables et des fichiers de symboles quelque part afin de déboguer des problèmes avec des versions plus anciennes, sans avoir besoin de reconstruire le jeu. C'est généralement le cas lorsqu'il s'agit de vidages sur incident.

Blair Holloway
la source
1
pour résumer: tout ce qui concerne le produit qui n'est pas généré par d'autres choses liées au projet passe dans le contrôle de version.
jwenting
Réponse de facto, bien que cela puisse être plus compliqué qu'il n'y paraît. "comme travailler hors ligne" <- cela signifie hg / git / certains autres DVCS, à moins que svn puisse être considéré comme "travaillant hors ligne". Cependant, la principale préoccupation du PO est les images, les DVCS comme je le sais ne traitent pas très bien les binaires, dans ce cas, il peut avoir besoin de SVN.
kizzx2
svn fonctionne bien avec les soumissions / mises à jour peu fréquentes, tant qu'il y a une bonne division du travail (sinon le nombre de conflits de fusion peut devenir incontrôlable, comme avec n'importe quel système).
jwenting
Souhaitez-vous stocker toutes les textures et tous les modèles dans le contrôle de code source, même s'ils totalisent des gigaoctets? (Je n'ai jamais travaillé sur un projet avec cette quantité de données sans code source, donc je me demande comment les gens font ça)
RomanSt
1
@romkyns: Oui, je stockerais certainement tout dans un VCS. À un moment donné, vous regretterez de ne pas l'avoir. En ce qui concerne la gestion de très grands référentiels: c'est pénible, mais cela peut être atténué en plaçant les données dans des référentiels séparés. Notre projet actuel à l'œuvre a un référentiel "art-source" (100+ Go) et un référentiel "intermédiaire" (~ 20 Go). Les artistes engagent leurs sources de texture / modèle dans l'art-source, mais les exportent ensuite en intermédiaires pour la consommation par le jeu (ou le système de construction). Seuls les artistes ont besoin du repo complet de la source d'art; tout le monde a juste besoin d'un intermédiaire.
Blair Holloway