Laden...

C# und Unity - Womit wie beginnen?

Erstellt von Lalgeriano vor 8 Jahren Letzter Beitrag vor 8 Jahren 6.874 Views
L
Lalgeriano Themenstarter:in
21 Beiträge seit 2015
vor 8 Jahren
C# und Unity - Womit wie beginnen?

Hallo Leute,

ich habe Erfahrungen in der generellen OOP, kenne mich ein Stückchen mit C++ und Objective-C sowie PHP aus.

Ich würde gerne C# gründlich lernen, da mich die Sprache zum Einen einfach reizt und zum Anderen ich sehr am Thema Unity, Programmierung von 2D Spielen für diverse Plattformen interessiert bin.

Da ich mich nun mit C# und Unity noch gar nicht auskenne und bist auf Objective-C und etwas generelle Erfahrung eher Basics beherrsche, ist meine Frage womit ich eher beginnen soll.

Ich lerne am liebsten mit Büchern oder, ergänzend dazu, Video-Trainings, wie die des Rheinwerke-Verlags.

Generelle Fragen die sich mir nun stellen sind folgende:

  1. Erst gründlich C# lernen und dann Unity, da letzteres in C# geschrieben wird? Wohl ja, oder? Wobei Bücher die Unity behandeln ja gewiss auch auf C# eingehen, aber wohl eher nicht so tiefgründig?

  2. Welche Bücher und/oder Video-Trainings sind sehr empfehlenswert für Anfänger im Bereich C#? Am liebsten vom Einstieg, die Basics bis hin zu komplexeren Dingen.

2.2. Gute Unity Bücher? Sehe bei Amazon immer die üblichen Verdächtigen. Dort gibt es auch ein Buch von Carsten Seifert das "Spiele entwickeln mit Unity" heißt, ein anderes, etwas aktuelleres von ihm heißt "Spiele entwickeln mit Unity 5" - es wäre dann wohl sinniger direkt zu letzterem zu greifen, oder behandelt das normale "Spiele entwickeln mit Unity" nochmal andere Sache und das zu 5 nur spezifisch dessen Neuerungen?

  1. Soweit ich korrekt informiert bin nutzt Unity Mono 2.6 und dies unterstützt C+ 4.0. Ich hingegen nutze an meinem Windows 10 Computer bereits das neue Visual Studio und würde dementsprechend auch sehr gerne direkt mit C# 6.0 durchstarten. Ich weiß, dass man Unity wohl durch Umwege auf C# 6.0 bringen kann. Aber generell: Wenn man C# 6 beherrscht, ist es generell schwer auf 4.0 einzusteigen?
M
368 Beiträge seit 2006
vor 8 Jahren

Von Büchern mal abgesehen, dürfte ein Blick in die MVA nicht schaden:
Microsoft Virtual Academy- Spieleentwicklung

Und ob man wirklich gleich mit den neuen Features von C# 6 einsteigen muss (oder sollte), dürfte aufgrund der geringen Erfahrungswerte und einiger noch vorhandener Unzulänglichkeiten in .NET 4.6 - Warum StackOverflow .NET 4.6 nicht nutzt - noch nicht empfehlenswert sein.

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

16.807 Beiträge seit 2008
vor 8 Jahren

Der vorhandene Bug in .NET 4.6 spielt für das Erlernen von C# absolut keine Rolle - völlig Banane.
Ein Update wurde mit KB3086251 übrigens auch schon veröffentlicht.

Ansonsten sei gesagt, dass man C# 6 über VS2015 auch mit .NET 4.5.2 verwenden kann, da die Neuerungen nur Compiler-Features (meist nur Syntaxzucker) sind.
Bitte nicht die beiden Dinge C# 6 und .NET 4.6 vermischen. Das sind zwei unterschiedliche Dinge.

5.657 Beiträge seit 2006
vor 8 Jahren

Hi Lalgeriano,

wenn du mit C# anfangen willst, dann bist du doch mit den Büchern von Rheinwerk schonmal auf der richtigen Spur. Ansonsten haben wir hier ein paar Anlaufpunkte zusammenfaßt: [FAQ] Wie finde ich den Einstieg in C#?. Bevor man allerdings grafisch aufwändigere Spiele entwickeln kann, muß man sich aber normalerweise ersteinmal in die Materie einarbeiten und kleinere Projekte umsetzen.

