![]() |
2D Spiel (Grafik, KI)
Guten Morgen zusammen,
mir kam letztens beim "C&C 3 Tiberium Wars"-Zocken die Idee einen Clone vom ersten C&C zu programmieren oder so etwas ähnliches. Für alle, die den ersten Teil nicht kennen: ![]() Wir haben in der Schule ca. 1 Jahr mit Delphi 5 gearbeitet und für die Hausaufgabe eine Schülerversion von Delphi 7 bekommen. Die groben Themen die wir behandelt hatten (nach dem Einstieg und dem Close-Button :warn: ), waren u.A.
Auf jeden Fall wollte ich erstmal ruhig anfangen, sprich mit einem kleinen Programm. Jedoch ergeben sich im Vorfeld folgende Fragen:
Kritik, Hilfestellungen und geistiger Beistand :sharkylinchen: werden gewünscht. |
Re: 2D Spiel (Grafik, KI)
*ganz-kleines-bisschen-nach-oben-schieb-und- :zwinker: *
|
Re: 2D Spiel (Grafik, KI)
mit paint würde ich die grafiken nicht zeichnen aber von C&C bin ich gewohnt dass man die einheiten von 8 seiten sehen kann, also könntest du es schon vorzeichnen, schätze ich mal
|
Re: 2D Spiel (Grafik, KI)
Hach ja, der erste C&C-Teil war doch ganz nett (ok, C&C TW ist um längen besser ;D)
Du solltest die Grafiken vorab aufbereiten und diese dann laden. Falls Du eine 2D-Engine suchst, schau mal nach ![]() |
Re: 2D Spiel (Grafik, KI)
Eine erste Vorzeichnung hatten wir heute schon gemacht:
![]() Wie findet ihr das Bild? @dajuhsa: Zitat:
€dit: ![]() Bisher sind wir 1 Progger ( :???: ) und 2 Grafiker und befinden uns derzeit beim Konzept "machen". Wenn weitere Progger interesse haben, dann meldet euch per ICQ bei mir (Nummer siehe Profil). |
Re: 2D Spiel (Grafik, KI)
Dein Bild oben, zeigt ein Männchen von zwei Seiten, einmal nach Norden, einmal nach Süden.
8 Seiten bedeutet dann: N, NO, O, SO, S, SW, W, NW (Himmelsrichtung) |
Re: 2D Spiel (Grafik, KI)
*g*
hi, ich habe vor langer langer zeit mal C&C nachprogrammiert. und es dann wieder auf Eis gelegt. Mittlerweile Habe ich schon so manches in OpenGL gemacht und kann dir nur empfehlen auf 2D- Graphiken zu verzichten und es gleich mit hilfe von OpenGL in 3D zu machen, das sieht dann auf einen schlag viel besser aus und du hasts auch viel einfacher. ( Ich habe mal angefangen nen 3D - editor zu schreiben , so schwer ist das gar nicht ... ) Zudem ist mir damals aufgefallen, das ein Reines Nachprogrammieren des alten ( und ich liebe diesen Teil auch ) C&C es eigentlich nicht bringt. Im Alten Teil must du knapp 30 mins baun bis du ne Bernünftige Basis hast, geschweigedenn eine Kampftruppe. Dann müstest du einige Features die es in den neueren Teilen gibt unbedingt auch einbauen.( Grupierungen der Einheiten, spezielle Marschbefehle ... ) Als Tipp von mir : Fang mit nem vernünftigen Leveleditor an. Dann such dir jemanden der dir Graphiken macht, wenn du alles selbst machst brauchst du ewig. Plane dein Projekt gut im Vorraus, also was soll dein C&C haben, was nicht was soll später hinzu kommen ... Sonst gehts dir wie mir mit meinem Balanced. Ich muste 4 mal das Komplette Spiel umschreiben ( Zuletzt für den Multiplayermodus [ ist seit 2 Tagen online ]). Bei einem Projekt wie C&C ist das dann wohl nicht mehr Möglich. Überlege dir gut wie du die Spezifikationen für die einzelnen Einheiten Realisierst, das du die später noch anpassen kannst ( Falls dein Balancing doch nicht stimmt ) Schaut man sich den Letzten Patch von C&C wars ( auf 1.05 ) an sieht man das selbst EA das Balancing nicht im Voraus weis. Ganz zu schweigen vom Leidigen Thema der KI, du brauchst mindestens eine für die sammler, ich habe mir damals was ausgedacht das dir da vielleicht helfen könnte ( Meine Sammler vahren nicht durch die Gegnerische Basis !!! ), meldest dich halt wenns dich interesssiert. Gruß corpsman |
Re: 2D Spiel (Grafik, KI)
Ach das. Ja gut.hm....das wollten wir zum Schluss hinzufügen wenn alles klappt. Ich meine es würde ja erstmal reichen N,S,O,W umzusetzen, oder?
Wegen KI: Hat da irgendeiner schon etwas Erfahrung damit? Ich wäre die KI wie folgt angegangen:
Delphi-Quellcode:
Und so weiter; sprich, wenn kein Kraftwerk gebaut wird schaut der Spieler wie viele Raffinerien er hat usw.
if Energieniveau<=0
then Baue(Kraftwerk); Ist das schon 'ne KI oder weit davon entfernt :gruebel: @Corpsman:
|
Re: 2D Spiel (Grafik, KI)
also entweder steuert ein ki alle gebäude und einheiten oder jede einheit steuert sich selbst, das frag ich mich schon ne weile.
naja es muss natürlich geprüft werden wo er baut und ob er kann und jede KI baut nur bis zu einer bestimmten grenze (5 Kraftwerke, 2 Raffinerien, 1 Kaserne...). ich hab das gefühl dass das ein bisschen komplizierter ist... |
Re: 2D Spiel (Grafik, KI)
@dajuhsa
![]() Ein Limit für KI? Jain. Vllt. könnte man auf Stufe "Leicht" ein Limit machen, aber auf schwer sollte die KI wie ein human-Spieler agieren. Bei C&C3 TW ist es so, dass die KI auf schwer mit mehr Geld anfängt und auch mehr Geld aus einem Sammler bekommt, als ein human-Spieler. |
Re: 2D Spiel (Grafik, KI)
Wegen dem 3D meinte ich das so.
ich habe früher DirektX programmiert und wollte dann irgendwann 3D mal ausprobieren ( Balanced ist das Resultet ;) ), mittlerweile konnte ich allerdings feststellen dasOpenGl selbst in 2D deutlich besser ist als Direkt X , allein schon deswegen weil es auch problemlos auf Linux Läuft ( dank SDL.dll ist der Rest den man da noch so braucht auch kein Problem ) Vielleicht sehe auch nur ich das so, aber ich finde es einfacher ein 3D-Modell zu erstellen und das dann mit irgendwelcehn Texturen zu belegen als mir für jeden Animationsschritt eine eigene Textur zu zeichnen. ( Hast du mal die Orginal C&C Ingame Texturen gesehen ? das sind mega viele, ich weis nicht ob man die hier posten darf, sonst würde ich es dir Zeigen ). Was die KI angeht so meinte ich mehr eine Ki nur für sammler. ( ich habe die bei mir mi hilfe der Datenstruktur für die Mpas umgesetzt, einen eigenen A* für das Pathfinding des Sammlers gemacht, und dann reicht es schon aus die Felder der Gegnerischen Basis mit mega viel Penultiy zu versehen ;) ). eine KI für einen Computergegner ist ne Mega heftige sache, ich habe so was zwar auch schon mal geschrieben, das geht aber dann echt heftig ab. Ich empfehle da mehr einen Multiplayer Modus der dann das spielen Human, gegen Human macht. Da halltet ihr euch das KI Problem dann vom hals. |
Re: 2D Spiel (Grafik, KI)
Multiplayer ist gut :-D
Die Sammler-KI alleine ist schon ein hartes Stück (selbst die richtigen C&C-Sammler sind noch doof :? ) Was eine Gegner-KI angeht.....das ist mit Sicherheit ein hartes Stück Verzweiflung :coder2: @Die Muhkuh: Die TW-KI ist nicht ganz so wie beschrieben. Schwer hat noch normale Einkünfte usw. - was du meinst ist Brutal |
Re: 2D Spiel (Grafik, KI)
das ist es ja was ich dir grad versuche zu sagen, eigentlich ist es nicht schwer eine Funktionierende Sammler KI zu machen.
Ich denke das EA, bzw Westwood das teilweise Absichtlich nicht gefixt hat. Hier nochmals die Sammler KI in Stichworten. Alle Sammler kennen Grundsätzlich die Karte ( wie übrigens in allen C&C teilen auch der Fall ). Wenn nun ein Sammler Leer ist und sammeln will macht er das Folgendermasen. 1. Liste mit allen Feldern auf denen Tiberium liegt erstellen. 2. zu allen Feldern einen mit im Oberen Post beschriebenen Algorithmus berechnen. 3. den Weg mit geringstem Aufwand wählen. Fertig. ![]() Was ihr dan Lediglich machen müst ist beim Plazieren Gegnerischer Gebäude in der Sammler Map die Entsprechenden Gebäude ( + Sicherheitsabstand ) in die Map eintragen. Wählt man als Wert für die Gegnerischen Gebäude ein Gewicht das >= Länge des Längsten Pfades auf der Map dann fährt der Sammler Garantiert nur in die Gegnerische Basis wenn eben kein anderes Tiberium zur Verfügung ist. Optional läst sich Problemlos einbauen eine Prüfung > dieses Schwellwertes das der Sammler dann nichts tut und in Regelmäsigen Intervallen neu Scannt ob vielleicht irgendwo Tiberium nachgewachsen ist. Alles Klar ? |
Re: 2D Spiel (Grafik, KI)
Also ich glaube das ist schon ne ganz schön heftige sache...
Also ich würde vllt auch mitmachen wollen...aber nur vllt ich überlege es mir mal :) Wenn ihr ne 2D Grafikengine sucht, nehmt ![]() Das Problem KI ist wirklich heftig...ich hab mich in letzter zeit mal mit wegfindung (A-Star und so) beschäftigt... :cry: naja es ist schon schwer...aber hinbekommen hab ich es...währ für euch bestimmt nützlich, wenn ihr intressiert seid schreibt ne pn |
Re: 2D Spiel (Grafik, KI)
Zitat:
Würde uns freuen, wenn du mitmachst - Erfahrung ist immer gut. €dit: We proudly present: your first Nod-Soldier ^^: ![]() Ich gehe doch richtig in der Annahme, dass man ein "Standbild" einer Einheit anzeigen kann und dann, während sie angreift, zu diesem Gif wechselt (und dann wieder zurück). Das Gleiche bei Bewegungen. Oder? |
Re: 2D Spiel (Grafik, KI)
Zitat:
schau dir doch mal den link von mir zu andorra2d an und gucke wie das funzt. mach die tutorials und dann werdet ihr auch nen plan haben. da funktioniert alles auf png-basis und anmationen werden extra daraus (in nem eigenem format) erstellt. |
Re: 2D Spiel (Grafik, KI)
Liste der Anhänge anzeigen (Anzahl: 1)
Die ersten beiden Tutorials habe ich durch.
Unser erster Soldat rennt schon quer über den Bildschirm :dancer2: |
Re: 2D Spiel (Grafik, KI)
Zitat:
|
Re: 2D Spiel (Grafik, KI)
Zitat:
Ne echt: gute Idee. Nochmal wegen KI: Wir haben im Unterricht "Wegsuche im Labyrith" als Thema gehabt, als es um Backtracking ging. Könnte ein ähnlicher Algorithmus bei der Sammler-KI helfen?
Delphi-Quellcode:
Was "Weg" angeht....
if Weg(0,1)=true //Weg nach Norden mgl. ?
then Richtung:=1 else if Weg(1,0)=true //Weg nach Osten mgl. ? then Richtung:=2 else if Weg(0,-1)=true //Weg nach Süden mgl. ? then Richtung:=3 else if Weg(-1,0)=true //Weg nach Westen mgl. ? then Richtung:=4; case Richtung of 1: xneu:=xalt; yneu:=yalt+1; 2: xneu:=xalt+1; yneu:=yalt; 3: xneu:=xalt; yneu:=yalt-1; 4: xneu:=xalt-1; yneu:=yalt; end;
Delphi-Quellcode:
Es kann sein, dass das hier drüber nach etwas seltsam ist, aber könnte man soetwas u.U. als "Sammler-KI" werten wenn es um wie Wegsuche geht?
function Weg(a,b:Integer):boolean; //ggf. auch ein kleinerer Datentyp als Integer besser
begin if Feld[xalt+a,yalt+b]=0 // 0 steht hier einfach mal für leer - sprich da ist Platz ^^ then result:=true else result:=false; end; Ansonsten wären vlt. Wegpunkte für Sammler besser; sollte da ein Hinternis im Weg sein, könnte man ja auch den Algorithmus anwenden - oder ist das Unsinn :kotz: €dit³ - ich hatte hier einen Quatsch geschrieben :pale: |
Re: 2D Spiel (Grafik, KI)
Das Backtracing auf einem recht freien Feld ist nicht sinnvoll. Wenn ein Sammler direkt rechts neben einer Quelle steht, läuft er trotzdem erst so weit es geht nach oben, und ignoriert die Quelle. Mit der Methode werden die Sammler sehr komisch durch die Gegend ihren und eher nach der Methode 'Blindes Huhn findet auch mal ein Korn' auf etwas zu Sammeln treffen.
|
Re: 2D Spiel (Grafik, KI)
Zitat:
|
Re: 2D Spiel (Grafik, KI)
Das könnte dir weiterhelfen:
![]() ![]() Ansonsten: ![]() |
Re: 2D Spiel (Grafik, KI)
vielleicht hilft das
![]() |
Re: 2D Spiel (Grafik, KI)
Zitat:
|
Re: 2D Spiel (Grafik, KI)
Ich hab mal kurz das :shock: Pathfinding :shock: überflogen - OMG :coder2:
Ich glaube nicht, dass ich damit groß weiterkomme :| Ich versuche es dann nochmal nachzuvollziehen wie der Algorithmus arbeitet.... Kennt ihr noch andere Methoden zum Thema? |
Re: 2D Spiel (Grafik, KI)
Hi,
guck dir lieber mal den Wikipediaartikel zum A*-Algorithmus an. Der ist finde ich sehr gut erklärt. Dort wird auch die Arbeitsweise des Algos Schritt für Schritt anhand eines Beispiel nachvollzogen. |
Re: 2D Spiel (Grafik, KI)
Wir suchen derzeit noch 1 Programmierer, der Kenntnisse im Umgang mit der 2D-Engine Andorra 2D hat.
Interessenten einfach in unserem Forum registrieren und ![]() Danke. |
Re: 2D Spiel (Grafik, KI)
Also zum thema wegfindung habe ich was in delphi dazu gefunden.
![]() ![]() Das muss man nur an ein strategiespiel anpassen und aus dem stringgrid eventuell nen array oda so machen...habe aber irgendwie das gefühl das der code noch nen bissel langsam ist (oda wie schnell darf man sich nen A*-Algo vorstellen der eine map von ca. 60x120 feldern nach dem kürzesten und schnellsten weg durchsucht... :gruebel: ). aber der autor meint auch das der code noch nicht optimiert ist...aber egal es ist opensource ;) |
Re: 2D Spiel (Grafik, KI)
is halt leider auf englisch.
also, das hier ![]() fand ich schon recht einleuchtend, also mir hätte es wohl geholfen wenn auch ohne code. |
Re: 2D Spiel (Grafik, KI)
Zitat:
|
Re: 2D Spiel (Grafik, KI)
habe mal nen Link zur KI-Programmierung gefunden.
![]() vllt. hilft der euch. Sind nen paar interessante Dinge dabei |
Re: 2D Spiel (Grafik, KI)
Ich habe inziwschen ein paar Erfahrungen mit Andorra 2D und würde mich eventuell an eurem Projekt beteiligen. Ich schreib dir mal 'ne PN.
Allerdings in Sachen GUI bin ich selbst noch am feilen, weil ich es noch nicht verstehe und es noch keine Tutorials dazu gibt. Physik braucht ihr sicher auch noch nicht zwingend, die kann ich nämlich auch noch nicht. Ansonsten würde ich mitmachen. |
Re: 2D Spiel (Grafik, KI)
Hallo,
ich möchte euch vielleicht noch ein paar Tipps geben, wie ihr das mit meiner Engine am Besten macht. 1. Packt alle Texturen mit dem Imagelisteditor in eine einzige Datei - diese können recht schnell geladen werden. 2. Passt auf, dass alle Texturen (besonders die Bodentexturen) eine "Power of Two"-Größe haben. Sprich 64x64, 128x128, 256x256. Damit nutzt ihr den Texturenspeicher am optimalsten aus. 3. Die Texturen sollten nicht größer als 256x256 sein. 4. Für den Boden solltet ihr den Alphachannel der Texturen anpassen und ineinander überlaufen lassen. Dabei solltet ihr für die aktuelle Ansicht und noch etwas darüber hinaus die Texturen im Speicher behalten und nur beim Verschieben der Karte neu berrechnen. Aber ich glaube, dass ich euch da noch etwas schreiben werde (was ich sowieso machen wollte). Viel Erfolg mit eurem Projekt, wenn ihr Fragen bezüglich der Engine habt, dann zögert nicht euch bei mir zu melden, Andreas |
Re: 2D Spiel (Grafik, KI)
Sry, dass es in letzter Zeit kaum Aktivität in der Richtung gab. Lieg u.A. an folgender Sache:
Ich habe die nächsten 3 Jahre mit einer Ausbildung zu tun und will mich voll und ganz auf diese konzentrieren. Tut mir Leid wenn ich jetzt jmd. enttäusche aber solche Dinge gehen einfach vor :| |
Re: 2D Spiel (Grafik, KI)
Hi, ich hab auch mal ein Spiel mit GLscene angefangen (OpenGL, allerdings habe ich 2D Grafiken benutzt. Da gibts eine einfache KI (für Gegner) und einen Mechanismus, um die Karte zu laden.
Du kannst ja einfach mal auf ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz