FAQ/All: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
=== Physik === | === Physik === | ||
{{:FAQ/Entwicklung/Physik}} | {{:FAQ/Entwicklung/Physik}} | ||
=== | === MonoGame === | ||
{{:FAQ/Entwicklung/MonoGame}} | |||
{{:FAQ/Entwicklung/ | |||
== 3D Modellierung und Grafik == | == 3D Modellierung und Grafik == | ||
{{:FAQ/Modelling}} | {{:FAQ/Modelling}} |
Aktuelle Version vom 9. November 2020, 10:29 Uhr
Auf diesen Seiten befinden sich häufig zum Sopra gestellte Fragen und die passenden Antworten. Sollte hier etwas fehlen, schreiben Sie doch einfach eine Mail an sopra-crew.
Diese Seite enthält alle FAQs auf einen Blick. Da das recht unübersichtlich ist, können Sie auch im FAQ-Einstieg starten.
Organisation
Ich würde gerne wegen X mit Y in einer Gruppe arbeiten, geht das?
Nein.
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 IDE vorstellen kann. Eure Daten werden selbstverständlich nur von uns intern verwendet und nach dem Softwarepraktikum vernichtet.
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-Tool Übersicht.
Äääh, was war gleich nochmal unser Thema?
Das Thema im Sommersemster ist frei. Ihr müsst nur die Anforderungen erfüllen und euch dabei an die Formalien halten. Da die meisten Spiele aus dem Genre der Strategiespiele die Anforderungen erfüllen, könnt ihr diese als Beispiel anschauen.
Der Poolraum in dem die ganzen Rechner mit Windows und MonoGame stehen ist am Wochenende abgeschlossen, ich würde aber gerne da arbeiten, wie geht das?
Während der Pandemie sind die Poolräume geschlossen. 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 Mail an uns schreiben, in der du deinen Namen und deine UB-Nummer (steht auf der Karte) angibst und wir kümmern uns um die Freischaltung.
Entwicklung
Allgemein
Was ist Versionsverwaltung?
Der Wikipedia-Artikel Versionskontrolle erklärt das für uns. Im SoPra verwenden wir als Versionsverwaltung Git.
Was ist Scrum?
Scrum ist ein Vorgehensmodell, an das der Ablauf im SoPra angelehnt ist. Mehr dazu unter dem Artikel Scrum.
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 kniffligen Features informieren.
Visual Studio Community Edition will mich nach 30 Tagen zu einem Microsoft Account zwingen. Kann ich das vermeiden?
Ja, bisher konnte man das durch geschicktes Registry-Editieren vermeiden. Es gibt dazu auch ein Powershell-Script das bisher funktioniert hat.
.NET und C#
Wo finde ich Tutorials und Referenzen zu C# und .Net, die mir den Einstieg erleichtern?
Es gibt eine Sammlung von C#-Tutorials und Referenzen.
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 Tastenkombinationen.
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
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 gespeichert oder über ein Netzwerk übertragen werden.
Geht das auch mit XML ?
Ja, das ist kein Problem, auf der Seite zur Serialisierung gibt es entsprechende Informationen.
Ich würde gerne Einstellungen meiner Anwendung speichern, geht das auch einfacher ?
Ja, mit generierten Anwendungseinstellungen.
Physik
Was ist eine Physik-Engine und was für Physik-Engines stehen für den Einsatz in XNA zur Verfügung?
Alle Informationen hierzu sind im Artikel zu Physik-Engines zu finden.
Für welche Physik-Engine könnt ihr Support geben?
Im Moment für keine. Aber wir schauen uns die Engines bzw. Probleme damit gerne an.
MonoGame
Woher bekomme ich Monogame?
Auf unserer Downloads-Seite findet sich ein Link.
Monogame universal Template kann in VS 2015 nicht erstellt werden
Falls die Fehlermeldung:
Error: this template attempted to load component assembly 'Microsoft.VisualStudio.Universal.TemplateWizards'
auftritt, liegt das höchstwahrscheinlich an den nicht installierten UWP (Universal Windows Platform) SDK. Dieses kann hier heruntergeladen werden. Im Installationsdialog dann die "Developer Tools" und "Entwicklungstools für universelle Windows App" auswählen und installieren.
Wo findet man gute Informationen zum Einstieg in Monogame?
Ein solides Einstiegstutorial bietet die Dokumentation von Monogame MonoGame Getting Started. Weiterführende Tutorials gibt es unter MonoGame Community Tutorials.
Wenn ich mein Spiel starten will, erhalte ich die Fehlermeldung "No suitable graphics card found."
Dieses Problem liegt daran, dass die Grafikkarte nicht dazu in der Lage ist, die von XNA geforderten Leistungen zu bringen. Leider kann man keine universelle Lösung für dieses Problem angeben. Falls die Fehlermeldung jedoch so aussieht, wie auf der rechten Seite und der PC normalerweise 3D-Spiele anzeigen kann, ist es eventuell möglich, dieses Problem zu beheben. Dazu muss das Projekt auf das Reach-Profil umgestellt werden. Löst diese Einstellung das Problem nicht, ist die Hardware vermutlich leider nicht ausreichend für XNA. Kontaktieren Sie in diesem Fall Ihren Tutor.
Meine Modelle werden gar nicht oder fehlerhaft angezeigt. (Eventuell war vor kurzem noch alles normal.)
Vermutlich werden 2D Draw-Calls über die Spritebatch vorgenommen, z.B. zum Anzeigen von HUD-Elementen oder Debug Informationen (eventuell erst seit kurzem eingebaut und seitdem ist die Darstellung der Modelle fehlerhaft). Beim Zeichnen von 2D-Elementen über die Spritebatch werden automatisch bestimmte Renderstates der Grafikkarte fürs 2D-Zeichnen gesetzt, daher werden die 3D Sachen jetzt nichtmehr korrekt gezeichnet. Mehr Infos und eine Lösung für das Problem findet man auf Shawn Hargreaves Blog: SpriteBatch and renderstates in XNA Game Studio 4.0. Dort findet man auch generelle Informationen zu State objects in XNA Game Studio 4.0 und deren Verwendung.
Was muss ich beachten, um transparente 3D Objekte zu zeichnen?
Am besten den Artikel Depth sorting alpha blended objects als Einstieg lesen. Gerade bei Vegetation empfiehlt sich auch zusätzlich der Artikel Antialiasing alpha cutouts. Bitte beachtet, das seit XNA 4.0 Alpha Testing nicht mehr Teil des XNA RenderStates ist. Daher muss die Shader-Variante verwendet werden.
Was ist die Content Pipeline?
Die Content Pipeline von XNA ermöglicht es einfach Assets für das Spiel zu konvertieren, damit sie zur Laufzeit geladen werden können. XNA stellt bereits einige Content Processors zur Verfügung, bietet jedoch auch die Möglichkeit die Content Pipeline zu erweitern und eigene Content Processors zu implementieren.
Was ist ein Asset?
Ein Asset ist eine Resource für das Spiel. Dabei kann es sich um eine Vielzahl verschiedener Resourcen oder Dateiformate handeln, wie beispielsweise 3D Modelle (z.B.: .x, .fbx), Audiodateien (z.B.: .wav, .mp3) oder Grafiken (z.B.: .jpg, .png) etc.
3D Modellierung und Grafik
Mit welcher 3DSuite Software kann ich die 3D Modelle für unser Spiel modellieren, texturieren und exportieren?
- Blender (Support durch Tutor, Open Source, Alle folgenden Grafik-Tutorials beziehen sich auf Blender)
- Autodesk Softimage Mod Tool (Frei verfügbar für nicht-komerzielle Spieleentwicklung und Modding, integrierter XNA Support, u.a. Video Tutorials verfügbar)
- Cinema4D
- Autodesk 3D Studio Max
Wo kann ich Blender downloaden und was muss ich bei der Installation beachten?
- Auf Get Blender gibt es Versionen für alle Plattformen
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 SpriteBatch and renderstates
Ich habe ein skinned Model mit mehreren Animationen, wenn ich es in FBX exportiere hab ich z.B. mit dem AppHub Skinned Model Sampel aber immer nur eine Animation, warum?
- XNA 4 unterstützt beim Import von FBX Files nur eine Animation pro Model, siehe hier
- Eine mögliche Lösung ist die Animationen in einzeln zu exportieren und in XNA wieder zu mergen, siehe hier
Wie exportiere ich mein Model von Blender in ein FBX für XNA?
- Dazu gibt es ein Export Skript. Dieses ist sogar schon im aktuellen Blender integriert. Wie man es aktiviert und worauf man achten muss ist hier beschrieben.
Wie kann ich mein Model schnell und einfach in XNA testen?
- Es gibt einen Model Viewer der in XNA geschrieben wurde und der u.a. auch Animationen etc unterstützt, siehe hier
Game Mechanic
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 Historie der Strategiespiele oder der Historie der Fliegerspiele). Außerdem haben wir noch eine Übersicht von brauchbaren Weblinks, die sich mit dem Thema Game Mechanic beschäftigen.
Entwurf
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.