Beiträge von schadowhunter

    Moin!


    Kurze allgemeine Frage: Gibt es einen Konsens, wie man AI Wegfindung am Besten im dreidimensionalen Raum realisiert?


    Der normale Navmesh ist ja eine zweidimensionale Ebene, ich hätte das ganze gerne im freien Raum, z.B. fliegende Vögel in einem Luftbereich oder Fische in einem Gewässer.


    Früher habe ich mal Don's 3D Pathfinding genutzt, aber das scheint nicht mehr aktualisiert zu werden...


    https://marketplace-website-no…finding-flying-ai/reviews


    Wie geht man das aktuell am Besten an?

    Tja, das war ein nerviger Sonntag.


    Ich hatte ein ziemlich gravierendes Problem, welches ich nur deshalb hatte, weil ich vorher nicht vernünftig mitgedacht hatte.


    Im Wesentlichen: Ich hatte bisher immer nur einen Spawnpunkt pro Map. Natürlich wollte ich aber Maps mit 2, 3 eventuell noch mehr Spawnpunkten haben.


    Ich hatte nun mit viel Mühe ein ziemlich komplexes System gebaut, welches dem Spawner mitteilt, auf welcher Welle er in welcher Reihenfolge welche Mobtypen spawnen soll. Das System war aber überhaupt nicht darauf ausgelegt, dass möglicherweise zwei oder mehr Spawnpunkte zeitgleich verschiedene Sachen tun sollen.


    (Beispiel:) Ich wollte gerne einstellen können:


    Welle 4

    Spawner 1: 16 normale Zombies, 4 dicke Zombies, 2 kleine Zombies dann wieder 12 normale Zombies

    Spawner 2: diese Welle inaktiv

    Spawner 3: 22 normale Zombies, 4 Feuerzombies, 10 normale Zombies, 4 dicke Zombies

    ...usw...



    Ich hab ewig herum gedoktort und es hat nicht funktioniert und jetzt habe ich im Grunde die komplette Spawnmechanik von 0 auf neu gemacht / machen müssen.


    Es funktioniert jetzt auch alles genau so wie es soll. Aber diese triviale Szene (Spawner links spawned was anderes als Spawner rechts) hat mich im Grunde einen 5-6 Stunden Arbeit gekostet.




    Es zeigt einfach mal wieder, wie wichtig es ist, sich von Anfang an genau zu überlegen, was ein System können/leisten soll. Es ist einfach kompletter Abf***, wenn man alles wieder über den Haufen werfen muss... :cursing:

    Soweit ich weiß, befinden sich Widgets in Actors immer "hinter" den normalen UI Widgets. Weil die ja per AddtoViewport direkt vor die Kamera gelegt werden und alle actors dann notwendigerweise dahinter sind.


    Ich würde glaube ich nach einem Weg suchen, die Widgets nicht im Actor haben zu müssen, sondern mit den anderen Widgets zusammen zu legen, damit die normale Z order wieder greift.

    Übrigens ärgert mich das "Geschäftsmodell" von Epic hier auch ein bisschen, weil es das "Problem" meiner Meinung nach verschlimmert.


    Der Marketplace ist voller Assets Packs, die suggerieren "hier, kauf das und dann kannst du es nutzen". Und Epic bewirbt die teilweise relativ aggressiv (logisch, da sie mitverdienen).


    Im Extremfall kommt ein Anfänger um die Ecke, der klickt sich durch den Shop und schreibt sich eine "Einkaufsliste" à la


    1. "RPG Inventar-System Super-Cool"
    2. "Asset Pack Mittelalterliche Stadt, 5 Millionen Polygone"
    3. "X's supercooles Shop-System"
    4. "Animiertes Drachen Modell + Rig"
    5. "62 animierte Fantasy-Kreaturen + Materials"
    6. "Y's 'besser als alle anderen' Combat System (Magiesystem bitte extra kaufen!)"

    Schwupps liegen mehrere hundert Euro auf dem Tisch. Und der arme Boy denkt sich dann "alles klar, jetzt kann ich im Alleingang Skyrim nachbauen, nur besser." Frustration und Resignation sind vorprogrammiert.


    Also nicht falsch verstehen, es gibt im Marketplace einen Haufen toller und auch hilfreicher Angebote. Aber auch viel Schrott, viel Bloatware, vieles was für 99% der Projekte völlig überdimensioniert ist und vor allem auch vieles, was miteinander gar nicht (so einfach) kompatibel ist.

    Da stimme ich zu. Aber (potentiell) sehr teure Hobbies sollte man langsam und in kleinen, wohlüberlegten Schritten angehen.


    Wenn ich glaube, dass mir Reiten Spaß machen könnte, dann kaufe ich nicht an Tag 1 eine Weide+Stall und ein Tunierpferd. Ich reite erstmal Probe, trete evtl. einem verein bei, mache ein paar Kurse, zahle dann für eine Reitbeteiligung, mache weitere Kurs, wenn ich nach einem Jahr immer noch Spaß dran habe, dann überlege ich mir langsam, ob ein eigenes Pferd in Frage kommt. Und dann wähle ich etwas robustes, anfängerfreundliches im moderaten Preisbereich. Und ich versuche nicht, auf einem 50.000€ Dressurpferd reiten zu lernen. Ich reite erstmal auf der Wiede im Kreis, bevor ich ins Gelände gehe, ich lerne Bodenarbeit, bevor ich mich an Disziplinen wie military/Vielseitigkeit probiere. Und so weiter.


    Du hast ja garantiert deine Snowboard-Ausrüstung auch nach und nach gekauft und die am Anfang ein Snowboard geliehen. Und nicht gedacht "Oh, Snowboarding gefällt mir glaube ich, kaufe ich mal für 3000€ Equipment".


    Ähnlich sehe ich es im Game Design. Ich würde erstmal im kostenlosen bzw. niedrigpreisigen Bereich ein einigermaßen vernünftiges Spiel erstellen, bevor ich potentiell viele hundert € in Sachen reinpumpe, die ich weder bedienen kann noch am Ende brauche.


    Das gilt im übrigen auch insbesondere für asset Packs, wenn ich sehe, wie viele Leute viel zu viel Geld im Marketplace ausgeben, lange bevor sie die Basics verstanden haben, dann dreht sich mir der Magen um.

    Das ist imho eine reine Kostenfrage, das muss man aus betriebswirtschaftlicher Sicht sehen.


    Angenommen, du musst ZBrush erst erlernen und dann noch dein Spiel entwickeln. Wie lange dauert das? Wenn pro Monat 40€ Lizenzgebühren für ZBrush anfallen, lange bevor dein Projekt veröffentlichbar ist, dann kannst du gegenrechnen, wie viel Geld du einnehmen musst, um allein die ZBrush Kosten reinzuholen.


    Allein deshalb würde ich grade im Indie- und Privatbereich immer bei kostenlosen Tools bleiben.


    Natürlich kann man sich den Industriestandard angucken, was die für Tools verwenden. Was kommt als nächstes? Houdini (Indie) 270€ im Jahr. Wo wir schon dabei sind: MVN Animate zum motion capturing. Und so weiter. Geld kann man schnell ganz viel ausgeben. Der Trick ist, am Ende Geld zu verdienen.

    So, ging (viel) schneller als erwartet: Das "Falleninventar" ist fertig.


    Das Falleninventar ist im Grunde eine Menüseite, auf welcher der Spieler sich entscheidet, welche Fallen er mitnimmt in ein Level.


    Im oberen Bereich werden alle verfügbaren (=mit Skillpunkten freigeschalteten) Fallen angezeigt. Im unteren Bereich sind 5 Slots, die der Spieler per drag&drop beliebig mit Fallen füllen kann (Die Zahl 5 ist dabei grade völlig beliebig, könnten später auch 6, 7, 8 oder sonst wie viele werden. Möglich wäre auch eine Verknüpfung mit dem Skilltree: Spieler starten mit 5 Slots und können weitere Slots freischalten um so mehr Fallentypen ins Level "mitnehmen" zu können.


    Das heißt, der Spieler hat niemals alle Fallen zur Auswahl (wäre ja langweilig).


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Die letzten Tage habe ich mit Quixel Mixer herumgespielt.


    Ich bin relativ begeistert, was das Tool alles kann. Ich habe gleich mal zwei neue Texturen erstellt, eine Art Kopfsteinpflaster für den Boden und ein paar "altbackene" Mauersteine.


    Das ganze Level wirkt gleich ganz anders, finde ich (hab versucht den selben Winkel zu treffen wie im vorherigen Screenshot).


    Ich habe die Zombiemenge mal getestet und gleich etwas optimiert.


    Größter "Gewinn" ist offensichtlich immer das Reduzieren das attentuation radius der Lichter, insbesondere der Straßenlaternen. Die habe ich halbiert (von 2500 auf 1500) und man bemerkt es optisch kaum, spart aber teilweise über 1000 Draw Calls.


    Ich habe mir mal eine komplizierte Szene gesucht. Map Brücke, man guckt runter und sieht jede Menge Lichter und einen Großteil des Levels.


    Ich bin bei ~90FPS gestartet und der Punkt, wo ich unter 30 FPS gedroppt bin, lag bei circa 160 Zombies im Level.


    Bei 200 Zombies im Level (das ist aktuell das größte, was "möglich" ist; es bedeutet, dass auf der größten Map bei längst möglichem Weg die komplette Lane von Spawner bis zum Herz voll steht) habe ich 26 FPS und 3,2k Draw Calls.



    Alle 200 Zombies haben hier einen eigenen Schatten. Da ist also noch Luft nach oben.

    Sooo ich habe die komplette Fallenmechanik neu gemacht (wir sind mittlerweile beim 3. Komplett-Rework).


    Alle Daten, die die Fallen unterscheiden, bis hin zur Farbe der Schadenszahlen, werden jetzt (wie wir es diskutiert hatten) aus einem Datatable geladen.


    So ist alles schön übersichtlich an einem Ort und ich kann in Zukunft das komplette Balancing aus einer Tabelle erledigen.



    Außerdem gibt es jetzt auch die "Arkanfalle". Mit Abstand die teuerste Falle, hat eine sehr lange Nachladezeit aber hat dann 5 Ladungen à 50 Schaden.


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Also grundsätzlich finde ich "alle machen X" bzw. Whataboutism à la "Aber was ist der Geschäftspraktik von Firma Y" oder "Firma Z macht es auch" kein gutes Argument.


    Ich stimme Dir zu, dass Apple mitnichten die einzige Firma ist, die fragwürdige Geschäftspraktiken an den Tag legt. Und ich sehe auch keinen Grund, Apple als alleiniges "Problem" hinzustellen. Aber Apple ist halt ein Extrembeispiel (im negativen Sinne) und steht symbolisch für ein Problem, dass mal ganz allgemein und alle Firmen betreffend dringend angegangen und reguliert werden sollte.


    In anderen Bereichen ist das übrigens üblich: schönes Beispiel sind Parkgebühren. Da regelt der Gesetzgeber z.B. in Bayern ganz klar: Höchstens 50 Cent pro Halbe Stunde, bei "besonderem Parkdruck" höchstens 1,30€ pro halbe Stunde. Damit eben nicht eine Firma alle Parkhäuser aufkaufen kann und dann sagen kann "Tja, uns gehören alle Parkplätze, die kosten jetzt 10€ die Stunde".


    Und eine ähnliche Regel wünsche ich mir europaweit auch für digitale Plattformen. "Transaktionsgebühren die an die Plattformbetreiber abgeführt werden, dürfen 3% nicht übersteigen." Schluss mit 30% und zwar bei Steam, Apple und insgesamt.

    Das ganze ist aber bei den Stores von Google, Sony, Microsoft etc nicht anders. Gerade bei kostenloses apps ist doch der in-app purchase die einzige EInnahmequelle der Plattformen, wie soll das wegfallen? Dann können die praktisch dicht machen weil die gar nix mehr einnehmen.

    Es ist bei diesen Firmen schon anders.


    Bei Google (Android) oder Microsoft (Windows) werden Nutzer und Entwickler nicht von der Firma gezwungen, den Store zu nutzen. Der Store ist zwar vorhanden, aber die Nutzung optional.


    Ich kann hier sofort eine .exe oder eine .apk Datei hochladen und jeder kann sie runterladen und nutzen. Und wenn ich in mein Programm oder in meine App eine Form von Bezahlsystem einbaue, dann gehen 100% der Erlöse an mich (abgesehen von Steuern obviously).


    Google besitzt zwar den Playstore, aber ich muss ihn nicht nutzen (weder als Nutzer noch als Entwickler). Wenn ich als Entwickler sage "Das ist es mir nicht wert, 30% der Erlöse an Google abzutreten", dann lasse ich es eben. Genauso wie mich Microsoft nicht "zwingt" den xBox Store zu nutzen oder mich am PC niemand "zwingt" eine Plattform wie Steam oder o.Ä. zu nutzen. Es mag im Einzelfall marketingstrategisch sinnvoll sein, das zu tun, aber der Punkt ist, es ist als Entwickler meine freie Entscheidung.


    Und genau das ist bei Apple anders. Apple zwingt mich, ihren Store zu nutzen und ihr Bezahlsystem. Ich kann meine Dateien nicht ohne den Store zum Download anbieten und ich kann auch nicht ein anderes Bezahlsystem nutzen, als das von Apple vorgeschriebene.



    Also es geht mir grade nicht um eine Bewertung der Praktiken, sondern nur um die simple Feststellung, dass das was Apple macht eine andere Qualität hat, als das was Microsoft und Google machen.

    Am Ende des Tages ist es sowieso müßig, sich als einzelner Konsument über sowas zu ärgern oder aufzuregen.


    Ich habe Apple, Google und Tencent alle drei im Depot, insofern sehe ich mich da am Ende als Gewinner, egal wer diesen Prozess gewinnt oder sein Geschäftsmodell durchsetzt. Ob Aktie A oder B steigt, ist relativ egal.


    Wie gesagt, es würde mir im Traum nicht einfallen, selber ein Apple-Produkt zu kaufen; aber das schöne ist, es reicht ja zum Geld verdienen, wenn andere es tun.

    Okay Danke Dir!


    Ich bin den Actor jetzt Stück für Stück durchgegangen und hab alle Komponenten mal deaktiviert.


    Der Übeltäter war das PointLight mit einem viel zu hohen Attentuation Radius.


    Ich nehme mal an, da das Level aus Tiles besteht, hat er für alle Tiles im Radius die Schatten immer neu berechnet. Bei doppelt so vielen Fallen komme ich jetzt nur noch auf knapp über 1000 Draw Calls und falle auch nicht mehr unter 45 FPS.



    Vielen Dank Dir Euch!

    Hi zusammen!


    Ich habe aktuell in meinem Projekt ein Performance-Problem, welches ich nicht diagnostiziert bekomme.


    Folgende Szene, Problem ist das Feuerfeld.




    Es sind 28 Feuerfelder.


    • wenn ich im Editor Spiele, drücken diese 28 Fallen allein die Performance von 60 auf ~30 FPS. Das allein ist schon ein komplett inakzeptabler Wert, aber wenn ich das Spiel packe (Windows) wird es noch schlimmer:
    • im kompilierten Spiel droppe ich (exakt selbe Szene) von ~50 auf ~12-13 (!!!) FPS

    Anscheinend sind das Problem absurd viele Draw Calls:



    Ich gehe, wenn ich die Fallen baue, von ~1000 hoch auf 2.700 Draw Calls, also kostet mich jede der Fallen im Schnitt 60 Draw Calls. Aber ich verstehe nicht warum.


    Hat jemand eine Idee, wo ich nachschauen muss?

    Ich finde man muss Google und Apple da auch getrennt betrachten, denn die Problematiken sind ja verschieden.


    Bei Google ist niemand gezwungen, den Play Store zu nutzen, es gibt zig Alternativen und im Zweifelsfall installiert man sich eine App halt manuell über eine .apk.


    Bei Apple hingegen muss man über den App Store gehen. Anders kann man keine App installieren (es sei denn, das Gerät ist gejailbreaked). Wenn Apple eine App aus dem Store schmeißt, kann man sie de facto nicht mehr (legal) auf einem Apple-Gerät genutzt werden. Insofern bedeutet der Rauswurf bei Apple, dass kein Apple-User mehr legal Fortnite spielen kann, während Android-Nutzer sich das Spiel immer noch manuell installieren können.


    Insofern ist das, was Apple macht, viel übler, als das was Google macht. Apple maßt sich an, seinen Kunden vorzuschreiben, was sie auf ihrem Handy spielen/installieren dürfen. Lasst euch das mal auf der Zunge zergehen, da bezahlen Leute viele hundert € für ein Gerät. Und nach dem Kauf können sie nicht machen, was sie wollen, sondern sind auf Apples Vorgaben beschränkt.


    Das ist, als wenn BMW sagen würde "Toll, dass du von uns ein teures Auto gekauft hast. Jetzt glaub aber nicht, dass du damit lang fahren kannst, wo du willst. Die Autobahn A7 und A2 sind tabu und nach Holland darfst du auch nicht fahren. Tanken darfst du nur bei Aral.".


    Bei solchen Debatten frage ich mich immer wieder, wer so bescheuert ist, Apple Produkte zu kaufen.

    Man muss bei Fragen der Optimierung auch bedenken, dass ein Großteil der potentiellen Käufer nicht in einer Erste-Welt-Industrienation wie Deutschland lebt.


    In einem Q&A zu World of Tanks hat ein Entwickler das Problem vor Jahren mal auf den Punkt gebracht. Da fragte ein Spieler in etwa: "Warum bringt ihr nicht top moderne Grafik?" und der Entwickler antwortete "Weil wir dann 80% unserer Playerbase verlieren die irgendwo in Russland auf einem Taschenrechner spielt".


    Tolle Grafik ist natürlich ein Hingucker, aber die Realität ist, viele Spieler spielen auf sehr, sehr schlechter Hardware. Das ist der Grund, warum viele Massenprodukte auf "Comicgrafik" setzen. Weil man die einigermaßen hübsch auf schlechter Hardware zum laufen kriegt. LoL ist ein schönes Beispiel. Klar könnten die Highend-Grafik bringen. Doch ist das wirtschaftlich sinnvoll? Klares Nein.


    Wer in der breite Käufer finden will, darf an Hardware maximal einen PC der unteren Mittelklasse voraussetzen. Über 4K brauchen wir da überhaupt nicht reden.

    Heute habe ich außerdem noch eigene Button gemalt.



    Ich hab für die ganze UI noch keinen genauen "Stil" gefunden. So bin ich aber für den Moment ganz zufrieden (alles ist besser als die grauen Standard-Klötze:D), die Buttons wirken finde ich ein bisschen Antik und passen zu einem historischen Setting, sind aber trotzdem gut lesbar und nicht "altbacken". Es gibt jeweils einen Hover Effekt, hier grade bei "Optionen" sichtbar (der weiße Rand).


    Und wo ich schon dabei war, habe ich auch die ersten beiden Soundeffekte integriert, einen button_hover und einen button_klick Sound. *yey*


    Bei sowas fällt mir immer auf, was für einen Unterschied doch Kleinigkeiten machen. Obwohl es im Grunde eine reine "Fleißarbeit" war, hat es das Projekt gefühlt eine ganze Ecke nach vorn gebracht.


    Das Hauptmenü ist nun mal das erste, was Spieler sehen und ich finde es nicht verkehrt, das im Rahmen des Möglichen ein bisschen hübsch zu machen und vernünftig zu durchdenken.


    (A propos durchdenken: Die Dropdown-Box zur Levelauswahl ist natürlich ein Platzhalter!)

    Außerdem kann man (im Baumodus) schon gebaute Fallen jetzt auch wieder verkaufen und kriegt dann 50% der Baukosten erstattet.


    Das war so ein Feature, wo von Anfang an klar war, dass ich es einbauen muss, was auch prinzipiell einfach einzubauen ist, aber was ich trotzdem "aus Unlust" ewig vor mir her geschoben habe. Naja, jetzt funktioniert es jedenfalls!