Am dringendsten benötigtes Open Source-Projekt [geschlossen]

15

Einige Fragen auf der Website haben die Notwendigkeit weiterer Open-Source-Projekte aufgezeigt. Ich stimme zu und frage mich, welche Frameworks entwickelt werden sollten.

Ich werde die Liste beginnen.

  • Ein auf OpenGL / DirectX zugeschnittener Geometriekernel mit Serialisierung (JSON, binär, komprimiert binär)
  • Gestenerkennung
Jonathan Fischoff
quelle
5
Keine echte Frage.
Petrus Theron
2
@FreshCode: Daher das "Community Wiki" -Flag. Obwohl diese Site noch keine genauen Richtlinien für Community-Wikis enthält, liegt dies auf anderen SE-Sites, z. B. MathOverflow ( mathoverflow.net/faq#communitywiki ), innerhalb der Grenzen der Flagge .
9
Wenn Sie eine Listenfrage starten, ist es besser, wenn Ihre Antworten in einer Antwort anstelle der Frage enthalten sind, damit über sie separat abgestimmt werden kann.
Tetrad,

Antworten:

43

Ich habe mich bereits in einer anderen Frage darüber beschwert, aber offene digitale Vertriebssysteme wären herrlich. Dies umfasst sowohl Patching-Systeme als auch marktplatzähnliche Dinge für Endbenutzer. Steam übernimmt eine Menge davon, ist aber weit entfernt von einer offenen Plattform. Auch wenn es sich nicht um einen gemeinsamen Marktplatz wie Steam handelt (oder wie Telefon-Marktplätze funktionieren), wäre eine Lösung, die Sie einfach umbenennen und selbst bereitstellen können, ein großer Schritt nach vorn (vorausgesetzt, die Leute haben tatsächlich Dinge wie das Übermitteln von Patches vor und nach Steam getan) all diese FOSS Güte).

coderanger
quelle
Ich habe die letzten zwei Jahre hier verbracht und an unserem internen System gearbeitet, daher bin ich wahrscheinlich ein bisschen voreingenommen.
Coderanger
Fairerweise wäre dies auch außerhalb der Spieldomäne außerordentlich wertvoll!
Stewart
@Coderanger Offen für was? Ich arbeite an solchen Tools für meine Website, und ich würde gerne Ihr Gehirn auswählen.
Jesse Dorsey
@Noctrine Meine E-Mail ist noah @ <meine Website>,
zögern Sie nicht
War es nicht das, was Launchpad + APT sein sollte, und es wurde zu einem barocken Albtraum?
4

Kein Softwareprojekt, sondern eine Dokumentation:

Eine spieltechnische Qualitätsprüfliste (wie trcs oder tcrs)

Das Design eines Produktionsspiels wurde oft von diesen wichtigen Dokumenten beeinflusst. Indie-Spiele brauchen sie genauso wie professionelle Spieleentwickler, da es zumindest eine einfache Gewissheit ist, dass Sie einen vernünftigen Job gemacht haben.

Zertifizierung

Es könnte keine Zertifizierungsstelle geben, aber es könnte sich zunächst um eine Selbstzertifizierungsstelle handeln.

Wenn die Checkliste kurz war, könnte sie leichter zu einer allgemein vereinbarten Checkliste werden. Sobald eine Vereinbarung getroffen wurde, kann es für Händler zumutbar werden, dass Peer Review Ansprüche bestätigt oder ablehnt, woraufhin die Informationen Teil des Basisinformationspakets für Händler über Artikel in ihrem Geschäft werden.

Ort

Warum nicht eines im Spielentwicklungs-Wiki starten ... http://wiki.gamedev.net/index.php/Main_Page ?

Richard Fabian
quelle
Natürlich kann es keine Zertifizierungsstelle geben, und einige der TCRs der wichtigsten Plattforminhaber sind auch nicht relevant, aber das ist eine wirklich interessante Idee. Wissen Sie, ob jemand an so etwas gearbeitet hat?
2
Es gibt die böse Checkliste für XBLIG-Spiele (und eine entsprechende nicht so böse Checkliste).
Coderanger
Die nicht so böse Checkliste ( creators.xna.com/en-us/help/peerreview_notsoevilchecklist ) sieht außerhalb der Welt von XBLIG viel nützlicher aus.
4

Grafiktreiber-Entwickler. Ohne funktionierende Grafiktreiber sind andere Spieleprojekte irrelevant.

AMD und NVIDIA machen tatsächlich verwendbare Treiber, aber ich spreche von Open-Source-Treibern. Mesa unterstützt nur OpenGL 2.1.

edit: Diese Antwort gilt nur für GNU / Linux.

