Autor Beitrag
HeinzKarl
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 19



BeitragVerfasst: Mi 02.02.11 17:39 
Hi Leute,

ich und ein Freund haben vor als Schulprojekt ein kleines 2D Game zu basteln.
Wir wollten so eine Mischung ala
Super Mario + MMORPG - Gekloppe
vorgestellt.

Als man läuft von Level zu Level und die Monster werden immer stärker usw.

Nur wissen wir beide nicht wie wir das realisieren sollen ?
Er kann wirklich gut malen, also die Figuren und Monster hätten wir schonmal. Also dachte ich mir man könnte einfach ein paar TImages nehmen, Bilder rein und fertig. Nun ist mir aufgefallen das bei
5 Monster + 1 Spieler = 6 TImages sind.
Die Monster müssten bewegt und "Kollisionen" mit dem Spieler dauerhaft (per Timer vielleicht ?) abgefragt werden. Außerdem müssten sie ja auch Schaden austeilen und bei genug Schaden sterben.
Die Tasten des SPielers müssten (auch per Timer ?) abgefragt werden und bei entsprechender EIngabe die Figur bewegt werden. Auch der Spieler müsste Schaden austeilen/einstecken können und natürlich sterben können...

Das läuft (so glaube ich) auf verdammt viele Timer und Images hinaus. Und ich glaube nicht das das alles dann noch so dolle flüssig läuft !

Gibt es noch eine andere Möglichkeit die ihr empfehlen würdet ? Wir haben noch bis Mai Zeit, also auch Zeit uns in etwas einzuarbeiten.


Würde mich über Alternative/Denkanstöße/Ideen/Realisierungshilfen freuen :)
glotzer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 393
Erhaltene Danke: 49

Win 7
Lazarus
BeitragVerfasst: Mi 02.02.11 17:42 
google -> Andorra 2D


Also:
Timer sind eine sehr schlechte idee, images auch. setz besser von anfang an auf eine Hardware beschleunigte Engine (wie z.b. Andorra 2D) mit Sprits.
Ansosnten: was genau willst du denn noch wissen?
j.klugmann
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.02.11 18:09 
user profile iconHeinzKarl hat folgendes geschrieben Zum zitierten Posting springen:
Hi Leute,

ich und ein Freund haben vor als Schulprojekt ein kleines 2D Game zu basteln.
Wir wollten so eine Mischung ala
Super Mario + MMORPG - Gekloppe
vorgestellt.


Ehem...Kleines 2D-Spiel? Wenn ich das Wort MMORPG schon lesen, muss ich leider sofort an Trolls denken. Du bist wohl aber keiner. ;) Also... Euer Plan ist unabhängig von euren Kenntnissen nicht in absehbarer Zeit umzusetzen. Ihr seid anscheinend unerfahren und wisst nicht, was für ein Aufwand das ist. Ein Tipp: Bastelt lieber ein Tic-Tac-Toe oder ein Ping-Pong zum Einstieg. Das wird euch lange genug beschäftigen.
curtiss
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 59



BeitragVerfasst: Mi 02.02.11 18:20 
Ich habe damals mit 2 Schulkameraden Schiffe Versenken mit Netzwerk Multiplayer geschrieben.
Ist voll witzig gewesen und vom schwierigkeitsgrad her grad noch ok für Einsteiger!

Aber so wie du schreibst, hast dir ja schon ein paar gedanken gemacht und warum solltet ihr es nicht mit andorra ausprobieren? Im Schlimmsten fall arbeitet ihr euch ein, arbeitet 6 monate drann und nix kommt bei raus, oder euch packt das interesse ihr habt bock und packt das ganze an. Je nachdem wie umfangreich ihr euch das denkt.

Wobei meine vorredner natrülich recht haben, das das eher was großes an Aufwand und Zeit bedeutet. Man darf die "kleinigkeiten" nicht vergessen, die einem zum einen den spaß verderben und zum anderen ewig aufhalten!
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mi 02.02.11 18:34 
user profile iconj.klugmann hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich das Wort MMORPG schon lesen, muss ich leider sofort an Trolls denken.

