Was ist das beste Open Source-Spiel, von dem man lernen kann? [geschlossen]


70

Diese Frage wurde aus historischen Gründen beibehalten, wird jedoch nicht als thematisch betrachtet. Verwenden Sie sie daher nicht als Ausrede, um etwas Ähnliches zu posten.

Weitere Informationen unter https://stackoverflow.com/faq .


Für mich, Code zu lesen und zu lernen, nicht zu spielen ...

...Na sicher ;-)

Antworten:


70

Quake (1,2 und 3) und DukeNukem 3D- Quellcode sind unter der GPL verfügbar.


Obwohl ursprünglich kommerziell, machen die Spiele, die jetzt unter der GPL veröffentlicht werden, sie zu den besten Open-Source-Spielen. Je. Sie können nicht mit Quake konkurrieren. Sie können nicht mit dem konkurrieren, was es bedeutet.
Vicent Marti

12
Nur ein kurzer "legaler" Kommentar: Der Quellcode der "Game Engines" für diese Spiele ist jetzt Open Source. Die Grafiken, Karten, Charaktere, Geschichten usw. sind weiterhin urheberrechtlich geschützte Gegenstände. Wenn Sie sie abspielen möchten, müssen Sie entweder die mit der Shareware-Version gelieferten Dateien verwenden oder sie kaufen :(
Joe Pineda

Einverstanden, aber für das Erlernen der Programmierung von Spielen sind diese Quellen von unschätzbarem Wert!
Gary Willoughby

Eine andere Sache, die Sie daraus lernen können, ist historisch, wie sie es geschafft haben, es auf der Hardware des Tages zum Laufen zu bringen.
Brad Gilbert

3
Obwohl es sich um gute Spiele handelt, bedeutet dies nicht, dass der Code lesbar und gut zum Spielen ist. Es ist auch stark optimiert, was Ihnen Kopfschmerzen beim Verständnis des tatsächlichen Innenlebens bereiten wird. Wie auch immer, wenn Sie den prozeduralen Ansatz in Spielen mögen, werden Sie ziemlich zufrieden damit sein.
Manuel

67

Wenn ein Teil des Grundes für Open-Source-Code darin besteht, dass Code im Laufe seiner Entwicklung wiederverwendet und recycelt wird, dann sind Einfluss und Vermächtnis meiner Meinung nach zwei wichtige Faktoren für diese Entscheidung. Auf dieser Basis würde ich wahrscheinlich Rogue / Hack / Nethack wählen . Es war einer der wegweisenden Einflüsse hinter dem Hack-and-Slash-Dungeon-Crawling-Genre, das heute in florierenden Communities weiterlebt, die immer noch diese alten ASCII-Spiele spielen, und einen bedeutenden Einfluss auf einige der beliebtesten Grafikspiele von allen hatte Zeit, wie Diablo und Diablo 2.


1
Vergessen Sie nicht den Moria / Angband-Entwicklungsbaum.
David Thornley

5
Und Nethack hat eine Menge Technologie im Code. UI-Abstraktionsschicht, Serialisierung, domänenspezifische Datenbeschreibungssprache mit einem Compiler usw.
Darron

3
Und denken Sie daran, dass es NetHack heißt, weil es eines der ersten Programme war, die gemeinsam über das Internet geschrieben wurden. Es war so neu, dass es eine besondere Auszeichnung im Namen verdient hat!
ilya n.

Ich denke, Sie können auch MUDs in diesen Baum einfügen: Multiplayer-Echtzeit-Internet-Text-Abenteuerspiel. CircleMUD hat eine sehr gute Dokumentation und ich habe vor ein paar Jahren damit angefangen
karlphillip


37

Was ist mit OpenTransportTycoon? :) Komm, Leute - das muss das Beste sein!

http://www.openttd.org FTW! ;)


1
das beste überhaupt, jetzt nur, wenn sie eine gute API zum Programmieren Ihrer eigenen Bots erstellen könnten.
Lubos Hasko