SurvivalMachine
quelle
3
Warum ist es für Linux so wichtig, Open Source-Treiber zu haben, wenn die proprietären Treiber verwendbar sind? Welche Relevanz hat es für Spiele, wenn man die Ideologie beiseite lässt?
Kylotan,
@ Kylotan: Nicht für alle GPUs sind proprietäre Treiber verfügbar. Intel ist einer von ihnen, und ihre Hardware ist zwar nicht sehr schnell, aber schnell genug, um viele Spiele zu spielen. Gamer würden sich über schnellere / weniger fehlerbehaftete Fahrer freuen. Das Melden von Fehlern reicht nicht aus, Mesa / Intel benötigen mehr Entwickler. Um sie zu bekommen, brauchen sie eine bessere Dokumentation.
SurvivalMachine
2
@Kylotan Die proprietären Treiber sind bestenfalls ein Riesenwitz. Die Leistung und die OpenGL-Unterstützung sind furchtbar und lückenhaft, insbesondere bei den ATI-Treibern. Es scheint, dass ihre Linux-Treiber nur geschaffen wurden, weil sich jemand den Arm verdreht hat.
Bob Somers
@Kylotan: Weil Sie eine versierte Community haben könnten, die die Treiber verbessert, anstatt den Ebbe- und Flutgefühlen von ATI / NVidia gegenüber der Linux-Community ausgeliefert zu sein. Sie konzentrieren sich aus gutem Grund darauf, die Windows-Plattform zu unterstützen. Linux ist bestenfalls zweitrangig.
Alphadogg
Es wird nie passieren. Die Unternehmenslinie besagt, dass sie glauben, dass die Open-Source-Community beim Aufbau von Treibern den Wettbewerbern zu viele Geheimnisse preisgibt.
Alphadogg
4

Ein generisches, plattformübergreifendes Spiel-Bearbeitungstool, mit dem Sie Spielinhalte (2D und 3D) für jede Spiel-Engine bearbeiten können. Es kann durch das Bearbeiten und Exportieren von Plug-ins für eine bestimmte Game-Engine oder für die Bearbeitungsanforderungen eines bestimmten Game-Genres (z. B. 3D-Plattform-Game-Editor, 2D-Benutzeroberflächen-Editor, 3D-Tilemap-Editor usw.) ergänzt werden.

Begründung: Die meisten Open Source-Spiele-Engines bieten keine Bearbeitungstools. Die meisten vorhandenen Spielbearbeitungswerkzeuge sind proprietär und funktionieren nur mit der Spiele-Engine des Herstellers (Torque, Unity, Shiva usw.) oder sind nur eingeschränkt verwendbar (2D-Tilemap-Bearbeitung). Wenn Sie die Motoren oder Plattformen wechseln, müssen Sie normalerweise die Werkzeuge, mit denen Sie gearbeitet haben, stehen lassen und entweder ein neues Werkzeug lernen oder sogar schreiben oder ganz ohne Werkzeuge arbeiten.

Was haltet ihr von dieser Idee? Findest du es wünschenswert? Und wäre es machbar?

LearnCocos2D
quelle
3
Es ist machbar Und es existiert. Es heißt 3ds Max (oder XSI oder Blender oder ...).
Neverender
Das sind 3D-Modellbauer, keine Editoren für Spielinhalte. Ich sage, sie wurden missbraucht, um einige Spiele zu bearbeiten, aber abgesehen davon, dass sie sehr schnell etwas zusammenbrachten, sind sie ein Schmerz, um tatsächliche Spielebenen / -welten zu erschaffen.
LearnCocos2D
Okay, versuchen Sie es mit Syntensity, Tiled usw. Es gibt andere, spezialisiertere Editoren. Wenn Sie nach etwas suchen, das so einfach ist wie der Editor in Spore oder ModNation, dann suchen Sie nach etwas, das in der Regel zu spezifisch für ein Spiel ist.
alphadogg
3

Ein Geometrie-Kernel bittet auch um einen Animationskernel, einschließlich Blending.

Jeff
quelle
2

Ein guter Flash-Player, da Adobe anscheinend nicht daran interessiert / unterfinanziert ist, auf Nicht-Windows-Betriebssystemen wirklich daran zu arbeiten, und die vorhandenen Implementierungen fehlen (selbst wenn beispielsweise ScaleForm erhebliche Probleme hat, wie Designer / Künstler erwarten, "richtiges Flash" zu sein).

user744
quelle
Siehe auch gamedev.stackexchange.com/questions/3563/…
Bart van Heukelom
1

Ich vermute, dass ein offener Dienst für benutzerdefinierte Avatar-Sprites besonders beim Wachstum von Online- und mobilen HTML5-basierten Spielen nützlich wäre. Ich habe die Idee hier beschrieben .

Aidas Bendoraitis
quelle
1

EA STL (oder gleichwertig).

Neverender
quelle
2
Ich frage mich nur, warum? Der grundlegende Ansatz von EASTL ist in dem Papier mehr als ausreichend beschrieben, um die von Ihnen benötigten Teile zu kopieren. Die speziellen Implementierungsdetails von EASTL sind jetzt mehrere Jahre alt und es gibt wahrscheinlich bessere Möglichkeiten, dies auf neueren C ++ - Compilern zu tun. und viele der Erweiterungen, über die sie sprechen, sind in Boost (zB boost :: intrusive :: list) oder tr1 (zB standard unordered_map) verfügbar. Es sind noch ein paar nützliche Dinge darin, aber ich würde nie sagen, dass es das am meisten benötigte Open Source-Projekt ist.
Warum den Aufwand verdoppeln? Warum nicht von Peer Review profitieren? Boost und TR1 tragen nicht zur Verbesserung des gehirngeschädigten Allokator-Designs bei. Viele der vorgeschlagenen Änderungen könnten von der STL übernommen werden, und die STL wäre besser dafür. Aber das wird niemals passieren.
Neverender
1
Nun, es sieht so aus, als wäre dein Traum wahr geworden! github.com/paulhodge/EASTL
1

Eine stl-ähnliche Sammlung von Vorlagen-Datenstrukturen, die häufig in Spielen verwendet werden:

  • [hierarchische] Zustandsmaschinen
  • Quad- / Octrees
  • bsp Bäume
  • Kugelbäume
  • kd Bäume
  • [jede andere nützliche räumliche Datenstruktur, die nicht aufgeführt ist]
  • Ressourcenmanager
  • lineare / Pool / andere Zuweiser
  • Timer
  • Entscheidungsbäume

Es wäre wirklich schön, diese in einer benutzerfreundlichen Form zur Verfügung zu haben, die bekanntermaßen gut getestet und stabil ist.

Open-Source-Implementierungen einiger der aufgelisteten Datenstrukturen sind zwar vorhanden, sie sind jedoch häufig nicht auf die Verwendung eines Datentyps ausgelegt (z. B. müssen Sie häufig noch eine andere Matrix- / Vektorstruktur verwenden) Peer Review und Testen.

sarahm
quelle
0

Vernetzung.

Für den Anfang ein gutes System für NAT (Network Address Traversal) und Routing, um Probleme mit Firewalls und Proxys zu bekämpfen. PC-Gamer sollten sich niemals mit Forwarding-Ports oder Ähnlichem befassen müssen.

Noch besser: Ein Open-Source-Netzwerk für verteilte Multiplayer-Spiele (z. B. Battle.net, Xbox Live, PSN ...). Dies wäre im Wesentlichen ein Protokoll, das jeder implementieren kann, und jeder kann einen Server betreiben. Er kommuniziert nur miteinander, um Informationen darüber weiterzugeben, wer wo zu finden ist. Ähnlich wie bei verteilten sozialen Netzwerken (z. B. Diaspora) kann so keine Partei die Kontrolle übernehmen, während sich jedes Indie-Spiel nahtlos in das Netzwerk einfügt.

Stellen Sie sich vor, Sie könnten Ihre Freunde einfach als "Freunde" hinzufügen und dann jedes Spiel, das Sie jemals gespielt haben, sofort einladen, keine IP-Adressen, keine ID-Suche, Sie nehmen sie einfach mit. Grundsätzlich was B.net/XBL/PSN schon kann, aber offen und kostenlos für alle!

user3469
quelle
1
Ihr zweiter Vorschlag ist eine ziemlich triviale Ebene über XMPP. Das Problem wird nicht gelöst, sondern von allen unterstützt.
-2

Eine echte MMO-Plattform, dh. Eine, die die Middleware, Lobby-Funktionen usw. bereitstellt, in die Sie Ihre Engine einstecken können.

alphadogg
quelle
-1, auf keinen Fall ist dies das am meisten benötigte Projekt, da fast jedes andere hier vorgeschlagene Projekt eine Voraussetzung dafür ist.
Jeden? Es gibt viele anständige offene Netzwerkbibliotheken (Sie benötigen keine verteilte Version), es gibt bereits offene Modellierer (Blender), ich sehe keine Notwendigkeit für EA STL, es gibt Game-Engines usw. Das einzige tragfähige Mitbewerberprojekt, das IMO ist ist die digitale Distribution, die cool wäre. Ich kann verstehen, nicht dafür zu stimmen, sondern dagegen zu stimmen? Ein Großteil der Spiele findet online statt, doch es gibt nicht einmal annähernd eine tragfähige, offene Plattform für das Ökosystem rund um ein MMO.
Alphadogg
Ja, fast alle. Sie benötigen einen Patcher, einen Inhaltseditor sowie Geometrie- und Animationskerne. Sie benötigen soziale Funktionen für Ihr Netzwerk. Sie benötigen außerdem eine Standardbibliothek, die für Spiele geeignet ist. EA STL ist eine solche Bestie, obwohl Sie eine andere finden oder Ihre eigene schreiben könnten.
Inhaltseditor: Blender, Tiled, Syntensity. Kernel: weiß nicht genau was du hier meinst. Kernel ist ein überladener Begriff. Game Dev "Standard Library": Viele verschiedene Sprachen und verschiedene Spieltypen. Eine Bibliothek für alle? "Ja wirklich?" "Social Features" ist genau das, was ich als Teil einer Plattform für Online-Spiele vorschlage.
Alphadogg