User Tag List

Ergebnis 1 bis 19 von 19

Thema: GTA2 Remake

  1. #1
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19

    GTA2 Remake

    So, ich mache jetzt hier auch mal einen Thread auf, in dem ich immer mal zeige, was bei meinem aktuellen GTA2-Remake so läuft.
    Habe gerade etwas zum Verkehr-System im Unrealforum gepostet und bin mal so frei, das auch hier einfach reinzukopieren
    Über Kommentare würd ich mich auf jeden Fall freuen

    Hey guys, sorry for letting you wait. Here some details about my current traffic system.

    1. The Vehicle
    The vehicles are quite simple, just Static Meshes being pushed by linear forces for acceleration/breaking and turned by torque. As long as the car is slower than the "allowed maxSpeed" more force is added.
    The vehicles are set up to follow a spline in that way that I have two waypoints that are always set in front of the car, directly on the spline. One of them is relatively close (600 units) and is used for calculating how much torque is needed. The second one is further ahead and is used for detecting if a sharp curve is ahead. The "allowed maxSpeed" is then decreased accordingly in order to avoid the cars to race through sharp corners^^

    Each car has an overlap box in front of itself that, if something overlaps, makes the car break. Furthermore the car stops if it overlaps with a trigger box at traffic lights.

    2. The Street system
    I think that might be the more interesting part.. I thought a lot of how to make the cars find their lanes and stick to them. Eventually I decided to put as much information as possible in the streets so that at runtime I dont need to perform a lot of calculations. My streets are not only static meshes but blueprint-components that include manually placed splines for each lane. Have a look on the following screenshot, showing the splines on the streets:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	1.jpg 
Hits:	18 
Größe:	200,0 KB 
ID:	7009

    It is only a bit of work to place these, since I can use them in a highly modular manner. And the usage is very simple: Each spline has only two points and the tangents are adjusted to have them follow the lanes in a smooth manner. The car will find its closest spline and then simply copy the positions and locations of the spline points to its own spline that is used for steering (more details below).

    Furthermore the street-blueprints generate VehicleSpawnLocations, you can see them on the screenshot as the dots on the lanes of the straight streets. I will come back to them later.

    3. Lane finding
    I needed to find a logic for the car for detecting on which lane it is and when to update the splines. That is actually quite easy:
    Whenever the car reaches the end of its current spline it performs an overlap check at the end of the spline for finding new splines that originate from there. Since I placed and aligned them manually in the BluePrint-editor that works quite nicely. If there are multiple splines possible from that point, one is selected randomly.
    For illustration, here are two sub-sequentially taken screenshots from a car driving approaching the intersection and then updates its own spline to match the predefined spline for a right turn:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	2.jpg 
Hits:	23 
Größe:	197,8 KB 
ID:	7010

    4. Blueprint Overview
    Here a quick overview over the vehicle's blueprint:

    Klicke auf die Grafik für eine größere Ansicht 

