Geeignete Sprache für 3D-Spieleprogrammierung (außer C++)

...komplette Frage anzeigen

Das Ergebnis basiert auf 2 Abstimmungen

Unity 3D mit C# 100%
Andere 0%
Unity 3D mit Java 0%
Java 0%
C# 0%

3 Antworten

Unity 3D mit C#

Also ich bin der Meinung, dass Unity eine wirklich gute Wahl wäre und wenn du Games mit Unity 3D erstellst, dann solltest du die Spielelogik in C# scripten, da man im gegensatz zu JavaSCRIPT! mehr dazu gezwungen ist sauberen Code zu schreiben, was (vor allem bei größeren Projekten) für eine bessere Übersichtlichkeit sorgt.

Das wäre ein guter Aspekt! Danke!

0

Ich bin der Meinung das genau c++ die passende Sprache wäre. Im Prinzip kannst du mit jeder Programmiersprache (welche 2D beherscht) ein 3D Spiel programmmieren. Da das aber zu viel arbeit wäre, gibt es Game-engines welche dir funktionen zum laden von 3D Modellen und ähnlichen bieten.

Du schreibst in deiner Frage nicht ob du für Android (Java) oder Windows programmieren möchtest. Für Java gibt es fertige Engines (zb. JPCT) aber auch für C# (Unity, Delta,XNA(veraltet)).

Danke für die Antwort! Ich hatte eigentlich vor die Anwendung für Windows und Mac Computer zu schreiben. Meinst du, es würde sich lohnen C++ zu lernen?

0
@Ray222

Ich misch mich jetzt einfach mal in das Gespräch mit ein ^^

Ich persönlich bin der Meinung, dass wenn man interesse am Programmieren hat, es sich so gut wie immer lohnt C++ zu lernen, da man mit dieser Sprache eigentlich alles programmieren kann. Desweiteren ist man grade beim lernen von C++ gezwungen, sich etwas tiefer in die Materie einzuarbeiten, was das verständnis von dem was man da eigentlich grade macht sehr fördert.

0
@Ray222

Programme für den Mac schreibt man in obective c. Der Vorteil von C++ liegt in der Geschwindigkeit. Java und C# müssen erst zur Laufzeit interpretiert werden. Aus diesem Grund werden AAA Titel fast ausschließlich in C++ gecodet. Wenn du Spiele für Windows in C++ schreiben willst, stehen dir auch coole engines (für die private Nutzung) kostenlos zur Verfügung (z.B Cryengine oder Unreal).

0
@Bratgeraet

Ich glaube dass die Unity 3D Engine für Einsteiger besser geeignet ist als die Cry- oder Unreal-Engine, da man mehr Tutorials zum Erstellen der Scripts findet. Außerdem ist Unity auch nicht so sehr überladen, daher hat man sich die grundlegenden Dinge relativ schnell angeeignet aber das ist vermutlich Ansichtssache.

P.S. ich bin der Meinung, mal gelesen zu haben, dass man bei der Cry-Engine hauptsächlich mit Lua und nicht mit C++ arbeitet.

0
@Samy3D

Danke für eure Antworten! Ich glaube ich werde mir C++ aneignen und dann erstmal mit Unity 3D arbeiten. Andere kann ich ja immernoch ausprobieren :)

0
@Bratgeraet

Das ist so nicht korrekt. C# wird zu IL kompiliert. IL wird dann platformabhängig vor der Ausführung kompiliert, d.h. nichts wird zur Laufzeit interpretiert. Genauso wird Java kompiliert.

Was nicht kompiliert wird, sind normalerweise Scriptsprachen wie JavaScript oder Python. Wenn du allerdings die Unity Engine verwendest, wird sowohl Python (Boo) also auch JavaScript (UnityScript) zu IL kompiliert.

D.h. der Geschwindigkeitsvorteil von C++ verschwindet zum größten Teil. Das alte Argument, dass der Experte mit C++ bessere Geschwindigkeit als mit anderen Sprachen rausholen kann, stimmt zwar, aber wird durch moderne Kompiler nichtig, da diese oft besseren Code generieren als der Benutzer (der vielleicht nicht immer ein Experte ist).

Es ist richtig, dass die CryEngine mit C++ erweitert, aber mit LUA (Scriptsprache) gesteuert wird. Unreal (UDK) wird mit UnrealScript erweitert (also nicht C++), was meines Wissens nach zur Laufzeit interpretiert wird.

C++ Kenntnisse sind oft nützlich, aber meines Erachtens für alle außer den AAA Spieleentwickler komplett unnötig.

Ich würde immer empfehlen eine Engine zu verwenden, außer du hast besonders Spaß daran, das Rad neu zu erfinden, und es macht dir nichts aus, an einem Spiel statt einem Jahr zehn Jahre zu arbeiten und ein gleiches oder schlechteres Ergebnis zu erhalten. Engines werden meist jahrelang von Experten entwickelt. Ein ähnliches Ergebnis als einzelner unerfahrener Entwickler zu erreichen ist absolute Hybris.

1
@GameplayGuy

Dem ist dann wohl nichts weiter hinzuzufügen... Schön ausführliche Antwort.

0
Unity 3D mit C#

Engine , das erspart dir viel Zeit und Kopfzerbrechen . UNITY ist generell keine schlechte Wahl und wenn du ja schon C# kannst ideal. Unity unterstützt übrigens kein java

Vielen Dank für deine schnelle Antwort. Kennst du vielleicht zufällig auch ein Programm um 3D Objekte für Unity zu erstellen (Blender funktioniert bei mir nicht).

0
@Ray222

Du könntest die Trial von google sketchup pro nehmen (du kannst dir einiges an Modellen ja eh aus dem Netz holen )

0

Was möchtest Du wissen?