Hab ich zuerst auch gelesen, aber da steht MMORPG-Gekloppe. Also mit Einer Spielfigur (Mario) Bosse töten. Ist zwar auch nicht unbedingt ein Anfängerprojekt, aber so schon wesentlich einfacher als ein MMORPG ;)

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)

Für diesen Beitrag haben gedankt: elundril
HeinzKarl Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 19



BeitragVerfasst: Mi 02.02.11 18:48 
Zitat:
aber da steht MMORPG-Gekloppe. Also mit Einer Spielfigur (Mario) Bosse töten


So war das gemeint, kein ganzes MMORPG :D


Zitat:
Ihr seid anscheinend unerfahren und wisst nicht, was für ein Aufwand das ist.


Versuchen kann man es :) Ich habe auch nie gesagt das wir bis Mai fertig werden wollen oder ein großes tolles Projekt fertig haben wollen.

Zitat:
Ein Tipp: Bastelt lieber ein Tic-Tac-Toe oder ein Ping-Pong zum Einstieg.


Mh Ping - Pong klingt zu anfangs recht interesant. Wir werden uns mal Andorra anschauen.


Vielen Dank für die Hilfen.

P.S.
Ich dachte an sowas hier:
www.delphi-forum.de/...mp;highlight=alacros

Nur mit Monster und ein wenig weiter ausgedehnt (ein wenig).
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mi 02.02.11 22:01 
Da das nur ein Schulprojekt werden soll (für welche Klasse wäre interessant zu wissen), halte ich eine Engine wie Andorra o.ä. schon für zu komplex gedacht, da das dann einige Einarbeitungszeit benötigt und am Ende meist beim Lehrkörper nicht wirklich gut ankommt (man kommt einfach zu schnell in die Gefahr zu viel Copy-Paste zu verwenden ohne zu verstehen was der Quelltext eigentlich macht).

Ich hab damals in der Schule auch sowas gemacht (siehe www.delphi-forum.de/viewtopic.php?t=67484) und ich würde euch raten, dass ihr erstmal nur die Komponenten verwendet, die ihr bereits in der Schule benutzt habt. Damit habt ihr nämlich schon etwas Erfahrung und dann wird es nicht schwer sich etwas tiefer mit den Möglichkeiten dieser Komponenten zu beschäftigen.

Worauf ihr achten solltet:

- nehmt einen Timer für alle Objekte, speichert alle eure Objekte in einem oder mehreren Arrays ab und geht diese bei jedem Timerevent durch, dann könnt ihr für jedes Objekt entsprechende Aktionen durchführen
- nehmt wenn überhaupt nur ein einzelnes TImage für alle Objekte, benötigte Bilder könnt ihr als TBitmap o.ä. im Hintergrund speichern und dann per image.canvas.draw in euer TImage zeichnen
- bei Tastatureingaben nehmt ihr am Besten die Events OnKeyDown und OnKeyUp und speichert die gedrückten Tasten die eine dauerhafte Aufgabe erfüllen (zB Bewegen) ab und macht die Bewegung im Timer, für "Einzelaktionstasten" wie Schlagen o.ä. könnt ihr die entsprechenden Aktionen auch im KeyEvent selbst auslösen (Gegner verliert hp)

Wichtigster Tipp: Fangt klein an und nehmt euch nicht zuviel vor.
glotzer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 393
Erhaltene Danke: 49

Win 7
Lazarus
BeitragVerfasst: Mi 02.02.11 22:17 
ein spiel wie beschrieben ohne Engine zu schreiben endet in 99% der Fälle in Chaos und das mögen Lehrer siche rnoch weniger.
aber vieleicht wäre es wiklich besser mit etwas enfacheren anzufangen.
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mi 02.02.11 22:47 
Ob Engine oder nicht - Chaos wird es höchstwahrscheinlich so oder so werden.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 03.02.11 10:25 
Prinzipiell würde ich da nicht so schwarz sehen

