Forum > Games
Scifi Browser Strategiespiele
DeLouise:
Also, ich kann Programmieren. So ist es nicht. Und ja, ein richtiger KI-Anteil (also nicht algorithmische Intelligenz, sondern tatsächlich künstliche Intelligenz) ist ein komplexes Thema.
Ich halte es im übrigen nicht für illusorisch so etwas grundsätzlich umzusetzen. Aber was ich für illusorisch halte ist, das Ganze in einer angemessenen Zeit umzusetzen. Zudem hat man dann noch das Thema des Bugfixings, des Testens, der Security an der Backe. Daher denke ich (und das ist nur meine Meinung), dass man sich zumindest auf einige, bereits bestehende (meinetwegen auch OpenSource) Bibliotheken und Produkte abstützen sollte. Ein Beispiel: natürlich KANN man eine 3D-Handling-Bibliothek mit Texturen etc. durchaus selber bauen. Aber alleine die Zeit hierfür steht in keinem Verhältnis zum Ergebnis. Dafür gibt es eben Bibliotheken wie Babylon, Three.js etc.
Wie gesagt, da ich dich nicht kenne und deine Kenntnisse nicht beurteilen kann/konnte. Etwas verwirrt mich immernoch: du schreibst von den mangelnden 3D-Fähigkeiten (also de facto der 3D-Beschleunigung) von Linux im Vergleich zu DirectX. Wir reden von einem Browsergame, ohne propietären Client? Dann ist das nämlich total wurscht, was der Server kann, weil diese Berechnungen auf dem Client laufen. Und schon schliest sich der Kreis zu Babylon, ThreeJS etc.
Hazard:
Der Browser ist ein Standardprogramm.
Ich rede davon ein Programm selbst zu schreiben und es als Client für den Server zu verwenden.
Der Client von Pokerstars zum runterladen z. B. ist sowas.
Ich habe Browserspiele in den Titel aufgenommen weil das Spiel von dem ich schrieb ein solches ist.
Und ja.
Das ist ein langfristiges Projekt.
Alle guten Dinge brauchen Zeit.
Und letztere habe ich in Hülle und Fülle da ich im Ruhestand bin.
Es wäre ein Hobby dem ich nachgehen könnte, gäbe es nicht die grundsätzlichen Hürden.
1. Fehlendes DirectX in Linux
2. Teure Serverleitung für Zuhause
Punkt 2 ist wie gesagt für die totale Kontrolle über das Projekt entscheident.
Das Spiel soll nicht kommerziell sein.
Das heißt ich will die Kosten selbst tragen.
Es soll sich vom Grundgedanken her nicht selbst finanzieren.
Soll heißen es würde keinerlei Möglichkeit geben sich mittels Geld Vorteile gegenüber anderen zu verschaffen.
Wenn mein Programm den Spielern Spaß macht könnten sie sich durch eine Spende erkenntlich zeigen und mir so unter die Arme greifen.
EDIT:
Ein Punkt habe ich ausgelassen der ebenfalls korrekt ist.
Die Berechnung der Grafik soll auf dem Client vor Ort beim Nutzer passieren, deswegen ja auch DirectX.
Der Server wäre natürlich auch selbst geschrieben.
Die Verschlüsselung der Kommunikation wäre ebenfalls eine Selbstentwicklung und kein Standard.
Im Grunde genommen liegt auf dem Server die Datenbank und die Spieler verändern die Werte dieser.
Einiges verändert der Server selbst wobei die Spieler einige dieser Veränderungen steuern können.
Es geht darum die Prinzipien eines Browserspiels in einem selbst geschriebenem Client/Server Programm umzusetzen.
DeLouise:
Ok, DANN sieht die Sache schon gleich völlig anders aus.
Aber gehen wir die Punkte im Einzelnen mal an, vielleicht wird dann schon eine Art Architektur daraus:
1. Server unter Linux: aus meiner Sicht kein Problem. Wie Du selbst schreibst soll es einen Client geben, der quasi nur die Datenbank auf dem Server verändert. Folglich benötigt der Server gar kein DirectX, weil keinerlei Grafikberechnungen auf dem Server geschieht, sondern auf dem Client. Hier eine MySQL-DB drauf, in welcher die Nutzerverwaltung sowie die Spieldaten verwaltet werde und gut ist.
2. Client: Da Grafikberechnungen auf dem Client geschehen sollen steckt hier die größte Arbeit darin. Aber: es ist Windows! Also erst DB auf dem Linux-Server designen, dann Visual Studio Community herunterladen und den Client programmieren.
3. Verschlüsselung der Kommunikation: hier gibt es gängige, sichere Verfahren, bei der man durch das erstellte Zertifikat und dessen Laufzeit eine gute Kontrolle über die Kommunikation hat: https://www.thomas-krenn.com/de/wiki/MySQL_Verbindungen_mit_SSL_verschl%C3%BCsseln
Hazard:
Ob ich mir richtig Arbeit mache und ein eigenes Betriebssystem für den Server schreibe hängt davon ab ob die Linux-Leute es gebacken kriegen den Monopolisten eins auf die Nuss zu geben und einen Weg finden die Grafikkarten per Software zu analysieren und so die Hardwarebeschleunigung nutzbar zu machen. Linux ist Open Source. Man muß bloß genügend Motivation haben um den Code zu studieren um zu wissen wie ein Betriebssystem aufgebaut ist.
Linux soll es für den Client sein, weil ich Micro$chrott den Nutzern nicht aufbürden will.
DeLouise:
Hazard, ich bin mir wieder nicht sicher, wie tief Du in der Programmierung drinsteckst. Deine Antworten geben mir, der (ich drücke es mal ganz vorsichtig aus) nicht ganz unerfahren ist in der Welt der Bits und Bytes und sich damit seit nunmehr 37 Jahre beschäftigt, Fragen auf.
Also, Linux ist, ebenso wie Windows, das reine, nackte Betriebssystem. Linux (mit allen seinen Derivaten), ebenso wie Windows, verwendet diverseste Bibliotheken als "AddOns", um gewisse Funktionalitäten bereitzustellen.
Bei Windows ist dies im Falle der Grafikbeschleunigung meist irgendeine DirectX-Variante. Weit verbreitet, relativ gut dokumentiert und (fast) fehlerfrei.
Unter Linux gibt es (nach meinem Kenntnisstand) sehr wohl auch Grafikbeschleunigung, nur eben nicht DirectX. Unter Linux wird das aber nur was, wenn man den richtigen Grafikkartentreiber installiert (und zwar NICHT via Kernel). Wird halt wild in der Programmierung, wenn man auf keinen Standard-Befehlssatz zurückgreifen kann, sondern mehr oder minder jede einzelne Grafikkarte abfangen und ansprechen muss.
Woher weiß ich das? Nun, ich habe beruflich von drei Monaten eine Renderfarm gebaut, um verteiltes Rendern mit Blender zu ermöglichen. Auch wenn ich die Renderfarm inzwischen vollständig auf Windows aufgesetzt habe, so habe ich zuerst versucht die Rechner mit Linux zum verteilten Rendern aufzusetzen. Das hat geklappt, gerendert haben die Biester. Aber, und deswegen dann doch Windows, die Linux-Büchsen konnte ich nicht davon überzeugen die fertigen Files auf einen Windows-Netzwerkpfad zu packen.
Bleibt anzumerken: Programmierung zum Rendern der 3D-Inhalte ist bei dieser Art Anwendung auf dem Client, immer mit einer Menge Arbeit verbunden (die man nicht scheuen sollte) - und unter Windoof zumindest durch DirectX annähernd standardisiert.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete