Unity lernen sinnvoll?
Ich bin 16 Jahre alt und möchte lernen spiele zu entwickeln.
Angefangen habe ich mit 12/13 wo ich mit Lua in ein Spiel Systeme geschrieben habe. Mit Lua habe ich die Grundlagen gelernt, und hab mit 14 mit c# angefangen. Natürlich hatte ich sogar zeitweise aufgehört, aber das grundsystem verstanden und behalten.
Ich habe dann vor paar Tagen Unity entdeckt und wollte mich rantasten. Nur ich verzweifle an mein Kenntnissen und es überfordert mich, wenn der richtige Code für mich kein Sinn macht.
Ist wie in Mathe wenn man es nicht versteht.
Nur ich weiß nicht ob sich das lohnt zu lernen.
4 Antworten
Nein! Unity ist zwar Spieleprogrammierung aber nicht zielführend.
Wenn du als Softwareentwickler ernst genommen werden willst in dem Bereich Spiele solltest du fit in Grafik sein, wissen was Vektoren sind und eine Tonne Stoff. Ausserdem das SQL und Kenntniss über stored Procedures für Multiplayergames.
Eine solide Grundkenntniss in C# ist ein guter Ansatz in einer kleinen Gameschmiede eine Stelle zu bekommen.
Meiner Ansicht nach hast du das Zeug dazu.
(...) und es überfordert mich, wenn der richtige Code für mich kein Sinn macht.
Das deutet auf zwei mögliche Probleme hin:
- Dir fehlen noch irgendwelche Grundlagen in C# / OOP.
- Du hast das Konzept, auf dem Unity aufbaut, nicht verstanden.
Zu dem ersten Punkt könnte ich nun nur raten: Analysiere die gegebenen Code-Abschnitten stückweise, die dir unlogisch erscheinen. Nutze dabei die Dokumentation von Unity und die von Microsoft zu C#/.NET. Beobachte zudem, wo das zentrale Verständnisproblem liegt: Sind es bestimmte Konstrukte, die in ihrem Verhalten unklar erscheinen (z.B. C# Schlüsselwörter / alles, was mit OOP zu tun hat / ...), mathematische Formeln oder API-Methoden? Je nachdem kannst du nämlich gezielt ansetzen, Themen nachzuholen oder zu üben - bei nicht Unity-bezogenen Problemen außerhalb von Unity.
In dem Fall, dass der Code von dir selbst stammt, würde ich davon ausgehen, dass du eine Runde trial and error gespielt hast, bis er funktioniert hat. Sollte ich Recht mit dieser Annahme haben, würde ich dir empfehlen, dich mit Programmablaufplänen und Algorithmenbildung zu befassen. Diverse Aufgaben können dir helfen, das Erstellen von Algorithmen zu üben (z.B. Pong, Snake, Conways Game Of Life, diverse Such- und Sortierverfahren - siehe Wikipedia).
Der letzte Abschnitt gilt ebenso, falls du bisher viel vom Abtippen fremder Codes abhängig gewesen bist.
Bezüglich Punkt 2 könntest du dich zu dem ECS belesen. Schau dazu hier. Es ist sowieso ein oft genutztes Konzept in der Spieleprogrammierung.
Nur ich weiß nicht ob sich das lohnt zu lernen.
Es lohnt sich, so lange es dir Spaß macht. Weitere Parameter (was sich für dich lohnt) musst du selbst bestimmen.
In erster Linie scheinen es eher Probleme mit der Programmierung als solche zu sein, die du hast. Aber vielleicht empfindest du Unity auch generell für deine Bedürfnisse zu komplex. Es gibt noch viele andere Engines, die auch C# oder Lua verwenden und möglicherweise besser fokussiert auf das sind, was du brauchst (z.B. 2D-Spiele, statt 3D; einfacher und reduzierter im Funktionsumfang oder konzentrierter auf einen bestimmten Genretyp).
Du kannst dir ja mal Corona, ROBLOX, LÖVE (alle jeweils Lua) oder Duality, Godot (alle jeweils C#) anschauen.
Hey, du machst das schon richtig so. Zu verzweifeln ist die halbe Miete beim Lernvorgang - nur aufgeben darfst du nicht!
Wenn dir Unity vielleicht noch etwas zu krass ist und du dich auf 2D konzentrieren möchtest, kannst du dir auch mal "Godot" anschauen. Etwas kleiner, etwas einfacher aber genau so mächtig (für 2D).
Viel Erfolg weiterhin!
Wenn es dir Spaß macht, ist es natürlich sinnvoll... Mit Unitiy lassen sich coole Projekte umsetzen und lass dich nicht verunsichern, ich finde den Einstieg in Unitiy (trotz Programmiervorkenntnissen) ziemlich schwer.
Ich dachte es geht nur mir so, ich komme mit due unity API nicht so gut zurecht
Godot?