2D Adventure like Monkey Island



  • hallo zusammen!

    Ich habe vor, ein 2D Adventure-Spiele Click'n Point like Monkey Island zu programmieren. C++ programmiere ich nun seit 2 Jahren in einer Firma mit der Microsoft Visual C++ IDE. Hab Erfahrung im Datenbankbereich, Internetprogrammierung etc. Nur im Bereich Grafik hab ich nie was programmiert.

    Nun komm ich zu meinen eigentlichen Fragen:

    - Mit was läßt sich so eine Art von Spiel am Besten? (oder am Leichtesten) verwirklichen ? - DirectX --> DirectDraw ???

    - Hat vielleicht jemand schon Erfahrung im Programmieren von solchen Spielen, für hilfreiche Tipps wär ich immer dankbar --> vor allem Tutorials oder Lernquellenangaben wie Bücher usw.

    Jo, also wenn jemand in der Art schon so etwas gemacht hat, wäre ich dankbar für Lernquellenangaben wie z.B. Bücher oder Internettutorials.

    Danke erstmal für die Tipps 😉

    Euer Thorsten



  • Ich programmiere auch gerade (schon seit fast einem Jahr 😃 ) ein Adventure mit dem sagenhaften Titel "Codename: Stinkon" 😃
    Ich entwickle dazu eine komplette Adventure-Engine - die ich übrigens 'NOREIA-Engine' nenne. (Nice OpenGL Rendered Interactive Adventure Engine 😃 😃 😃 )
    Wie der Name schon sagt, ist die Grafik über OpenGL realisiert. Die Engine verfügt über eine primitive aber brauchbare eigene Script-Sprache, mit der die Szenerien gesteuert werden. So kann man über Scripts verschiedene Dinge abfragen wie z.B:
    Wo befindet sich die Spielfigur ? Welche Gegenstände hat der Spieler im Inventory ? und und und...
    Treffen solche Bedingungen ein - In meiner Engine nenne ich sie "Trigger" (Auslöser)
    dann kann man über so genannte Scriptcommands jede Funktion der Engine ansprechen z.B
    Spieler bewegen, Inventory aufnehmen, Szene wechseln, Sound abspielen usw
    Diese Scripts sind für Adventures enorm wichtig, weil sie die ganze Interaktivität des Spiels steuern.
    Zur Engine/zum Adventure gehören bei mir noch folgende Dinge:
    - Scene-Editor (Wichtig - Zum erstellen der Szenerien)
    - Animation-Editor (Damit lassen sich gif-Ähnliche Animationen fürs Spiel basteln)
    - Scripting-Tool (Zum erstellen der Scene-Scripts /fast/ per Drag & Drop)
    - Script-Compiler (Eigentlich kein Compiler in dem Sinne - Aber er verschlüsselt die Scripts damit der Spieler nicht alles umbauen kann 🙂 )
    Bei der Entwicklung hab ich es mir wirklich etwas leicht gemacht 😃 Ich verwende einen MFC Dialog, wodurch das Spiel immer als Fenster läuft. Durch die MFC Klassen hab ich schon vieles was ich bei WinAPI neucoden müsste, fertig. Eigentlich ist das ganze eher ein Chaos-Projekt. Ist habe keine besonderen Planungen vorgenommen. Daher hab ich auch keine Tutorials oder sonstwas benutzt, sondern einfach selber drauf losprogrammiert. (Dabei hab ich aber jedenfalls eine ganze Menge gelernt *g*). Ich bin mir auch nicht so sicher ob es deutsche Tutorials zu solchen Spielen gibt.
    Besondere Tips kann ich dir eigentlich nur einen geben:
    Nie Aufgeben wenn du mal nich weiterkommst 🙂

    Nähere Infos zu Story, Technik usw findest du auf der offiziellen Homepage meines Spiels: http://www.codename-stinkon.de.vu
    Kannst es dir ja mal anschauen.



  • IMHO würde ich dir DirectDraw empfehlen. Es ist leicht zu erlernen und zu benutzen ausserdem kennt sich fast jeder mit DD aus. Links zu Tutorials findest du in der FAQ.



  • erstmal musst du entscheiden obs 2d oder 3d sein soll
    wenn 2d->directdraw
    3d->direct3d oder opengl

    directinput brauchst du nicht unbedingt
    direct music und directsound dagegen schon

    abgesehn davon würd ich dir raten zunächst nen leveleditor zu schreiben damit die entwicklung besser von der hand geht
    denk dir am besten ne übersichtliche strucktur aus mit der du den überblick über die beziehungen zwischen den einzelnen rätseln behältst

    gruss sov





  • @sovok und thorsten fink

    directinput sollte man auf jeden fall verwenden und auf gar keinen fall die windows msges für maus und tastatur, da diese nicht "unabhängig" die hardware abbilden, sondern nur einen relativ einfachen zugriff auf die maus/tastatur von der "windowsoberfläche" zur verfügung stellen. directinput dagegen gibt dir nur die daten, die direkt von der hardware kommen. wenn du die winapi benutzt, dann hast du die mausbeschleunigung von windows immer mit in deinem programm eingebaut, was sich besonders unter xp bemerktbar macht (ist in counter strike/half-life besonders gut zu sehen), da unter xp keine lineare beschleunigung verwendet wird, wie z.b. unter 2000. ich kann directinput nur empfehlen, vorallem weil es so leicht zu benutzen ist. ich habe nicht mal einen tag gebraucht um es in mein programm zu implementieren, zumindest die einfachen sachen, wie mauskoordinaten abfragen. im prinzip reicht auch schon (um es ganz einfach zu halten) ein copy und paste aus den sdk-beispielen.



  • ja er kanns benutzen... muss aber nich
    bei nem 2d adventure werden relativ wenige eingaben von der maus benötigt

    da machts glaub kaum einen sichtbaren unterschied ob dinput oder msgs



  • HIer musst du unbedingt mal vorbei sehen ist ein sehhhhhhhhhhhhhhhr gute Seite
    für game coder 😃 ! www.stefanzerbst.de
    falls du genug geld hast kannst dir auch dir Bücher da holen die sind echt gut für game coder 😃 !



  • Ich finde "Zerbst" sollte auch automatisch zensiert werden, genauso wie früher Standard mit t am Ende uä. 😉


Anmelden zum Antworten