Ergebnis 1 bis 16 von 16

Thema: Fragen: Xbox 360 / Windows Games Entwicklung mittels C# in .NET Framework (XNA)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ich habe 2 Jahre Programmierung in der Schule gelernt, auf der Arbeit habe ich es aber nun einmal nicht all zu oft gebraucht. Unsere Firma hat eher Sachen angepasst und da musste ich zwangsweise so gut wie nie programmieren.
    Ich bin nun seit mehr als 6 Jahren aus dem Beruf raus und bin seither im Vertrieb tätig. Du glaubst doch nicht dass ein Vertriebler der Forecasts, Marketing etc... sich da noch sowas wie Programmierung merkt wenn er damit schon vorher nicht viel am Hut hatte? Und ja, 6 Jahre sind da ausreichend wenn du nebenerh, hobbyseitig oder so nichts machst.
    Was ich aber wollte ist folgendes:

    Ich würde gerne wieder programmieren, eben weil ich sehr gerne kleine Spiele zur Übung machen will um dann schlußendlich mich mittels XNA an die Xbox360 zu trauen. Nur kann ich wie gesagt nicht mehr wirklich viel.

    Ihr will wissen wie ich am Effizientesten eine Sprache lernen kann und das habt ihr ja teilweise beantwortet -> Learning by doing. Ich frage mich hier halt noch wie ich das anstreben soll. Wennich mir z.b. Sokoban als Basis nehme, wie soll ich mich an sowas ranwagen? Das man zu aller erst ein Konzept schreibt ist mir hoffentlich noch bewusst. ^^ Aber was kommt danach? Ich blicke da wie gesagt nicht mehr so ganz durch und möchte einfach eine "Starthilfe" bekommen.

    Es bringt ja auch nichts zu sagen "Schreib mal Basisspiele" wenn ich nicht einmal die Syntax kenne...andersherum ists eventuell auch nicht wirklich effizient. :/

    Und ich will mich natürlich auch Stück für Stück hocharbeiten. Also mit 2D anfangen, kleinere Spielerein machen. In 3D Wage ich mich bewusst nicht rein weil mich 3D
    1) Nicht interessiert
    2) Ich niemand kenne und auch selber keine 3D Modellierung anstoßen kann
    3) Shader mittels HLSL derzeit ebenfalls nicht beherschen möchte

    Ich hoffe die problematik wird jetzt etwas klarer. ^^

    Geändert von Gogeta-X (22.10.2010 um 11:46 Uhr)

  2. #2
    Zur Syntaxproblematik: In der Berufsschule hatten wir uns grundsätzlich angewöhnt, bei einer neuen Programmiersprache eine Art Zusammenfassung zu schreiben - für jede Sprache einzeln. Da hast du dann immerhin wenigstens die wichtigsten Programmierkonstrukte im Blick (Variablendeklaration, welche Variablentypen gibt es, alle möglichen Schleifenarten, if/then/elif/else-Zweige etc.)... Ein Verhalten, was ich mir übrigens bis heute behalten habe. Auf meinem Rechner schlummert irgendwo noch eine von mir geschriebene Datei, die in sieben Seiten Umfang Python (eine andere Programmiersprache) und Pygame (eine Bibliothek für Spiele) zusammenfasst - war während meiner Lernphase eine große Hilfe...

    Zum "Konzept" ansich kann ich leider nicht viel sagen, weil ich mir die selbst abgeschaut hatte... Ich hatte damals mit Hilfe von diesem Tutorial in QBasic (eine weitere Programmiersprache) verstanden, wie Tile-basierte Spiele (also Spiele, die in einem Raster ablaufen) funktionieren. Mit diesem Grundwissen kann man dann leicht andere Tile-basierte Spiele ableiten... Gut, ob das Tutorial jetzt für dich geeignet ist, musst du selbst wissen, da zwischen QBasic und XNA wohl Welten liegen dürften, nicht nur in der Syntax^^, aber die Grundlogik ansich (vorallem das Wissen um die Arrays) hatte es mir damals sehr gut beigebracht... Ich programmiere heute noch Spiele in diesem Schema^^...

  3. #3
    Zitat Zitat von Gogeta-X Beitrag anzeigen
    2) Ich niemand kenne und auch selber keine 3D Modellierung anstoßen kann
    Wer sagt denn, dass du Modellieren musst?
    Zitat Zitat von Gogeta-X Beitrag anzeigen
    3) Shader mittels HLSL derzeit ebenfalls nicht beherschen möchte
    Wer sagt denn, dass du die Shader benötigst?

    Ich glaube, bei dir fängt das Problem schon viel früher an, als bei der grafischen Entwicklung. Ich denke, dass du schon Probleme hast, generelle Konzepte umzusetzen und das fängt schon damit an, z.B. eine Datenstruktur und eine Schnittstelle für die Maps von Sokoban zu entwickeln.
    Der Schritt von 2D nach 3D ist nur ein kleiner Schritt. Auch Direct3D kann 2D. Man lässt halt die Z-Koordinate auf 0. Ich würde dir raten, erstmal grundlegende Programmierkenntnisse anzueignen, bevor du wirklich in die Spieleentwicklung eintauchst. Dazu gehört z.B. geschicktes modularisieren eines Programmes oder die Realisierung einer Datenstruktur. Mit diesem Wissen könntest du dann schon mal anfangen, ein Modul zu entwickeln, was die Maps von Sokoban verwaltet. Erst jetzt könnte man sich Gedanken machen, wie man die Map nun grafisch darstellt.

    Ich hab mal kurz Google benutzt und bin auf diese Seite gestoßen: http://www.riemers.net/
    vielleicht ist sie ja was für dich.

  4. #4
    Zitat Zitat von Whiz-zarD Beitrag anzeigen
    Wer sagt denn, dass du Modellieren musst?
    Sagt ja niemand, aber 3D interessiert mich einfach nicht. Ich will mich momentan auf 2D konzentrieren.

    Zitat Zitat
    Wer sagt denn, dass du die Shader benötigst?
    Hier das gleiche wie oben.

    Zitat Zitat
    Ich glaube, bei dir fängt das Problem schon viel früher an, als bei der grafischen Entwicklung. Ich denke, dass du schon Probleme hast, generelle Konzepte umzusetzen und das fängt schon damit an, z.B. eine Datenstruktur und eine Schnittstelle für die Maps von Sokoban zu entwickeln.
    Darum geht es ja gerade. Ich weiß nun einmal nicht wie eine Engine aufgebaut ist. Dafür fehlt mir in der Tat das logische verständnis. Das werde ich aber niemals bekommen wenn mir keiner da hilft. Nur auf mich zeigen und sagen dass ich es nicht kann, bringt mich nicht weiter.

    Zitat Zitat
    Der Schritt von 2D nach 3D ist nur ein kleiner Schritt. Auch Direct3D kann 2D.
    Ja wie schon gesagt, 3D juckt mich nicht im geringsten. Wieso sollte ich etwas lernen was ich nicht brauche. Ausserdem würde ich niemals auf die idee kommen derzeit ein 3D Projekt zu beginnen. Eventzuell verstehst du mich ja auch falsch. Es ist sicherlich nicht verkehrt 3D umzusetzen aber wie du sagtest. D3D arbeitet auch in 2D und das reicht mir.

    @Manuel Vielen Dank nach sowas habe ich gesucht! Eine dynamische Engine... den Grundgedanken verstehe ich jetzt. Neue Engines arbeiten dann wohl eher mittels XML gehe ich von aus? ^^

  5. #5
    Zitat Zitat von Gogeta-X Beitrag anzeigen
    @Manuel Vielen Dank nach sowas habe ich gesucht! Eine dynamische Engine... den Grundgedanken verstehe ich jetzt. Neue Engines arbeiten dann wohl eher mittels XML gehe ich von aus? ^^
    Dann wäre es vom Vorteil, wenn du dich vorallem mit verketteten Listen auseinandersetzt.
    Eine Tilebasierte Map in eine XML Struktur zu klopfen ist nicht vom Vorteil und wird auch nicht gemacht, weil der Overhead viel zu groß wäre.
    Die Tiles werden in verkettete Listen oder dynamische Arrays gespeichert.

  6. #6
    Hallo Gogeta-X, hier mal ein Buchtitel für dich: "Spieleprogrammierung mit dem XNA Framework" von Microsoft Press. Kostet 19,90 Euro und ist für Einsteiger und 'wieder Einsteiger' gedacht. Du lernst zuerst grundlegendes zu C#, Einstieg in das XNA Framewwork, beginnst mit 2D Grafik, Sprites, Effekte und Sound, Maps, bekommst dann einen ersten einblick in die Programmierung von 3D Grafik, Terrains und Multitexturing und wie man Spiele für die Xbox umwandelt. Das Buch hat gerade mal ca. 350 Seiten und liest sich sehr gut. Der grawierende Nachteil des Buches ist die Tatsache, das man auf 350 Seiten jedes Thema nur oberflächlich behandeln kann, d.h. wenn Du tiefer in die Themen des Buches eintauchen möchtest, brauchst Du zusätzliche Informationsquellen. Für den ersten Einstieg in die Thematik ist das Buch jedoch zu Empfehlen.

    Gruss

    Carsten

  7. #7
    Kannst du dieses Buch wirklich empfehlen? Als ich damals auf der Suche nach Büchern über das Thema XNA war, bin ich auch darüber gestolpert, hab mich dank Amazon-Rezensionen dann aber anderweitig orientiert. Dieses Buch soll anscheinend wirklich nur sehr rudimentär auf das Thema C# und XNA eingehen.

    Meiner Meinung nach sollte man sich keine Bücher kaufen, die man nicht auch später noch gut als Nachschlagewerk benutzen kann. Anfängerwissen kriegt man im Internet überall hinterhergeschmissen. Bücher sind leider eine ziemlich teure Sache. Da sollte sich die Anschaffung auch wirklich lohnen. Nur einmal lesen für den Einstieg finde ich da etwas wenig.

    Erste Anlaufstelle sind bei mir immer die GalileoComputing-Openbooks. Dort gibt es auch ein sehr gutes C#-Buch, welches sehr umfassend ist (und man komplett kostenlos lesen kann).

    Ich habe seit ein paar Monaten intensiveren Kontakt mit der Sprache C# und dem .NET-Framework und ich muss sagen, dass ich vollkommen beeindruckt von der Sprache bin. Selten sowas geniales gesehen. Die Sprache ist noch leichter und intuitiver als Java, hat ein sehr mächtiges Fundament mit dem .NET-Framework und ist überraschend schnell für ein auf Bytecode basiertes Konzept. Ich arbeite derzeit an einem komplexeren Projekt und dank C# kann ich 90% der Zeit mit Konzeptarbeit verbringen und benötige nur 10% für die Programmierung. Das Programmieren macht Spaß und hilft beim Entstehungsprozess statt ein weiteres Hindernis zu sein. Wow! Ich bin total begeistert!

    Damals hatte ich mich auch mal eine Zeit lang mit XNA-Programmierung beschäftigt. Allerdings ist Computergrafik nochmal eine ganze Stufe heftiger als "normale" Programmierung. Man sollte da schon ein ordentliches Vorwissen aufbringen.
    Ich hatte mir das Buch Professional XNA Programming geholt, kann hier aber sicher keine Empfehlung für Anfänger geben. Das Buch erwartet viel Vorwissen, bleibt dabei aber leider trotzdem oft nur oberflächig.

    Was ich aber auf jeden Fall empfehlen kann sind die Video-Tutorials von 3D Buzz. Im Gegensatz zu anderen professionellen Video-Tutorials wie von Video2Brain nimmt man sich hier extrem viel Zeit wirklich alles langsam und detailiert zu erklären. Natürlich aber auf englisch. Und der Preis ist auch heftig. 100 Dollar kostet der Spaß. Dafür bekommt man aber auch über 100 Stunden professionelle Video Tutorials, die bei 0 mit C#, OOP und .NET starten und sich dann auf XNA, 2D und 3D hinarbeiten wird. Auf der Seite kann man sich auch die ersten Stunden kostenlos ansehen. Dort wird eine Text-Adventure Engine designt und implementiert. Sollte man bei interesse ruhig mal angucken.

    Wenn ich nach 10 Stunden arbeitstag mit dem Zug nach hause fahre hab ich meistens keine Lust ein Buch zu lesen. Zeit für ein Video hab ich aber dann doch. Find ich eigentlich ne feine Sache so ein Videotutorial ^^

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •