Tank-War (vorl. Name)

Kommentare anzeigen Worklog abonnieren
Gehe zu Seite Zurück  1, 2, 3, 4

Worklogs Tank-War (vorl. Name)

VIDEEEOOOO ;)

Donnerstag, 3. Dezember 2009 von ToeB
So es gibt ein kleines aber feines Video von TankWar Wink

also nur ein kleine Fortschrittsanzeige wo man schön die selbstprogrammierte Kollision etc. erkennen kann.

Wenn das Video nicht zu sehen seinen sollte gebt mir einfach bescheid !

http://www.youtube.com/watch?v=Nx-WrZLPZmo

mfg ToeB

Map+Bots überarbeitet

Donnerstag, 5. November 2009 von ToeB
So ich fange jetzt an die Maps zu gestalten. Dazu habe ich sogennante "WALL" 's eingerichtet, die wie der Line befehl auf start und endpunkte besteht. Diese Walls soll man im Späteren Editor setzten können, genauso wie die Wegpunkte und die Bilder (Untergrund und objecte, auch wasser). Jetzt, wenn der Panzer dagegen fährt, wird er wieder zurückgesetzt und prallt ab. Ich bin grad dabei das "sliden" zu programmieren, damit der Panzer nicht an der MAuer hängen bleibt.. Auch sind die Schüsse überarbeitet, und zwar ziehen diese keine Leben bei Kollision mit einem Panzer ab, sonder wenn eine Kollision mit dem nächstgelegenem Object (panzer/wall) ist, wird der Punkt gespeichert. Da die Schüsse explodieren, haben diese ja auch einen Explosionsradius, wenn ein Panzer in diesen Radius reinkommt wird ihm je nach abstand zum explosionsmittelpunkt leben abgezogen. Dazu muss ich hinzufügen das die Schüsse keine Types mehr sind sondern dierect beim Schießen berechnet werden (also kollision mit einem Panzer etc.)

Die Bots habe ich auch angefangen zu überarbeiten, z.B. haben sie jetzt ein "Ziel". auf dieses Ziel schießen sie solange bis es tot ist. danach das nächste usw. Später werden die waypoints eingefügt, sodass der Bot sich frei auf der Map bewegen kann, ohne an mauern zu stoßen und troztdem zu festgelegetn Zielen zu kommen.

Edit : So Panzer können jetzt an der Wand entlangsliden, so wie man es in 3D gewohnt ist. Nur das ich meine Kollisions-Emgine selber geschrieben haben Wink (Und sie hat bis jetzt auch noch keine Fehler)


mfg ToeB

Neue Demo !

Dienstag, 13. Oktober 2009 von ToeB
So hier mal eine Demo zum Spielen !
Diese Demo enthält :
Arrow KI-Bots (NPC)
Arrow Sortierte Spielerliste
Arrow Runden + TeamPunkte
Arrow Voll funktionstüchtiger Netzwerk bereich (Man kann Server erstellen und mit einem Client drauf joinen)
Arrow Punktesystem für Spieler (Kills/Tode)
Arrow 3 Teams (Blau/Rot/Spec)
Arrow TeamChange
Arrow Leben
Arrow ParticleEngine
Arrow Eine Map
Arrow Der Panzer wird druch ein Script geladen (Einfach mal die Datei "Mod\Tanks.txt" öffnen und die "Tiger" werte verändern Wink )
Arrow Bots sind auf schwer eingestellt Confused

Hier der Screen, zum Download draufklicken :
user posted image

Have fun Wink


mfg ToeB

Runden

Montag, 12. Oktober 2009 von ToeB
So ich habe jetzt auch runden drin. Eine Runde ist vorbei wenn ein Team keine Gegner mehr hat. So geht das system vor :

-> Erstmal alle Spieler tot und team "Spec"
-> Kommt jetzt ein Spieler ins Spiel dann wird abgespeichert beim Server "Der ist neu, der kann sich das Team auswählen !"
-> Wählt jetzt einer ein team und es gibt noch keine neue Runde dann wird die Runde auf 1 gesetzt und alle Spieler belebt und auf volle leben etc. gesetzt.
-> Wählt jetzt ein neu hinzugekommener spieler ein Team, so kann er sofort mitspielen.
-> Wählt man mittendrin ein Team muss man das runden ende abwarten
-> Ist man tot muss man erst auf das Respawnzeichen des Servers warten (also zum rundenende)
-> gehen alle Spieler aus dem Server raus wird die Runde wieder auf 0 gesetzt.