Für den Einstieg in die 3D-Programmierung gibt es auch eine kleine Auflistung, auch wenn Unity dort (momentan) noch fehlt: [FAQ] Wie finde ich den Einstieg in die 3D-Programmierung mit C#?. Aber für den Einstieg lohnt es sich evtl. auch mal in die anderen Technologien reinzuschauen. Die grundlegenden Herangehensweisen wie Shader, Meshes, Matrizen und Vektorrechnung sind ja überall ähnlich.

Christian

Weeks of programming can save you hours of planning

L
Lalgeriano Themenstarter:in
21 Beiträge seit 2015
vor 8 Jahren

Hallo alle zusammen und danke für die Einstiegshilfe 😃

Die von euch angegebenen Links werde ich mir zu Herzen nehmen und in Ruhe durch lesen, sowie mich dort ein wenig durch klicken.

Das schwere ist, grad zu Anfang für einen relativen Anfängern, ein wenig durchzublicken. Neben den unzähligen Programmiersprachen kommt dann halt vor allem auch das Thema auf, wie man am besten anfängt und einsteigt, welches Buch sich am besten für einen guten und strukturierten Einstieg eignet etc.

Mein Plan sieht nun folgendermaßen aus:

  1. Erst einmal C# lernen. Habe mir das Buch "Schrödinger Programmiert" zugelegt und von einem Bekannten noch das Buch "Einstieg in Visual C# 2013" bekommen. Ersteres ist auch bereits für C#6 angepasst und zeigt die Unterschiede zu dieser Version und seinem Vorgänger. Damit komme ich auch super klar, da es einen einfachen und leicht verständlichen Einstieg gibt.

  2. Währenddessen wollte ich mir alle noch auftauchenden Fragen aufschreiben und diese anschließend per Internet abarbeiten bzw. hier euch fragen 😃

  3. Anschließend würde ich mich erst um die Spieleprogrammierung kümmern, ich denke ein fundiertes (Grund-) Wissen in der jeweiligen Programmiersprache ist immer gut und nicht zu verachten. Da meine Wahl auf Unity fiel, buckel ich nun erst mal die beiden genannten C# Bücher durch und löchere euch ggf. mit Fragen 😄

Meine Wahl würde bei der Spieleprogrammierung dann zur gegebener Zeit auch eher auf Old-School Spiele wie bei guten Super Nintendo fallen. Sprich erst einmal klassische Sidescroller á la Metroid, Mega Man, Castlevania und co. und irgendwann eventuell Action-RPGs wie das damalie Secret of Mana und co. Natürlich mit einer moderneren Grafik 😃 Aber bis dahin ist es natürlich noch ein anstrengender Weg, aber den ersten Schritt muss man natürlich auch erst mal gehen.

So, abschließend noch einmal Danke für eure Zeit und Tips! Ich werde dann bald gewiss mit Fragen zum Thema C# auf euch zukommen 😄

P.S: Empfiehlt es sich aktuell eher C#6 mit .NET 4.5.2 in VS2015 zu nutzen oder doch bereits .NET 4.6 mit C#6 in VS2015?

Lieben Gruß
Lalgeriano

1
3 Beiträge seit 2014
vor 8 Jahren

Hallo Lalgeriano,

