Jump to content
Unity Insider Forum

Christian110

Newbie
  • Gesamte Inhalte

    2
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Christian110

  1. Hi, ich programmiere derzeit an einem 3D-Shooter Multiplayer mit einem dedicated Server. Es gibt einen zentralen Server, der nur in C# (ohne Unity) geschrieben ist. Auf diesem können sich Spieler anmelden und eine eigene Lobby erstellen und in diese Freunde einladen. Der zentrale Server ist auch für das Matchmaking zuständig und hat Zugriff auf eine Datenbank. Meine Frage ist nun: Wie geht man vor, wenn man einen neuen Game-Room erstellen möchte? Den Spieleserver würde ich in Unity programmieren und am besten Unet verwenden, da dort viel Arbeit erspart wird. Außerdem soll der Server nicht nur Informationen an die Clients hin- und herschicken, sondern einige Dinge, wie beispielsweise die Richtung und Kollision der Projektile, brechnen. Da bietet sich Unity natürlich an. Soweit ich weiß, kann man später Unity-Projekte nur über die Konsole ausführen lassen und damit könnte man enorm Ressourcen sparen. Das Problem ist aber, dass man für jeden Game-Room keine neue Instanz einer Szene auf dem Spieleserver erstellen kann, da man in Unity immer nur eine Szene aktiv hat. Außerdem kann man Unity-Stuff nicht in separaten Threads abhandeln, denn das muss leider immer im Main-Thread geschehen. Eine Möglichkeit ist mir eingefallen: Man könnte für jeden Game-Room einen neuen Prozess erstellen, der auf jeweils verschiedenen Ports lauscht. Aber das Starten von Prozessen verbraucht mehr Leistung als Threads und ist deshalb nicht sehr effizient meiner Meinung nach. Oder liege ich da falsch und es stellt kein großes Problem dar? Dieses Asset scheint mit verschiedenen Prozessen zu arbeiten. Ich bin mir da aber unsicher, ob das der richtige bzw. professionelle Weg ist: https://assetstore.unity.com/packages/tools/network/master-server-framework-71391 Ich möchte noch kurz erwähnen, dass ich nicht den Unity Networking Service, Photon oder ähnliches verwenden möchte, da es bei der kostenlosen Version auf ca. 50 Verbindungen beschränkt ist und ich gerne selbst den Server-Code programmieren und verstehen möchte. Hat jemand eine Idee oder einen Ansatz, wie man das am besten umsetzen könnte? Ich freue mich über jede Antwort! Viele Grüße Christian
  2. Christian110

    Weglänge berechnen

    Hallo, ich bin gerade bei einem Alien - Survival Horror Game am arbeiten. Für die Navigation des Aliens verwende ich den Nav Mesh Agent von Unity. Das funktioniert schon ganz gut. Ich möchte jedoch die KI des Aliens noch verbessern. Dafür benötige ich die Länge des Weges, die das Alien zurücklegen muss. Die Distanz zwischen zwei Objekten kann ich bereits auslesen. Aber ich möchte nicht die Distanz, sondern die tatsächliche Strecke erfahren, die das Alien zurücklegen muss (um Hindernisse usw.). Wäre schön, wenn ihr mir helfen könntet! Viele Grüße Christian
×
×
  • Neu erstellen...