| Autor |
Beitrag |
Yooda
      
Beiträge: 68
|
Verfasst: Do 15.01.04 20:56
Hallo!
Ich habe mal ein paar Fragen
Wie muss ich vorgehen wenn ich ein Spiel wie Indiana Jo*** and the Fate of Atlan*** im kleineren Format programmieren möchte?
Was brauche ich dafür?
Wie gehe ich vor?
Vielleicht könnt Ihr mir ja helfen.
Viele Grüsse
David
|
|
ShadowThief
      
Beiträge: 278
|
Verfasst: Fr 16.01.04 09:36
du suchst dir eine 2d-api raus. z. B. die GDI, die bei windows dabei
ist. du kannst aber auch direct3d verwenden, damit kann man auch
2d-programme schreiben, ist aber meiner meinung nach etwas
kompliziert. ich würd mit der GDI anfangen.
dann schreibst du dir ein paar klassen (TLocation, TCharacter, TItem,
TInventar, TDialog .... )
naja, da gibts so viel zu sagen ... du brauchst ein gutes objektmodell
und ahnung von 2d-programmierung. ich bin da auch kein crack,
aber fragen stellen kannste ja.
shadow.
_________________ "soylent grün ist menschenfleisch!"
|
|
Raphael O.
      
Beiträge: 1596
VS 2013
|
Verfasst: Fr 16.01.04 16:23
alternativ kansnt du aber auch OpenGL benutzen... 
|
|
Yooda 
      
Beiträge: 68
|
Verfasst: Fr 16.01.04 19:12
Leider verstehe ich nichts von OpenGl. Ich habe mir mal vorgenommen
irgendwann die Tuts durchzuarbeiten... Aber bis es soweit ist lerne ich glaube ich mal erst die "erweiterten" Grundlagen der Delphi Programmierung. Es ist doch schon ein Unterschied ob man Delphi programmiert oder Php-Scripte schreibt. (Beispiel Arrays)
Aber danke ersteinmal.. Wenn es soweit ist, dann werde ich mich mal
da ransetzen.
|
|
umpani
      
Beiträge: 389
|
Verfasst: So 18.01.04 12:14
Möchtest Du das ganze denn nur Programmieren, oder auch zeichnen. Wenn nur ersteres dann hast Du ein Problem.
Ich habe das ganze versucht, und auch ein ganz gutest Programmkonstrulkt erstellt. Aber ich habe niemanden gefunden, der zeichnen konnte /wollte.
Also wenn Du das ganz anfängst, dann mache Dir Gedanken über die Grafische Umsetzung.
Ich bin übrigens jederzeit bereit, Dir tipps fürs Programm selber zu geben.
Bini selbst So weit gekommen, daß ich eine Figur in verschiedenen Ebenen des Bildschirms umherlaufen lassen konnte. SIe konnte auch schon sprechen, nehmen etc. Nur mit der Grafik hat es gehapert.
Gruß Umpani
_________________ Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
|
|
Phobeus
      
