Tools Vs. Selbstgemacht?
-
Jester schrieb:
Klar, am besten sollte man sogar ein eigens dafür angepaßtes Betriebssystem schreiben. (Zumindest wenns gut werden soll :)).
Steve Cartwright hat es für die IBM Version von Hacker so gemacht.
Das Spiel ist toll geworden
-
Jester schrieb:
xindon schrieb:
Ich wage zu behaupten, dass es nicht sinnvoll ist, selbst zu programmieren und das Spiel auch zu designen. Zumindest nicht, wenns gut werden soll :))
Klar, am besten sollte man sogar ein eigens dafür angepaßtes Betriebssystem schreiben. (Zumindest wenns gut werden soll :)).
indeed, so machen es gute spiele auch, mit sammt den treibern, wenn man das letzte aus der hardware kratzen möchte, muss man hardwarenah arbeiten. Im gegensatz zu konsolen, ist das bei PCs an nicht vielen stellen möglich, aber selbst bei PC-spielen gibt es noch viele Hardwarenahe dinge, z.b. hat wohl so ziemlich jedes spiel ein eigenes Dateisystem, alleine dadurch kann man die performance sehr steigern und die ladezeiten stark verkürzen, jedenfalls wenn man weiß wie alles funktioniert, wenn man es nicht weiß, macht man eventuell sogar einiges schlimmer.
Das hat mich etwas gewundert, denn um ehrlich zu sein denke ich das jemand der am ende stolz auf sein projekt sein will und 100%tig behauten möchte "hab ich selber gemacht" doch von Grund auf selber Programmiert oder?
das kommt drauf an was das projekt ist, wenn jemand ganz alleine ein mmorpg anfängt indem er seine eigene engine schreiben möchte (womöglich sogar ohne je eine geschrieben zu haben), wird das projekt nie fertig. nicht nur, dass man darauf nicht stolz sein kann, es ist sogar eher peinlich.
heutzutage gibt es wohl keine möglichkeit ein qualitativ gutes spiel und eine gute engine zu programmieren, man muss sich auf eine der beiden dinge als ziel festlegen und selbst dann ist es noch hochgesteckt.
Mit diesem Ziel muss man dann entscheiden, ob die eigene arbeite für tools und teile der Engine/Spiele gerechtfertigt ist. schreibt man einen einen objekteditor, einen exporter, einen renderer, einen xml-parser, eine stl, einen c( oder cg)-compiler selbst, oder nimmt man das vorhandene und nutzt dafür die zeit einen anderen teil der engine/des spieles besser zu machen.Will man eine engine von grund auf schreiben, wird sie meist nie genutzt oder nur mit ein paar armen kleinen tutorials vorgeführt, ist die engine wohl eher nichts worauf man stolz sein kann. selbst wenn man 100%ig alles selber gemacht hat.
nimmt man eine engine wie z.b. torque und macht damit ein retro-pong, kann man auch nicht stolz drauf sein.
Es geht bei der Sache also nicht darum was und wieviel man selbst macht, sondern dass man möglichst effizient arbeitet, dann kann man darauf stolz sein. Klar machen programmierer guter spiele einiges selbst, aber nicht weil man sagt "ich bin sonst nicht stolz drauf", sondern weil es sein muss.
GT4 auf der ps2 nutzt keine openGL-Emulation, sie arbeiten direkt auf hardware, sie verzichten an einigen stellen auf interrupts um am ende vielleicht eine ms pro frame einzusparen, weil sie vorher ausrechnen wie lange die verarbeitung von daten dauert und sie so manchmal ohne interrupts synchronisieren... das machen sie nicht weil sie meinen "hey, das nächste spiel werden wir mal ohne interrupts schreiben weil wir dann noch stolzer sein können falls wir es schaffen sollten".
die planung läuft eher bidirektional, natürlich legt man sich am anfang fest (gibt es einen editor der nutzbar wäre oder müssen wir einen eigenen schreiben und warten) und irgendwann im porjekt tauchen problemstellen auf, diese muss man beheben ("hey, wir kommen manchmal unter 60hz, wir brauchen mehr performance").aber mit stolz und ego die dinge anzugehen weil es die großen auch so machen, ist ein gutes indiz dafür, dass ein projekt nie etwas wird. man sollte alles so aufbauen, dass es möglichst modular ist und somit später verändert werden kann, (vielleicht muss man irgendwann die scenen selber laden statt .x-files zu nutzen).
z.b. sollte man erst einmal ein spiel schreiben, bevor man eine engine schreibt. woher soll man sonst wissen welche anforderungen eine engine stellen wird? man sollte einen editor benutzen, bevor man seinen ersten schreibt. man sollte ein bestehendes datenformat laden können, bevor man ein eigenes designt/implementiert....rapso->greets();
-
Nu bin ich aber platt...
Ja, also ich denke das da einiges wahres drin Steckt. Ich bin momentan grad dabei mir Orgre beizubringen (wenn jemand übrigens n deutsches Tutorial kennt bitt schreiben). ICh bin mit der Lösung ganz zufriden. Ich kann weiter Quellcode schreiben, aber muß nicht von Grund auf alles entwickeln.
Also vom Punkt her, das es wenig mit Stolz zutun hatt kann ich erstmal so akzeptieren. Aber ich möchte es mal so sagen: Wenn du ein Spiel entwickels, und das dann irgentwan einen Freund zeigst und sagst: "Tjaha, hab ich selbst gemacht
" Dann würd er ja denken: "Man der Typ hatt ja echt was auf dem Kasten! Programmiert einfach so sein eigenes Spiel." Bekommt er jetzt aber heraus, das du das durch drei Mausklicks auf Buttons erstellt hast, würd er ja denken: "ÄHHHH? Das ist ja schäbig! Das kann ja jeder!" Dann ist das einzige worauf du noch drauf "stolz"sein kanst, das Designe!
-
Baldung-chagi schrieb:
Wenn du ein Spiel entwickels, und das dann irgentwan einen Freund zeigst und sagst: "Tjaha, hab ich selbst gemacht
" Dann würd er ja denken: "Man der Typ hatt ja echt was auf dem Kasten! Programmiert einfach so sein eigenes Spiel." Bekommt er jetzt aber heraus, das du das durch drei Mausklicks auf Buttons erstellt hast, würd er ja denken: "ÄHHHH? Das ist ja schäbig! Das kann ja jeder!" Dann ist das einzige worauf du noch drauf "stolz"sein kanst, das Designe!wenn du einen publisher suchst, renderst du irgendwelche schäbigen bilder, machst einen screenshots und ein graphiker arbeitet daran solange bis es geiler ausschaut als das referencespiel. dann zeigst du das dem publisher und er sagt "wow, da investier ich mein geld rein"... (so macht es jeder.. ergo ist das wichtigste ein guter graphiker)
sagst du dem publisher "wir können das eigentlich garnicht, die bilder sind alle manipuliert" nimmt der publisher einen anderen hersteller unter vertrag die es nicht zugegeben haben.schaust du dir einen zaubertrick an und der zauberer sagt "jetzt versuch ich euch abzulenken indem meine halbnackte assistentin auf die bühne kommt, währenddessen klapp ich den doppelten boden in meinem hut um und ergreiff den hasen bei den löffeln" wirst du nicht beeindruckt sein vom zaubertrick.
das bedeutet für dich: machst du ein 3d pong in einem jahr, mit eigener engine, eigenem 3dsmax-exporter, wrapper für alle interfaces usw. und zeigst es einem freund und sagst ihm "dieses pong hab ich in einem jahr gemacht" kannst du noch so stolz drauf sein, er wird es lächerlich finden wie lange du für so ein blödes pong brauchst -> sag ihm nicht wie lange du gebraucht hast.
sagst du ihm, "ich hab das mit drei mausklicks in einer stunde gemacht, mal so eben in der mittagspause", wird er beeindruckter sein -> sag ihm wie lange du gebraucht hast.
-
rapso schrieb:
.. machst du ein 3d pong in einem jahr, mit eigener engine, eigenem 3dsmax-exporter, wrapper für alle interfaces usw. und zeigst es einem freund und sagst ihm "dieses pong hab ich in einem jahr gemacht" kannst du noch so stolz drauf sein, er wird es lächerlich finden wie lange du für so ein blödes pong brauchst -> sag ihm nicht wie lange du gebraucht hast.
sagst du ihm, "ich hab das mit drei mausklicks in einer stunde gemacht, mal so eben in der mittagspause", wird er beeindruckter sein -> sag ihm wie lange du gebraucht hast.Gernau so ist das.

