Projet Open Source le plus nécessaire [fermé]


15

Quelques questions sur le site ont mentionné la nécessité de projets plus open source. Je suis d'accord et je me demande quels cadres devraient être développés.

Je vais commencer la liste.

  • Un noyau de géométrie, incluant la sérialisation (JSON, binaire, binaire compressé), conçu pour OpenGL / DirectX
  • Reconnaissance gestuelle

5
Pas une vraie question.
Petrus Theron

2
@FreshCode: D'où le drapeau "Community Wiki". Bien que ce site n'ait pas encore de directives précises pour les wikis communautaires, cela tombe bien dans les limites du drapeau sur d'autres sites SE, par exemple MathOverflow ( mathoverflow.net/faq#communitywiki ).

9
Si vous commencez une question de liste, il serait préférable que vos réponses soient dans une réponse au lieu de la question afin qu'elles puissent être votées séparément.
Tetrad

Réponses:


43

Je me suis déjà plaint de cela dans une autre question, mais avoir des systèmes de distribution numériques ouverts serait magnifique. Cela englobe à la fois les systèmes de correction et les choses de type marché pour les utilisateurs finaux. Steam gère une grande partie de cela, mais est loin d'être une plate-forme ouverte. Même s'il ne s'agissait pas d'un seul marché partagé comme Steam (ou de la façon dont les marchés téléphoniques fonctionnent), avoir une solution que vous pourriez facilement renommer et déployer pour vous-même serait un énorme pas en avant (en supposant que les gens ont fait des choses comme soumettre des correctifs en amont et toute cette bonté FOSS).


J'ai passé les deux dernières années ici à travailler sur notre système interne, donc je suis probablement un peu partisan.
coderanger

Pour être juste, ce serait une valeur exceptionnelle même en dehors du domaine des jeux!
Stewart

@Coderanger Ouvert à quelle fin? Je travaille sur certains outils comme celui-ci pour mon site Web, et j'aimerais choisir votre cerveau.
Jesse Dorsey

@Noctrine Mon email est noah @ <mon site web>, n'hésitez pas à me laisser un
message

N'était-ce pas ce que Launchpad + APT était censé être, et cela s'est simplement transformé en cauchemar baroque?

4

Pas un projet logiciel, mais un projet de documentation:

Une liste de contrôle de la qualité technique du jeu (comme CVR ou RLT)

La conception d'un jeu de production a souvent été affectée par ces documents très importants. Les jeux indépendants en ont autant besoin que les développeurs de jeux professionnels, car c'est au moins une simple assurance que vous avez fait un travail raisonnable.

La certification

Il ne pouvait pas y avoir d'organisme de certification, mais cela pouvait être une chose d'auto-certification au départ.

Si la liste de contrôle était concise, elle pourrait plus facilement devenir une liste de contrôle généralement acceptée. Une fois convenu, il pourrait alors devenir raisonnable pour les distributeurs de permettre à un examen par les pairs de confirmer ou de refuser les réclamations, après quoi les informations deviennent une partie de la trousse d'informations de base des distributeurs sur les articles de son magasin.

Emplacement

Pourquoi ne pas en lancer un sur le wiki du développeur de jeu ... http://wiki.gamedev.net/index.php/Main_Page ?


De toute évidence, il ne peut pas vraiment y avoir d'organisme de certification, et certains des TCR des principaux détenteurs de plates-formes ne sont pas pertinents, mais c'est une idée vraiment intéressante. Savez-vous si quelqu'un a travaillé sur quelque chose comme ça?

2
Il y a la liste de contrôle du mal pour les jeux XBLIG (et une liste de contrôle correspondante pas si mal).
coderanger

La liste de contrôle pas si maléfique ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) semble beaucoup plus utile en dehors du monde de XBLIG.

4

Développeurs de pilotes graphiques. Sans pilote graphique fonctionnel, les autres projets liés au jeu ne sont pas pertinents.

AMD et NVIDIA font en fait des pilotes utilisables, mais je parle de pilotes open-source. Mesa ne prend en charge que OpenGL 2.1.

edit: Cette réponse ne s'applique qu'à GNU / Linux.


3
Pourquoi est-il si important pour Linux d'avoir des pilotes open source, si les pilotes propriétaires sont utilisables? Mis à part l'idéologie, quelle pertinence a-t-elle pour les jeux?
Kylotan