Auch habe ich die Spielerliste jetzt statt übereinander nebeneinander gemacht (also blau links und rot rechts).

Bitte schreibt mal was !!!

mfg ToeB

Panzertypen

Sonntag, 11. Oktober 2009 von ToeB
So jetzt ist die Scriptengine für Moditikationen bereit. Damit kann man eine Datei öffnen, wo ein Script reingeschrieben ist. Das wird damit nun interpretiert. Erstmal werde ich damit nur die Panzertypen reispeichern. Einen habe ich schon fertig (der gleiche wie vorher nur hier als script ) :
Code: [AUSKLAPPEN]
Tiger.tanktyp = New tanktyp
Tiger\ImagePath = Gfx\TANK_1.PNG
Tiger\ImageWheel = 30,0,34,8
Tiger\ImageTank = 31,32,33,17
Tiger\ImageTower = 22,13,42,15
Tiger\Speed = 1
Tiger\Fire = 1
Tiger\Radius = 20
Tiger\Shoottime = 500
Tiger\Shotdistance = 500


Und jetzt kann man beliebig parameter verändern. also zum beispiel Tiger\Fire = 10 (10* stärkere Schussstärke) oder Tiger\Speed = 0.5 (halbe geschwindigkeit).

Das ganze kann ich dann mit einer einzigen Zeile laden :
Code: [AUSKLAPPEN]
LoadMod("Mod\Tanks.txt")

Und schon habe ich alle Panzertypen in der Datei in Types gespeichert. Wenn ich jetzt einen neuen Panzer erstelle (im Netzwerk) Wird dieser immer auf den ersten Typ gesetzt. Wenn jetzt der Spieler sich einen auswählt dann wird überall gesendet "PanzerChange,ID,Name$" und schon wissen alles "Aha, der will jetzt mit dem Panzer XYZ spielen !" ... oder so ähnlich ^^



mfg ToeB

TeamChange + Spec

Samstag, 10. Oktober 2009 von ToeB
So Teamchange ist eingebaut und ein neuese Team wurde hinzugefügt : Spec (Betrachter).

Wenn man in einen Server eintritt ist man automatisch "Spec". Jetzt kann man sich den ganzen Kampf so ansehen. Möchte man mitspielen drückt man "M" und dann kann man sein Team wählen (Blau/Rot/Spec). Wählt man eins aus wird man getötet und Respawned entweder nächste runde oder nach der Spawnzeit.

Hört sich ziemlich einfach an war aber ein bisschen komplizierter da ich dieses Team neu hinzufügen musste und weil ich ein paar code stellen umbauen musste damits klappt. Hier noch ein Screen :

user posted image


mfg ToeB

Netzwerk

Freitag, 9. Oktober 2009 von ToeB
So ich habe den netzwerkcode so eingebaut das alle derzeitigen Functionen (Fahren/Schießen/Punkte/Tode/LEBEN-TOD) im Netzwerk vorhanden sind. Local funtz es, im netzwerk gibt es irgentwie probleme. Der Server kickt nämlich alle Player die connecten... egal werd ich noch herausfinden.

Bots werden auch richtig angezeigt und berechnet, können nun auch wärend des Spielens wie ein Spieler hinzukommen...

mfg ToeB

Edit So Netzwerk funtz auch schon. Nun ist eingebaut :
Arrow Bots hinzufügen (Server)
Arrow Team Change
Arrow Punkte etc. werden übertragen
Arrow Sterben/Respawnen wird KOMLETT vom Server übernommen (sendet also eine Nachricht wenns soweit ist)

Schreibt mal bidde was Wink


mfg ToeB

Grundsätze

Donnerstag, 8. Oktober 2009 von ToeB
Also ich habe mein Spiel schon mal im WiP vorgestellt aber ich wollte auch einen Worklog einrichten um meine Fortschritte zu dokumentieren und um Aktuelle Screens und Downloads zu Posten.

