Pixel-Adventure (im MI-Style)

Der Anlaufpunkt für alle, die selbst ein Adventure programmieren wollen.
MooMurray
Tastatursteuerer
Tastatursteuerer
Beiträge: 595
Registriert: 26.10.2004, 23:59
Wohnort: Alfter

Beitrag von MooMurray »

Man sollte eigentlich einen Musterthread nehmen, auf den man kommentarlos verweist ^^
Sagen wir es einfach so: Wenn man nichts mehr lernen muss und nur produktiv arbeitet, braucht man sicher viele tausend Mannstunden. Ohne irgendetwas richtig gut zu können sollte man eigentlich erstmal alles vergessen und lieber mal irgendetwas wirklich gut lernen. Egal ob es nun ums Zeichnen/Animieren, ums Schreiben, Musizieren oder programmieren geht - wenn man von einem Nachfolger spricht, wird das ein alleine nicht zu schutlerndes Projekt, egal wie gut man ist.
Außerdem ist es sinnlos, als Projektmanager anzufangen. Wenn man irgendetwas schon recht gut kann, kann man sich erstmal woanders einbringen und da richtig gut werden. Dann hat man erstmal Erfahrung, um etwas Richtiges selber zu starten und kann auch abschätzen, was gehen wird und was nicht und wen man dafür braucht...
Benutzeravatar
Furymars
Süßwasserpirat
Süßwasserpirat
Beiträge: 485
Registriert: 13.06.2006, 20:45
Wohnort: Adventure Treff

Beitrag von Furymars »

smash hat geschrieben: Ich kenne auch Leute, die "einfach mal so" ein eigenes Browsergame schreiben wollten und überhaupt gar nicht wussten wo sie anfangen sollten, da sie in ihrem ganzen Leben noch keine einzige Zeile programmiert haben. Sie würden wohl schon gnadenlos an einem "Hello World" scheitern...
Da stimm ich dir zu CH4OS, genau dasselbe ist mir wiederfahren als ich ein Textadventure programmieren wollte. :wink:
Ich dachte so:" Geht ja ganz einfach". Jedoch stellte sich schnell heraus das ich netmal wusste was TAG und TAM bedeutete. :roll:

Also man sollte lieber das Programm verwenden, mit dem man schon vertraut ist.
Angekündigte Spiele:
MMM : "Nicht ohne meinen Hamster!"
smash
Frischling
Frischling
Beiträge: 5
Registriert: 20.07.2007, 02:05

Beitrag von smash »

So, vorerst zum letzen mal:

Ich weiss das es ein ziemlich großes Projekt ist, ABER ich werde (sobald SDL sitzt) eine miniengine schreiben mit Grundfunktionen um ein Kleines Testlevel/Testraum zu machen.

Ich denke, dass wir erst in 2 - 4 Wochen weitersprechen sollten, da ich schätze, dass ich bis dann SDL mehr oder weniger aufe'm Kasten habe und alles besser einschätzen kann.


mfg
Benutzeravatar
DieFüchsin
Adventure-Gott
Adventure-Gott
Beiträge: 4406
Registriert: 12.03.2004, 16:55

Beitrag von DieFüchsin »

Ich wünsch dir viel Erfolg dabei :)
Danke, Adventuretreff! <3
Wolfgke
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 164
Registriert: 06.04.2005, 15:04

Beitrag von Wolfgke »

CH4OS schrieb:
Die Grafiken dürften so gesehen im Gegensatz zu Engine und Spielprogrammierung (ohne Editor) ein Klacks sein! ... Bei der Engine muss aber wirklich alles stimmen, damit es überhaupt spielbar wird.
Hier stimme ich dir nicht zu. Bei einem adventureähnlichen Projekt, an welchem ich im Moment arbeite (nein, das ist *keine* Ankündigung - alles noch viel zu früh) ist das Engine entwickeln für mich nur eine Art "Ingenieurtätigkeit". Will heißen: durchaus eine gewisse Menge an Arbeit, wo man jedoch immer exakt weiß, was der nächste Schritt sein wird. Diesen muss man dann nur noch durchführen.

Ich *könnte* sogar in diesem Forum eine exakte Anleitung vom Typ "Wie man sich seine eigene Adventure-Engine in 3-6 Monaten von Grund auf programmieren kann" schreiben (inklusive Quellcode und was eben dazu gehört). Dies werde ich lediglich aus Zeitgründen nicht tun (aber ich *könnte* es!). Zwar würde das Ergebnis dann nicht viel besser sein als das, was man sowieso schon an fertigen Engines bekommt, aber das soll nicht zur Debatte stehen.

Desweiteren: Für 90% der Fanprojekte wird es wenig bringen, sich diese Arbeit zu machen, für die restlichen 10% aber möglicherweise schon (BTW: ich finde kaum etwas ärgerlicher, als wenn man plötzlich bei der Arbeit mit einer fertigen Engine, kurz bevor man fast fertig ist, merkt, dass etwas, was man sich sehnlichst wünschte, unmöglich ist).