@Kylotan: tous les GPU n'ont pas de pilotes propriétaires disponibles. Intel est l'un d'entre eux et leur matériel, bien qu'il ne soit pas très rapide, est assez rapide pour jouer à de nombreux jeux. Les joueurs apprécieraient les pilotes de buggy plus rapides / moins. Signaler des bugs ne suffit pas, Mesa / Intel ont besoin de plus de développeurs. Pour les obtenir, ils ont besoin d'une meilleure documentation.
SurvivalMachine

2
@Kylotan Les pilotes propriétaires sont au mieux une énorme blague. Les performances et la prise en charge d'OpenGL sont terribles et inégales, en particulier dans les pilotes d'ATI. Il semble que leurs pilotes Linux n'aient été créés que parce que quelqu'un s'est tordu le bras.
Bob Somers

@Kylotan: Parce que vous pourriez avoir une communauté avisée qui améliore les pilotes, au lieu d'être à la merci des flux et reflux d'ATI / NVidia vis-à-vis de la communauté Linux. Leur objectif, à juste titre, est de prendre en charge la plate-forme Windows. Linux est, au mieux, secondaire.
alphadogg

Cela n'arrivera jamais. La ligne d'entreprise est qu'ils croient qu'autoriser la communauté open-source à créer des pilotes expose trop de secrets aux concurrents.
alphadogg

4

Un outil générique d'édition de jeu multiplateforme qui vous permet de modifier le contenu du jeu (2D et 3D) pour n'importe quel moteur de jeu. Il peut être complété par l'édition et l'exportation de plugins pour un moteur de jeu spécifique, ou pour les besoins d'édition d'un genre de jeu spécifique (par exemple, éditeur de jeu de plateforme 3D, éditeur d'interface utilisateur 2D, éditeur de tilemap 3D, etc.).

Justification: la plupart des moteurs de jeux open source ne fournissent pas d'outils d'édition. La plupart des outils d'édition de jeu existants sont propriétaires et ne fonctionnent qu'avec le moteur de jeu du fournisseur (Torque, Unity, Shiva, etc.), ou ont une utilisation limitée (édition 2D Tilemap). Si vous changez de moteur ou de plate-forme, vous devez généralement laisser les outils avec lesquels vous travaillez et apprendre ou même écrire un nouvel outil, ou travailler sans aucun outil.

Que penses tu de cette idée? Pensez-vous que c'est souhaitable? Et serait-ce faisable?


3
C'est faisable. Et ça existe. Cela s'appelle 3ds Max (ou XSI, ou Blender, ou ...).
Neverender

Ce sont des modélisateurs 3D, pas des éditeurs de contenu de jeu. Ils ont été, dois-je dire, abusés pour avoir édité certains jeux, mais à part lancer quelque chose ensemble très rapidement, ils sont difficiles à créer avec des niveaux / mondes de jeu réels.
LearnCocos2D

D'accord, essayez Syntensity, Tiled, etc. Il existe d'autres éditeurs plus spécialisés. Si vous cherchez quelque chose d'aussi simple que l'éditeur de Spore ou ModNation, alors vous cherchez quelque chose qui a tendance à être trop spécifique à un jeu.
alphadogg du

3

Un noyau Geometry demande également un noyau d'animation, y compris le mélange.


2

Un bon lecteur Flash, car Adobe ne semble pas intéressé / sous-financé à vraiment travailler sur le leur sur des systèmes d'exploitation non Windows, et les implémentations existantes manquent (même par exemple, ScaleForm a des problèmes importants pour être "Flash approprié" comme les designers / artistes s'y attendent).



1

Je suppose qu'un service ouvert pour les sprites d'avatar personnalisés serait utile, en particulier avec la croissance des jeux HTML5 en ligne et mobiles. J'ai décrit l'idée ici .


1

EA STL (ou équivalent).


2
Je me demandais juste pourquoi? L'approche de base d'EASTL est détaillée plus qu'assez dans le papier pour copier les pièces dont vous avez besoin; les détails d'implémentation particuliers d'EASTL datent maintenant de plusieurs années et il existe probablement de meilleures façons de le faire sur les nouveaux compilateurs C ++; et la plupart des extensions dont ils parlent sont disponibles dans Boost (par exemple boost :: intrusive :: list) ou tr1 (par exemple standard unordered_map). Il y a quelques éléments utiles, mais je ne dirais jamais que c'est le projet open source le plus nécessaire.