Das Spiel PanzerWar (noch Projekt Titel) basiert auf dem beliebten Team-Deathmatch prinzip (alá CounterStrike). Man hat zwei Teams und es müssen Aufgaben erledigt werden. Diese Aufgabe(n) sind zum beispiel
Arrow Kontrollpunkte einnehmen
Arrow Basis verteidigen / zerstören
Arrow Capture The Flag
Arrow Anderes Team ausschalten
Arrow Auf zeit so viele Punkte wie möglich zu sammeln

Doch keine falschen hoffnungen, vieles davon ist noch nicht eingebaut =)

Es sollen auf verschiedene Panzertypen geben, extra dafür habe ich mir eine Scriptengine angefertigt, die Panzertypen aus einer Datei rausliest. So könnte die Datei aufgebaut sein :
Code: [AUSKLAPPEN]
Tiger.tanktyp = New tanktyp
Tiger\ImagePath$ = "Gfx\TANK_1.PNG"
Tiger\ImageTank = 31,32,33,17
Tiger\ImageWheel = 30,0,34,8
Tiger\ImageTower = 22,13,42,15

Tiger ist in dem Fall nicht nur eine Variable sondern auch der Name des Panzers wie er im Spiel angzeigt werden soll.

Eine Mapengine ist auch schon drinn nur kann sie noch relativ wenig ^^ :
Code: [AUSKLAPPEN]
MAP_NAME   = TestMap
MAP_FIELD  = -800,-600,1600,1200
SPAWN_RED  = -800,-600,1600,150,270
SPAWN_BLUE = -800,450,1600,150,90


Für die Panzer benutze ich meine PanzerPhysik aus dem Codearchiv, welche ganz simple functioniert. Als erstes besteht der panzer aus 4 Teilen. Erst die beiden Ketten, der panzer Selber und der Kanonenturm.
Jetzt hat jede Kette eine Geschwindigkeit und eine Beschleunigung und seperate x und y Koordinaten. Wenn man jetzt also Steuert können die Ketten nur vorwärts und rückwärts fahren - wie in echt. Jetzt kommt aber der Punkt : Ich verbinde die Ketten. Die Verbindung ist zwar nicht sichtbar aber sie ist da. wenn jetzt eine Kette sich von der anderen wegbewegt, dann werden sie beide zurückgesetzt, ähnlich wie beim Verlet verfahren. Nun muss nur noch der Winkel der Ketten angepasst werden, also winkel zwischen den beiden Ketten messen und in fahrtrichtung ausrichten. Dann muss der Panzer an sich genau mittig auf der unsichtbaren "VErbindung" gesetzt werden, natürlcih auch in Fahrtrichtung. Fertig. Jetzt nur noch die Kollision, welche auf einer einfachen Kreis/Kreis kollision basiert, also prüfen ob sich beide Kreise schneiden und einfach zurücksetzten. Dann kann man auch den anderen Panzer wegschieben (sieht lustig aus Wink )

Multiplayer ist auch schon drin obwohl ich extra für die Bots meine SimpleUDP erweitern musste. Dort kann der Server jetzt Locale Spieler hinzufügen, also Spieler die nur vom Server berechnet werden, wie z.b. in einem RPG die NPC's oder bei dem Spiel die BOTS die also keine eigene IP haben und dadurch keine daten empfangen können (können tun sie das schon aber es macht keinen sinn für jeden Bot auf dem Server einen Netzwerkspieler zu erstellen damit der Bot jetzt nachrichten an den Server sendet und umgekehrt.

Die Bots sind auch sehr weit, sie können sich zu einem Ziel bewegen und auf gegner Schießen. Intelligens oder ähnliches bzw. Taktische elemente haben die Bots noch nicht.

Eine ParticleEngine habe ich dafür auch geschrieben, da ich ja mit Draw3D arbeite war die Lib in 30 minuten fertig (haubtsächlich tests). Die Spuren sind keine particle sondern 3D Lininen (ich weiß ich werd noch ne bessere lösung finden =) )

Und für die die sich das mal angucken wollen (Zum Download der Demo aufs Bild klicken) :
user posted image

Viel Spaß und gebt fleißig kommentare Wink

mfg ToeB

Gehe zu Seite Zurück  1, 2, 3, 4