Woran liegt das: ganz einfach. Wenn man wie ich Mathematik und Informatik studiert, ist man exakt diese Aufgaben gewohnt zu erledigen und desweiteren habe ich im großen und ganzen Kenntnisse, welche zumindest für die Dinge, die ich vorhabe in die Engine einzubinden, ausreichen (und den Rest kann ich sehr schnell lernen).

Jede Grafik, welche ich erstellen will (und sie sollten ebenso wie der Code ein bestimmtes für mich annehmbares Qalitätslevel haben), ist jedoch eine Qual. Warum: solche Arbeit bin ich *nicht* gewohnt. Mit der Folge: das Grafikerstellen verlangt *viiieeel* Zeit. Und die Ergebnisse sehen trotzdem nur mittelmäßig aus.

Was ich mit all dem sagen will: ob man etwas machen kann oder nicht, kann man am besten selbst einschätzen. Und sonst niemand.



@smash

Mein Tipp an dich: wenn du SDL verwenden willst, setze doch bitte gleich das OpenGL-Binding von SDL ein und verwende die OpenGL-Funktionen anstelle der von SDL. Gerade wenn die zu zeichnenden Dinge etwas aufwändiger werden, wirst du mir für diesen Tipp unendlich dankbar sein (denn so wirst du auch die Hardware-Beschleunigung ausnutzen können, welche bei aktuellen Grafikkarten immens ist, während SDL schon bei "etwas komplexeren" Szenen ruckelt (gerade bei älteren Rechnern)).

Ich will gar nicht abstreiten, dass OpenGL eine ganz eigene Klasse an potentiellen Problemen mit sich bringt, aber es ist den Aufwand dennoch wert.

Hier gibt es ein Tutorial dazu: http://www.resourcecode.de/index.php?section=12 (ab Tutorial #8).
Benutzeravatar
john_doe
Logik-Lord
Logik-Lord
Beiträge: 1302
Registriert: 06.05.2001, 20:58

Beitrag von john_doe »

Und wenn die Grafikkarte keine HW-Unterstützung für OpenGL hat, dann gute Nacht (mit 2-3 fps).
Save the Cheerleader, save the World!
Benutzeravatar
-BigDaniel-
Süßwasserpirat
Süßwasserpirat
Beiträge: 304
Registriert: 18.09.2003, 15:19
Kontaktdaten:

Beitrag von -BigDaniel- »

hmmm also derjenige der soclh eine Karte besitzt in seinem hauptrechner dessen letztes Game war Monkey Idsland 1 oder 2 :D
Projekte:
Galaxia Quest 100%
CABIN TROUBLE 100%
Wolfgke
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 164
Registriert: 06.04.2005, 15:04

Beitrag von Wolfgke »

1. Jede Grafikarte, die jünger als ca. 8 Jahre ist, kann OpenGL nahezu garantiert (natürlich nicht so High-Tech-Features wie Shader & Co, aber wir benutzen ja im großen und ganzen nur ganz wenige Features - wir wollen ja nur ein paar als Texturen abgespeicherte Pixelgrafiken auf den Bildschirm bringen, ohne uns Gedanken über Ruckeln machen zu müssen und nicht mehr - da sollte dürfte eine solche es sogar tun).

2. Bei Rechnern die älter als die oben genannten 8 Jahre sind, ist das Rendern mit SDL derart ruckelig (zumindest, wenn man sich nicht *einige* Gedanken zum Thema Optimierungen macht - selber bei einem simplen selbst zusammengehackten Arcade-Spiel gemerkt), dass man sich das besser nicht antut.

Fazit: das sollte *kein* Problem sein.
Benutzeravatar
john_doe
Logik-Lord
Logik-Lord
Beiträge: 1302
Registriert: 06.05.2001, 20:58

Beitrag von john_doe »

Ich meine ja nur, man sollte gerade bei Hobbyprojekten versuchen, das Spiel auf so vielen Systemen wie möglich lauffähig zu haben.
Und was bringt einem OpenGL bei 2D? Außer beschleunigtem Alphablending eigentlich nichts.
Save the Cheerleader, save the World!
Benutzeravatar
CH4OS
Hobby-Archäologe
Hobby-Archäologe
Beiträge: 112
Registriert: 21.06.2007, 17:36
Wohnort: Pforzheim

Beitrag von CH4OS »

Wolfgke hat geschrieben:CH4OS schrieb:
[...]
Hier stimme ich dir nicht zu.

[...]

Jede Grafik, welche ich erstellen will (und sie sollten ebenso wie der Code ein bestimmtes für mich annehmbares Qalitätslevel haben), ist jedoch eine Qual. Warum: solche Arbeit bin ich *nicht* gewohnt. Mit der Folge: das Grafikerstellen verlangt *viiieeel* Zeit. Und die Ergebnisse sehen trotzdem nur mittelmäßig aus.
Genau deshalb habe ich grafikmäßig auch ganz bewusst den Stil von South Park genannt. Das ist sooo simpel gehalten, dass es wirklich nahezu jeder hinbekommen müsste und es wirkt trotzdem!