-
btw
http://www.deck13.com/english/techcenter.html schrieb:
Why not coding your own engine anyway?
We're frequently asked why we rely on externally developed graphics engines like Gamebryo or Ogre, and it's pointed out that we should surely be able to create an engine ourselves? Right, we could! (And we did so for Stealth Combat where our JARED engine was used.) However, it's often forgotten how much work it is to keep a self-developed engine up do date. Practically speaking you need two teams for your games: a tech team that is busy maintaining the self-coded engine (don't forget that you have to care for all the new graphics cards, operating systems, and faster computers - all these must be supported and thoroughly tested with the engine!), and another team that creates the actual content for the game.
As we consider ourselves being a games company instead of a technology developer, we'll leave all that work to the people that have the best know-how in engine development, while we have the resources to create the game itself, and wrap the necessary framework (that's PINA) around it.
-
rapso schrieb:
...
GT4 auf der ps2 nutzt keine openGL-Emulation, sie arbeiten direkt auf hardware, sie verzichten an einigen stellen auf interrupts um am ende vielleicht eine ms pro frame einzusparen, weil sie vorher ausrechnen wie lange die verarbeitung von daten dauert und sie so manchmal ohne interrupts synchronisieren...Woher hast du die Information? Scheint mir doch sehr übertrieben..
-
Baldung-chagi schrieb:
nun ich hab mal ein wenig bei Google geschaut und festgestellt, das andauernd angepriesen wird adventures mit tools wie AGS oder Visionaire zu entwickeln.
Das hat mich etwas gewundert, denn um ehrlich zu sein denke ich das jemand der am ende stolz auf sein projekt sein will und 100%tig behauten möchte "hab ich selber gemacht" doch von Grund auf selber Programmiert oder?
Nun ich wüste gerne mal was ihr dazu denkt. Ist es nicht ein wenig "billig" mit z.B. AGS zu entwickeln, oder genau richtig (von wegen "das-rat-neu-erfinden").
Auf jeden Fall!! Alles n00bs! Auch Leute die 3D Studio Max oder Blender zum Modeln ihrer Modelle benutzen --- HA! Da kann ich nur drüber lachen!!111eins Alles n00bs!
ECHTE MÄNNER C0D0RN SOWAS SELBER!!DirectSound benutzen?!?! PAAAAH! Nimmt einem doch viel zu viel ab!! Code Deine eigenen Treiber sag ich!
LJ_1102 schrieb:
Ich denke genauso wie du Baldung-Chagi
Ich habe das Gefühl das solche Tools die n00b Generation nur stärken, also die Generation von Leuten die sich mal eben ein Tool nehmen und die ganzen fertigen Funktionen nehmen und dann behaubten sie hätten "Ihr eigenes über pwnage game" selber geproggt und sich damit den Ruhm einhalsen den die Leute die richtig Programmiert haben verdient hätten.Das sagen die Leute die für Super Nintendo in Assembler "geproggt" haben und ihren Code nachher auf ein EPROM gebrannt haben sicher auch über Leute wie DICH, die sich schon auf so High-Level-Terrain wie C++ verlassen können, das einem "alles abnimmt".
Das "Entwickeln" geht halt vom (Low-Level-)Programmieren selber immer weiter weg. Während früher die Komplexität in wüstem Assembler-Code lag, liegt heute die Komplexität in verschiedensten Klassen, Modulen, etc. und deren Zusammenspiel untereinander.
Klar nimmt einem havok2 oder meqon oder ODE einiges an Arbeit ab. Trotzdem muß das Ding erstmal integriert werden. Kannst Dir ja mal ODE ziehen und schauen wie schnell Du damit klar kommst...

