Ist es unprofessionell wenn für kommerzielle Spiele die SDL verwendet wird?
-
Das Frage ich mich schon öfters, da ich unter Windows zwar durchaus wenige kommerzielle OpenGL* Spiele gesehen habe, aber keine von denen nutzt die SDL.
* OpenGL weil bei DirectX ist es ja klar, wer sowieso nur für Windows entwickelt, der braucht weder die plattformunabhängige OpenGL noch die SDL API.
-
Liegt das eventuell an der LGPL die kein statisches Linken erlaubt?
Dann dürfte das ja bald mit SDL 1.3 Geschichte sein, denn die wird unter der zlib Lizenz stehen.
-
wozu sollte man die sdl denn unbedingt brauchen? input lesen und fenster erstellen?
-
Die SDL bietet nichts, was für AAA Spiele überhaupt interessant wäre. Einen Mac hinstellen und eben etwas schreiben, was dort ein Fenster erstellt, ist bei solchen Titeln halt trivial.
-
Es gibt aber neben den sog. AAA Titeln auch noch andere, die mit z.T. wesentlich kleinerem Budget auskommen müssen, aber IMO trotzdem als kommerziell und auch professionell zu bezeichnen sind.
Und wieso für Input, Fenster-Gedöns und evtl. Sound nicht die SDL verwenden, wenn sie kann was man braucht, und es von der Lizenz her kein Problem macht?
-
Einfach mal informieren: http://en.wikipedia.org/wiki/List_of_games_using_SDL
Noch Fragen?
-
knivil schrieb:
Einfach mal informieren: http://en.wikipedia.org/wiki/List_of_games_using_SDL
Noch Fragen?
Das sind in der Liste gerademal 5 kommerzielle Spiele die die SDL auch unter Windows nutzen.
Das ist ein bischen wenig um sagen zu können, daß sie gerne von AAA Game Entwicklern benützt wird.
-
rapso schrieb:
wozu sollte man die sdl denn unbedingt brauchen? input lesen und fenster erstellen?
Ja, natürlich.
Denn die Sache ist doch die.
Will ich Mac OS X, Windows und Linux unterstützen, dann kann ich zwar durchaus meine machFenster Funktion selber schreiben und auf alle Plattformen entsprechend anpassen, aber solche selbstgeschriebenen Teile sind oftmals nicht ausgereift oder passen auf etwaige Spezialfälle nicht auf.
Eine API wie die SDL ist da bewährt. Über 1000 Open Source und Hobby Programmierer nutzen sie unter ihrer Plattform und finden dann etwaige Fehler, an die ein Entwickler für ein kommerzielles Spiel nicht denken würde, weil er entweder keine Zeit für intensives Testing hat oder das einfach übersieht oder den Spezialfall nicht kennt.Da gleiche gilt auch für die Eingabe.
Immerhin will man ja nicht nur die Tastatur und Maus benutzen können, sondern auch Joysticks, Gamepads und Joysticks mit Force Feedback Funktion.
Die SDL 1.3 bietet das alles, warum soll man das selber schreiben?
Und wenn man nur für DirectX entwickelt, dann verliert man die Plattformunabhängigkeit.
-
Warum nutzt die keiner? schrieb:
knivil schrieb:
Einfach mal informieren: http://en.wikipedia.org/wiki/List_of_games_using_SDL
Noch Fragen?
Das sind in der Liste gerademal 5 kommerzielle Spiele die die SDL auch unter Windows nutzen.
Das ist ein bischen wenig um sagen zu können, daß sie gerne von AAA Game Entwicklern benützt wird.Das hat auch keiner behauptet.
-
Warum nutzt die keiner? schrieb:
rapso schrieb:
wozu sollte man die sdl denn unbedingt brauchen? input lesen und fenster erstellen?
Will ich Mac OS X, Windows und Linux unterstützen...
die hersteller die professionelle spiele auf osx oder linux rausbringen kann man vermutlich an einer hand abzaehlen. es also fuer windows zu machen ist weniger arbeit als SDL zu integrieren.
dann kann ich zwar durchaus meine machFenster Funktion selber schreiben und auf alle Plattformen entsprechend anpassen, aber solche selbstgeschriebenen Teile sind oftmals nicht ausgereift oder passen auf etwaige Spezialfälle nicht auf.
oder man nutzt schon betriebssysteme, APIs usw. auf die sonst niemand zugriff hat (z.b. fuer konsolen, oder ein neues OS) ohne support von SDL. und was macht ein entwickler dann? sein einfaches fenstersystem erweitern/portieren, oder sich in den hobbycode der SDL programmierer einarbeiten und eine konsolen erweiterung dafuer implementieren?
Eine API wie die SDL ist da bewährt. Über 1000 Open Source und Hobby Programmierer nutzen sie unter ihrer Plattform und finden dann etwaige Fehler, an die ein Entwickler für ein kommerzielles Spiel nicht denken würde, weil er entweder keine Zeit für intensives Testing hat oder das einfach übersieht oder den Spezialfall nicht kennt.
genauso wie hobbyprogrammierer nicht den anspruch und die anforderungen die grosse entwickler haben[edit]das soll keine beleidigung sein. als "professioneller" entwickler muss man jedoch selbst auf windows viele tests durchlaufen, z.b. vom publisher oder z.B. bei microsoft, damit man "games for windows" usw. auf die packung kleben kann, damit dealt ein hobbyprogrammierer mit SDL nicht[/edit], ich bin mir recht sicher, dass es zig faelle gibt die die SDL nicht richtig behandelt, denn selbst die libs die man von MS bekommt sind da nicht 100% sicher (und die werden von 1000 kommerziellen programmierern benutzt).
Da gleiche gilt auch für die Eingabe.
Immerhin will man ja nicht nur die Tastatur und Maus benutzen können, sondern auch Joysticks, Gamepads und Joysticks mit Force Feedback Funktion.
Die SDL 1.3 bietet das alles, warum soll man das selber schreiben?
Und wenn man nur für DirectX entwickelt, dann verliert man die Plattformunabhängigkeit.die wichtigsten platformen fuer kommerzielle spiele sind
-Windows
-Xbox360
-Playstation3
wenn man mit SDL entwickelt, verliert man die platformunabhaengigkeit fuer 2 von 3 zielplatformen und darf sie selbst einpflegen.man will seine projekte nunmal selten von 3rd party libs abhaengig machen, gerade fuer triviale dinge kann das mehr uebel bringen als nutzen. fuer hobby projekte kann man natuerlich sowas nutzen, da wuerde ich auch java oder c# empfehlen oder pygame empfehlen.
Bei kommerziellen spielen, da ist sogar die STL oft ein kopfzerbrechen, wo sonst sich sicher niemand gedanken macht, ob er sie fuer seine spiele verwendet.
-
rapso schrieb:
oder man nutzt schon betriebssysteme, APIs usw. auf die sonst niemand zugriff hat (z.b. fuer konsolen, oder ein neues OS) ohne support von SDL. und was macht ein entwickler dann? sein einfaches fenstersystem erweitern/portieren, oder sich in den hobbycode der SDL programmierer einarbeiten und eine konsolen erweiterung dafuer implementieren?
Die SDL 1.3 erlaubt statisches Linken und steht unter der zlib License.
D.h. er kann darin rumspielen wie er will und den Code nach belieben anpassen ohne die Devels auf libsdl.org fragen zu müssen.Außerdem ist die SDL kein Hobbycode. Sie wurde damals von Sam Lantina für das kommerzielle Unternehmen Loki Games programmiert und Sam Lantina arbeitet inzwischen bei Blizzard. D.h. das ist ein Coder der auch Ahnung hat und man sieht es der elegant designten SDL an.
die wichtigsten platformen fuer kommerzielle spiele sind
-Windows
-Xbox360
-Playstation3
wenn man mit SDL entwickelt, verliert man die platformunabhaengigkeit fuer 2 von 3 zielplatformen und darf sie selbst einpflegen.Mit SDL 1.3 ist die SDL Code des Spieles wie jeder andere Code des Spieles auch.
Bei der LPGL SDL 1.2 magst du noch Recht haben, die schränkt da ein, aber die SDL 1.3 halt nicht.
-
open source/hobby programmierer ist von der person die ich gequotet habe, ich habe keine ahnung wer die sdl gemacht hat, noch wie die code qualitaet ist (hobby/professionel).
ich glaube du verdrehst da den punkt. ich sprach nie von der license, ich sprach vom code.
du kannst
a) eigenen code auf die noetigen platformen anpassen
b) gewachsenen fremdcode auf die platformen anpassenund bei einer lib fuer simple dinge wie fenster erstellen, input, file access etc. schreibt man sich das eben selbst, statt eine fremde riesen lib einzupflegen.
meine kleine engine zuhause hat Win/OSX/Linux/PS3/X360/PSP/OSX/Bada/Android support, fuer window/input. es ist derart straight forward, dass ich garnicht wueste weshalb ich dafuer eine lib nutzen sollte und ich bin ein einzelner der dran arbeitet und habe das mit der zeit "mal eben nebenbei" eingepflegt. die arbeit die man dann dadrueber hat, alles auf fuers spiel bedeutsame aktionen zu mappen ist x-mal groesser, ich weiss echt nicht wieso ich mir da eine lib reinziehen muss um mir einen tag arbeit zu sparen (und in manchen faellen dann arbeit zu machen).
-
Die SDL wird von Sam Lantinga gemacht. Ein Blizzard Mitarbeiter.
http://de.wikipedia.org/wiki/Sam_Lantinga