Beiträge: 1280
Linux (FC6), WinXP Pro (Box)
D6 Pers, D7 Pro, FPC 2.x
|
Verfasst: So 18.01.04 21:39
Technisch ist sowas eigentlich leichter zu realisieren als so manch anderes Game. Auch wenn ich darauf hinweise, dass die meisten dieser Versuch doch im Boden versinken. Als Anschauungstipp empfehle ich mal Monkey Island 3 bei dem man beim nachladen einer Szene die CD aus dem Laufwerk reißt  Mit etwas gutem Timing bekommt man dann nämlich gut zu sehen, wie das realisiert wurde.
Ein Hintergrundbild wird gezeichnet, und auf der Karte werden dann einfach Objekte plaziert (in dem Fall 3D) mit denen dann interagiert werden kann. Der Spieler bewegt sich im Idealfall auf zuvor festgelegten Pfaden. Ich tippe bei MI3 sogar darauf, dass die eine einfache Bool-Map genommen haben und und damit festgelegt haben wo man hin darf und wo nicht. Gerade das man nicht dicht an die Häuser kann ist ein gutes Indiz dafür.
Alles was Du also machen müßtest, wäre ein Hintergrundbild zu setzen und Dir eine Objekt-Klasse schreiben, die dann die Interaktion mit dem Spieler durchführt und dann eben die Position und den Mauszeig vergleicht (bei 2D leicht, bei 3D komplexer). Ich denke das genre gehört zu jenen bei denen man mit ein wenig rumbasteln schnell was vernünftiges erreichen kann und nicht soviele "gedankenfehler" hat wie z.b. bei einem 3D-Shooter (wo der einfachste Weg meistens der allerschlechteste ist!). Für 3D eindeutig OpenGL (*sg*) für 2D würde ich Dir SDL ans Herz legen und ich wuerde auch erstmal mit 2D anfangen, da es auch für die Realisierung einfacher ist (zeichnen können mehr als rendern)
_________________ "Menschen sterben nicht wenn man sie zu Grabe trägt, sondern wenn sie ihre Träume verlieren..."
|
|
maximus
      
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Mo 19.01.04 10:48
@Phobeus: *agree*
Allerdings würde ich statt eine bool-map eine Z-map (tiefen informationen) nehmen, womit du den 3D effekt leicht faken kannst. zB. kannst du dann den z-pixel an der position des spielers lesen und anhand dieses wertes deine figur skalieren...dh. läuft die figur nach hinter wird sie auch kleiner. Dann kannst du für objekte auch sehen auf welchem z-wert sie stehen und endscheiden ob sie vor, oder hinter dem spieler gezeichnet werden.
Die meisten 3D-renderer können tiefen-maps mit rendern.
mfg.
maxinni.
_________________ mfg.
mâximôv
|
|
umpani
      
Beiträge: 389
|
Verfasst: Mo 19.01.04 11:48
ALso bei der MI-Serie ist es anhand von Boxen gelöst worden.
EIne Person kann sich innerhalb dieser Bewegungsboxen (nicht umbeding rechteckig) bewegen. Jede dieser Boxen hat zudem Infos über die Verkleinerung der Figur etc. gespeichert.,
Gruß Umpani
_________________ Lernen, ohne zu denken, ist eitel; denken, ohne zu lernen, ist gefährlich. Konfuzius
|
|
G-man
      
Beiträge: 258
Win 2000, Win ME, SuSE 8.2
D5 Standard, D6 Professional
|
Verfasst: Di 20.01.04 15:39
Such mal bei google (Suchbegriff: mario.exe), da ist auf einer Seite der Quellcode (in PASCAL) von dem berühmten Spiel zu haben.
Allerdings braucht man, um den Code zu verstehem ein bisschen Kentnisse in ASSEMBLER, da die Gafikhardware nicht so angesprochen wird, wie in moderneren Spielen, sonder meißt direkt die CPU, auch wenn der Grafikmodus läuft.
_________________ ...To err is human, but to really foul things up requires a computer.
|
|
Yooda 
      
Beiträge: 68
|
Verfasst: Di 20.01.04 19:59
Titel: Danke !
Ich finde es genial wie Ihr zu diesem Beitrag antwortet.
Vielen Dank schonmal.
Ich weiss nur im moment nicht, wie ich am besten anfangen soll.
Und selbst wenn ich angefangen habe, weiss ich wohl nicht, wie ich weitermachen soll. ich habe es mir wohl zu einfach vorgestellt.
Hier meine "damalige" idee: (Bitte nicht lachen)
Ich ziege auf die Form eine Image. Dort drauf liegen dann zum Beispiel
Felder auf die ich klicken kann.
Dann wird halt ausgelesen an welche stelle gerade geklickt wurde.
mit werten aus einer tabelle ausgelesen und eine bestimmte Aktion durchgeführt werden.
Nunja, aber da habe ich mich wohl verdammt getäuscht.
Ausserdem kommen da noch Animationen hinzu. Man muss eine Person
zum laufen bringen, Bäume oder ähnliche Dinge zum schwanken etc.
Also ich denke das ist ein falsches Projekt für einen einzelnen.
Viele Grüsse
David
|
|
Johwood
      
