2D Spiel in Delphi?

kdfssl

Grünschnabel
Hi,
Ich habe folgende s Problem:
Als Projektarbeit in Delphi wollte ich mal ein Spiel entwickeln. Ich dachte da so an eine art adventure-game jedoch wirklich sehr sehr vereinfacht. Der Spieler sollte in der Schule rumgehen und kleine Aufgaben erledigen zb. die Aufgabe eines Infolehrers (das soll sone figur im spiel sein) :"Vervollständige den quellcode!" oder der eines Geschichtslehrers:"Was war am xx.xx.xxxx?" oder so ähnlich und wenn man die aufgabe gelöst hat wird man zum nächsten lehrer geschickt usw. optisch ansprechend soll es nicht wirklich sein man soll den spieler, der auch ein punkt sein kann, "einfach" durch die Schule steuern um zum nächsten ort zu gelangen wo die nächste aufgabe ist usw.

Ich habe reine Schulerfahrung in der Delphi-programmierung müsste mir also viel anlesen, was ja auch kein Problem ist.

Nun meine eigentliche Frage: Ist es möglich solch ein Spiel mit Delphi ( ich hab 4) zu programmieren? also mit der Sprache Basic bzw Pascal was halt Delphi 4 benutzt. Und wenn ja wie fängt man am besten bei solch einem Problem an wenn die "Story" stimmt?
Falls es nicht zu schwer ist, evtl. auch Mario mäßig. Nur nicht von der seitlichen perspektive sondern von Oben.

würde mich über eine Antwort freuen, thx
 
Ist es möglich solch ein Spiel mit Delphi ( ich hab 4) zu programmieren?
Ja, absolut.

Und wenn ja wie fängt man am besten bei solch einem Problem an wenn die "Story" stimmt?
Hrrrmn... wie "man" das macht, weiß ich nicht, aber ich kann dir sagen, wie ich vorgehen würde:

Punkt 1:
Der Spieler soll ja Aufgaben lösen.
Wie kann er diese Lösungen dem Programm mitteilen?
Per einfacher Texteingabe?
Oder bekommt er eine Auswahl von mehreren Möglichkeiten und soll die richtige auswählen?
Per Klickbaukasten (á la "Maniac Mansion", "Zak McKracken")?
Ich würde mir also primär mal Gedanken darum machen, wie der Spieler mit dem Spiel kommunizieren kann und wie die Spielfigur generell zu steuern wäre (Maus? Tastatur?)

Punk 2:
Irgendwie muß der Grundrißplan der Schule im Computer abgebildet werden. Das wäre der nächste, richtig große Punkt, den ich angehen würde.

Punkt 3:
Dann würde ich versuchen, ein oder zwei Räume einfach nur mal darzustellen. Alleine der Part dürfte schon etwas Arbeit erforden. Wenn die beiden Testräume stehen, dann würde ich die Spielfigur anfangen zu implementieren und dann langsam mal von einem Raum in den anderen und zurück rennen.

Punkt 4:
Wenn das klappt, dann wird die erste Figur neben dem Spieler eingebaut. Und wenn es nur irgendeine Dummyfigur ist, die nur sagen kann "Times are tough.",

Punkt 5:
Der Tat ("Times are tough")-Typ wird dahingehend erweitert, daß der Spieler mit ihm interagieren/reden kann.

Punkt 6:
Wenn all diese Grundlagen stehen, dann würde ich mich langsam daran machen, die echten Inhalte zu implementieren, also den Grundrißplan der Schule, die Lehrer, der ihre Rätselfragen etc.pp.

Mal so als grobe Richtlinie.
 
WoW Danke erstmal für die Super schnelle Antwort!
Der Plan ist richtig gut als vorgehensweise, nur wie würde man den Raum in Delphi zeichnen und feststellen, dass der Spieler an einer Wand angekommen ist usw.? Ich hab da was von Programmen wie DelphiX und Andorra2 gehört.
Sollte man solche dinge verwenden? bzw. braucht man das überhaupt?
Ich kann mir leider überhaupt nicht vorstellen mit welchem Objekten man das realisieren könnte.
 
Also von Andorra habe ich gehört, aber verwendet habe ich solche Framework bis dato noch nicht.

Bei einem Adventure ist es (theoretisch) relativ einfach, eine Map aufzubauen.
Du definierst dir verschiedene Zeichen und "übersetzt" sie in deinem Programm.
Beispielsweise:
Code:
var
  strlMap: TStringList;
...
strlMap := TStringList.Create;
strlMap.Add('a-----e-----b');
strlMap.Add('|           |');
strlMap.Add('|           |');
strlMap.Add('c-----------d');
Dabei bedeutet:
a: Ecke links oben
b: Ecke rechts oben
c: Ecke links unten
d: Ecke rechts unten
e: Tür horizontal
-: Wand horizontal
|: Wand vertikal

Entsprechend werden für jedes Zeichen dann entsprechende Bildchen gezeichnet.
Wenn du danach die Spielfigur bewegst, dann bewege sie (bei einem simplen Programm) nicht direkt über den Bildschirm sondern über die Map, die du im Speicher hast:
Position 6,0 (x,y): Das ist die Tür zum Raum
Position 5,0: Die Wand links von der Tür

Wenn die Figur also auf 6,0 steht und der Spieler die Figur nach links bewegen will, dann weisst du: "Da is' 'ne Wand, dat wird wohl nix" und kannst im Programm entsprechend drauf reagieren.
 
weitere möglichkeit wäre, ein Image als Spieler darzustellen und dann wände mit Shapes darzustellen. Den Weg zeigt dann das Formular (HIntergrundfarbe), unbegehbarer Bereich ist dann der Shape. Sieht billig aus, ist aber einfach zu realisieren.
 
Zurück