Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

saydokan

Frischling

  • »saydokan« ist der Autor dieses Themas

Beiträge: 70

Beruf: Schüler

  • Private Nachricht senden

1

05.02.2012, 20:50

Anfänger sucht Rat und Tipps

Hallo Community!
Mich hat das Programmieren bzw. Spiele-Programmieren schon lange interessiert, jedoch habe ich mich nie richtig getraut mitzumischen. Doch nun soll sich das endlich (hoffentlich) ändern. Ich bin 16 Jahre alt und besuche momentan die 11.Klasse.

Ich würde so gerne Programmieren seht gut meistern und auch Spiele programmieren. Mir ist wirklich klar, dass dies ein harter Weg ist, jedoch da will ich durch, denn es wird mir wahrscheinlich auch Spaß machen :)

Doch nun zu meinen Fragen (vorerst):


1. Welche Programmiersprache?
Irgendetwas aus meinem inneren sagt mir, dass ich unbedingt "C" lernen sollte. Ich weiß nicht wie sinnvoll das wäre, da ich noch totaler Anfänger bin. Ich bin auch bereit mehrere Programmiersprachen zu lernen. Mit welcher Sprache sollte ich also von denen 4 anfangen, auch wenn die Sprachen C, C++, C#, Objective-C schwer sind?

2. Wie Programmieren lernen?
Wir haben bei uns in der Umgebung wirklich keine Kurse oder ähnliches, auch ist meine Schule nur mathematisch und wirtschaftlich gerichtet (Gymnasium Bayern). Also welche Medien sollte ich benutzen? Welche Bücher, Webseiten etc. würdet ihr mir ans Herz legen? Mit welcher Methode sollte ich lernen?

3. Welche Ressourcen?

Auch würde ich gerne wissen, welche Software, Hardware etc. ich brauche. Welche Programme brauche ich für das Spiele-Programmieren?

4. Welche Skills muss ich sonst noch antrainieren?

Da ich wohl zu 1000% alleine sein werde, muss ich wohl auch viele andere Bereiche abdecken. Welche anderen Fähigkeiten sollte ich mir außer dem Programmieren sonst erlernen? Wie und mit welchen Programmen?

Puh, es sind wirklich einige Fragen entstanden! Doch es wäre wirklich nett, wenn ihr mir meine Fragen beantworten könntet, denn ich habe momentan wirklich keinen einzigen Wegweißer auf meiner Seite außer dieses Forum das ich per Google gefunden habe :)

Übrigens: Meine eigener Wunsch ist es eigentlich, auch Spiele für Smartphones (sprich: iPhone) zu programmieren. Was muss ich dazu extra beachten?

Danke euch!

2

05.02.2012, 20:55

Les dir doch mal den Artikel im Wiki durch

https://www.spieleprogrammierer.de/wiki/…ammieren_lernen

Ich glaube da sollten eigentlich alle Fragen abgedeckt werden. Und wenn nicht kannst du ja hier noch mal nachfragen ;)

Zitat

Das programm, dass ich eben geschrieben hab ließ sich ohne einen einzigen Fehler kompilieren und und funktioniert so wie es soll. Das macht mir Angst, da ist was Faul

3

05.02.2012, 20:58

Willkommen im Forum und Glückwunsch zu einem guten Einführungsthread. ^^

Auf die meisten Fragen findest Du in diesem Wiki-Artikel Antworten: Spiele programmieren lernen. Deswegen auch nur etwas Text zu ein paar Sachen:

Zu 3: Das ergibt sich dann aus der Wahl der Sprache und dem Typ des Spiels. Wenn Du ein 2D-Spiel entwickelst, dann brauchst Du natürlich auch ein Programm, mit dem Du solche Grafiken erstellen kannst. Und wenn Du C# nutzen möchtest, dann brauchst Du auch ein passendes Framework - aber das regelt sich alles noch von selbst.

Zu 4: Kommt auch hier wieder darauf an, was es werden soll. Bei deinem eigenen Spiel brauchst Du je nachdem natürlich 'ne Story, die Du dir ausdenken musst. Du musst die Grafiken und Sounds erstellen können und es natürlich auch programmieren können. Da brauchst Du dann wiederum auch Erfahrung, damit Du ein komplexeres Spiel beispielsweise überhaupt erstmal planen kannst.

Zum Übrigens: Wenn Du für das iPhone entwickeln willst, so benötigst Du beispielsweise das Entwicklerpaket Xcode (kostenlos) und musst ein bisschen mit Objective-C arbeiten. Schön ist's natürlich auch, wenn man das Gerät besitzt, für welches man entwickeln will (oft nicht kostenlos ^^). Viel beachten musst Du da dann aber auch nicht. Bei der Entwicklung für Android ist es ähnlich, nur musst hier dann eben Java benutzen (und 'ne passende Entwicklungsumgebung). Bis Du aber soweit bist, wirst Du damit schon viel vertrauter sein.

