Beiträge von Bibo

    Guten Tag zusammen,


    ich Spiele derzeit Deep Rock Galactic Survivor. Tolles Spiel. Erstellt wurde der Titel mit der Unreal Engine.

    Nun zu meiner Frage: Wie macht man so ein Spiel?


    Wenn ich versuche ein Spiel wie dieses zu machen(in 3D), brauche ich ziemlich viele Gegner auf einmal. Ich danke so ca. 1000. Wenn ich das ganz normal mittels Character- Klasse machen bricht meine Framerate bereits bei weniger als 100 Charakteren stark ein. (Ryzen 5 3600 und Geforce 3080)


    Wie gehe ich dieses Problem am besten an? Ist der Character die richtige Klasse hierfür? Theoretisch reicht auch ein Pawn mit 3 simplen animationen. (Idle, Walk, Attack). Aber von 1000 Einheiten bin ich trotzdem weit entfernt.

    Bin ich dazu verdammt C++ zu lernen und würde dies das Problem lösen?

    Unity hat für solche fälle Dots und ECS. Leider finde ich hierzu keine guten Informationen was die UE angeht.


    Ich danke schon einmal im Voraus für eure Ideen.

    Moin, habe etwas herumprobiert. Wenn ich einen Parent mit einer PRIVATE - Variable erstelle (ich nutze Blueprint und nicht CPP), wird diese nicht im Child angezeigt und kann dementspechend nicht ohne weiteres verändert werden.


    Im Parent lasse ich den Wert der Variable via Print ausgeben. Diese Funktion übernimmt dementsprechend auch das Child. Der Wert der Variable wird also auch im Child via Print ausgegeben, ist also dementsprechend vorhanden, nur halt nicht zugänglich.


    Ich hoffe das hilft dir weiter

    Guten Tag zusammen,


    ich stehe wieder mal vor einem Problem. In meinem ARPG- Projekt kann man, wer hätte es gedacht, Waffen aufsammeln.


    Jetzt gibt es hierbei mehrere Möglichkeiten und zu jeder habe ich ein Tutorial- Video gefunden, habe aber keine Ahnung was die beste/performancesparenste Möglichkeit darstellt.


    Möglichkeit 1:

    Ein Actor mit allen Variable und Funktionen. Dieser wird via Attach an den Spiele gepackt und mittels Funktion, die auf dem Waffenactor selbst liegen "benutzt". Also Variablen, spezielle Funktionen wie Sound- oder Visuelle- Effekte.

    Hier ist das Problem, dass ich für alles auf den Actor zugreifen muss. Also die Berechnung des Schadens, Boni, etc. Außerdem muss immer der Collider und die Physik umgestellt werden.


    Möglichkeit 2:

    Ich bauen einen Dummy-Actor der nur ein Model für die Optik und die Information für einen Data-Table hat. Lasse beim Aufheben die Informationen an den Playercharacter senden und Spawne wieder ein optisches Modell. Die Funktionen liegen dann auf dem Spieler Allerdings wird es dann schnell unübersichtlich wenn es um spezielle Waffeneigentschaften (Aufladen eines Schusses) geht. Das würde, so schätze ich, Perfomance sparen, wenn nicht das "richtige" Item/Waffe im Level liegt.


    Wie geht ihr an die Sache ran, bzw. was habt ihr für Erfahrungen gemacht?

    Für alle interessente: Hier ist meine, zugegeben, unfertige Lösung.


    Ich nehme ein Grid/Raster. Das erstelle ich folgendermaßen:

    Hit Result Under Mouse Cursor -> Damit bekomme ich die Cursorposition. Mit der Node 2D Grid Exectuion Macro lasse ich nun 5x5 Punkte in einem Grid rund um die Cursorposition erstellen. Wenn hierbei der Sector Size groß genug gewählt wird, können die Einheiten ohne Probleme sich aneinander vorbei bewegen ohne sich gegenseitig zu "schieben". Die Positionen speichere ich als Vector Array und zwar nur so viele, wie ich Einheiten ausgewählt habe. Noch ein For Each Loop hinterher mit dem ich jeder Einheit eine Position aus dem Vector Array zuweise und Fertig.


    Problem bislang ist, dass RVOAvoidance zusammen mit IA Controller Class Detour Crowd nicht wirklich funktionieren wollen. Die Units "schlittern" dann gerne mal am Zielpunkt vorbei.


    Nächster Schritt: Aktuell nehme ich die Positionen aus dem Vector Array und lasse dort, bevor sich die Einheiten in Bewegung setzen, Cubes spawnen. Diese sollen später dann erste mal prüfen ob sich dort bereits Einheiten oder Gegner befinden. Während ich gerade schreibe kommt mir die Idee, vielleicht doch besser auf SphereTrace umzusteigen.


    Aber so habe ich bislang das beste Ergebnis.

    Guten Tag zusammen,


    ich probiere mich gerade in Genre der Echtzeit-Strategie aus. Soweit läuft alles. Jetzt habe ich nur das Problem, dass alle, sagen wir mal, 20 Einheiten zu der Position laufen, an welcher ich mit meinem Maus-Cursor geklickt habe. Eigentlich gut so, jedoch kann bei dieser Anzahl an Einheiten nicht jeden den von mir gesetzten Zielpunkt erreichen. Dementsprechend bleiben die Einheiten nicht am Zielpunkt stehen, sondern schieben und "drängeln" sich gegenseitig und das unentwegt.


    Wie umgehe ich dieses Problem?

    Danke euch schon mal im Voraus.

    Erstmal Danke für deine Ideen.

    Ich denke beide Varianten, Linetrace und Collider in einem großen Collider sollten eigentlich gehen. Evtl. Sogar eine Kombination aus beiden. Wird die Praxis zeigen.

    Auch sollte ein Gridsystem funktionieren, da jedes Spielfeldteil an sich identisch groß ist.

    Jetzt muss ich das nurboch hinbekommen mit der ausgestaltung der Spielfelder.

    Zwar könnte ich die zu Beginn jedes Spiels mittels Array spawnen lassen, jedoch wird das dann echt ätzend mit der Fehlersuche, weil ich dazu immer im laufenden Spiel sein muss.

    Gibt es die Möglichkeit dies bereits im editor zu erschaffen? Also 2D Grid mit den gespawnten Spielfeldern?

    Hallöchen,


    anderes Genre, neu Probleme.

    Ich habe mich mal gedanklich an ein Tabletop gewagt.

    Auf dem Angehängten Bild kann man zwei Teile des Spielfeldes erkennen. Diese sind blau und rot umrandet. Diese sind nur beispielhaft für das Problem.

    In dem Spiel kann jeder, natürlich der Reihe nach, seine Spielfigur bewegen. Immer nur ein Feld nach dem anderen. Wären die Felder immer gleich groß, könnte man ganz einfach die einzelnen Levelteile via 2D-Array in einem Grid spawnen lassen.

    Jetzt sind aber auf jedem großen Feld noch zusätzliche Räume. Je nach Feld liegen die an verschiedenen Positionen und sind auch unterschiedlich groß.

    Die kleinen Räume an sich sind aber fest auf dem großen Feld!

    Betrachtet man beide großen Felder, kann man Zebra-Streifen auf den Straßen erkennen. Diese grenzen auch ein Feld ab. Problematik hier ist, dass mehrere große Felder zusammen ein Feld ergeben, auf welchem der Spieler seine Figur platzieren kann. Ich hoffe das ist einigermaßen verständlich.


    Deswegen kann ich die Nummer mit dem Grid vergessen.


    Aus diesem Grund habe ich mir überlegt, das Level an sich ganz normal im Editor zu Bauen. An den Stellen wo die einzelnen Felder sind, an welchen die Spielfiguren platziert werden können, bzw zu welchen man seine Figur verschieben kann, würde ich einfach Collision Boxen einfügen. Einfach als Actor und dann vier Linetrace dazu. Für jede Richtung einen.

    Der Gedanke dahinter ist, dass zu Beginn jeder Phase durch die Collisionbox erkannt wird, wo der am Zug befindliche Spieler ist, es gibt kurz einen Linetrace in jede Richtung und die Nachbarfelder werden "aktiviert". Das Verschieben der Spielfigur ist dann möglich.


    Allerding wird das echt ätzen, da ich dann wirklich jedes Szenario (die Felder werden für das jeweilige Szenario immer neu angeordnet) in einem neuen Level erstellen und muss. Unendlicher Aufwand.


    Alternativ baue ich kein ganzes Level, sondern nur die einzelnen Felder in einem anderen Format. Also besagte "Zebrastreifen-Feld" als ganzes und die kleinen Räume auf der Karte als eines, etc. Collision und Linetraces kommen dann direkt auf das jeweilige Feld. Das müsste ich dann allerdings in einem einzelnen Actor machen. Da ich Assets nutze, müsste ich in jedem Actor etliche Static Meshes hinzufügen. Unendlich Aufwand. Ich habe das mal mit einem 3D Memory Spiel gemacht. War nicht schön und es war deutlich einfach gestaltet.


    Hat jemand von euch eine bessere Idee wie ich das mit den einzelnen Feldern machen könnte?

    Habe mir schon überlegt das ganze zu Blender zu exportieren, da das Feld samt Assets zu basteln und es zurück in die UE4 zu packen. Aber wirklich sinnvoll erscheint mir das auch nicht.


    Ich sehe gerade, dass bei dem oberen Feld im Bild ein Fehler entstanden ist. Dieses sollte natürlich umgehen rot umrandet sein.

    53 Videos?! Puh. Habe mir jetzt mal die ersten 8 angeschaut und muss eine klare Empfehlung aussprechen. Das Grundsystem wird ein den ersten Videos erstellt und im weiteren verlauf werden nach und nach Features hinzugefügt und optimiert. Alles sehr gut nachvollziehbar.

    Danke für den Tipp!

    Danke für die Antwort. Ich kümmere mich heute mal um den Richtungswechsel. Mir schwebt da schon was vor. Mal schauen ob es klappt.


    Das mit dem Overlapping actor muss ich mir nochmal ansehen. Hatte schon viele Protitypen gebaut wo diese Funktion nicht richtig gearbeitet hat. Vielleicht nutze ich die auch einfach nur falsch...

    Neues Jahr, neue Fragen.


    Ich arbeite derzeit an einem ChuChu Rocket Klon. Wer mal einen Dreamcast hatte, weiß bescheid.


    Das Prinzip ist ziemlich einfach. Die "Mäuse" laufen in diesem Knobelspiel immer der Nase nach, bis sie auf eine Wand treffen. Dann biegen diese um 90 Grad nach rechts ab und wuseln weiter.

    Klappt bis hierhin wunderbar, Linetrace, set world rotation, fertig.


    Zweiter Part des Spiels ist etwas komplizierter umzusetzen. Der Spieler kann Felder mit Pfeilen (links, rechts, oben, unten) auf dem Spielfeld platzieren. Entsprechend der Pfeilrichtung laufen dann auch die Mäuse weiter. Daraus ergeben sich nun zwei Probleme.


    Pfeilfelder:


    1. Mittels Collision Box und Actor/Component Begin Overlap habe ich das Problem, dass nicht alle Mäuschen den Richtungswechsel wahrnehmen. Zwischendurch läuft gerne meine eine gerade aus weiter. Warum, keine Ahnung.


    2. Das Spielfeld besteht aus quadratischen Feldern. Sprich die Laufwege sind was die Breite angeht sehr begrenzt. Mit dem Linetrace ist das kein Problem. Größe des Feldes / 2 ist dementsprechend die Länge des Linetrace. So schaffe ich es recht gut, dass die Mäuse in der Mitte der Bahn bleiben. Aber wie mache ich das bei den "Pfeil- Feldern"?


    Collision Box über die komplette Größe der Kachel und die Maus biegt beim ersten Kontakt ab und ist nicht mehr mittig der Laufstrecke. Ein Delay dazu funktioniert oftmals auch nicht so richtig. Collider kleiner machen und in die Mitte? Auch schlecht, da die Maus ca die Größe der Kachel hat.


    Vielleicht hat ja jemand einen guten Einfall.

    Danke schon mal im Voraus.

    Hab irgendwo noch ne Source rumliegen mit nem Diablo Clone mit Inventory. Vielleicht wäre das was für dich? Könnt ich mal rauskramen und hochladen. Für mein derzeitiges eigenes Game hab ich ein 3D Inventar gemacht - also dass man alle Gegenstände so 3D mässig drehen und zoomen kann. Das war aber echt ne sau Arbeit und würde ich nicht rausgeben weil is ja blöd wenns schon ein game gibt mit meinem Inventory.

    Danke für das Angebot. Wenn du es findest, gerne. Und ja, dein High-Class 3D Inventar würde mir wahrscheinlich auch Gar nicht soviel bringen. Zumindest bezweifle ich gerade, dass ich da etwas verstehen würde.

    Moin, nein ich habe es zwar schon in youtube gesehen, es aber gemieden. Habe in der Vergangenheit schon viel Lebenszeit bei schlechten und unfertigen Tutorials vergeudet. Und Inventar mit Equipment und Hotbar ist der absolute Endgegner für mich. Scheinbar geht da wirklich jeder anders an die Sache ran. Deswegen auch die Frage ob jemand eines empfehlen kann.


    Ich werd es mir anschauen. Danke für den Tipp

    Guten Abend zusammen,


    Ich versuche seit einigen Wochen ein Inventarsystem ala Stardew Valles zu kreieren. Dabei hab ihr im Inventar eine "Hotbar", welche teil des Inventars ist. Diese "Hotbar" ist auch dann noch sichtbar, wenn das eigentliche Inventar geschlossen ist. (eigentlich wird das alte samt Inventar geschlossen und im Spiel dann nur die "Hotbar" angezeigt.)


    Ich habe sehr stümperhaft ein Inventar hinbekommen. Jetzt möchte ich gerne mittels Drag and Drop die benötigten Gegenstände verschieben. Tausend Tutorials später kann ich das nun Draggen, aber das Droppen funktioniert nicht. Ich schaffe es dem System nicht zu vermitteln, dass in diesem Teil des Arrays nun Gegenstand XY steckt.


    Leider decken die Tutorials da draußen irgendwie nicht das ab, was ich gerne hätte. Oder ich turne das Tutorial nach um nach 6 Stunden festzustellen, dass es garnicht das ist, was ich möchte.


    Hat jemand ein gutes Tutorial? Gerne auch einen Kurs für schmales Geld. Assets aus dem Store habe ich jetzt mittlerweile 5 Stück. Leider sind die einfach Klassen zu hoch für mich und ich verstehe rein garnichts. Falls jemand ein solches System rumliegen hat, würde ich mich auf erkenntlich zeigen.


    Ich wünsche euch schon einmal schöne Feiertage.

    Erstmal vielen dank für die Antwort.

    Ich möchte das tatsächlich so einfach halten wie das original Harvest Moon. Quasi eine 2.5D Variante.

    Im Bauernhof-Level kann man sich frei austoben mit Ackerbau etc. Wo anders wird auch nicht gebaut.

    Das ganze findet auf einer Ebene statt. Aber das mit den Gebäuden ist ein sehr wichtiger Punkt. Daran hatte ich nicht wirklich gedacht. Das Haupthaus hat einen festen Platz, aber Kuhstall etc. muss ja irgendwann mal gebaut werden. Da muss ich mich mal reinfuchsen wie es mit mehreren Feldern abläuft. Ansonsten besteht alles aus einem Grid-Feld.

    Die Variante 2 wäre mit dem Leveldesign gut zu arrangieren. Ich müsste auf das Grid keine rücksicht nehmen und sage einfach zu Beginn des Spiels, dass alle Grids, welche mit Levelobjekten kollidieren einfach gelöscht werden. Somit vermeide ich unnötige Berechnungen. Auch könnte ich zu beginn eines Spiels dort zufällig Bäume und Steine spawnen.

    Guten Tag zusammen,


    ich versuche vergebens seit Wochen ein Farming- Spiele ala Harvest Moon zu realisieren. Nun habe ich aus diversen Foren und Videos zwei Grid- "Typen" herausgefiltert.


    1. Es wird ein Grid erzeugt und die einzelnen Vectoren auf/- bzw abgerundet. Somit ergibt sich ein X und Y Wert. Mit einer einfachen Funktion rastet das zu platzierende Gameobject an diesen Positionen ein. Das heißt, jedes Gameobject wird zusätzlich in die Spielewelt eingebracht/ gespawned.


    2. Es wird ein Raster aus einem Actor gespawned. In diesen Actor sind alle Funktionen und alle Modelle integriert. Felder, Pflanzen etc. Sprich, wenn ich mit diesem Actor interagiere, während ich ein Werkzeug in der Hand habe, aktiviert der Actor nur das passende 3D Modell und die Logik dahinter. Ist also von Grund auf immer schon in der Spielwelt.


    Ich hoffe ich konnte das einigermaßen nachvollziehbar beschreiben. Hat hiermit schon jemand Erfahrung gesammelt? Kennt jemand Vor und Nachteile beider Methoden?

    Ich danke Euch schon einmal für Eure Zeit!

    Guten Abend zusammen,

    ich habe in meinem Widget, wie im Video zu sehen, einen kleinen Würfel. Dieser wechselt sowohl die Position, als auch die Farbe sobald der aktive Spieler wechselt. Ich weis nur nicht, warum dies nicht im jedem Bild gleich ausgegeben wird. Video ist im Anhang. Am besten Ihr seht mal selbst. Vielleicht kennt ja jemand diesen Fehler.


    Link zum Video

    Externer Inhalt youtu.be
    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.