Beiträge: 75
|
Verfasst: Di 20.01.04 20:58
Klar, du willst was lernen, aber sowas was du erreichen willst lässt sich derzeit viel einfacher bewältigen. Die Antwort lautet: AGS ( www.adventuregamestudio.co.uk/). Damit lassen sich schnell und unkompliziert Adventures erstellen und die Engine ist auch schon fertig. Nur damit du nicht erwartest, dass deine Arbeit irgendwem nutzt..
Aber mach ruhig weiter, da lernst du bestimmt ne Menge...
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Fr 23.01.04 15:41
naja ansicht ist wie ihr schon gesagt habt 2D am einfachsten, ich selbst habe auch schon mehrmals versucht mit 3D anzufangen bin aber immer wieder gescheitert, weil ich durch den Mahte kram nicht gestiegen bin.
anfangen würde ich an deiner stelle so:
1. Game Konzept überlegen, Game Play überlegen, Story
2. Grafiken, Sound und Musik Datein erstellen(erstmal nur zum Testen)
3. Was nehme ich(OpenGl, SDL, DX)?
4. Klassenstrucktur anfangen zu schreiben.
5. Alle Extrar units schreiben(z.b. Archiver, Sound und Grafik unit)
6. Verzeichnis und Dateistrucktur überlegen
7. Anfangen das Game selbst zu schreiben
so fange ich meistens an und das klappt dann auch gut, nur du darfst(was ich immer mache) nicht zwieschen durch 1000 andrer projekte anfangen..... sondern musst bei diesem projekt auch bleiben *G*
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
MaxiTB
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: Fr 23.01.04 19:29
Lieber Yooda,
ich hab zwei Jahre lange in einer professionellen Spielequetsche gearbeitet.
Ich kann dir ehrlich nur raten, dir am Anfang nicht so hohe Ziele zu stecken. Ein ganzes Spiel zu schreiben ist eine harte Sache - besonders wenn mans alleine macht auch sehr fustrierend !
Das liegt nicht daran, daß es so ein Haufen mehr Arbeit ist als es aussieht (weil damit rechnet man), nop, der Grund ist einfach, es ist ein Haufen mehr Arbeit als man erwartet. Und davon werde ich persönlich selber immer wieder überrascht.
Ich hab persönlich für mich nur zwei Möglichkeiten gefunden, ein Spiel wirklich fertigzuprogrammieren (privat):
 Eine Freundin läßt einen Sitzen und man ist so fustriert, daß man zwei Wochen zirka pro Tag 8 Stunden vor dem PC hockt neben der Schule (Studium/Arbeit).
 Du hast mindestens einen zweiten an Bord !
Wenns mal so ist, dann, ja dann solltest dir ein Buch über Spieleprogrammierung zulegen. Viele Programmierer haben nämlich wenig Ahnung von sowas (vor allem die richtige Organisation) und deshalb endet das ganze oft in Endlos-bis-abbruch-Projekten.
Also wenn du nur mal so schnell zum Spaß nebenbei in zwei Wochen was programmieren willst, dann würde ich dir raten, fang ganz klein an. Entwickle an kleinen Projekten Klassen, welche du dann für größere verwendest - da kannst du bei einem richtigen Spiel mal schnell Monate einsparen. Jo, richtig gelesen, Monate. Selbst ein kleines Spielchen braucht eine Menge Know-How und Kleinarbeit und wenn mans nebenbei macht, kannst du für dein Vorhaben von Null weg mal mindestens 3 Mann-Monate einrechnen. 
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
Da_Knuddelbaer
      
