Welches Buch zu C# für Studium? Unity?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wenn es um feste Literatur zu C# geht, kann ich dir das Rheinwerk-Exemplar von Andreas Kühnel empfehlen. Einen etwas lockeren/spielerischeren Ansatz verfolgt Schrödinger programmiert C# von Bernhard Wurm.

Allerdings würde ich dir definitiv davon abraten, mit Spieleprogrammierung/Unity einsteigen zu wollen. Zum einen verschiebt sich so ein Teil des Fokus auf die Bedienung von Unity und zum anderen baut man in Unity darauf, dass dir Grundkonzepte zu C# bereits bekannt sind. Das gilt m.E. ebenso für Alternativen wie MonoGame oder FlatRedBall.

Halte es einfach. Fange deine Übungen stattdessen erst einmal in Konsolenprojekten an. Mit ein paar Kenntnissen für Basisbausteine kann man auch in diesem Kontext beginnen, kleine Spiele (z.B. Hangman, Snake, Space Invaders, ein Text-Adventure, ein 2D-Auto-Hindernis-Ausweich-Endlessrunner, Sudoku, u.ä.) zu entwickeln.


Inkognito-Nutzer   04.06.2025, 18:42

Danke für den buchtipp natrülich, rheinwerk wäre einen versuch wert, nur erneut durch desktop programmbeispiele / anwendungsaufgaben durchkauen wäre nicht so schön

Inkognito-Nutzer   04.06.2025, 18:41

okay super danke das was abschreckt demotiviert ist das erneut mit Desktopprogrammen alles mühsam durchgenommen wird

Nicht missverstehen das war bei python ja auch interessant und motivierend alles auch neu.

Aber ich frag mich ob es sinnvoll wäre und wie schnell es ginge wie du sagst nach grundlagen (?) einfache spiele entwickeln beginnen

um halt auch logik im programmieren an sich zu verfestigen quasi , trotz anderer sprache, coden vertiefen mit allem was auch python näherbrachte.

regex9  04.06.2025, 23:44
@Inkognito-Beitragsersteller

C# ist eine ziemlich andere Sprache als Python. Das gilt für die Syntax, das Ökosystem, die vorhandenen Features, ... selbst wenn du auf Begriffe/Strukturen stößt, die du mit Python schon kennen gelernt hast, liegen sie in C# meist in anderer Form vor oder weisen ein anderes Verhalten auf.

Spieleprogrammierung mit Unity würde ich erst empfehlen, wenn du halbwegs sicher mit objektorientierter Programmierung in C# bist. Wie lange du bis dahin brauchst, kann ich dir nicht sagen, denn das Lerntempo ist bei jedem anders und hängt von zu vielen individuellen Faktoren ab. Ich kann lediglich garantieren, dass es mehr als nur ein paar Tage/Wochen dauern sollte. Bedenke dass, falls du vorhaben solltest, crashkursmäßig durch die Themengebiete hetzen zu wollen, dir das früher oder später auf die Füße fallen wird.

Das eigenständige Bilden von Algorithmen solltest du ebenso schon deutlich früher üben. Am besten direkt dann, sobald du Variablen, Operatoren, Kontrollstrukturen und Arrays draufhast, denn mit diesen Grundlagen kann man schon ziemlich viele Probleme lösen. Ein paar klassische Übungsaufgaben habe ich beispielsweise in diesen beiden Beiträgen:

schon einmal aufgelistet.

Alles was nach OOP kommt, geht mehr in die Richtung Softwarearchitektur/-design. Algorithmenbildung sollte auf dieser Stufe schon bekannt und bestenfalls kein großes Problem mehr sein.

In der Spieleprogrammierung fokussiert man sich tendentiell auf komplexere Algorithmen (Wegfindung, Worldgeneration, Kollisionsberechnungen). Wenn man sich mehr in Softwarearchitektur vertiefen möchte, halte ich das Gebiet nur für bedingt günstig. In anderen Anwendungsgebieten tritt es m.E. deutlicher hervor.

Inkognito-Nutzer   06.06.2025, 20:23
@regex9

Ok danke das macht zwar nochmal menge Respekt vor der Sprache

Aber wenigstens weiß man woran man ist

Ich nehme mir dein Hinweis zu Herzen und fang mit deinen Beispielen an und vermeide unity erstmal bzw evtl langfristig ebenso - wollte und will ja auch kein spiele entwickler werden wollte meine bisherigen Kenntnisse nur bestenfalls weiterentwickeln

So oder so danke für die ausführliche Rückmeldung

C# in depth (einfacher geschrieben)

C# in a Nutshell (DAS große Standardwerk, aber weniger didaktisch gut aufbereitet)

Optional:

Thinking in Linq (advanced)

Functional Programming in C# (advanced)