Jump to content
Unity Insider Forum

3 Probleme zu bewerkstelligen


Merlinh008

Recommended Posts

Hallo Leute,

ich befinde mich zurzeit in einer kleinen Zwickmühle.

 

Bis jetzt habe ich ein paar kleinere Spiele in 2D und 3D mit Unity erstellt, die jetzt aber nicht nennenswert sind.

 

Ich habe vor einen Multiplayer First-Person-Shooter zu entwickeln, bin mir aber nicht sicher ob Unity wirklich das richtige dafür ist.

 

1. Problem: Serverseitige Ausführungen für z.B. Schadensberechnungen, Lebensanzeige, Munition etc., jedoch kann ich mir noch nicht ganz vorstellen wie das mit Unity funktionieren soll und welche Programmiersprache dafür genutzt wird (PHP?).

 

2. Problem: Sicherheit, was kann man mit Unity gegen Cheater/Hacker ausrichten? Bringen Assets wie "Anti-Cheat Toolkit", "CryptoPlayersPrefs" bei solch einem Projekt ein bisschen was oder was gibt es für Alternativen?

 

3. Problem: Falls es dazu kommen sollte dass das Spiel gut besucht wird und sagen wir es sind ein paar tausend Spieler online, ist das überhaupt mit Unity tragbar bzw. wäre "Photon" eine denkbare Lösung ohne einen permanenten Ping von 300 zu haben?

 

Ich frage nur so viel im Voraus, denn es wäre schade wenn man so viel Mühe und Zeit investiert und es vom technischen her dann doch nicht machbar ist.

 

Es soll kein gigantischer Open World Titel werden, ein schnelles Spiel mit kleinen Maps, im Stile von z. B. Counter Strike.

 

Ich wäre auch bereit von Unity zur Unreal Engine zu wechseln, wenn dadurch 1-2 von mir oben genannten Probleme gelöst werden könnten. Ich müsste mich zwar neu einarbeiten, aber in letzter Zeit hat mich die Unreal Engine so beeindruckt, das ich das auch gerne in Kauf nehmen würde.

 

Zur Cryengine die in meiner persönlichen Sympathieliste den 3. Platz einnimmt, kann ich leider in Bezug auf Community, Foren und Tutorials noch nicht so viel sagen, da ich noch nicht so viel davon gesehen habe. Im Vergleich zu Unity, da sind sie ja überall und in jeder Sprache vorhanden. Ein Freund von mir der Game Design Studiert aber abgebrochen hat, empfahl mir die Cryengine, wobei er mir kein Punkt nennen konnte was Unity oder Unreal nicht bewerkstelligen könnte auf dieses Projekt bezogen oder?

 

Wird außerdem wirklich eine Pro Version Von Unity für mein Vorhaben benötigt?

 

Ich hoffe das mir da jemand weiterhelfen kann und sorry für die vielen Fragen :D

Mit freundlichen Grüßen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo auch, die Unity Engine ist nur so gut wie der Entwickler selber. Nun es kommt drauf an Serverside kannst via Anwendung aber auch php request machen. Aber gibt ja auch sehr viel Varianten wie Photon Cloud. Ping Probleme z.b mit unet oder mit dem alten unity networking werden viel mit Interpolation gelöst. Aber selber was ServerSide gemacht werden muss sollte über eine extra Anwendung laufen lassen das nacht man am besten via socket.

Link zu diesem Kommentar
Auf anderen Seiten teilen

PHP ist dafür ganz großer Unfug, da es dafür da ist, eine HTTP-Anfrage zu schicken und eine Antwort zurück zu kriegen, nicht, einen konsistenten Datensatz zu haben und die ganze Zeit darüber zu kommunizieren.

Die Pro-Version braucht man für gar nichts mehr inzwischen. Die Pro-Features sind nur noch auf Meta-Ebene interessant, wie Asset Store Level 11 oder höhere Priorität bei Bugreports.

 

Was du letztenendes machst, ist, dein Spiel in zwei Programme aufzuteilen. Der Client läuft beim Spieler und der Server auf... naja, dem Server. Den Client baust du mit Unity und den Server womit du willst... im Zweifelsfall auch Unity. Wenn du dafür Photon Cloud benutzt, dann läuft schon ein "dünner" Server bei den Exit Games-Leuten. Der ist allerdings (absichtlich!) doof und kann nichts, außer die Daten von einem Client zu anderen weiterzuleiten. Wenn du einen Server haben willst, der irgendetwas kann (z.B. Autorität zu haben), dann musst du den selber programmieren. Ich finde aktuell UNet ganz gut, also das eingebaute Networking von Unity. Da machst du dann den Server auch mit Unity.

 

Was die Wahl der Engine im Allgemeinen angeht, kann ich nur sagen: Traue niemandem, der dir uneingeschränkt eine Engine empfiehlt. Es gibt keine "beste Engine". Jede von den großen hat ihre Vor- und Nachteile, aber geben tun sie sich am Ende nicht viel.

Die CryEngine finde ich aktuell eigentlich sogar ziemlich blöd, einfach weil sie als einzige von Anfang an was kostet. Dafür hat sie halt guten Out-of-the-box Content für Multiplayer-Shooter. Hat die Unreal Engine allerdings auch. Mit Unity musst du da mehr Arbeit in die Grundlagen stecken, dafür hast du (meiner Meinung nach!) die entspanntere Engine-Architektur und den intuitiveren Editor.

 

Aber bevor ich noch mehr abschweife, zu Frage 3: Unity, wie die anderen Engines auch, sind nicht zu vergleichen mit z.B. dem RPG-Maker. Es sind Engines mit Bibliotheken für alles mögliche. Wenn das Networking in Unity dir nicht passt, dann schreibst du halt deinen eigenen Layer über UDP. Die Engines schränken dich bei sowas nicht ein. Anders ist das bei Photon, da das ja bereits fertige Networking-Lösungen sind. Ich würde mal sagen, wenn man keine 12-Spieler-Matches damit flüssig hinkriegen würde, würde keiner Photon benutzen. Mehr weiß ich aber auch nicht. So oder so haben Bedenken zur Performance keinen Platz bei der Wahl der Engine ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank euch beiden.

Okay, dann mache ich zuerst die Client Anwendung, ein Schritt nach dem anderen und ich denk mal das ist der erste richtige Schritt. Wenn das als erstes mal "rund" läuft, dann werde ich mich ans Netzwerk bzw. an die Server Anwendung ranmachen.

 

Die Wahl der Engine ist für mich dann jetzt auch beschlossen, ich weiß wenn etwas nicht passt dann macht man es gleich selber, aber die Unity Engine gefällt mir und die Community ist auch großartig.

 

Ich denk mal ich werde in nächster Zukunft hier öfters vorbeischauen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...