1
..Sie sind jetzt mit NoAI nahe gekommen. oTTD ist eine interessante Lektüre. Ich konnte einiges lernen, indem ich den oTTD-Quellcode gelesen habe.
Sukasa

31

Wie wäre es mit FreeCiv ?


Ein Problem, das ich mit FreeCiv habe, ist, dass es auf älterer Hardware nicht reibungslos läuft. Ansonsten liebe ich es.
Brad Gilbert

Ich habe einen wirklich sehr alten Original-Pentium mit BSD, auf dem ich Freeciv ausführe. Er läuft einwandfrei. Abgesehen von den Grafiken im Client ist das Fenster zu groß, um auf meinen älteren Auflösungsmonitor zu passen. Daher kann ich die Registerkarten unten nicht sehen.
Stephenbayer

Probieren Sie das Dreizack-Kachelset für ältere Computer aus. Sollte gut funktionieren.
u0b34a0f6ae

31

Schauen Sie sich die Spiele von Kenta Cho an : http://www.asahi-net.or.jp/~cs8k-cyu/index_e.html . Die meisten von ihnen sind in D geschrieben und verwenden Simple DirectMedia Layer .

Sie machen viel Spaß und die Quelle ist extrem lesbar - ein großartiges Schaufenster für die D-Sprache.

Torus-SoldatScreenshot von :

Alternativtext http://images.macworld.com/images/legacy/images/content/torus.jpg


3
Whoa, +1 für nette Spiele in D!
Matthew Olenik

Die Spiele von Kenta Cho sind fantastisch - die besten sind wahrscheinlich Gunroar oder rRootage.
Steve Claridge

25

Es gibt ein sehr gutes textbasiertes Rollenspiel namens "make". Sie sind auf der Suche nach versteckten Abhängigkeiten, die von bärtigen Weisen bewacht werden, und ringen mit ihnen.



16
. . . . . . . . . .
. . . . S . . . . .
. . * . . . . * . .
. . . . . . . . . *
. * . . . * . . . .
. . . . . . . . . .
. . . E . . . . . .
. . . . . * . . . .
. . . . . . . . . . 
. . . * . . . . . .

Dieser ... der ursprüngliche Star Trek. PDP11 rulez! :) :)


Ich erinnere mich, wie ich das in der Schule auf einer Punktmatrix-Konsole gespielt habe ... genau dort oben mit einem Bürgerkriegsprogramm und einem seltsamen Mafioso-Programm (das mir der Name entgeht)
Christopher Klein

Sie können auch eine PDP-11-Version von Empire herunterladen! classicempire.com
Walter Bright

@ Christopher Klein: wahrscheinlich Syndikat
Adriano Varoli Piazza


12

Ich müsste mit GNU Chess gehen .

Wenn Sie wirklich daran interessiert sind, sich den Code anzusehen. Aus dem Wiki : "Version 5 war im Wesentlichen eine vollständige Neufassung von GNU Chess, um Spaghetti-Code zu eliminieren und veraltete Datenstrukturen durch fortschrittlichere Computerschach-Implementierungstechniken zu ersetzen."





8

Was? Niemand hier mag Tux Racer ?

Ich liebe dieses Spiel einfach !!! Es ist schnelllebig und kann auf fast jedem anständigen modernen Computer ausgeführt werden (keine teuren Grafikkarten erforderlich). Und es läuft auch unter Windows !! Darüber hinaus zeigt es, dass "Pinguine fliegen können" (und sogar die Schallgeschwindigkeit übertreffen: P)


Es ist auch schon eine Weile mein Favorit!
Pascal Paradis

3
Ich werde Sie nicht ablehnen, aber ich war noch nie von TuxRacer beeindruckt.
Knobloch

2
Tux Racer war ordentlich, als ich MesaGL zum ersten Mal zum Laufen brachte, aber ich kann nicht anders, als es als perfektes Beispiel dafür zu sehen, wie Linux ein Bürger zweiter Klasse in der Spielewelt ist.
Adam Lassek


