Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

24.08.2015, 16:03

Suche einen Anfang...

Hallo,

ich habe ein Projekt im Kopf und möchte mich hier gerne beraten lassen, wie ich es am besten angehe.

Erstmal um die unbeliebtesten Vermutungen abzuklären:

- Ich bin jetzt keiner von den Leuten, die nie eine Zeile programmiert haben und dann ankommen "Ich will ein Spiel machen, ist das schwer?". Ich bin mit meiner Ausbildung als Anwendungsentwickler fast fertig und habe auch schon einige Erfahrungen in der Programmierung sammeln können.

- Es ist KEIN Projekt für die Schule oder Arbeit

- Ich will hier nicht, dass mir jemand das halbe Spiel programmiert. Ich suche nur nach Anregungen von erfahrenen Menschen.

Jetzt zu meinem Problem: Ich versuche mein Spiel im Kern zu beschreiben, ohne zu viel zu verraten. Ich habe bereits ein fast komplettes Spielkonzept im Kopf und auch schon an vielen Stellen, wie ich es technisch lösen werde.

Es soll eine serverbasierte Wirtschaftssimulation werden, wo jeder Spieler sein eigenes Stück Karte hat, aber mit anderen handeln kann. Der Zugriff soll zunächst über Browser erfolgen, aber eine nachträgliche Android App ist schon wünschenswert. Die App-User und die Browser-User sollen untereinander Handeln können und man sollte sich von beiden Systemen aus mit den gleichen Daten in das Spiel einloggen können.

Ich hoffe, das war genau genug :D

Meine Überlegung war, dass ich dann (wenn es Fertig ist) einen virtuellen Rootserver miete, wo der Server drauf läuft.

Jetzt zu den eigentlichen Fragen:

In welcher Sprache sollte ich am besten die Spiellogik (Server) schreiben? Ich habe an Java gedacht, weil ich da schon relativ erfahren bin. C++ kommt für mich nicht in Frage, weil ich die Sprache einfach nicht mag... ich komme zwar damit klar (wenn es sein muss), aber würde es schon gerne vermeiden diese Sprache zu nutzen. C# könnte Probleme machen, weil viele Rootserver mit Linux laufen dürften und ich dann an Windows gebunden wäre. Oder besser was noch ganz anderes? PHP vielleicht?

Ich kann relativ gut mit Java, Delphi und C++ umgehen. Ich habe Erfahung mit XML und SQL. HTML und CSS habe ich nur rudimentäre kenntnisse. Was für Sprachen / Techniken sollte ich mir anschauen wenn ich mein Vorhaben umsetzen will?

Ich weis was ich am Ende haben will, aber ich habe keine Ahung, wo ich anfangen soll. Momentan schwebt mir Java mit MariaDB für den Server vor... aber wie schaffe ich es dann das Spiel aus dem logischen Grundkostrukt in den Browser zu bringen?

Android Studio werde ich mir mit einem entsprechenden Buch zur Androidprogrammierung erst später reinziehen, wenn die Browser-Variante läuft... aber auch bis dahin wird es ein steiniger weg werden.

Was würdet ihr mir empfehlen? Habt ihr ein Paar Stichworte zu Dingen, die ich mir unbedingt anschauen sollte?

Danke im Voraus

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

2

24.08.2015, 16:17

Wenn du mit HTML und CSS nur rudimentäre Kenntnisse hast, dann ist das doch die perfekte Möglichkeit dein Wissens-Schatz zu erweitern. Wie kennst du dich denn so mit PHP aus?
PS: Die Spielidee finde ich gut und würde ich auch spielen :)

Tobiking

1x Rätselkönig

  • Private Nachricht senden

3

24.08.2015, 16:26

Für die Schnittstelle vom Browser/Android zum Server kann ich dir nur zu REST raten. Da kriegst du in so ziemlich jeder Sprache Unmengen an Bibliotheken und Frameworks mit denen man recht fix etwas auf die Beine gestellt kriegt. Für die Java Serverseite wären dort z.B. Jersey zu erwähnen. Für eine etwas komplettere Web Lösung wäre auch das Play Framework etwas was du dir anschauen könntest.

Für die Browserseite fehlt mir in deiner Wissensauflistung Javascript. Statische vom Server generierte Seiten sind ziemlich öde und meiner Meinung nach gerade für ein Spiel nicht ausreichend. Und auch wenn man inzwischen mit CSS 3 einiges an Animationen und Events deklarieren kann, kommt man ohne JS oder ähnliches nicht weit.

4

24.08.2015, 16:26

@cojo2015

PHP geht so... Ich hab damit mal VERSUCHT einen Onlineshop für ein Schulprojekt zu basteln, aber da hatte ich keine Ahnung vom Programmieren allgemein und hab da irgendwas zusammengefrickelt. Ich weis noch dass ich dafür das XAMPP Paket genutzt hatte...

Ich bin aber der Meinung, dass ich nach kurzer Einarbeitungszeit schon ein bisschen was schaffen könnte mit PHP. Programmieren kann ich ja schon relativ gut :D

Das ist cool dass du die Idee gut findest. Auch wenn ich die besten Sachen, die ich plane ja nicht verraten habe^^. Das gute an dem Projekt ist, dass Anfangs recht klein ist (vom Spielumfang her) , aber mit endlos vielen Erweiterungsmöglichkeiten.

Also würde sich für den Server PHP gut eignen? Da hab ich zwar nicht so eine hübsche Typensicherheit, aber damit könnte ich mich auch noch anfreunden. Kann man in PHP auch so schön objektorientiert programmieren wie in Java/C++?

5

24.08.2015, 16:30

Für die Schnittstelle vom Browser/Android zum Server kann ich dir nur zu REST raten. Da kriegst du in so ziemlich jeder Sprache Unmengen an Bibliotheken und Frameworks mit denen man recht fix etwas auf die Beine gestellt kriegt. Für die Java Serverseite wären dort z.B. Jersey zu erwähnen. Für eine etwas komplettere Web Lösung wäre auch das Play Framework etwas was du dir anschauen könntest.

Für die Browserseite fehlt mir in deiner Wissensauflistung Javascript. Statische vom Server generierte Seiten sind ziemlich öde und meiner Meinung nach gerade für ein Spiel nicht ausreichend. Und auch wenn man inzwischen mit CSS 3 einiges an Animationen und Events deklarieren kann, kommt man ohne JS oder ähnliches nicht weit.

Ich hab halt bis jetzt nur so Anwendungen geschrieben, wo ein paar Labels, Buttons und Edit-Felder drauf waren... Sonst hab ich mit Oberflächen noch nichts wirklich gemacht... :(

Ansonsten schaue ich mir mal die sachen an die du mir empfohlen hast. danke :D

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

6

24.08.2015, 16:31

Ist das ganze real time oder doch eher klassisch Browsergame?

0. nodejs. Entwicklung komplett in Js, sowohl im Backend wie auch im Frontend, schöne OO DB wie z.B. mongoDB oder CouchDB und die Handy App ließe sich gut anbinden. Für die App kannst du dann auch gleich das Web frontend weiter verwenden, indem du z.B. auf PhoneGap aufsetzt. Kommunikation über JSON (ajax oder WebSockets).

1. PHP. Dann hast du auch gleich den Webserver dabei (naja eigentlich andersrum), sonst müsstest du einen Application Server schreiben und einen Webserver installieren, bzw. darauf aufsetzen.
Eine Handy App stellt die Anfragen dann per HTTP an den Server, man kann hier auch ganz gut JSON Objekte hin und her schicken.

2. Java vielleicht auf der Google App Engine? Gibt es auch sehr einfache Webserver für (Tomcat) und bei Google Cloud Power + unendlich Speicher... ach und kostenlos :D

[Edit] Nachdem ich gelesen habe was du gerade geschrieben hast würde ich dir auch erstmal zu 0815 Webtechnologien raten, das ist für den Anfang einfacher. Und sollte auch für das ganze Spiel reichen (+ App).
Weils gerade passt verkaufe ich dir mal mein PHP/JS Framework base, was du denke ich ganz gut als Grundlage nutzen kannst. Dort sieht du auch das man sehr schön OOP programmieren kann in PHP ^^

7

24.08.2015, 16:39

Ist das ganze real time oder doch eher klassisch Browsergame?
Im Endeffekt wird man Gebäude auf der Map haben, in denen ein Timer läuft und immer wenn der Timer um ist, ist eine Produktionseinheit fertig... Anfangs soll auch nichts animiert sein. Ich werde das erstmal nur mit bunten Paint-Kästchen realisieren.

In einem späteren Stadium soll vielleicht mal ein LKW von der Produktionsstätte zum lager fahren, wenn der Timer abgekaufen ist. Aber an Grafik will ich erst denken, wenn der Rest steht. Bis dahin: Bunte Kästchen xD

cojo2015

Alter Hase

Beiträge: 516

Wohnort: bei mir zu Hause

Beruf: Schüler

  • Private Nachricht senden

8

24.08.2015, 16:48

Aber an Grafik will ich erst denken, wenn der Rest steht. Bis dahin: Bunte Kästchen xD


Bei mir sehen die Grafiken so aus... :fie:
»cojo2015« hat folgendes Bild angehängt:
  • Background_Level1.png

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

9

24.08.2015, 17:15

Mit PHP kommt man am Anfang vielleicht etwas schneller voran, allerdings dürfte ene statische (und starke) Typisierung auf Dauer hilfreicher sein, wenn das Projekt mal eine entsprechende Größe annehmen sollte.
Andererseits wird man _nicht_ kostenlos an einen Java-Server kommen, bei PHP gibt es einfache kostenlos wie Sand am Meer und viele günstige Hostingangebote bieten nur Scriptsprachen (PHP, Perl, Python, Ruby, ...) an. Solltest du aber nach der Entwicklung direkt auf einen V-Server gehen, ist dieser Punkt aber wieder irrelevant.
Letztendlich musst du abwägen, welche Sprache du verwenden willst. Mit beiden lässt sich das Ziel erreichen, nur wird ein Umstieg später eher schwerer als leichter.

Für die Kommunikation würde auch ich zu einer Schnittstelle raten, die von beliebigen Clients aus verwendet werden kann. REST wurde ja bereits genannt, die Daten könnten dann bspw. in JSON-Strings zusammengepackt werden.
Der Browserclient könnte entweder eine ansammlung statischer HTML-Seiten sein, wodurch alles Serverseitig laufen würde, oder der Client kommuniziert später per AJAX über die gleiche Schnittstelle wie der Android Client mit dem Server. Letzteres erfordert mehr JavaScript-Kenntnisse, das wäre aber der Weg, den ich wählen würde. (Dieser bietet auch viele Vorteile in Sachen Visualisierung, da man da sehr flexibel bleibt und auch HTML5 Features verwenden könnte, wenn man wollte.)
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

10

24.08.2015, 17:17

Naja ich stelle mir eher ein quadratisches Raster vor, auf das man mit einer Art Vogelperspektive schaut und ein gebäude braucht 1, 2 oder 4 Felder je nach Typ.

Werbeanzeige