Wichtig ist eigentlich nur, dass ihr das Projekt wirklich machen wollt, und dass ihr durchhaltet, wenns dann ans Fehlersuchen geht ;)

Dann kann ich euch nur empfehlen, viele Units zu verwenden und die ganzen Teile einigermaßen in Klassen kapselt (damit man dann Fehler schneller findet bzw. weniger Fehler entstehen).

Die Tasten würde ich per GetAsyncKeyState abfragen. Wenn ihr nur rechteckige Objekte und rechteckige Männchen verwendet, ist das Überprüfen von Treffern auch kein Problem.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Do 03.02.11 13:00 
Hallo,

sicher ist es schwierig, gleich zu Beginn mit solch einem Projekt anzufangen, doch machbar ist es auf jeden Fall. Wichtig ist, dass ihr das Spiel auch wirklich zu Ende programmieren wollt.
Kollisionserkennung funktioniert mit Rechtecken und Kreisen recht einfach. Deshalb würde ich euch raten, dass all eure Akteure entweder rechteckig oder kreisrund sind. Die Landschaft könnt ihr ja Mario-mäßig aus Blöcken aufbauen, dann habt ihr da schon mal einen Schritt in Richtung Einfachheit gemacht.

Überlegt euch gleich zu Beginn, was alles möglich sein soll, dann könnt ihr euer Konzept so auslegen, und kommt später nicht drauf, dass ihr etwas vergessen habt, und es jetzt sehr schwer ist, das nachträglich einzubauen.

Wie Xion schon bemerkt hat: Stellt euer Spiel auf OOP-Beine. Das hat mehrere Vorteile. So könnt ihr auch die Treffer-Erkennung in die Elternklasse aller Akteure programmieren und habt dort alles schön gemacht.

Crombo
somebody
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 167
Erhaltene Danke: 2



BeitragVerfasst: Do 03.02.11 15:14 
Also wir hatten letztes Jahr in der Schule auch ein kleines Spiel programmieren sollen.
Da hatten wir dann erstmal ein kleiner Spiel im Style von nem Browsergame gemacht. War eigentlich auch ganz witzig und ist auch gut schaffbar mit Images und Timer, so wie du das gedacht hattest.
Ich persönlich würde für die Schule aber auch nur Komponenten verwenden, die dem Lehrer bekannt sind und ihr auch verwendet habt.

Mit Canvas hatten wir letztes Jahr(ja, wir waren sehr im Spiele Sektor ;)) auch ein kleines Spiel Programmiert. Da hatte man eine Kanone auf dem Boden und schießt dann kleine Flugzeuge oder so ab und jeder Treffer bringt ein Punkt oder sone Späße.

War beides ganz gut machbar. Hatten dann auch in Kleingruppen von 2 - 3 Leuten gearbeitet. Das war schon echt cool.

Fas wäre so dass, was ich dazu zu sagen hätte ;)

Achso, OOP sollte es eigentlich sein. Das kann man bei so kleineren Spielen ganz gut üben und hilft einem schon weiter...

Gruß
capekall
Crombo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 54
Erhaltene Danke: 8

Windows 7, Windows Vista, Windows XP
Delphi XE Architect, Visual Studio 2010 Professional
BeitragVerfasst: Do 03.02.11 15:26 
Hallo,

ich hab gerade noch etwas gefunden, das jaenicke vor einiger Zeit mal veröffentlich hat: www.delphi-forum.de/...t=91534&start=20
Das Periodensystem ist auf einer Paintbox aufgebaut. Da kann man mal schön sehen, was man alles durch selbst-zeichnen machen kann.
Vielleicht ist da ja das eine oder andere Code-Schnipsel für dich dabei.

Crombo

_________________
one day your life will flash before your eyes. make sure it's worth watching