Spiel programmieren - Unity oder Java
Hallo,
Ich möchte anfangen programmieren zu lernen und dann später, wenn ich die Sprache beherrsche ein Spiel zu programmieren.
Ich weiß nicht, ob ich Unity ( c#) oder mit Java programmieren soll. Ich möchte mobile games (android) als auch windows projekte anfangen.
Als buch für unity würde ich "spiele programmieren mit unity" kaufen. Für java das buch von galileo.
Oder soll ich eine komplett andere sprache lernen? (C,c++) ?
5 Antworten
Was du zu Anfang immer lernen musst sind die Grundelemente einer Programmiersprache. Ohne diese brauchst du noch nicht an Spiele denken, allerdings kannst du anfangen mit Spielen zu lernen. Welche Sprache du dabei lernst und mit welchen Mitteln ist völlig egal. Lerne also erstmal die Grundelemente von Hochsprachen (wie z.B. Java, Javascript) und danach lernst du alle Feinheiten der Spieleprogrammierung. Es ist ein mehrstufiger und langjähriger Prozess für den man viel Durchhaltevermögen aufbauen muss. Hier gibt es übrigens einen Artikel dazu, wie man man starten kann und welche Möglichkeiten es gibt: http://www.lerneprogrammieren.de/wie-fange-ich-an/
Ich glaube ich entscheide mich gegen Unity, da man nur 3d spiele erstellen kann und ich nicht modellieren kann. Ich lerne lieber eine Sprache mit der man 2D Android Spiele entwickeln kann, denn Texturen bekomm ich noch selber hin.
Da du noch keine Erfahrung in der Programmierung an sich hast, empfehle ich dir zuerst IRGENDEINE Sprache zu nehmen und dich nicht jetzt schon mit Detailfragen zu blockieren. Wenn du die Sache Ernst meinst, wirst du ohnehin mehrere Sprachen lernen, bis du dein Vorhaben so umsetzen kannst wie du es dir wünscht.
Leider versprechen Bücher vieles und erklären dem Anfänger dann zuwenig. Als Hobbyvorhaben kann ich dir nur empfehlen dich zum Vorhaben heranzutasten du wirst sehr viel Übung und Zeit brauchen.
Man kann mit fast jeder Programmiersprache Spiele entwickeln. Allerdings als Anfänger kannst du ja nicht mal wissen OB Java dafür geeignet ist. Lass dich nicht von den Antworten hier verunsichern. Aus diesem Grund kann ich dir nur das vorschlagen was ich jedem Anfänger vorschlage: Lerne Programmieren mit Javascript, dafür brauchst du keine Zusatzsoftware und damit kannst du fast alles machen wie mit den "erwachsenen" Sprachen. Also auch 2D und 3D Spiele. Hier ein Beispiel für ein Spiel(Dieses ist mit Javascript gemacht) http://lerneprogrammieren.de/roboter/
Ich finde das super, wenn Leute das Programmieren lernen wollen. Dann kriege ich nämlich neue und mehr Kollegen und zusammen schafft man einfach mehr. Von daher: TOP!
Aber wieso muss am Anfang gleich ein so komplexes Thema wie Spieleprogrammierung stehen. Man könnte das vielleicht noch toppen, indem man sagt, ich fange heute zu programmieren an und will in einem halben Jahr meinen eigenen Compiler.
Für den Anfang ist die Sprache eigentlich egal. Du sollst verstehen, wie das vom Prinzip her funktioniert. Daher meine Empfehlung: nimm eine Programmiersprache, die deine Freunde, Klassenkameraden, Kollegen o.ä. auch nehmen. Dann weißt du nämlich, wen du fragen kannst, wenn mal was nicht funktioniert oder du was nicht verstehst. Und glaub mir, das wird passieren.
Unity
unity
Wenn dein fixes Ziel ist, ein Spiel zu programmieren, dann nimm Unity (vor allem für automatische Portierungen zu Android und iOS). Wenn du vorhast, auch andere Sachen zu machen, die dir für einen möglichen Job nützlich sind, dann lerne lieber Java.
Ich bleibe dann bei Unity, weil ich das nur als Hobby machen will. Wenn ich also ein Windows Spiel fertig habe, kann ich das einfach so zu Android portieren?
Das man zuerst die Sprache lernen soll, ist mir klar. Ich wiüollte von Angang an eine, mit der man Spiele dann programmieren kann. Will mir dieses Buch zulegen
http://www.amazon.de/Spiele-entwickeln-mit-Unity-3D-Games/dp/3446439390/ref=sr_1_1?ie=UTF8&qid=1420465540&sr=8-1&keywords=Spiel+programmieren+unity
Hier wird einem zuerst C# erklärt und danach wird auf die Engine Unity eingegangen. Mit den Erklärungen entseht am Ende dann ein Spiel.
Da ich nur als Hobby Spiele entwickeln will, will ich auch nur eine Sprache lernen mit der man das am Besten kann. eignet sich hierfür c# in Kombination mit Unity oder doch lieber Java oder C++ oder Actionscript 3 oder...? Java ist eigentlich nicht für Spiele gedacht und nicht so performant, aber für kleine Spiele (alleine schaff ich nichts größeres) reicht es. Kann man Java eigentlich auch für Android Spiele benutzen?