Beiträge: 485
|
Verfasst: Fr 23.01.04 21:57
Da stimme ich MaxiTB voll und ganz zu und kann eigentlich nur noch das Wiederholen was er eh schon gesagt hat *g*.
Fakt 1 ist: Es ist immer mehr Arbeit als es auf den ersten Blick aussieht
Fakt 2: Man kann das Spiel meistens endlos erweitern
Fakt 3: Gute Planung im Voraus ist das A und O in der Spieleentwicklung. Kein Planung - kein Spiel.
Fakt 4: Zu zweit gehts einiges leichter. Zwar nen bisschen langsamer, aber leichter. Wenn du zumindest einen guten Freund dabei hasst der dir das Zeugs dann auch immer wieder anständig testet, Ratschläge gibt und dir zur Seite steht hilft das auch schon.
Wenn du beispielsweise jetzt ein Adventure schreiben willst... erstmal Charaktere, Storyboards und Design-Dokumente konzipieren. Beispielsweise solltest du die Bedienung einfach und das Spiel übersichtlich halten.
Danach eine wirklich grobe Klassenstruktur mit Vererbungen etc. dafür anlegen (siehe UML). An diesen Daten kannst du dann leichter feststellen, was du für dieses Spiel alles benötigst, darunter auch die Grafikschnittstelle, was sie können muss, ob du eine fertige Engine nimmst oder selber eine (sofern du es kannst und wieviel sie können muss/soll) schreibst und so weiter.
Und danach erstmal ein Grundgerüst proggen. Bei diesem Grundgerüst und den frühen Versionen von deinem Spiel darfst du dich aber ja nicht mit großartigen Details verhaspeln. Grafiken sollten erstmal schlicht sein und Charaktere brauchen auch nicht animiert sein. Du musst dir immer wieder sagen: "Sobald dieses Spiel richtig schöne Grafiken hat, dann sieht es schon 4 mal besser aus"  .
Wie MaxiTB sagte: Fang klein an... sehr klein.
Naja, eine Menge Know-How brauchst du für kleine Projekte nicht, das erhälst du beim programmieren, wenn du dich immer mehr mit den diversen Problemstellungen beschäftigst.
Wenn das Spiel langsam laufen sollte: Lass dich nicht abschrecken. Versuche es nach und nach zu optimieren.
Ach ja: Immer schön Kommentare schreiben und den Quellcode möglichst sortiert halten, sonst blickst du nach ner Zeit nicht mehr durch und das "kurze Editieren" wird zu einer lästigen Code-Sucherei.
Ein Adventure würde mich auch mal reizen, bin nur gerade noch an BomberMan dran.
Greetz,
Knuddelbaer
|
|
Yooda 
      
Beiträge: 68
|
Verfasst: Sa 24.01.04 02:52
Titel: Danke
Hallo Ihr alle !
Vielen Dank für eure vielen Meinungen. Ich muss sagen, dass ich schon erstaunt bin, wieviele konstruktive Meinungen zusammengekommen sind.
Ich habe mich einmal an dem Adventure Gamestudio versucht.
Ich sage sogar, dass mir dies nicht besonders liegt. Meisstens hat man Vorstellungen und Ideen, die so nur sehr schwer zu realisieren sind.
Da fängt es schon bei der Grafik an. Wie schon oben genannt, bräuchte man mehrere Leute, die für die Grafiken zuständig sind, und andere die die Idee und die Planung verschriftlichen. Ich habe mich mittlerweile damit abgefunden, dass ich es nicht schaffe. Was das Zeichnen angeht bin ich überhaupt nicht geschickt. Schade finde ich ausserdem, dass die Community für das Adventure Gamestudio nur sehr klein ist. Tutorials gibt es fast nur auf Englisch. Und viele Dinge kann man meineserachtens nur schaffen, wenn man vorher die Befehle lernt. Also bleiben die Ideen einfach in meinem Kopf.
Viele Grüsse
David
|
|
ShadowThief
      
Beiträge: 278
|
Verfasst: Sa 24.01.04 07:44
einerseits hast du vielleicht recht, aber aufgeben is auch keine lösung.
ich meine, was willst du denn jetzt machen? was anderes programmieren,
das dir nicht so viel spass macht, oder lieber doch deinen traum
verwirklichen *theatralisch_in_die_luft_kuck* .
mach halt trotzdem ein adventure.
also bei mir ist das so:
ich bin grad über so ne art rollenspiel. ich hab auch absolut keine ahnung
von zeichnen usw.. trotzdem programmier ich das spiel, ich verwende
halt testgrafiken. wenn das projekt so weit fortgeschritten ist, dass man
es anderen leuten zeigen kann, dann finden sich schon grafiker, bin ich
der meinung.
nur mut! klar wirds nicht perfekt, aber dafür sind wir ja hobby-entwickler.
shadow.
_________________ "soylent grün ist menschenfleisch!"
|
|
Da_Knuddelbaer
      