Und danach kannst Du versuchen, so eine Physik-Engine selber zu "proggen"... Happy Coding!Und dann hast Du immer noch keine streamende Terrain-Engine, Dynamischen Wetterwechsel, Multiplayer, und und und...
Baldung-chagi schrieb:
Eben. Aber wie solte man den nun anfangen wenn man ein Adventure programmieren möchte? Ich nehem mal an des es wohl kaum ein Tutorial für Adventures in c gibt. Und wohl auch keine sdk von lukas arts oder? :p
Du würdest Dich auf das n00b-Niwoh hinablassen, daß Du einfach ein SDK von LucasArts nutzen würdest...?!?!?

Also für Textadventures gibt's von LaMothe was.

Jester schrieb:
Und auch die Engine-Leute kaufen sich teilweise die Physik von außerhalb. Soundsysteme gibt es glaub ich auch schon von extern.
Was heißt denn "auch"?! Das war doch so ziemlich das erste, was MiddleWare-mäßig im Pro-Bereich so kam...

Das weltberühmte "Miles Sound System" gab's schon für DOS-Spiele, wird auch heute in Windows-Games immer noch benutzt.
Oder vom selben Hersteller das "Bink Video" System...Was modernes an MiddleWare ist z.B. SpeedTree. Wird z.B. in Oblivion (AFAIK) genutzt.
EDIT: Ooops. 4 Seiten hat der Thread schon...?!

-
Sgt. Nukem schrieb:
Was heißt denn "auch"?! Das war doch so ziemlich das erste, was MiddleWare-mäßig im Pro-Bereich so kam...

Jo, da glaubte ich mich auch dran zu erinnern. Ich war mir nur nicht ganz sicher.
-
omfg, ich hab ja nicht gesagt das man alles in ASM proggen soll (wenn dir das wort nicht gefällt ist mir das ziemlich scheiss egal) aber es geht um die Leute die sagen sie hätten ein spiel Programmiert, obwohl sie es mit ein paar klicks zusammengebaut habe. Du übertreibst mal wieder maßlos und merkst es nicht.
Egal, ich denke das der ein oder andere schon verstanden hat wie ich das gemeint habe.