Pourquoi dupliquer l'effort? Pourquoi ne pas bénéficier de l'examen par les pairs? Boost et TR1 ne font rien pour améliorer la conception de l'allocateur cérébral, pour commencer. Bon nombre des modifications proposées pourraient être adoptées par le TSL et le STL serait préférable pour lui. Mais cela n'arrivera jamais.
Neverender

1
Eh bien, il semble que votre rêve se soit réalisé! github.com/paulhodge/EASTL

1

Une collection semblable à stl de modèles de données souvent utilisés dans les jeux:

  • machines à états [hiérarchiques]
  • quad- / octrees
  • arbres bsp
  • arbres de sphère
  • kd arbres
  • [toute autre infrastructure de données spatiales utiles non répertoriée]
  • gestionnaires de ressources
  • répartiteurs linéaires / pool / autres
  • minuteries
  • arbres de décision

Ce serait vraiment bien de les avoir sous une forme facile à utiliser, connue pour être bien testée et stable.

Bien qu'il existe des implémentations open source de certaines des structures de données répertoriées, elles ne sont souvent pas conçues pour utiliser n'importe quel type de données (par exemple, vous êtes souvent obligé d'utiliser encore une autre structure matrice / vecteur), pas dans un état utilisable, mort ou manquant examen et test par les pairs.


0

La mise en réseau.

Pour commencer, un bon système de NAT (Network Address Traversal) et de routage, pour lutter contre tous les ennuis avec des pare-feu et des proxys. Les joueurs sur PC ne devraient jamais avoir à traiter avec des ports de transfert ou quelque chose de similaire.

Encore mieux: un réseau de jeux multijoueurs open source et distribué (par exemple, Battle.net, Xbox Live, PSN ...). Ce serait essentiellement un protocole que n'importe qui peut implémenter et n'importe qui peut exécuter un serveur - ils communiquent simplement entre eux pour transmettre des informations sur qui peut être trouvé où. Semblable aux réseaux sociaux distribués (par exemple, la diaspora), cela empêche toute partie d'avoir le contrôle, tout en permettant à n'importe quel jeu indépendant de s'y intégrer de manière transparente.

Imaginez si vous pouviez simplement ajouter vos amis en tant qu '«amis», et puis n'importe quel jeu auquel vous avez joué, vous pourriez simplement les inviter tout de suite, sans adresse IP, sans recherche d'ID, il vous suffit de les emmener avec vous. Fondamentalement, ce que B.net/XBL/PSN fait déjà, mais ouvert et gratuit pour tous!


1
Votre deuxième suggestion est une couche assez triviale sur XMPP, le problème n'est pas de le faire, c'est d'amener tout le monde à le supporter.

-2

Une véritable plateforme MMO, c'est à dire. celui qui fournit le middleware, les fonctions de lobby, etc., dans lequel vous pouvez brancher votre moteur.


-1, il n'y a aucun moyen que ce soit le projet le plus nécessaire, étant donné que presque tous les autres projets suggérés ici en sont une condition préalable.

Chaque? Il y a beaucoup de bibliothèques de réseau ouvertes décentes (vous n'avez pas besoin d'une version distribuée), des modélisateurs ouverts existent déjà (Blender), je ne vois pas le besoin d'EA STL, des moteurs de jeu existent, etc. Le seul projet concurrent compétent IMO c'est la distribution numérique qui serait cool. Je peux comprendre que je ne vote pas pour cela, mais que je baisse les votes? La plupart des jeux se déroulent en ligne, mais il n'y a même rien de proche d'une plate-forme ouverte et viable pour l'écosystème autour d'un MMO.
alphadogg

Oui, presque tous. Vous auriez besoin d'un correctif, d'un éditeur de contenu et de noyaux de géométrie et d'animation. Vous auriez besoin d'une sorte de fonctionnalités sociales pour votre réseau. Vous auriez également besoin d'une bibliothèque standard qui fonctionne pour les jeux; EA STL est une de ces bêtes, bien que vous puissiez en trouver une autre ou écrire la vôtre.

Éditeur de contenu: Blender, Tiled, Syntensity. Noyaux: vous ne savez pas exactement ce que vous voulez dire ici. Le noyau est un terme surchargé. Game dev "bibliothèque standard": Beaucoup de langues et de types de jeux différents. Une bibliothèque pour tout gérer? Vraiment? Enfin, les «fonctionnalités sociales» sont exactement ce que je propose dans le cadre d'une plateforme de jeux en ligne.
alphadogg
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.