Unity lernen sinnvoll?

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.

Woher ich das weiß:eigene Erfahrung
(...) 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!

Woher ich das weiß:Berufserfahrung
Nico0475 
Fragesteller
 16.06.2020, 17:55

Godot?

0
kesux  17.06.2020, 13:10
@Nico0475

Godot ist eine Engine, ähnlich zu Unity, derzeit noch spezialisiert auf 2D. Da hast du auch die Möglichkeit, C# zu verwenden, aber ansonsten besitzt es eine eigene Sprache namens "gdscript". Die ist wesentlich einfacher zu lernen.

https://godotengine.org/

0

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.

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker
Nico0475 
Fragesteller
 16.06.2020, 08:32

Ich dachte es geht nur mir so, ich komme mit due unity API nicht so gut zurecht

0