|
|
Zeile 1: |
Zeile 1: |
| == Organisation ==
| | {{:FAQ/Intro}} |
| {{QA|Ich würde gerne wegen X mit Y in einer Gruppe arbeiten, geht das?|Nein.}} | |
| | |
| {{QA|Was soll dieser Fragebogen? Verkauft Ihr unsere Daten an Microsoft oder wozu der Zauber?|Eure Daten will keiner. Der Fragebogen dient lediglich dazu, möglichst '''gerechte''' Gruppen zu bilden und zu verhindern, das Gruppe A aus Programmiergenies besteht, während sich in Gruppe B niemand etwas unter dem Begriff [[Entwicklungsumgebung|IDE]] vorstellen kann. Eure Daten werden selbstverständlich nur von uns intern verwendet und nach dem Softwarepraktikum vernichtet.}}
| |
| | |
| {{QA|Als Abgabe sind nur PDF-Dokumente zugelassen, wie kann ich diese erstellen?|Es gibt relativ viele Wege dafür, am besten du verwendest eines der Werkzeuge aus unserer [[PDF|PDF-Tool Übersicht]].}}
| |
| | |
| {{QA|Äääh, was war gleich nochmal unser Thema?|Unser Thema im WS09/10 ist [[Strategiespiele]]. Dazu gibt es einige [[Anforderungen]] und [[Richtlinien]].}}
| |
| | |
| {{QA|Der Poolraum in dem die ganzen Rechner mit Windows und XNA stehen ist am Wochenende abgeschlossen, ich würde aber gerne da arbeiten, wie geht das?|Frau Diringer vom Dekanat kann dir deine Unikarte für die Außentür des Pools freischalten (die rote Tür), muss dafür aber eine Mail von uns bekommen. Einfach eine [mailto:sopra-crew@informatik.uni-freiburg.de Mail an uns] schreiben, in der du deinen Namen und deine Matrikelnummer angibst und wir kümmern uns um die Freischaltung.}}
| |
| | |
| == Entwicklung ==
| |
| === .NET und C# ===
| |
| {{QA|Wo finde ich Tutorials und Referenzen zu C# und .Net, die mir den Einstieg erleichtern?|Es gibt eine Sammlung von [[CSharp-Tutorials und Referenzen|C#-Tutorials und Referenzen]].}}
| |
| | |
| {{QA|Wo finde ich eine Übersicht über die ganzen (teils sehr nützlichen) Tastenkürzel für die C# Programmierung in Visual Studio?|In der Liste der [[VisualStudioTutorial/Tastenkombinationen|Tastenkombinationen]].}}
| |
| | |
| {{QA|Ich will Objekte in einer Liste speichern, habe aber keine Ahnung was für eine Liste ich nehmen soll.|Das [[.NET]] Framework stellt verschiedene Datenstrukturen für verschiedene Anwendungen bereit. Am besten du überlegst dir für welches Szenario die Liste sein soll und schaust dann in der [[Datenstrukturen]]-Übersicht welche am Besten passen würde.}}
| |
| | |
| === Persistenz ===
| |
| | |
| {{QA|Ich würde gerne Objekte speichern oder über ein Netzwerk übertragen, wie kann ich das tun ?|Dafür gibt es in [[.NET]] [[Serialisierung]]. [[Serialisierung]] bezeichnet den Vorgang, ein Objekt in einen Datenstrom umzuwandeln. Dieser kann dann auf einer Festplatte [[Serialisierung#Speichern|gespeichert]] oder über ein Netzwerk [[Serialisierung#Netzwerk|übertragen]] werden.}}
| |
| | |
| {{QA|Geht das auch mit XML ?|Ja, das ist kein Problem, auf der Seite zur [[Serialisierung#XML|Serialisierung]] gibt es entsprechende Informationen.}}
| |
| | |
| {{QA|Ich würde gerne Einstellungen meiner Anwendung speichern, geht das auch einfacher ?|Ja, mit generierten [[Anwendungseinstellungen]].}}
| |
| | |
| === XNA 3.0 ===
| |
| | |
| {{QA|Woher bekomme ich das XNA-Framework 3.0?|Indirekt von unserer [[Downloads]]-Seite, direkter von Microsoft ([http://www.microsoft.com/downloads/details.aspx?FamilyId=7D70D6ED-1EDD-4852-9883-9A33C0AD8FEE XNA 3.0]).}}
| |
| | |
| {{QA|Wo findet man gute Informationen zum Einstieg in das XNA-Framework?|Die [http://creators.xna.com Homepage des XNA Creators Clubs] bietet viele Informationen zum [http://creators.xna.com/en-US/education/gettingstarted Einstieg in XNA] und verfügt zudem auch über einen sehr umfangreichen [http://creators.xna.com/en-US/education/catalog/ Education Catalog] mit vielen Beispielen zu spezielleren Themen, inklusive vollständig verfügbarem Sourcecode und Dokumentation. Eine weitere gute Quelle zum Einstieg stellt die [http://msdn.microsoft.com/en-us/library/bb200104.aspx MSDN Seite zu XNA 3.0] dar. Es gibt im Internet aber auch jede Menge weitere Tutorials und Samples für XNA, ein Blick in die bevorzugte Suchmaschine lohnt sich hier auf jeden Fall!}}
| |
| | |
| {{QA|Wen ich eine nicht-[[XNA]] [[Library]] einbinde kann diese nicht geladen werden.|Das passiert normalerweise dann, wenn Du auf einem [[64-Bit]] Windows entwickelst. [[XNA]] unterstützt nur [[32-Bit]], [[.NET]] versucht aber, die [[Library]] mit [[64-Bit]] zu laden. Abhilfe gibt es bei selbstkompilierten [[Library|Libraries]], die kann man auf [[32-Bit]] einstellen.}}
| |
| | |
| {{QA|Ich habe ein Spiel fertiggestellt und will es z.B. mit Freunden teilen, aber wie kann ich es vernünftig in einen Installer packen so dass das Spiel auf jedem PC läuft?|Um ein Spiel welches mit dem XNA-Framework erstellt wurde ausführen zu können, muss auf dem PC eine Reihe von Dingen korrekt installiert sein. Wenn man sein Spiel veröffentlicht will man keinem potentiellen Spieler zumuten sich selbst um alle Prerequisites kümmern zu müssen. Neben der korrekten Version der [http://www.microsoft.com/downloads/details.aspx?FamilyID=6521d889-5414-49b8-ab32-e3fff05a4c50 XNA Runtime (3.0)] müssen für ein XNA Spiel auch die richtigen [[DirectX]] und [[.NET]] Versionen installiert sein. Glücklicherweise gibt es inzwischen diverse Projekte die sich damit befassen einen leicht konfigurierbaren Installer für XNA Spiele zur Verfügung zu stellen. Ein vielversprechendes Open-Source Projekt auf Basis von Microsofts .msi Packages ist der [http://xnainstaller.codeplex.com/ WiX XNA Installer].}}
| |
| | |
| ==== Sound ====
| |
| {{QA|Wie bekomme ich Soundeffekte ins Spiel?|Um Sounds ins Spiel zu bekommen, solltest du das [[XACT|X Audio Creation Tool benutzen]]. (s.h auch [http://msdn.microsoft.com/en-us/library/bb195038.aspx XNA Audio Programming Guide ]) Außerdem macht es Sinn, dir einen Überblick über die [http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx XNA Audio Klassen] zu verschaffen. Für reine 2D-Sounds, z.B. für Menüs ist auch die [http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.soundeffect.aspx SoundEffect-Klasse] interessant, die ohne XACT auskommt.}}
| |
| | |
| {{QA|Wie bekomme ich Hintergrundmusik ins Spiel?|Der einfachste und vermutlich beste Weg führt über die [[MediaPlayer]]-Klasse. [http://www.kyleschouviller.com/uncategorized/xna-30-mp3wmawav-support/ Artikel dazu mit Sample]}}
| |
| | |
| {{QA|Wie bekomme ich 3D-Sound? (d.h. Stereo entsprechend der Position eines Objekts z.B. zur [[Kamera]])|[[XNA]] stellt sogenannte [[Audio Emitter]] und [[Audio Listener|-Listener]] zur Verfügung, damit geht alles ganz einfach - [http://creators.xna.com/en-US/sample/3daudio Ein Sample für 3D-Sound].}}
| |
| | |
| {{QA|Wir haben Performanceprobleme (eventuell besonders bei bestimmten Aktionen), kann das am Sound liegen?|Das kann sein, ja. Für jeden abgespielten Sound wird ein neues Objekt, eine sog. [[Cue]], erstellt. Wenn dein Spiel in jedem [[Update]]-Zyklus erneut einen oder mehrere von diesen Objekten erzeugt, dann kann das die [[Framerate]] sehr schnell sehr stark drücken. Typischerweise passiert so etwas zum Beispiel, wenn ein Sound immer abgespielt wird, wenn eine bestimmte Taste gedrückt ist. Falls der Benutzer dann diese Taste hält (z.B. MG-Feuer), wird in jedem Update (falls die Implementierung entsprechend schlecht ist) eine [[Cue]] erzeugt.}}
| |
| | |
| {{QA|Wie verhindere ich, dass bei jedem [[Update]] eine neue [[Cue]] erzeugt wird?|Es macht Sinn, zwischen Sounds zu unterscheiden, die einmalig abgespielt werden sollen und solchen, die geloopt werden (z.B. ein Motorengeräusch). Dann muss zwar wegen der eventuellen Positionsveränderung trotzdem geupdated werden, aber man könnte z.B. eine Methode implementieren, die die eine zu einem Objekt gehörende [[Cue]] nur dann neu [[Instanz|instanziiert]], wenn sie zu Ende gespielt hat und sonst nur die Position updated.}}
| |
| | |
| {{QA|Was sind gute Einstiegspunkte, wenn ich mich in das Thema Sound unter [[XNA]] einlesen will?|Am besten schaust du dir mal die Klassen auf [http://msdn.microsoft.com/en-us/ MSDN] an, dann hast du schon einen Überblick und dann ein Sample. Hier einige Links:
| |
| * [http://creators.xna.com/en-US/sample/3daudio Ein Sample für 3D-Sound]
| |
| * [http://blogs.msdn.com/etayrien/archive/2008/09/22/audio-input-and-output-formats.aspx Formate, XACT & MediaPlayer & SoundEffect]
| |
| * [http://msdn.microsoft.com/en-us/library/bb195038.aspx Programming Guide für XNA Audio]
| |
| * [http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.audio.aspx Klassenübersicht für XNA Audio]
| |
| * [http://www.kyleschouviller.com/uncategorized/xna-30-mp3wmawav-support/ kurzer Artikel zur MediaPlayer-Klasse]}}
| |
| | |
| {{QA|Ich habe im Code alles richtig gemacht, aber der Sound wirkt nicht 3D-mäßig. Wo klemmt's?|Möglicherweise hast du in deiner [[Soundbank]] den Sounds nicht die entsprechenden [[Runtime Parameter Control|RPC]]s gegeben. Füge im [[XACT]] [[Distance Curve]] und eventuell [[Doppler Curve]] hinzu. Dann könnte es gehen.}}
| |
| | |
| ==== Content Pipeline====
| |
| | |
| {{QA|Was ist die [[Content Pipeline]]?|Die [[Content Pipeline]] von [[XNA]] ermöglicht es einfach [[Asset|Assets]] für das Spiel zu konvertieren, damit sie zur Laufzeit geladen werden können. [[XNA]] stellt bereits einige [[Content Processor|Content Processors]] zur Verfügung, bietet jedoch auch die Möglichkeit die [[Content Pipeline]] zu erweitern und eigene [[Content Processor|Content Processors]] zu implementieren.}}
| |
| | |
| {{QA|Was ist ein [[Asset]]?|Ein [[Asset]] ist eine Resource für das Spiel. Dabei kann es sich um eine Vielzahl verschiedener Resourcen oder [[Dateiformat|Dateiformate]] handeln, wie beispielsweise [[Model|3D Modelle]] (z.B.: .x, .fbx), Audiodateien (z.B.: .wav, .mp3) oder Grafiken (z.B.: .jpg, .png) etc.}}
| |
| | |
| {{QA|Was für Standard Importer und Prozessoren stellt [[XNA]] 3.0 zur Verfügung?|-> [http://msdn.microsoft.com/en-us/library/bb447762.aspx Standard Importers and Processors]}}
| |
| | |
| {{QA|Wie kann man die [[Content Pipeline]] erweitern und für was sind solche Erweiterungen gut?| Die [http://msdn.microsoft.com/en-us/default.aspx MSDN] beinhaltet einen sehr guten und ausführlichen Artikel zur genauen Funktionsweise der [[Content Pipeline]] und auch darüber wie sie erweitert werden kann. [http://msdn.microsoft.com/en-us/library/bb203887.aspx Zum MSDN Artikel "Content Pipeline"].<br/>Die Erweiterung der [[Content Pipeline]] kann für eine Vielzahl von Aspekten genutzt werden, im Folgenden ein paar Beispiele:
| |
| * Man kann einen neuen [[Content Importer]] schreiben um neue [[Dateiformat|Dateiformate]] in [[XNA]] nutzen zu können die standardmäßig nicht unterstützt werden (beispielsweise die [[Model|3D-Modell]]-Formate .mdl oder .obj).
| |
| * Man kann einen neuen [[Content Processor]] schreiben der eine Grafik nicht als [[Textur]] läd, sondern daraus ein [[Model|3D-Modell]] erstellt welches als [[Heightmap]] für ein [[Terrain]] verwendet werden kann.
| |
| * Man kann eigene Prozessoren dazu verwenden das Leveldesign zu gestalten, Ideen hierzu sind im Vortrag [http://www.microsoft.com/downloads/details.aspx?FamilyID=39516640-3f30-40af-bb71-c0ee9405bf3d&DisplayLang=en Building Worlds with the Content Pipeline] vom GameFest 2008 festgehalten.}}
| |
| | |
| {{QA|Ich habe einen eigenen [[Content Processor]] geschrieben und will ihn jetzt [[Debuggen]], jedoch hält Visual Studio nicht an den [[Breakpoint|Breakpoints]] an, was kann ich tun?| [[Content Pipeline]] [[Content Importer|Importer]] und [[Content Processor|Prozessoren]] werden von Visual Studio als Teil des Build-Vorgangs eines Projektes ausgeführt. Deswegen können sie nicht wie normaler Spielcode [[Debuggen|gedebugged]] werden. Wie man das Problem umgehen kann um innerhalb der [[Content Pipeline]] zu [[debuggen]], kann man im Blog von Shawn Hargreaves nachlesen: [http://blogs.msdn.com/shawnhar/archive/2006/11/08/debugging-the-content-pipeline.aspx Debugging the content pipeline].}}
| |
| | |
| === Physik ===
| |
| | |
| {{QA|Was ist eine [[Physik-Engine]] und was für [[Physik-Engine|Physik-Engines]] stehen für den Einsatz in [[XNA]] zur Verfügung?|Alle Informationen hierzu sind im Artikel zu [[Physik-Engine|Physik-Engines]] zu finden.}}
| |
| | |
| {{QA|Für welche [[Physik-Engine]] könnt ihr Support geben?|Die Open-Source Physik-Engine [[JigLibX]].}}
| |
| | |
| === Anderes ===
| |
| {{QA|Was ist Versionsverwaltung?| Der Wikipedia-Artikel [[Wikipedia:de:Versionskontrolle|Versionskontrolle]] erklärt das für uns. Im SoPra verwenden wir als [[Versionsverwaltung]] [[Subversion]] (kurz [[Subversion|SVN]]). }}
| |
| | |
| {{QA|Was ist SVN?| [[Subversion|SVN]] ist ein Akronym für [[Subversion]]. }}
| |
| | |
| {{QA|Was ist Scrum?| [[Scrum]] ist ein [[Wikipedia:de:Vorgehensmodell|Vorgehensmodell]], an das der Ablauf im SoPra lose angelehnt ist. Mehr dazu unter dem Artikel [[Scrum]].}}
| |
| | |
| {{QA|Gibt es Features die schwer umzusetzen sind (auch wenn das vielleicht nicht unbedingt direkt den Anschein macht)?|Ja da gibt es durchaus ein paar Themen mit denen man vorsichtig sein sollte. Allerdings bedeutet das nicht dass ihr diese Sachen zwangsweise vermeiden sollt! Ihr solltet euch diese Gebiete lediglich im Voraus ansehen, und Umsetzung sowie Integration gut planen. Ihr könnt euch auch hier über ein paar dieser [[Tricky Features|kniffligen Features]] informieren.}}
| |
| | |
| == Grafik, 3D Modelling, Blender ==
| |
| {{QA|Mit welcher 3DSuite Software kann ich die 3D [[Model|Modelle]] für unser Spiel modellieren, texturieren und exportieren?|
| |
| * [http://www.blender.org Blender] (Support durch Tutor, Open Source, Alle folgenden Grafik-Tutorials beziehen sich auf Blender)
| |
| * [http://www.softimage.com/products/modtool/ Autodesk Softimage Mod Tool] (Frei verfügbar für nicht-komerzielle Spieleentwicklung und Modding, integrierter XNA 3.0 Export, [http://www.noesisinteractive.com/index.php?option=com_content&view=category&layout=blog&id=50 Free Softimage-XNA Integration Tutorial])
| |
| * [http://www.maxon.net Cinema4D]
| |
| * [http://www.autodesk.de Autodesk 3D Studio Max]}}
| |
| | |
| {{QA|Wo kann ich Blender downloaden und was muss ich bei der Installation beachten? |
| |
| * Auf [http://www.blender.org/download/get-blender/ Get Blender] gibt es Versionen für alle Plattformen
| |
| * Bei der Installation muss nichts beachtet werden, solange man keine bestimmte ältere ATI-Grafikkarte hat.
| |
| * Hat man doch so eine ATI-Karte und Probleme mit der Performance des User Interfaces: [http://blenderartists.org/forum/showthread.php?t=93908 BlenderATIIssue]}}
| |
| | |
| {{QA|Warum erscheinen die 3D-Modelle im Spiel platt oder zerschnitten wenn gleichzeitig 2D-Sprites gezeichnet werden ? |
| |
| * Der XNA 2D-Sprite Zeichenmodus schaltet den Z-Buffer aus, der für das 3D-Rendering benötigt wird und nicht wieder angeschaltet wird
| |
| * 3D-Modelle erscheinen, als ob sie keine Tiefe hätten
| |
| * Performante Problemlösung: Direktes Anschalten des Z-Buffers statt teurer Moduswechsel, beschrieben auf [http://blogs.msdn.com/shawnhar/archive/2006/11/13/spritebatch-and-renderstates.aspx SpriteBatch and renderstates]}}
| |
| | |
| == Game Mechanic ==
| |
| {{QA|Mein Spiel soll Spass machen, was muss ich beachten?|Eine schwierige Frage, die sich schon viele vor dir gestellt haben und auf die es keine eindeutige Antwort gibt. Am Besten man schaut sich zuerst Spiele mit einem vergleichbaren Inhalt/Theme an (z.B. in der [[Fliegerspiele|Historie der Fliegerspiele]]). Außerdem haben wir noch eine [[Game Mechanic|Übersicht]] von brauchbaren Weblinks, die sich mit dem Thema [[Game Mechanic]] beschäftigen.}}
| |
| | |
| == Entwurf ==
| |
| {{QA|Wie schreibt man ein GDD und was muss da alles drin sein?|Das [[GDD]] soll einen Überblick geben wie das fertige Spiel später aussehen wird. Ein kleiner Leitfaden dazu ist im [[GDD]]-Artikel zu finden.}}
| |
| | |
| | |
|
| |
|
| [[Kategorie:Tutorials]] | | [[Kategorie:Tutorials]] |