saydokan

Frischling

  • »saydokan« ist der Autor dieses Themas

Beiträge: 70

Beruf: Schüler

  • Private Nachricht senden

4

05.02.2012, 21:15

Danke für deine ausführliche Antwort Codevine!

Mit "Grafik und Sounds erstellen" ist wohl das Zeichnen und Musik und Co. erstellen gemeint, oder? Also sollte ich mich z.B. mit Photoshop auskennen und meine Kunst-Fähigkeiten verbessern? Welches Programm benötige ich zum Erstellen von Musik? Da ich neben der Schule einen Nebenjob habe, sollte das Beschaffen von Software kein allzu großes Problem sein ;)

Sollte ich aber überhaupt Windows nutzen, oder wäre Linux empfehlenswerter?

Danke nochmals

PS: Ich besitze zwar ein iPhone aber momentan noch kein Mac, aber ich werde wohl darauf sparen müssen :S

5

05.02.2012, 21:23

es muss nicht umbedingt heißen, dass du alles machen musst. Das wäre auch zu viel zu lernen. Es gibt viele Internetseiten wo man sich das nötige downloaden kann. Bei späteren Projekten ist es dann auch aufgeteilt. Es gibt dann Programmierer, Modellierer, usw.

Zitat

Das programm, dass ich eben geschrieben hab ließ sich ohne einen einzigen Fehler kompilieren und und funktioniert so wie es soll. Das macht mir Angst, da ist was Faul

6

05.02.2012, 21:37

Ja, mit Grafiken und Sounds ist Zeichnen und ähnliches gemeint (kann von simplen Strichmännchen zu sehr aufwändigen Pixelgrafiken wie in vielen SNES-Spielen gehen. Da kommt's eben stark auf dein Spiel an). Sofern Du da nicht sonderlich begabt bist, kann es auch helfen einfach Platzhaltergrafiken zu nehmen und später dann einen Grafiker zu suchen (wenn der sieht, dass das Spiel größtenteils schon steht, hat er auch mehr Lust Dir zu helfen). Für die Grafiken eignen sich Photoshop (wie Du schon genannt hast) oder auch GIMP (kostenlos). Für Sounds hast Du auch relativ viel Auswahl, wobei es auch einige Seiten gibt, auf denen Du kostenlos Tracks herunterladen und verwenden darfst. Ansonsten findest Du vllt auch hier irgendwann jemanden, der dir die Sounds erstellt.

Ob Windows, Linux (oder auch Mac OS X) ist ziemlich egal. Du kommst mit allen 3 OS' an dein Ziel, insofern solltest Du einfach das OS verwenden, welches Dir am meisten zusagt. Zu erwähnen ist dann aber, dass manche Bibliotheken oder Programme eben nur für bestimmte Betriebssysteme vorhanden sind. Photoshop beispielsweise soweit ich weiß nur für Windows und Mac OS X. Je nach Programmiersprache bist Du teils auch eher an ein System gebunden (Für C# eignet sich zum Spiele entwickeln beispielsweise das XNA-Framework, weshalb Du recht stark von Windows abhängst.)

Sofern Du dich für eine Programmiersprache entschieden hast, kannst Du dir ja dann ein Buch aussuchen (bzw. wir können dir ein paar empfehlen) und anfangen zu lernen - wobei Du anfangs sowieso erstmal "in der Konsole" programmieren wirst.

saydokan

Frischling

  • »saydokan« ist der Autor dieses Themas

Beiträge: 70

Beruf: Schüler

  • Private Nachricht senden

7

05.02.2012, 22:50

Ok danke! Dann werde ich mich nebenbei auch ein wenig in Photoshop vertiefen. Doch wie soll ich das mit dem Sound angehen?

Ich habe mir noch gestern ein Buch über C gekauft (C-Programmieren von Anfang an), jedoch wird im Wiki-Artikel "C" nie empfohlen geschweige denn erwähnt. Warum? Ist C wirklich so ungeeignet?

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

05.02.2012, 23:16

C++ ist besser geeignet als C. Ursprünglich ist C++ aus C entstanden. Mittlerweile haben die beiden sich aber parallel nebeneinander weiterentwickelt. Vom Prinzip kannst du C++ jedoch trotzdem als Weiterentwicklung ansehen. C++ ist im Gegensatz zu C eine Objektorientierte Sprache. Diese Sprachen sind vergleichsweise Bildlich aufgebaut. Stell dir vor du möchtest ein Netz aus Straßen simulieren. Hierbei geht es dir besonders um den Verkehr. Du hast also irgendwelche Fahrzeuge. Wenn du das dann programmieren würdest, dann würdest du hierbei in Objekten denken. Das heisst, du machst dir ein "Auto-Objekt" und überlegst dir was ein Auto alles so können sollte und was man über das Auto so alles wissen muss. Zum Beispiel hat ein Auto eine Marke, eine Farbe, bei einem Spiel vielleicht noch eine Grafik, eine Beschleunigung, eine Geschwindigkeit, einen Bremsweg, und und und. Was auch immer du für deine Simulation über ein Auto wissen musst. Das würdest du alles in dein Auto-Objekt "reinstecken". Damit kann man recht schön arbeiten.
Mit C kann man das bis zu einem gewissen Punkt auch, doch stecken in Objekt-Orientierten Sprachen noch viel mehr Prinzipien, welche in C nicht ohne weiteres umzusetzen sind. Das ist jetzt nur ein Grund. Ein weiterer wäre, dass du mehr Bücher/Informationen/Tutorials/Engines/Frameworks etc findest, in denen C++ für die Spieleentwicklung benutzt wird, als es mit C der Fall ist. Du kannst natürlich auch mit C arbeiten, ich persönlich würde dir jedoch davon abraten.
Dein Buch kannst du an sich behalten und auch ruhig lesen un durcharbeiten. Dabei lernst du schon mal einige Konzepte und freundest dich ein bisschen mit dem programmieren an:) Das ist schon mal sehr gut und auch wichtig. Der Umstieg auf C++ sollte dann "relativ" leicht sein, da C++ Ursprünglich wie gesagt auf C aufgebaut hat. Ich weiß hier sehen das viele anders und sagen, man soll C nicht als Grundlage nehmen, ich bin jedoch davon überzeugt, dass das sehr gut klappt.
Außer C und C++ gibt es natürlich noch viele anderen Sprachen. Wenn du eh mit Windows arbeitest ist vielleicht auch C# einen Blick wert. C# ist um einiges einfacher zu erlernen als C++ und du wirst viel schneller Erfolgserlebnisse bekommen. Außerdem bietet Microsoft dir das Xna Framework, mit dem du sehr schnell Spiele schreiben kannst. Dadurch werden dir Funktionen zur Verfügung gestellt, mit denen du Grafiken anzeigst, Sounds abspielst und und und. Vor allem für Anfänger ist es recht schön damit zu arbeiten. Desweiteren kannst du mit Xna dann später auch für die X-Box360 und das Windows-Phone entwickeln, falls das für dich von Interesse sein sollte.
Mein Vorschlag an dich wäre, einfach mal in dein C Buch reinzugucken und damit erst mal anzufangen. Dann siehst du auch ob du überhaupt spaß am programmieren hast und lernst schon mal einiges. Danach guckst du dir dann die Vor und Nachteile der anderen Sprachen an, und entscheidest dich dann womit es weiter geht. Vielleicht bleibst du ja auch bei C und entwickelst dann weiter damit.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

saydokan

Frischling

  • »saydokan« ist der Autor dieses Themas

Beiträge: 70

Beruf: Schüler

  • Private Nachricht senden

9

06.02.2012, 14:23

Also ok. Ich habe mit das jetzt so geplant:

1. Ich kaufe mir heute das Buch "C++ für Spieleprogrammierer".
2. Ich lege das Buch zum Lernen von "C" auf die Seite, werde es später bestimmt brauchen.
3. Ich fange an C++ zu lernen.

Ok. Das war es wohl für den ersten Teil, oder?


Nur einige Fragen habe ich noch:

1. Was sind die einzelnen Bestandteile von der Erstellung des Spiels? Ich meine, nur das Programmieren können reicht doch nicht aus, oder? Welche Software brauche ich noch bzw. ist gängig?

2. Ich habe etwas von "Unity" gehört. Was ist das bzw. für was brauche ich eine Spieleengine?

3. Kann ich iOS-Spiele bzw. Apps auch ohne Objective-C programmieren?

10

06.02.2012, 14:33

Meine Stimme geht an C. Für den Einstieg finde ich diese Sprache gut geeignet. Nicht nur, weil ich ein kleiner C Fanboy bin, sondern vor allem, weil C nur wenig abstrakt ist und du viel selbst überlegen und machen musst. Moderne Sprachen nehmen dir relativ viel Arbeit ab, C nicht. Auf diese Weise kannst du einiges lernen und bekommst auch nützliches Hintergrundwissen vermittelt. Oftmals auf den harten Weg, denn ein kleiner Fehler im Code kann schon zu Speicherlecks, Pufferüberläufen oder ähnlichen Bugs führen, die mitunter nur schwierig zu finden sind. C ist da gnadenlos.

C++ erweitert C um neue Funktionen. Wenn es dir um diese Funktionen geht, kannst du aus meiner Sicht auch gleich zu einer moderneren Programmiersprache greifen, wie etwa C#, Java oder Python. Dort bekommst du die Funktionen aus C++ eleganter und einsteigerfreundlicher.

Letztendlich hängt es aber natürlich davon ab, welche Sprache dir am besten liegt und gefällt. Das kannst du nur durch Ausprobieren herausfinden.

Werbeanzeige