C# Einstieg in die (Spiele)Programmierung für Jugendlichen

Gohst

Commander
Registriert
Nov. 2005
Beiträge
2.443
Hallo zusammen

Mein Chef hat mich gefragt wie sein Sohn (15J) am besten in die Spieleprogrammierung einsteigen kann.

Ich hätte jetzt mal vorgeschlagen grundlegend programmieren zu erlernen damit man für später auch was davon hat.
Also mit "für später" meine ich falls er in die Software Entwicklung einsteigen möchte.

Heute gibt es scheinbar Tools um effizient Spiele zusammenzubastel wie Sand am Meer
(z.B Unity, Panda 3D, XNA Gamestudio etc.).

Aus meiner Sicht eignen sich die nur bedingt da nicht wirklich Programmieren gelernt wird.
Eher die verwendung von API's und fertigen Komponenten.

Da wird das richtige Grundgerüst nicht mit aufgebaut das aus meiner Sicht ein Programmierer haben soll.

Kennt jemand gute Tutorials die spielerisch mit richtiger Programmierung (C# oder Java klar bevorzugt) einsteigen und den Stoff so vermitteln dass sich ein jugendlicher auch wirklich damit beschäftigen möchte?
Der Fokus soll aber klar auf Spiele liegen.

Ich mag mich dunkel an DarkBasic von früher erinnern.

Das fühlte sich in meiner Kindheit so richtig zum Anfassen an.
 
Zuletzt bearbeitet:
Naja, heute basieren einige Spiele auf Engines wie Unity oder der Unreal Engine. Da wird einem, zum Glück, schon einiges abgenommen. Ohne Programmiererfahrung ist es trotzdem nicht sinnvoll, sich auf die Spieleentwicklung zu stürzen. Die generelle Funktionsweise von Programmierspachen und was damit im Hintergrund passiert sollte auf jeden Fall bekannt sein.

Wenn es der Wunsch des Sohnes ist, dann würde ich grundsätzlich erstmal ein Praktikum in der Softwareentwicklung anstreben. Mit seinen 15 Jahren hat er noch jede Menge Zeit sich Wissen anzueigenen, sollte ihm die Materie gefallen.
Spieleentwicklung ist halt kein einfacher Bereich der Softwareentwicklung. Etwas kleiner Anfangen schadet definitiv nicht.
 
Hallo,

ich bin aktuell im Game Producer Studium und kann dir sagen solche Baukästen zum reinschnuppern gar nicht mal so verkehrt sind.
Dein Chef kann seinen Sohn ja nicht dazu zwingen, daher könnte er mit Unreal erstmal ein wenig rumspielen. Das ist insbesondere für Game Designer gut geeignet da es viele Blueprints mitbringt. In Unity habe ich auch schon zwei Projekte fertiggestellt und kann dir sagen, das dort vieles erst per Hand integriert werden muss, damit das überhaupt über Blöcke und Kugeln hinausgeht.
In Unreal kann man auch ohne Programmierung sehr schöne Level erstellen. Als Sprachen eignen sich hier C++ und C#.
Unity sieht zwar Java etwas ähnlich, aber Java wird allgemein nicht genutzt.
Für Browsergames empfehle ich ganz klar HTML5.

Wichtig ist für die meisten das sie schnell Ergebnisse sehen, die Programmierung kommt von ganz alleine, wenn man mit Blueprints usw. nicht weiter kommt.
 
Zuletzt bearbeitet:
Am besten? Unity/Unreal Engine/Gamemaker.
Kein Indie-Entwickler setzt sich erst mal 1-2 Jahre hin und entwickelt eine Engine für sein Spiel.
Wer wirklich einsteigen will wird später auch Unity/ Unreal mit höchster Wahrscheinlichkeit nutzen. Also würde ich auch damit anfangen auch wenn man nicht programmieren kann.
Es ist einfach viel motivierender wenn man sieht dass was auf dem Bildschirm passiert als langweilig zu lernen wie eine for-Schleife oder gar objektorientierte Entwicklung funktioniert.
Man sollte sich das beibringen was man braucht und nicht Dinge lernen die man nicht braucht um sein Ziel zu erreichen.
 
In der i'x oder c't gab es vor einigen Jahren dazu eine Artikelserie für Unity. Schau mal dort im Artikelarchiv.
 
Grüße dich.

Habe vor einigen Jahren was ähnliches erlebt. Ein Freund von mir (mitte 20) wollte Spiele Programmieren.
Das Thema Programmieren ist leider sehr Trocken oder Umfangreich. Somit hat er auch schnell das Interesse verloren ( in seinem Fall C++).
Falls er wirklich Programmieren lernen will, dann sollte er nicht gleich eine schwere Programmiersprache wie die C-Sprachen oder Java verwenden.

Ich denke JavaScript sollte interessant sein. Es ist eine leicht zu erlernende Scriptsprache, er sieht das Ergebnis sofort im Browser und die Frameworks (PixiJS,KiwiJS fallen mir Spontan ein) sind einfach zu implementieren.

Gruß Graph
 
Kiter schrieb:
Kein Indie-Entwickler setzt sich erst mal 1-2 Jahre hin und entwickelt eine Engine für sein Spiel.
Fast kein Indie-Entwickler. Es gibt Indies die ihre eigene Engine aufgebaut haben ;)

