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 ;-)

Robert Harvey
quelle

Antworten:

70

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

Michał Piaskowski
quelle
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.

HanClinto
quelle
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! ;)

Israr Khan
quelle
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 ?

Thomas Owens
quelle
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

Corbin März
quelle
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.

Martin Beckett
quelle
16
. . . . . . . . . .
. . . . S . . . . .
. . * . . . . * . .
. . . . . . . . . *
. * . . . * . . . .
. . . . . . . . . .
. . . E . . . . . .
. . . . . * . . . .
. . . . . . . . . . 
. . . * . . . . . .

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

Kevin Little
quelle
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."

Aaron Palmer
quelle
11

Ich kann nicht glauben, dass Hunt the Wumpus nicht erwähnt wurde.

Oder Star Trek ?

Michael Burr
quelle
Meine Lieblingsimplementierung ist "Be the Wumpus", die NUR Audio enthält.
Mdm
10

zwei Wörter: Frozen Bubble.

Tschad
quelle
9

Mein persönlicher Favorit ist UFO Alien Invasion . Ich habe das ursprüngliche UFO geliebt und dies ist ein wirklich guter Klon.

Mnementh
quelle
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)

Joe Pineda
quelle
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
8

Keine Frage in meinem Kopf, GL Tron. Wie kannst du es nicht lieben?

http://en.wikipedia.org/wiki/GLtron

Jeph Perro
quelle
Weil es irgendwie langweilig ist. Es ist wie Minesweeper für Tron-Fans. Trotzdem werde ich es nicht ablehnen.
Cristian Ciupitu
Gegen den Computer ist es in der Tat langweilig. Aber es macht viel Spaß gegen echte Menschen.
Ryan Lundy
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ß. ;)

Esko Luontola
quelle
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 ;-)

Newtopian
quelle
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.

Chris Porter
quelle
5

Sauerbraten Sehr schöne FPS

GvS
quelle
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.

DavidG
quelle
4

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

Ich meine "den Quellcode von FreeCol studieren".

JPLemme
quelle
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

Tyler
quelle
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.

Pascal Paradis
quelle
3

Je nachdem, für welche Plattform Sie sich entscheiden, haben die XNA-Leute ein paar "Starter-Kits" mit bereit zum Erstellen von Projekten. Der Code ist verfügbar, aber nicht explizit Open Source:

http://creators.xna.com/education/starterkits/

user17956
quelle
3

So viele Spiele, so wenig Zeit.

pmg
quelle
2

Offensichtlich in Warschau.

Es ist ein FPS, technisch fortgeschritten als Quake 3, Open Source, mit gut dokumentiertem Code und einer großartigen Community.

Gabriele D'Antona
quelle
Das liegt daran, dass die Quake 3-Codebasis verwendet wird.
Eugene Bujak
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.

HS.
quelle