Map wie bei Worms und Soldat!
Übersicht

![]() |
ChaosCoderBetreff: Map wie bei Worms und Soldat! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo erstmal...
Ich bin nun noch nicht solange dabei. Ich hab mir vorgestern das Spiel "Soldat" von www.Giga.de runtergeladen... Fand ich ja ziemlich lustig... Wollte nun fragen wie man so ne map macht und das man so wie bei soldat die Hügel hoch und runterlaufen kann, ich blick da nämlich noch nicht durch... Und wie steht es mit den Bots... Ich weiß noch nicht wie ich die KI proggen soll... Kann mir jemand helfen? Das wären erstmmal alle Fragen... Wär net wenn ihr mir helfen könntet! Danke im voraus! |
||
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Die Maps von Soldat sind relativ simpel aufgebaut. Du kannst dir ja mal einen Mapeditor für Soldat runterladen. Im Grunde sind es einfach Polygone, die nebeneinander liegen.
Über die KI würde ich mir an deiner Stelle erstmal keine Sorgen machen. Und wenn, sind Waypoints der richtige Weg. |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Du kannst dir ja mal einen Mapeditor für Soldat runterladen
Wo denn? auch bei giga? Wie sind denn dei maps aufgebaut? Mit tiles geht es ja schlecht... Muss man da etwa pixel für pixel machen? Ich wollte dann auch noch einen mapeditor schreiben... das kann ich ja machen, wenn ich weiß wie man so eine map proggt... Andy030 |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
sry wegen doppelpost!
Ok, das mit den polygonen hab ich grad verstanden... ![]() Hab auch grad nen mapeditor gefunden... wie lasse ich überprüfen wo jetzt der boden ist? Und wie mache ich das die menschen hochlaufen bzw runterlaufen können? |
||
konstantin |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kleiner tipp: lern programmieren. | ||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
haha... lange nicht mehr so gelacht... ich dachte hier wird einem geholfen und nicht dummen sprüchen geantwortet... Ich glaub, ich probier schon programieren zu lernen ![]() Oder antwortest du jedem so, der z.B. fragt wie man einen Text an eine bestimmte stelle schreibt? Jetzt mal ehrlich, kann mir jemand helfen? |
||
![]() |
Christian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tag!
Vergiss die Deppen bei Giga! Die haben 80% nur scheisse gelabert. Ich kenn Soldat besser als meine Mutter. Ich war in den German 1on1-Ladders auf den 4. Platz. Ich war einer der ersten Spieler überhaupt und mein (Ex-)Clan war mal Europas bester 3on3-Clan. Jaja, das waren noch Zeiten... Nun gut mit der Angeberrei. ![]() Geh auf der offiziellen Soldat-Webseite oder auf der Webseite der größten Soldat-Community. So. Merke: Giga ist wie 9live. Die Typen verarschen dich nur. Gruß Christian |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
also entweder hab ich was falschverstanden oder du hast meine frage gar nicht beantwortet... ich wollte wissen wie man proggt das man auf diesen dreiecken (der Boden) stehen blaibt und nicht durchfällt und wie man läuft...
Irgendwie krieg ich hier nur noch komische antworten... Naja... hoffe mir kann jetzt wirklich mal einer helfen... |
||
![]() |
diGGaGruppenKaspar |
![]() Antworten mit Zitat ![]() |
---|---|---|
offtopic:
[quote]Giga ist wie 9live. Die Typen verarschen dich nur.[/quote] zur "verteidigung" muss ich sagen: die verarschen einen nicht... meistens wissen die einfach nich bescheid. |
||
Gestern Nacht Schlug der Regen an mein Fenster
Ich ging durch das dunkle Zimmer und glaubte im Licht der Straßenlampe Den Geist unseres jahrhunderts auf der Straße zu sehen Der uns sagte, daß wir alle am Rande des Abgrunds stehen. - Al Steward Athlon 64 3000+ / Radeon 9600 / 1024mb ddram |
![]() |
Christian |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tag!
Die verarschen fast immer. Ein Giga-Soldat-Beispiel: Die zeigten ein Match und sagten, dass das live ist. Mh, komischerweise habe ich gerade mit einem Spieler gechattet und wir haben uns gewundert, dass die das "live" nannten. Logischerweise haben die dann eine Demo abgespielt. Dann fragten sich die netten Herren, ob es bei Soldat auch ein Demomodus gibt. Sie glaubten nein. Aha, die sagen, dass das live ist, obwohl sie eine Demo abspielen und fragen sich, ob es ein Demo-Modus gibt. Wenn das keine Verarsche ist... Und das war nur EIN Beispiel von sehr, sehr vielen! So, nun entschuldige ich mich, dass ich vom Thema abgekommen bin. Jungs, heft ihm! gruß Christian |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Jungs, helft ihm!
Meine Worte... tut mir ja leid aba ich guck grad giga... mur mal so am rande gesagt... wär jetzt aber nett wenn ihr mir endlich helfen würdet! Andy030 |
||
TOONY |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
lass die figur fallen und wenn sie mit dem boden kolidiert bleibt sie stehen.
mit "Imagescollide" geht das! |
||
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine schnellere Methode war bei mir mal, unter der Figur mit ReadPixelFast rumzulesen.
Du speicherst die Map als ein Bild (oder als mehrere, wenn du das in Sektoren teilen willst, vllt bringt das Performance, vor allem bei Lock- und UnlockImage) und nutzt sie dann als Imagebuffer. An X,Y liest du dann mit ReadPixelFast (locken vorher!) aus was im Bild ist. Wenn transparente Farbe auftaucht, kann er einen Pixel fallen. Wenn nicht bleibt er da. War bisschen komisch wegen Fehlerbehandlung, weil es bei Kurven auch ungenauigkeiten gibt. Oder, wohl noch schneller, du speicherst die Polygone und prüfst mit komischen Formeln auf Kollision - sind dann nur Zahlen und keine Grafik. ReadPixelFast geht auch nur auf dem Bildschirm und nicht außerhalb, daher ungeeignet für Gegner, denk ich mal. Polygonberechnung ist da wohl echt besser. Kannst von zwei Koordinatenpaaren aus die Seitenkante berechnen und mit der rausfinden ob zu des Spielers X,Y ein Pixel der Seitenkante gehört. Musst das ganze dann jedoch als Fläche betrachten, da du sonst nicht wissen kannst ob er nun rechts oder links der Kante laufen/landen darf und er am Ende auf einmal reingebeamt werden kann, wenn er bereits unter der Linie der Seitenkante stehen würde - oder so. Denke, andere können dir Formeltechnisch besser helfen als ich, daher hör ich mal auf ![]() |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DivineDominion hat Folgendes geschrieben: ReadPixelFast geht auch nur auf dem Bildschirm und nicht außerhalb, daher ungeeignet für Gegner, denk ich mal.
Wenn die Karte nicht all zu groß ist, könntest du diese auch komplett in ein Bild speichern. Dann kannst du auch "außerhalb" des Bildschirms ReadpixelFast anwenden, indem du auf den ImageBuffer zugreifst. Zumindest für den Anfang dürfte dir diese Methode leichter fallen als die "Polygon"-Methode... denke ich zumindest ![]() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke...
Ich find die Idee mit dem rechnen sehr gut, wo man mit einer formel ausrechnen kann ob ein pixel der linie unter dem menschen liegt... Aber leider kenn ich die formel nicht! kann die mir mal jemand sagen? |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also wenn du noch nie ein Spiel programmiert hast, solltest du nicht mit sowas, wie Worms anfangen (Eine Lebensweißheit, die man hier andauernd mitgeteil bekommt ![]() Edit: Hab mal weitergelesen ![]() Die Formel, die du brauchst hängt mit der Schwerkraft, die du in das Spiel einbaust zusammen, lass mich mal einen Augenblick überlegen... |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, meine bisherigen Ergebnisse:
Mit dieser Formel kann man nur gleichhochgelegene Orte treffen: Code: [AUSKLAPPEN] AppTitle "Arrowhit"
Graphics 640,480,16,2 SetBuffer BackBuffer() Const grav# = 1 Global xcor#,ycor#,xricht#,yricht#,zielx#,ziely#,phase xcor = 80 ycor = 240 zielx = 500 ziely = 240 phase = 100 Function fly() yricht = yricht + grav xcor = xcor + xricht ycor = ycor + yricht End Function Repeat If MouseHit(1) Then xcor = 80 ycor = 240 xricht = (zielx-xcor)/phase*grav yricht = -(phase/2) EndIf If KeyDown(200) Then phase = phase + 1 If KeyDown(208) Then phase = phase - 1 fly() Color 255,255,255 Oval xcor-10,ycor-10,20,20 Color 255,0,0 Rect zielx-3,ziely-10,6,20 Color 0,160,0 Plot 80,240 Color 0,255,255 Text 0,0,phase,0,0 Flip Cls Until KeyHit(1) End Die Formel lautet also: Code: [AUSKLAPPEN] xricht = (zielx-xcor)/'durchläufe bis zu treffer'*'gravitation' yricht = -('durchläufe bis zu treffer'/2) |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, Erfolg!!
Hiermit kann man auch höhere, oder niedrigere Stellen treffen: Code: [AUSKLAPPEN] AppTitle "Arrowhit"
Graphics 640,480,16,2 SetBuffer BackBuffer() Const grav# = 1 Global xcor#,ycor#,xricht#,yricht#,zielx#,ziely#,phase xcor = 80 ycor = 240 zielx = 500 ziely = 240 phase = 100 Function fly() yricht = yricht + grav xcor = xcor + xricht ycor = ycor + yricht End Function Repeat If MouseHit(1) Then xcor = 80 ycor = 240 xricht = (zielx-xcor)/phase*grav yricht = -(phase/2-(ziely-ycor)/phase) EndIf If KeyDown(200) Then phase = phase + 1 If KeyDown(208) Then phase = phase - 1 If KeyDown(209) Then ziely = ziely + 1 If KeyDown(201) Then ziely = ziely - 1 fly() Color 255,255,255 Oval xcor-10,ycor-10,20,20 Color 255,0,0 Rect zielx-3,ziely-10,6,20 Color 0,160,0 Plot 80,240 Color 0,255,255 Text 0,0,phase,0,0 Flip Cls Until KeyHit(1) End Die Formel: Code: [AUSKLAPPEN] xricht = (zielx-xcor)/'durchläufe bis zum treffer'*'gravitation' yricht = -('durchläufe bis zu treffer'/2-(ziely-ycor)/'durchläufe bis zum treffer') |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, mann ![]() ![]() ![]() |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
rambo256 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wow, nen "Quad-Post" hab ich noch nie gesehen ![]() @ topic: Irgendwie hatten wir doch schonmal so etwas ![]() Aber der Lösungsansatz mit den Polygonberrechnungen stimmt schon ![]() |
||
Asus F53z
Das Leben ist eine reine Konkatenation... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group