Grapholion schrieb:
dann sollte er nicht gleich eine schwere Programmiersprache wie die C-Sprachen oder Java verwenden.
Java und schwer? Java nimmt einem schon Arbeit ab, deswegen ist es verhältnismäßig leicht etwas lauffähiges zu schreiben - was nicht heißt, dass der Code auch gut ist ;)
 
Es kommt immer auf die Komplexität der Engine an. Zum Beispiel das anfängliche Minecraft ist nur moderat Komplex und kann durchaus eigenständig entwickelt werden. Aber nur von erfahrenen Entwicklern.

C++ würde ich für den Einstieg nur bedingt empfehlen, C# hingegen finde ich für den Einsteig durchaus machbar. Gerade durch .Net hat man relativ viel auf das man zurückgreifen kann und somit schnell auch mal eine GUI entworfen, was definitiv als Erfolgserlebnis zählt und zum rumspielen einlädt.
 
C# wäre anfangs machbar. In Verbindung mit Unity würde ich es am Anfang jedoch erstmal lassen, da Unity eine abgewandelte Fomr von C# nutzt.
C# Buch + VisualStudio und es kann losgehen.
 
Für den ersten Blick auf Spiele Programmierung sollte man auf keinen Fall mit einer Programmiersprache anfangen. (Außer er programmiert sowieso schon) Das ist extrem dröge und unnötig schwierig. Besser UE und beliebige YouTube Tutorials.
https://youtu.be/yS-yQfo0lc0
Damit hat man einen guten Zugang, schnellen Erfolg und kann sich mit den logischen Problemen beschäftigen. Wenn er dann noch Spaß hat und an die Leistungsgrenzen der engine kommt oder effizienter werden möchte, kann er immer noch mit c++ anfangen. Würde aus bereits genannten Gründen von Unity absehen.
 
Wir sind eben der Auffassung dass nicht Spiele Entwickeln sondern eigentlich Programmieren gelernt werden soll.

Aber auf spielerische Art.

Als ich Java gelernt habe, hat mich das Buch "Schrödinger Programmiert Java" extrem motiviert.
Genau sowas, auf möglichst spielerische und für Jugendliche geeignete Art soll es sein.

Darum ist das Beispiel der Game-Entwicklung halt immer am beliebtesten.

Kennt vielleicht jemand gute Tutorials die als Produkt ein Spiel ergeben?
Vielleicht gar ein etwas komplexeres Spiel (nicht nur Tic Tac Toe).
 
Da Visual Scripting in ein paar Wochen gelernt ist, hat man schnell Erfolgserlebnisse, einen Einstieg in die Bedienung und eine gute Basis mit C++ weiter zu machen.
Wäre einfach blöd, wenn er keine Lust mehr hat, weil er realisiert, dass man nicht mal eben Spiele in C++ schreibt. Könntet aber natürlich auch umgekehrt anfangen. Also falls er keine Lust mehr hat, auf das Visual Scripting verweisen.

Für c++ und UE4:
https://www.udemy.com/unrealcourse/
Der fängt bei 0 an und deckt alles notwendige ab. Wenn er damit fertig ist, findet er sich allein zurecht.
 
Python ist auch eine Sprache, mit der man sehr schnell Ergebnisse sieht. Ich habe mal im Magpi (Raspberry Pi Magazin, kostenlos downloadbar) ein Tutorial gesehen, wie man mit Python programmiert. Am Ende stand das Spiel Pong.
Auf anhieb finde ich den Artikel nicht, aber Python mit Pygame ist sicher ein interessanter Ansatz und beim Magpi gibt es viele Tutorials.

Natürlich verpackt Python viele Konzepte gut und man programmiert dann doch recht hardwarefern (verglichen mit C o.ä.), dafür ist der Code schön zu lesen und die ersten Ergebnisse kommen schnell.
 
Auf C kann er dann umsteigen wenn er merkt, dass die Performance seines Codes mickrig ist :D (ja, das ist durchaus ernst gemeint - zumindest die teilweise Auslagerung in Bibliotheken kann eine gute Motivation sein sich damit zu beschäftigen).
 
Ein Spielebaukasten nehmen wie z.b. Construct 2, Klik & Play / Games Factory / Multimedia Fusion und einfache kleine Spiele/Levels nachbauen. Da wird rein Visuell entwickelt und Logik über Konditionen und Aktionen abgebildet -> Super einfach und mal lernt schon die logischen Strukturen des programmierens. Auch ist es nicht im Ansatz so komplex wie Unity oder Unreal.

Irgendwann stoßt man dann auf Grenzen und will Sachen darin realisieren, die extrem schwer oder sehr aufwendig oder gar nicht möglich sind: Dann ist der Zeitpunkt gekommen C++ zu lernen um dann richtig ins programmieren einzusteigen oder direkt eine moderne Engine zu verwenden (Unity, Unreal).

Für C++ gibts unmengen an Büchern/Tutorials - gerade in Kombination mit Spieleentwicklung.
Empfehlen kann ich hier: TheChernoProject, HandmadeHero
 
Zurück
Oben