7

Jagged Alliance 2

Sein Quellcode wurde 2004 veröffentlicht (glaube ich) und seitdem wurde er von der Mod-Community sehr verbessert. Der Mod geht unter dem Namen JA2 v1.13 und die Community befindet sich in Bear's Pit .

PS Zum Lesen und Lernen aus dem Code ist dies möglicherweise nicht das beste Projekt. Es ist alter C-Code mit vielen Funktionen, die Hunderte von Zeilen umfassen. Wenn Sie nicht lernen möchten, wie man mit Legacy-Code arbeitet , macht das Spielen mehr Spaß. ;)


Jagged Alliance 2 wäre ein guter Anfang, wenn Sie Ihre Überprüfungsfähigkeiten üben möchten.
mbx

5

Gut....

Wenn Sie sich für Flugsimulatoren interessieren, können Sie sich auf jeden Fall Free Space ansehen

http://scp.indiegames.us/

Es gibt auch jede Menge Mods ... eine sehr schöne befindet sich im Battlestar Gallactica Universum, wo Sie tatsächlich die Viper Mark VII fliegen

http://www.game-warden.com/bsg/

Viel Spaß ... ähm, natürlich, wo ist mein Kopf ...

Viel Spaß beim Lesen des Codes ;-)


5

Wenn Sie sehen möchten, wie ein Spiel funktioniert, und bereit sind, einen kleinen Geldbetrag dafür auszugeben, empfehle ich die Torque Gaming Engine von GarageGames . Für 150 US-Dollar erhalten Sie den gesamten Engine-Quellcode eines AAA-Spieletitels (Tribes 2). Der Inhalt wurde gerippt, damit Sie Tribes 2 nicht kaufen, aber der Inhalt ist leicht zu ersetzen. Im Vergleich zu den Kosten anderer vergleichbarer Motoren ist Torque ein erstaunliches Schnäppchen. Und wenn Sie sich jemals dazu entschließen, ein Spiel zu produzieren, können Sie dies tun, ohne die Lizenzbeschränkungen zu überschreiten.

EDIT: Ich weiß, dass es nicht Open Source ist, aber für Ihren Zweck, Code zu lernen, sollte es sich qualifizieren. Die Engine ist in C ++ codiert und es gibt eine Skriptebene, deren Syntax C # / Java ähnelt.


5

Sauerbraten Sehr schöne FPS


1
Auch der Code ist äußerst elegant und sauber, ein Meisterwerk der Softwareentwicklung.
Levhita

Der Code folgt einer bestimmten Philosophie und ist wirklich gut darin, minimalistisch zu sein. Es ist eigentlich ein großartiger Code, wenn Sie sehen möchten, wie sauber und elegant Optimierungen durchgeführt werden können.
Hakkar


4

Wormux hat wirklich eine fantastische Architektur. Ich bin ein professioneller Spieleentwickler und ich denke, dass diese Jungs es auch wirklich sein könnten. Die Qualität der Arbeit riecht nach jahrelanger Erfahrung als Spieleentwickler.


4

Ich habe viele Stunden damit verbracht, FreeCol (einen Klon von Sid Meiers Colonization) zu spielen.

Ich meine "den Quellcode von FreeCol studieren".


4

Vor kurzem sind einige der Spiele aus dem Humble Indie Bundle Open Source geworden und für die Leute wahrscheinlich ziemlich interessant. Gish, Lugaru und Penumbra wurden alle geöffnet.

http://www.wolfire.com/humble



3

Dopewars macht Spaß, mit Freunden im Internet oder im LAN zu spielen. Und es läuft unter Windows, OSX, Linux, iPhone und es gibt eine Anpassung auf Facebook.





2

Ich kann es nicht glauben, noch hat niemand Armagetron Advanced erwähnt !

Für Fans des Films Tron ist dies eine gute Möglichkeit, Zeit online mit anderen Spielern weltweit zu verschwenden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.