um Unity zu entdecken und damit Spiele zu entwickeln, kann ich dir den YouTube-Kanal von Hummelwalker sehr empfehlen ( https://www.youtube.com/user/hummelwalker).

Bin selbst großer "Fan" von diesem Kanal und finde, das dort alles gut erklärt wird und man schnell Fortschritte macht. 👍

L
Lalgeriano Themenstarter:in
21 Beiträge seit 2015
vor 8 Jahren

Hi 19Alex99,

danke für den Tip! Den Kanal kannte ich bis lang noch gar nicht! Ich werde ihn mir in den nächsten Tagen definitiv zu Gemüte führen! 😃

Lieben Gruß,
Lalgeriano

731 Beiträge seit 2006
vor 8 Jahren

Hi Lalgeriano,

also das Buch von Carsten Seifert (Hummelwalker) kann ich nur empfehlen.
Ich habe es passend zur 4.x Version von Unity und die einzelnen Themengebiete sind sehr gut und verständlich beschrieben.

Ansonsten kann man ja noch erwähnen, dass du neben C# auch in JavaScript schreiben könntest. Falls dir das eher liegt.

Ich entwickle nur für mobile Geräte (Android, iOS, WP8) und hatte bisher die Beschränkung, dass ich auf dem .NET-Framework 2.0 arbeiten musste, damit es wirklich auf jeder dieser Plattformen lauffähig war.

Kann sein, dass sich das mit Unity 5 geändert hat oder ich generell falsche Settings benutzt habe.
Da lasse ich mich gerne belehren. 😉

Gruß,
wax

1.985 Beiträge seit 2004
vor 8 Jahren

Hallo zusammen,

der Thread ist zwar schon etwas älter, aktuell verlose ich aber das Buch "Gelesen + Verlosung: Spiele entwickeln mit Unity" auf meinem Blog:

Gelesen + Verlosung: Spiele entwickeln mit Unity

Wer also Interesse an dem Buch hat, hinterlässt einfach einen Kommentar.

Viele Grüße,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

19 Beiträge seit 2015
vor 8 Jahren

Spielt es eine Rolle ob man C# auf Visual Basis lernt oder auf reiner Console wenn es für Unity benötigt wird?

Ich habe zwar keinen Computer, aber was soll's.
Ich hab mir zum üben, eine Tastatur aus Papier gemacht.

16.807 Beiträge seit 2008
vor 8 Jahren

Visual C# ist keine Sprache; einfach nur C# ist die Sprache.
Visual C# ist das Gesamtpaket von Sprache, Code Editor, Projektvorlagen, Debugger und Tools in Form von Visual Studio.

Es gibt also aus Sprachsicht überhaupt keinen Unterschied.
Aber wer Lustig ist und Zeit hat, der kann C# eben auch mit dem Windows Editor schreiben und von Hand via MSBuild.exe kompilieren.

19 Beiträge seit 2015
vor 8 Jahren

ganz so dümmlich war die Frage nun auch wieder nicht gemeint..., ok aber evtl. so formuliert. 😁 🤔

Ich meinte eher "Console Application" u. "Windows Forms Application".

Da es Bücher und Tutorials gibt die meist entweder nur auf Consolen || Windows Form -Basis lehren.

Ich habe zwar keinen Computer, aber was soll's.
Ich hab mir zum üben, eine Tastatur aus Papier gemacht.

189 Beiträge seit 2014
vor 8 Jahren

Also egal mit welcher Oberflächen-Technologie du arbeitest, die Sprache ändert sich nicht.
Aber die Art und Weise, wie du mit dem Nutzer kommunizierst ist total unterschiedlich.
Eine textbasierte Konsolen-Applikation funktioniert ganz anders als eine grafische Oberfläche.
Aber jede grafische Oberflächen-Technologie erfordert auch einen unterschiedlichen Umgang.
Ich weiß jetzt nicht, wie viel C# man können muss, um überhaupt mit Unity was machen zu können, aber IMO sollte man gleich die Sprache richtig lernen.
Und wenn man dann die Sprache beherrscht, ist es auch egal welche konkrete Oberfläche man einsetzt, da man das Sprachwissen besitzt und sich nur noch in die Oberflächen-Technologie einarbeit muss.
(Und falls du Unity mit dem Buch von Carsten Seifert lernst, ist dort ein Crash-Kurs drinnen. Da aber das Buch dünner ist, als eine gutes C#-Handbuch, wird es auch nur ein sehr beschränktes Sprachwissen vermitteln können.)
Ob du nun mit Konsole oder WinForms anfängst, ist Geschmackssache und es gibt Für und Wider.
Ich würde aber erst auf Konsole anfangen und dann später WPF (mit MVVM) nehmen und WinForms tot in der Ecke liegen lassen.

19 Beiträge seit 2015
vor 8 Jahren

Also was Unity so als "Beginner" für einen Tutorials an die Hand gibt kann man hier einsehen wenn man möchte: http://unity3d.com/learn/tutorials
Selbst die "Mini-Projects" sind nicht ohne... X(
Da denk ich als Anfänger doch erstmal an Zahlenraten oder Würfelspielchen etc.

Tic,Tac,Toe/Snake/Tetris, sehe ich da dann schon als so zusagen Abschlussprüfung an. Also ab diesem Punkt wäre ich dann in den Augen von den Tutoren "Beginner"..., ich meine korrigiert mich wenn ich da falsch liegen sollte.

Ich hab mir bereits Alles auf "Beginner" Level angeschaut und hab ganz schnell gemerkt, ne lass gut sein, da müssen erstmal C# Grundlagen her die ordentlich sitzen.

Das Buch von Carsten Seifert ist mir bekannt, klingt auch interessant, sehe da aber keinen Bedarf, da C# wie Du schon selbst sagtest im Crashkurs abgehandelt wird.

Im Forum hier selbst wird ja einem das Openbook Visual C# 2012 Handbuch empfohlen oder der Nachfolger "Einstieg in Visual C# 2013", woraus ich gerade lerne und schon im Kapitel 2 mit dem Repräsentationsphänomen zu kämpfen hatte, als ich plötzlich dachte ich hab einen Bug im Compiler gefunden (Anomalien in der Addition 0,1...) 👅... aber wenn Du da als Anfänger gleich auf sowas stößt und denkst "na toll selbst für die erste einfache Aufgabe bist du zu blöd".

Also wenn ich dich richtig verstanden habe, lehrt mich das Buch genau das wovon ich die Fingerlassen sollte?... WinForms tot... ? ?( 🤔

Ich habe zwar keinen Computer, aber was soll's.
Ich hab mir zum üben, eine Tastatur aus Papier gemacht.

189 Beiträge seit 2014
vor 8 Jahren

Kurz zur Richtigstellung "Einstieg in Visual C# 2013" ist NICHT der Nachfolger von "Visual C# 2012 Das umfassende Handbuch".
Ja, es ist für unterschiedliche Studio Versionen, aber die Entwicklungen sollten einem Anfänger nicht interessieren.
Das erste Buch ist ein Einsteigerbuch mit vielen Übungsaufgaben. Das zweite Buch ist dann für den deep dive.
Am Anfang muss man einen Tot sterben: *Konsole ist "nicht schön", *wenn man mit WinForms lernt, bekommt man eine immer mehr veraltende Technik gezeigt, wobei die Bücher einem nicht die Trennung von Oberfläche und Logik zeigen, ist aber dafür einfach *WPF ist gut und mächtig, sollte aber nur in Verbindung mit MVVM erlernt werden, große Einsteigerhürde.

Da du das Einsteiger-Buch hast, brauchst du es nicht in die Ecke werfen. Nimm es und lern.
Merke dir aber, dass du, wenn du mit dem Buch durch bist, keinen guten Umgang mit WinForms gelernt hast.
So wie die das zeigen reicht das für einen blutigen Anfänger, würde man aber später niemals machen.
Weiterhin solltest du dann "Das umfassende Handbuch" einmal von vorn bis hinten durcharbeiten.
Wenn du das alles kannst, bist du schonmal gut gerüstet.

19 Beiträge seit 2015
vor 8 Jahren

Aha. Danke für die ausführliche Info.
Da hab ich mich von der Jahreszahl blenden lassen.

Ich sehs auch grad das 2012er hat über 1000 Seiten und das 2013er 500... jetzt wird mir auch klar warum das teurer in der Hardbookfassung ist.
Also obwohl es so zu sagen ein Jahr älter ist behandelt es aktuellere Tech. sprich WPF.

Also ich hab grad den WPF Abschnitt des 2012ers gelesen... Da schreibt der Herr Andreas Kühnel

...Sollten Sie in Zukunft, aus welchen Gründen auch immer, planen, Ihre WinForm-Anwendung auf WPF umzustellen, fangen Sie von vorne an. Die Frage, ob WinForms oder WPF, sollte sich somit eigentlich gar nicht stellen.

Und sein Autorkollege beim Verlag bring ein Einstiegsbuch 2013 raus für WinForms... wenn das mal nicht strange ist. :evil: 🤔

Also mit Konsole hab ich absolut kein Problem, ich switch da lieber gleich um und sterbe den tot. 8)

Ich habe zwar keinen Computer, aber was soll's.
Ich hab mir zum üben, eine Tastatur aus Papier gemacht.