Welcher programmiersprache programmiert man spiele
Ich bin totaler Anfänger und interessiere mich dafür, ein Spiel zu entwerfen, und will mich informieren welche Programmiersprache da die beste ist, zu der ich mir Bücher und Compiler zulegen sollte.
3 Antworten zur Frage
Videos zum Thema
YouTube Videos
Mit welcher Programmiersprache programmiert man Spiele?
kommerzielle spiele werden meist in c++ programmiert, allerdings kann man einfache spiele auch in java programmieren.
Das Java sich nur für AppletGames und Spiele eignet, bei denen eine gute Performance zweitrangig ist, ist ein Gerücht, das sich hartnäckig hält.
Witzigerweise gab es das gleiche Gerücht vor dem Klassiker Doom bereits schon einmal. Damals hieß es nur Assembler würde sich zur PC-Spiele Entwicklung eignen, C wäre dafür einfach zu langsam.
ID-Soft hat der Welt das Gegenteil bewiesen und wie du bereits sagtest, hat sich das Bild inzwischen dahingehend geändert, dass C++, was langsamer ist als normales C, sich in der Spiele Entwicklung durchgesetzt hat.
Man sollte nicht den Fehler machen und behaupten Java hätte keinen Platz in der Spieleentwicklung. Es gibt mehr kommerzielle Vollpreis-Spiele mit Java-Technologie als man im ersten Moment glauben mag. IL2-Sturmovik und Star Wars - Galaxies sind nur zwei Beispiele die ua. Java verwenden, und die sind schon ziemlich alt.
Also grundlegend werden Spiele wie schon gesagt in C++ oder einer ähnlichen Sprache geschrieben. Java wird in dieser Hinsicht als zu langsam angesehen, was allerdings nicht der Fall ist. Da man Java mittlerweile als "native Code" umsetzt erhöht es seine Geschwindigkeit enorm. Des Weiteren steht es in Benchmarks C Programmen nichts nach.
Mittlerweile gibt es auch schon ein Java3D.
Die Spieleprogrammierung ist ein sehr komplexes Thema. Die Entwicklung eines High End Spieles dauert mitunter mehrere Jahre und es sind einige Entwickler, Designer und und und daran beteiligt.
Des Weiteren sollten dir folgende Begriffe nicht so weltfremd vorkommen:
- Unterschied 2D und 3D-Grafik
- Open GL, DirectX und ähnliche
- Speicherverwaltung
- Threads
Zu empfehlen ist auf jeden Fall meiner nach das Buch Game Coding Complete von Mike McShaffry. hat mir zumindest schon mal jemand empfohlen der Ahnung mit der Materie hat.
Des Weiteren sind grundlegende Kenntnisse der Programmierung notwendig, allgemeine Sachen wie Software Architektur und und und.
Man könnte wohl ein Buch damit füllen.
Die Zeiten wo Java nicht für die Spiele-Entwicklung zu gebrauchen war sind seit einigen Jahren vorbei, und für den Einstieg in die Programmierung ist Java ohne Weiteres sehr empfehlenswert.
Falls du ein 3D-Spiel entwickeln möchtest, schau dir auch gleich die jMonkeyEngine an. Das ist eine 3D-GameEngine für Java, die bereits für ein paar kommerzielle Spiele entdeckt worden ist, und deren Core-Entwickler inzwischen bei NC-Soft angestellt sind um die Engine für den dortigen Gebrauch auszubauen.
Aber machen wir uns nichts vor. Auch wenn Java sehr Entwicklerfreundlich ist und jME ebenfalls, dauert es sehr lange ein Spiel zu entwickeln.
Man musst nicht nur lernen wie man ein Programm schreibt, man muss sich zusätzlich noch ein gewisses Grundwissen über Softwaredesign im Allgemeinen und 2D oder 3D Grafik im Besonderen aneignen. Wenn man dann auch noch ein paar Geräusche im Spiel haben will, muss man auch noch ein klein wenig über Soundverarbeitung lernen.
An die Grafiken und Geräusche zu kommen ist oft auch schon eine Herausvorderung, denn um dort wirklich etwas "Schönes" selbst zu machen braucht man auch eine Menge Zeit und muss noch einiges zusätzlich lernen.
Will man die Entwicklungszeit zumindest halbwegs gering halten braucht man also entweder ein kleines Team, oder muss die Tiefen des Internets nach kostenlosen oder zumindest günstigen Modellen, Texturen und Klängen durchforsten, wobei man auch immer das Lizenzrecht im Auge behalten muss, wenn man sich nicht irgendwann von Klagen überhäuft sehen möchte.