Du bist nicht angemeldet.

Werbeanzeige

21

28.01.2015, 15:15

Also ich habe mich jetzt für C# entschieden und habe mir auch ein Buch gekauft und auch eine gute Tutorialserie auf YT gefunden. Ich will zuerst mal die Grundlagen lernen bevor ich an die Programmierung eines Spieles rangehe.
Denke das ist am besten.

4xfusion

Frischling

Beiträge: 8

Beruf: Software Entwickler

  • Private Nachricht senden

22

29.01.2015, 21:22

Wie der Titel schon sagt, würde ich gerne wissen welche Programmiersprache man benötigen würde für ein Strategiespiel. Zurzeit schnuppere ich in C++ rein da ich dafür auch ein Buch zu Weihnachten bekam.
Da es ja verschiedene Sprachen gibt bin ich mir jedoch nicht sicher welche die richtige wäre.
Nützt ja nichts eine zu lernen um dann später zu erkennen das es nicht die richtige war für das was ich vorhabe. (genügend Geduld vorausgesetzt :D )

Zu allererst soll es ein Spiel für mich selbst werden wo ich meine eigenen Ideen umsetzen kann. Es soll eher ein 2D Spiel werden, z.B eine Landkarte zeigen von oben wo man Truppen herumschiebt ( Europa Universalis, Hearts of Iron) oder ein Weltraumstrategieapiel ala Master of Orion etc..
Grafik muss natürlich vorhanden sein jedoch lege ich mehr wert auf Spieltiefe.
Also das Bevölkerungszahlen dargestellt werden, einfache Wirtschaftsabläufe eingebunden werden können etc.. Ich bin halt ein Fan von komplexen Spielen entsprechend sowas möchte ich mal machen.

Ob mir das jemals gelingt steht natürlich auf einem anderen Blatt, aber es wäre hilfreich zu wissen welche Sprache ich dafür wählen sollte.
Hallo Questa,

entscheidend für ein Genre oder ein Konzept ist immer die Engine, die Deine Anforderungen erfüllen muß.
Dazu wurden Dir ja schon einige Tipps gegeben.

Für was auch immer Du dich entscheiden wirst, würde ich parallel immer weiter an den Grundlagen arbeiten.
Da bist Du mit C++ und den Buchbeispielen auch hier im Forum schon mal gut beraten.

4X und Strategie:
Logik und Komplexität ist erstmal keine wirkliche technische Hürde, sondern findet im Kopf statt. Dafür brauchst Du natürlich Erfahrung wie man das richtig strukturiert und implementiert.
Aber das kommt von selbst, egal ob C++ , C#. Schwierig und "teuer" wirds erst dann wenn man grafische Ansprüche hat.

Deine Entscheidung mit 2D zu beginnen ist schon mal sehr vernünftig, und tut bei 4X und Strategie nicht weh solange man nicht kommerziell erfolgreich sein will.
(Da werden dieses Jahr wohl M.O.R.E, Stardrive 2 und Galactic Civilization 3 neue Maßstäbe setzen.)

Viel wichtiger ist sich über Logik und Content Gedanken zu machen, und richtig viel Mühe musst Du Dir beim UI Design samt Mikromanagement machen.
Wenn die Elemente und usability nicht stimmig sind weisst Du ja bereits als Spieler wie nervig das sein kann.

Sacaldur

Community-Fossil

Beiträge: 2 326

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

23

31.01.2015, 11:00

Es schadet nicht die neuere Version zu nutzen. Ich würde die Alte vorher deinstallieren. Ist aber nicht unbedingt nötig.
Wenn du mit Unity arbeitest wirst du vermutlich sowieso Monodevelop nutzen, weil man mit VS nicht ohne weiteres debuggen kann.

Es gibt (schon seit einer ganzen Weile) entsprechende Erweiterungen für Visual Studio, ich glaube aber, man braucht eine nicht-Express-Version von Visual Studio, um diese nutzen zu können.


@Bambi:
In dem von dir verlinkten Video werden aber einige Dinge sehr... fragwürdig behandelt.
Ich habe beispielsweise das Gefühl bekommen, dass die Person im Video noch nie von JavaScript (und Webbrowsern) vor Unity gehört hat. So steht auf der Folie hinter ihm (und wird auch so von ihm aufgeführt), dass JavaScript eine Unity-spezifische Sache sei. Das, was Unity als "JavaScript" bezeichnet, ist eine Eigenheit von Unity, und es ist kein richtiges JavaScript.
Weiterhin werden Behauptungen über die Performance von C# und "UnityScript" aufgestellt. Wenn in der Hinsicht tatsächlich ein paar Tests durchgeführt worden wären, könnte man genau sagen, welche Sprache in welchen Situationen schneller oder langsamer ausgeführt wird. Da das nicht gemacht wurde (was ich aus den Formulierungen schließe), sollten auch keine solchen Behauptungen aufgestellt werden.
Weiterhin wurde gesagt, dass man mit C# mehr Zugriff auf Systemfunktionen hätte, wobei Operationen mit Dateien als Beispiel genannt wurden. Da auch UnityScript letztendlich von Mono ausgeführt wird, kann ich mir nicht vorstellen, warum man aus UnityScript heraus keinen Zugriff haben soll.

Wesentlich wichtigere Punkte sind aber eher solche:
UnityScript ist nicht (ausreichend) dokumentiert. UnityScript ist kein JavaScript, was sich bereits in der optional möglichen Typisierung der Variablen bemerkbar macht. Weitere Sprachfeatures könnten vorhanden sein, damit man diese nutzen kann, müssten diese aber dokumentiert sein.
C# besitzt Sprachfeatures, mit denen man viele Problemfälle eleganter lösen kann. Dazu gehören events (und somit delegates), Lambdas, Erweiterungsmethoden usw.
Die C# und UnityScript-Dateien werden nicht gleichzeitig kompiliert, wodurch die Zugreifbarkeit eingeschränkt ist. Will man dennoch, warum auch immer, beide Sprachen in seinem Projekt nutzen, muss man seine Skripte in bestimmte Verzeichnisse packen, nur um die Reihenfolge beim Kompilieren zu beeinflussen. (Ich hoffe ich muss nicht zusätzlich erwähnen, wie... unschöne eine solche Herangehensweise ist.)

Für mich sind die Sprachfeatures von C# der wesentliche Grund, warum ich C# verwende. Dennoch würde ich nicht behaupten, dass eine Verwendung von UnityScript grundsätzlich schlecht wäre und in jedem Fall später negative Auswirkungen hätte.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige