Footloose Geschrieben 20. März 2017 Melden Share Geschrieben 20. März 2017 Guten Tag, ich möchte für mein Praktikumsprojekt gerne ein Spiel erstellen. Muss nicht groß im Umfang sein, sollte aber einige wichtige Elemente beinhalten. Eines davon ist dass mehrere Spieler gleichzeitig spielen können (Online-Game). Also über einen Server. Obwohl ich noch nicht genau weiß wie das am besten funktioniert, ist meine erste Frage aber die der Datenbank. Und zwar sollen nicht nur Objektdaten (Nachladezeit, Name, etc.) sondern auch die Spieler, die sich ja registrieren und anmelden müssen, in einer Datenbank gespeichert werden. Das ganze muss natürlich für das Spiel auch funktionieren. Die Frage ist nun also, wie ich das am besten anstelle. Was für eine Datenbank(-sprache), wie binde ich die am besten ein? Ich hoffe ihr könnt mir da kurz helfen Liebe Grüße, Tobi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Wattsefakk Geschrieben 20. März 2017 Melden Share Geschrieben 20. März 2017 Hey habe auf Youtube diese Videoreihe gefunden. Arbeite recht viel mit Datenbanken auf der Arbeit allerdings habe ich keine Ahnung wie das Unity handhabt, der Code des Youtubers sieht aber gut aus da ich mich so auch schonmal auf eine Datenbank geloggt habe. Kannste dir ja mal anschauen. Youtube Falls fragen über SQL kommen und wie die Abfragen schließlich funktionieren kann ich dir w3schools/sql empfehlen ist sehr gut und übersichtlich. Schönen Gruß Markus Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 20. März 2017 Autor Melden Share Geschrieben 20. März 2017 Ah danke SQL ist nicht das Problem geht hauptsächlich um die Einbindung in Unity ^^ Schaue mir das aber trotzdem mal an LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tiwaz Geschrieben 20. März 2017 Melden Share Geschrieben 20. März 2017 Also ich hab mich gerade im Bezug auf Game Development ziemlich mit MongoDB angefreundet aber deine Frage ist ja eher die Connection zu Unity. Deine Datenbank läuft auf dem online server. Am geschicktesten würde ich persönlich jetzt finden einen WebService zu basteln den man per REST ansprechen kann und über den man die Datenbank auslesen/verändern kann. Die einfachere Variante wäre aber wohl einfach eine kleine PHP Schicht zu schreiben und dann die ganz einfach per WWW Klasse (Unity) ansprechen. Unity hat da im Wiki ganz nette Einträge, bin aber grad am Handy, ich könnte ja mal einen raussuchen wenn ich wieder am Laptop bin ^^ @edit:Vielleicht hilft dir das ja weiter:https://docs.unity3d.com/ScriptReference/WWW.htmlhttp://wiki.unity3d.com/index.php/WWWForm_PHP_Example Im Zweifelsfall findet man über Google massig Tutorials und Threads zu dem Thema (https://www.google.de/search?q=Unity+database+connection&gws_rd=cr&ei=SDDQWIzoBOaR6ATy15nQCA) Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 21. März 2017 Autor Melden Share Geschrieben 21. März 2017 Cool danke Hab es zwar noch nicht ganz doch das sieht doch das bringt mich schon weiter. Ich möchte nochmal kurz mein Anliegen etwas präzisieren: Das Ziel ist es, (auf einem Server) eine kleine Datenbank zu haben (mit Spielername, E-Mail, Password) und dann diese im Client abfragen zu können, damit beim drücken des LogIn Buttons der Spieler weitergeleitet wird (nach Überprüfung). Später im Spiel soll der Spielername dann angezeigt werden können. Ich habe jetzt diesen Unity Multiplayer (Service) aktiviert. Inwiefern dass was bringt weiß ich nicht, vielleicht kannst du dazu ja was sagen Ich fürchte alles weitere würde aber über das Thema etwas hinausgehen. Ich denke die PHP-Schicht bekomme ich geschrieben, und die Datenbank auch. Jetzt muss also nur noch ein Server her. Kann da dieses Unity Multiplayer irgendwie helfen oder gibt es da was anderes? Sorry hab mich da noch nicht exakt mit beschäftigt. Werde ich noch aber vllt. ist das für dich ja nur eine Antwort von 5min Danke schonmal LG Tobi Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tiwaz Geschrieben 22. März 2017 Melden Share Geschrieben 22. März 2017 Naja im Prinzip musst du nur z.B. XAMPP laufen lassen und kannst deinen Server eigentlich schon ansprechen. Soll man die Daten von jedem x-beliebigen Computer/Gerät aus abfragen können oder reicht es bsp. Im gleichen Netzwerk zu sein oder vllt sogar lokal? Außerhalb des Netzwerks müsstest du z.B. einen NAT Punch through machen, im gleichen Netzwerk reicht es die IP deines Rechners zu kennen und lokal musst du einfach nur am localhost operieren. Aber dein Ziel wäre es in Unity über stinknormale HTTP Requests die php Scripts anzusprechen und dazu ist z.B. die WWW Klasse da. Also einfach die URL deiner php Scripts im Code verfügbar machen (sei es hartcodiert oder über configs oder was der Teufel) und diese dann in einem Request eben "aufrufen". @edit: Unity Multiplayer ist imo Overkill für einen Login.. Du musst dich ja nicht in Echtzeit mit anderen synchronisieren oder sowas. Für einen Login würd ichs ganz easy mit einem HTTP Austausch machen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 22. März 2017 Autor Melden Share Geschrieben 22. März 2017 Edited! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 23. März 2017 Autor Melden Share Geschrieben 23. März 2017 Also, ich habe mich dann jetzt doch für Photon entschieden.Hier Das scheint soweit nicht sehr kompliziert zu sein. Zumindest nimmt es einen doch eine Menge Arbeit ab. Leider sind viele Sachen die ich gefunden hab schon ziemlich alt (2013) oder nicht ganz das was ich suche bzw. ich kapiere es da zumindest nicht. Vielleicht liegt es auch daran dass heute Donnerstag ist Jedenfalls, habe ich ja nun bereits ein LogIn-Fenster: Der nächste Schritt wäre eine Datenbank zu erstellen. Also mit Zeilen wie "Name", "E-Mail", "Passwort", "ID", usw. Nicht weiter schwer, bekomme ich hin. Nur wo ist die Frage. Nicht das Programm (wir nutzen an der Uni den SQL Developer ), sondern wie mache ich das so, dass Photon darauf zugreifen kann? Also das meine LogIn-Szene quasi den Server (bei Photon die Cloud) die E-Mail und das Passwort übergibt und der guckt ob die E-Mailadresse vorhanden ist. Wenn ja und dass übergebene Passwort stimmt, dann soll die ID an den Spieler zurückgegeben werden, mit welcher dieser sich im Game dann identifiziert. Ich denke dass ist soweit ganz norman (hoffentlich). Doch wo mache ich am besten die Datenbank hin, damit Photon da drauf zugreifen kann? Muss die auf einem externen Server laufen oder kann man die bei Photon mittlerweile integrieren? Wäre deutlich einfacher denke ich. Ich hoffe ich habe das Problem ausführlich genug beschrieben und ihr könnt mir helfen. Liebe Grüße, Tobi Edit: Das mit PHP-Scripts über WWW aufzurufen ist klar, es geht nur wo tue ich die Datenbank überhaupt hin, und wie Wie oben erklärt halt Momentan ist das auf bei mir wegen Photon Network auf 20 Spieler begrenzt (kostenlos). Oder sollte man das lieber anders angehen^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tiwaz Geschrieben 24. März 2017 Melden Share Geschrieben 24. März 2017 vor 6 Stunden schrieb Footloose: wie mache ich das so, dass Photon darauf zugreifen kann? Doch wo mache ich am besten die Datenbank hin, damit Photon da drauf zugreifen kann? php-Scripts über WWW aufzurufen ist klar, es geht nur wo tue ich die Datenbank überhaupt hin, und wie Ja danach habe ich dich ja in meinem letzten Post gefragt ^^ Soll da jetzt jeder drauf zugreifen können (also z.B. auch ich) -> Externer Server mit öffentlicher Adresse Soll es vor erst nur für dich verfügbar sein (während der Entwickler) -> Localhost Afaik bietet Photon die Photon Cloud an um sowas zu hosten, das wäre dann dein "externer Server mit öffentlicher Adresse", aber ich hab dazu leider keinerlei Details, weil ich Photon nicht nutze, da müsstest du dich mal in Photon einlesen. Und wenn deine Frage immer noch nicht geklärt ist, weiß ich ehrlich gesagt nicht wonach du jetzt noch fragst ^^ Ich möchte es nur kurz nochmal wiederholen, dass ich so Geschichten wie Photon und Unity Networking, etc für einen ziemlichen Overkill halte wenn es um einen Login geht ^^ Der Login hat ja mit deinem Spiel nichts zu tun, du holst dir nur das Token ab, dass du der bist für den du dich ausgibst, von daher müsstest du theoretisch keine HL-API oder LL-API für Matchmaking Server etc verwenden, aber wenn du das so möchtest hindert dich natürlich niemand daran Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
devandart Geschrieben 24. März 2017 Melden Share Geschrieben 24. März 2017 Du brauchst für dein Vorhaben einen Webserver, oder einen virtuellen Server. Darauf musst du die Datenbank anlegen und die Datenbankstruktur aufbauen, erstmal die Tabelle mit den Nutzerdaten. Auf dem Webserver baust du dann ein PHP-Skript, was dir z.B. alle Benutzer als json-Array liefert. Das rufst du dann mit der WWW Klasse auf www.deinedomain.de/listusers.php oder so. Das JSON kannst du dann in Unity mit dem JsonUtility zu einer Objektliste machen und im Programm verwursten. Genau so funktioniert das auch mit anlegen, ändern, einloggen von Benutzern, wobei du da gesondert auf Sicherheit setzen und dir was überlegen musst. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Footloose Geschrieben 25. März 2017 Autor Melden Share Geschrieben 25. März 2017 Klingt doch gut. Werde mal schauen ob ich das hinbekomme Danke Edit: Hast du da eine gute Anleitung oder ein Beispiel für? Ich und PHP sind keine guten Freunde Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.