Und bei der Engine sehe ich das Problem, dass viele (nicht alle) es sich viel zu einfach vorstellen und von daher irgendwann scheitern, d.h. das Game niemals mit eigener Engine lauffähig werden wird.
Benutzt man jedoch eine der fertigen Engines (Editoren), dann würde man zumindest _mindestens_ auf South Park Grafikebene etwas spielbares schaffen können. Im Hobbybereich und gerade bei Adventures kann man die Grafik ja vielleicht etwas eher vernachlässigen, denn die Story zählt viel mehr (finde ich).

Deshalb bleibe ich weiterhin der Meinung, dass Grafiken erstellen zwar natürlich nicht sooo einfach ist (vorallem nicht auf hohem Niveau), aber jeder dazu im Stande sein sollte etwas einigermaßen "erträgliches" auf die Beine zu stellen.
Eine eigene Engine zu schreiben, dürfte dahingegen nicht jeder schaffen. Selbst mit deiner Anleitung würde es dann ja fast ein halbes Jahr dauern, die ich auch nicht jedem zutraue durchzuhalten. Und würdest du den kompletten Sourcecode für eine "eigene" Engine herrausrücken, dann würde es zwar schneller gehen, man könnte aber auch genauso gut gerade einen der fertigen Editoren benutzen.

Fazit:
Grafiken im erträglichen Bereich sollte jeder schaffen.
Eigene Engine programmieren die wenigsten...

Das wollte ich damit eigentlich nur sagen.

Liebe Grüße,
CH4OS
Benutzeravatar
KhrisMUC
Adventure-Gott
Adventure-Gott
Beiträge: 4674
Registriert: 14.03.2005, 00:55
Wohnort: München

Beitrag von KhrisMUC »

Dat Dingen is natürlich, dass man eine Engine auch schreiben kann, um sich Programmieren beizubringen oder seine Kenntnisse aufzubessern.

Mein "Traum" ist es, mal ein RPG à la Chrono Trigger zu machen; doch dafür würde ich auch AGS nehmen und die RPG-Mechaniken selbst coden, anstatt auf RPGMaker o.Ä. zurück zu greifen.

Kommt halt letztendlich wirklich nur darauf an, ob man ein Spiel machen oder nur aus Spass coden will.
Use gopher repellent on funny little man
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

@KhrisMUC

Glaub mir,in der Zeit,in der du RPG Mechaniken in AGS integriert hast,könntest du auch gut eine eigene kleine RPG Engine schreiben. Muss nichtmal mit C/C++ sein,die neuen BasicVarianten reichen für sowas locker.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

wie kommst du drauf?

ein paar structs in ags einzufügen, die sich um die rpg-werte kümmert kannst du doch nicht mit einer eigenen rpg engine vergleichen,, nicht mal wenn sie nur ganz klein ist.
im endeffekt müsstest du mind 90% der sachen coden (spritemanagement, inventory, filehandling, textausgabe, sounds,....) die in ags schon implemtiert sind, deswegen kann ich deinen kommentar absolut nicht nachvollziehen.
BLINX123
Tastatursteuerer
Tastatursteuerer
Beiträge: 675
Registriert: 11.09.2005, 15:47

Beitrag von BLINX123 »

Programmiere mal mit einer Basic Version deiner Wahl eine RPG Engine,dann verstehst dus:)

Es ist manchmal weitaus komplexer eine Engine zu modifizieren als selbst eine zu coden. Du müsstest im Falle eines Chronotrigger typischen RPGs zuerst einmal eine Tastatursteuerungsroutine schreiben (Ok,das ist noch ziemlich leicht,zumindest mit Zusatzlibrarys). Danach müsstest du dann ein rundenbasiertes Kampfsystem schreiben,da wirds schon schwerer und letztlich musst du während des ganzen Prozesses viel mehr auf einen sauberen Code achten,als bei einer selbstgeschriebenen Engine,also alles in Allem kann es auch komplex ausarten,zumal man ja nichtmal den AGS SourceCode verändern kann (ist ja ClosedSource soweit ich weiss) und so nur die unflexiblere Möglichkeit über Scripting bleibt.
Benutzeravatar
Rocco
Adventure-Treff
Adventure-Treff
Beiträge: 1019
Registriert: 25.11.2003, 16:20
Wohnort: Ronville
Kontaktdaten:

Beitrag von Rocco »

also ich würde mit dir um einiges wetten, dass du mit einer guten bestehenden engine um einiges schneller und proffesionellere games erstellen kannst, als mit einer selbstgeschriebenen basic engine bei der es nicht so auf sauberen code ankommt. :wink:

rundenbasiertes kampfsystem - > http://new.bigbluecup.com/yabb/index.php?topic=25282.0
Antworten