Name:	4.jpg 
Hits:	16 
Größe:	197,0 KB 
ID:	7011

    Let me walk you through by explaining what the individual functions do:
    Find and set spline: As described above, find splines that originate from position, select one randomly if multiple are available and update own spline accordingly.
    Is on current spline: Simply check if the vehicle is still not at the end of its own spline. If it reaches the end, "Is On Current Spline" is set to false.
    Get Current Speed: Just get the current linear velocity in km/h.
    Break: Decrease velocity and make car stop.
    Get Distance And Angle: I have to confess that at the moment I don't remember what distance is calculated... But within this function he definitely calculates the angles between car forward-vector and car-to-waypoint (to near and far waypoint).
    Set Waypoints: Both, far and near waypoint, are set to be in a certain distance to the car and directly on the spline.
    Get Current MaxSpeed: Depending on the angle to the far waypoint the currently allowed MaxSpeed is decreased.
    Perform Driving: Apply force and torque to the car, depending on current speed, currentMaxSpeed and AngleToWaypoint.

    I just realized again that the entire script is still a bit messed-up. It evolved through a lot of stages and now, that it appears to be working, I have to clean it up and organize it a bit better^^ And optimize it performance-wise. Currently all functions are performed each tick, but I can have some functions (is on current spline, get angle to waypoint, ...) be done only every fifth tick or so, I guess...

    Ah, and I should not forget...
    For spawning/deleting the ai_vehicles in the map I simply use a box that is attached to the player. The box tracks the number of cars within itself and also the overlapping SpawnPoints that I mentioned in the beginning.
    If the number of cars is less than a defined number, the script randomly selects a SpawningPoint and checks, if it is within the player view frustum. If not, it checks if something overlaps with it. If not, it spawns a car on that point.

    If you have any more questions, just let me know. Also, if you have comments or tipps, please let me know as well. Iam still in a steep learning curve



    Sooo, und hier nochmal kurz das Video dazu, was ich hier aber in einem anderen Thema schon kurz gezeigt hatte:


    Ich bin aktuell dabei, das Ein-Und-Aussteigen in und aus den Fahrzeugen zu realisieren. Sobald das einigermaßen klappt, zeige ich mal ein neues Video ;-)
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  2. #2
    Mapping-Profi Avatar von eMo
    Registriert seit
    10.12.2010
    Beiträge
    2.024
    Renommee-Modifikator
    21
    Schön
    Wie interpretierst du Schaden? Verlust von Maximalgeschwindigkeit und Optik oder was hast du diesbezüglich vor?
    Ein kreativer Geist findet immer eine Möglichkeit, sich auszuleben.

  3. #3
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Ja, das mit dem Schaden weiß ich noch nicht genau.
    Ich denke, dass ich Hitpoints abziehe, müsste mit dem eingebauten ImpactSystem eigentlich funktionieren, wie z.B. hier beschrieben.
    Bezüglich des Schadensmodells habe ich überlegt, vielleicht Blend-Materialien/Decals und den VertexOffset-Effekt zu nutzen. In diesem LiveStream zeigt einer, wie man damit eigentlich ganz coole Morph-Effekte bekommen kann. Aber da muss ich echt noch mit spielen, habe noch nicht damit angefangen.
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  4. #4
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Kurzes Update: Ich bin gerade dabei, das Ein- und Aussteigen in und aus Autos zu realisieren und es klappt sogar schon halbwegs O.O
    Ich hoffe, da bald nochmal ein Video machen zu können
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  5. #5
    Moderator Avatar von Campeòn
    Registriert seit
    20.06.2010
    Ort
    Bielefeld
    Beiträge
    2.204
    Blog-Einträge
    1
    Renommee-Modifikator
    22
    Uh, da bin ich mal drauf gespannt! Gibt's eigentlich auch schon Animationen für den Spielcharakter?
    Because we do not know when we will die, we get to think of life as an inexhaustible well, and yet everything happens only a certain number of times ... And a very small number really. How many more times will you remember a certain afternoon of your childhood ... an afternoon that is so deeply a part of your being that you can't even conceive of your life without it? Perhaps four or five times more. Perhaps not even that. How many more times will you watch the full moon rise? Perhaps 20. And yet it all seems limitless.

  6. #6
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Jain - also keine selbstgemachten Ich habe mich jetzt aus dem Standardcontent bedient und gucke mal, wie weit ich damit komme. Habe auch immer noch ne 30 € Gutschrift für den Marketplace und werde mir notfalls dort noch was besorgen. Animationen selbst erstellen lag mir nämlich noch nie

    Ich muss jetzt aber auch erstmal noch mindestens einen weiteren Fahrzeugtyp erstellen (ein Bus oder Eiswagen oder so), und gucken, dass ich zum Einen die gut zufällig gespawned bekomme und dann auch beim Einsteigen in ein AI-Fahrzeug das so hinbekomme, dass er den richtigen Pawn spawned. Habe aber schon einen Plan, wie das gehen müsste^^
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  7. #7
    Mapping-Profi Avatar von eXi
    Registriert seit
    21.06.2010
    Ort
    Krefeld
    Alter
    27
    Beiträge
    2.554
    Renommee-Modifikator
    28
    Zitat Zitat von Josch Beitrag anzeigen
    Jain - also keine selbstgemachten Ich habe mich jetzt aus dem Standardcontent bedient und gucke mal, wie weit ich damit komme. Habe auch immer noch ne 30 € Gutschrift für den Marketplace und werde mir notfalls dort noch was besorgen. Animationen selbst erstellen lag mir nämlich noch nie

    Ich muss jetzt aber auch erstmal noch mindestens einen weiteren Fahrzeugtyp erstellen (ein Bus oder Eiswagen oder so), und gucken, dass ich zum Einen die gut zufällig gespawned bekomme und dann auch beim Einsteigen in ein AI-Fahrzeug das so hinbekomme, dass er den richtigen Pawn spawned. Habe aber schon einen Plan, wie das gehen müsste^^
    Denk dran, wenn irgendwas wirklich nicht klappt (coding mäßig), einfach fragen.
    Ich guck hier leider selten rein, deshalb wäre Discord/Twitter besser.

    Ich lass nochmal beide links da:

    https://twitter.com/exifrexi

    http://unrealslackers.org/

  8. #8
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Es gibt mal wieder ein bisschen was Neues
    Kosmetisch wurden nur zwei Platzhalter-Meshes für ein Straßenauto und einen Eiswagen hinzugefügt. Unter der Haube ist aber recht viel passiert:



    Der VehicleSpawner aus dem letzten Video heftet jetzt am Spieler und spawnt Autos aus verschiedenen Kategorien (Straßen-, Sportautos, Trucks, etc). Als Spieler kann man in parkende oder fahrende Fahrzeuge ein- und aussteigen.
    Das ganze muss noch optimiert und angepasst werden, aber generell bin ich froh, dass es prinzipiell funktioniert

    PS: Ich werde es auch bei Twitter posten
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  9. #9
    Mapping-Profi Avatar von eMo
    Registriert seit
    10.12.2010
    Beiträge
    2.024
    Renommee-Modifikator
    21
    Gefällt gut, deine Autos scheinen nur etwas eirig zu laufen. Hast du darüber nachgedacht, eine Art steife Steuerung zu nutzen?
    Ein kreativer Geist findet immer eine Möglichkeit, sich auszuleben.

  10. #10
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Meinst du die KI-Fahrzeuge oder das, was man selber steuert?
    Das Fahrverhalten der Autos, die man selbst fährt, ist noch nicht final, da muss ich noch optimieren.
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  11. #11
    Mapping-Profi Avatar von eMo
    Registriert seit
    10.12.2010
    Beiträge
    2.024
    Renommee-Modifikator
    21
    Die eigene Fahrphysik, AI war ja schon auf dem Video gut
    Ein kreativer Geist findet immer eine Möglichkeit, sich auszuleben.

  12. #12
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Ja, da muss ich noch dran schrauben. Im Original GTA2 ist ja auch drin, dass die Autos quasi an die Richtung der Fahrspur "einrasten". Das hatte ich schonmal implementiert, als ich das Fahrsystem aber noch nicht wirklich "physikalisch" hatte und muss es jetzt nochmal einbauen. Das hilft auf jeden Fall sehr beim Steuern. Beim designen des AI-Fahrverhaltens habe ich auch noch ein paar Tricks gelernt, wie man das alles optimieren kann. Gerade so Parameter wie grip oder "AngularDamping" muss man u.U. echt geschwindigkeitsabhängig machen, sonst bekommt man das nicht vernünftig hin...

    Aktuell bin ich aber dabei, erstmal alle wichtigen Features so einigermaßen grob einzubauen, damit ich eventuelle dramatische Schwierigkeiten gleich erkenne und mich nicht beim Optimieren "einacher" Dinge ewig verzettele. Aktuell implementiere ich ein Health-System für die Fahrzeuge, damit man eben auch Schaden bekommt und die dann irgendwann fröhlich in Flammen aufgehen und explodieren. Danach muss ich mich leider an das Multiplayer-System machen *schluck*
    DANN nehme ich mir vor, das, was bisher da ist, etwas weiter zu optimieren und dann kommt noch ein sehr großer Baustein, der mir noch etwas Sorgen macht: Die Passanten, die rumlaufen.
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  13. #13
    Moderator Avatar von Campeòn
    Registriert seit
    20.06.2010
    Ort
    Bielefeld
    Beiträge
    2.204
    Blog-Einträge
    1
    Renommee-Modifikator
    22
    Sehr cool!

    Ich würde das herauszoomen der Kamera noch langsamer machen, sonst sieht das schon sehr GTA2 mäßig aus. Bin in einem Monat mit meinen Uni Projekten durch, dann komme ich vielleicht auch ma dazu dir zu helfen.
    Because we do not know when we will die, we get to think of life as an inexhaustible well, and yet everything happens only a certain number of times ... And a very small number really. How many more times will you remember a certain afternoon of your childhood ... an afternoon that is so deeply a part of your being that you can't even conceive of your life without it? Perhaps four or five times more. Perhaps not even that. How many more times will you watch the full moon rise? Perhaps 20. And yet it all seems limitless.

  14. #14
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Ja, das sind alles Dinge, die noch optimiert werden müssen. Wie gesagt, ich implementiere erstmal alles so einigermaßen, damit ich weiß, wo noch große Baustellen sind. Das ganze Rumgeoptimiere kommt dann ;-)
    Klar, wenn du dann Zeit hast, gib Bescheid!
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  15. #15
    Neues Mitglied Avatar von sterker
    Registriert seit
    05.09.2017
    Ort
    Kaltennordheim
    Alter
    34
    Beiträge
    1
    Renommee-Modifikator
    0
    Ich finde Dein Schaffen absolut cool! Prima gemacht
    Freude ist Speise, die sättigt, Lust ein Tropfen, der den Durst nicht stillt.

  16. #16
    Foreninventar Avatar von Gu4rdi4n
    Registriert seit
    18.06.2010
    Alter
    31
    Beiträge
    1.693
    Renommee-Modifikator
    19
    hast du das Projekt nur hier aufgelistet oder hast du ne separate seite auch noch?

  17. #17
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Nee, ne richtige Webseite habe ich nicht. Ich poste immer hier, auf Twitter und habe noch jeweils einen Thread im Unreal-Forum und in einem GTA-Forum
    Außerdem habe ich eine Aufgabenübersicht bei Hacknplan, wo man den Status mitverfolgen kann ;-)
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

  18. #18
    Foreninventar Avatar von Gu4rdi4n
    Registriert seit
    18.06.2010
    Alter
    31
    Beiträge
    1.693
    Renommee-Modifikator
    19
    Poste mal n paar links

  19. #19
    Stammgast Avatar von Josch
    Registriert seit
    19.06.2010
    Ort
    Dresden, Wunschheimat: Padua
    Beiträge
    1.323
    Renommee-Modifikator
    19
    Na gerne doch:


    Nee, Spaß beiseite...:
    Unreal-Forum
    GTA-Forum

    Hacknplan war ja im letzten Post schon ein Link, das ist für "Entwickler" wahrscheinlich noch das Interessanteste ;-)
    Nur Puffin schenkt mir die Kraft und Ausdauer, die ich brauche!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
[email protected]