Beiträge: 485
|
Verfasst: Sa 24.01.04 09:04
Jep, mach das Projekt. Du musst es halt nur anständig planen.
Mach Dir ein Bild davon, was das Spiel anfangs erstmal können soll, sprich beispielsweise sowas wie:
Bildaufbau, Levelaufbau, der Charakter soll bewegt werden, Interaktion mit Objekten und NPCs (Non-Player-Character).
Ich bin auch net gut in Zeichnen. Aber wenn du irgendeinen Freund hast der das gut kann, dann würde ich ihn mal später einfach fragen
Knuddelbaer
|
|
MaxiTB
      
Beiträge: 679
Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
|
Verfasst: Sa 24.01.04 10:34
Nananana, keiner wollte dich hier entmutigen - ich kann nur rauslesen, daß es ein paar wie mich gibt, die dir nur raten klein anzufangen, damit du nicht schon nach deinem ersten gescheiterten Projekt für immer das Handtuch wirfst  .
Was die Grafiken angeht: Ich bin auch kein Pixelpinsler a la crux, aber man benötigt bei allem einen Anfang. Dazu brauchst du nicht unbedingt einen Grafiker von anfang an an Bord; würde ich sogar abraten - weil eine kreative, Malbestie meistens immer nur rumnörgelt, wann endlich was auf dem screen zu sehen ist  , besser ists da schon wenn du von Anfang an einen zweiten Programierer an Bord hast !
Ich kann dir nur folgendes empfehlen was Grafiken angeht:
Mache sogenannte dummy-Grafiken ! Ds hab ich immer gemacht (privat und beruflich) und es wurde auch hier schon angeschnitten. Diese Grafiken können Strichmännchen sein, völlig egal, schließlich werden sie ja dann später von einen Pixelmeister ersetzt. Manchmal wußte ich selber nicht mehr ganz genau, was ich ursprünglich da draufgezeichnet habe vor lauter resizen *lol*
Merke: dummy-Grafiken haben den Vorteil, du kannst mit ihnen alles machen ohne lange Zeit zu investieren, daß sie toll ausssehen  .
Wenn du also uuuuuuuunbedingt ein Adventure machen willst, machs doch - ist kein Thema - aber nimm dir nicht gleich ein Projekt a la Indy IV vor, in dem ein paar Mannjahre stecken ! Fang klein an, und wer weiß, dein achtes oder neutes Projekt ist dann ein Game von dem Umfang ! Du hast ja sooo viel Zeit, glaubs mir. Da läuft nix davon.
_________________ Euer Mäxchen
Wer früher stirbt, ist länger tot.
|
|
Yooda 
      
Beiträge: 68
|
Verfasst: Sa 24.01.04 14:39
Hm...
Wenn Ihr nicht alle so beschäftigt wärt, dann würde ich euch direkt einstellen
Wie soll ich am besten anfangen?
Es soll anfangs ja wirklich nur ein kleines Spiel sein.
Mir ist wichtig, dass die Spielsteuerung stimmt. Das etwas auf meinem Bildschirm hin und her läuft, und ich sprechblasen etc erzeugen kann.
Was nehme ich dafür??
Bei Delphi eine Form drauf ne Image und die dann immer wechseln wenn die Person am Formrand erscheint?
Was ist die Spielfigur eigendlich? (eine Bitmap?)
usw.
Vor allem das mit den xyz koordinaten ist für mich ein Horror. Ich komme
damit überhaupt nicht klar.
Könntet Ihr mir auch da helfen?
|
|
mimi
      
Beiträge: 3458
Ubuntu, Win XP
Lazarus
|
Verfasst: Sa 24.01.04 17:13
Mach doch ein Kleines Snake.
dazu habe ich ein tutor geschrieben(hier unter Tutors).
Der Player ist immer eine Grafik die man bewegen kann und da gezeichnet wird, wo man hinmöchte.
wenn du dich für Snake entschieden hast, mache es so:
1. Was soll dein Snake Clone von Anderen unterscheiden ?
2. Möchtes du OpenGl, DirctX oder nur die bordmittel von Delphi nutzen als grafik lib ?
3. Wie möchtes du den qullcode schreiben?(also Style wie z.b. kometare und so weiter)
4.Test Grafiken erstellen
5. Anfangen das game zu schreiben
6. Grafiken verbessern und austauschen.
so würde ich vorgehen...
_________________ MFG
Michael Springwald, "kann kein englisch...."
|
|
|