Zweites Tutorial ist fertig

So. Das zweite Tutorial ist nun endlich fertig. Wieder mal eine Helper Klasse, aber wie ich finde, eine extrem nützliche! Als nächstes kommt der Screen Manager.

Hier gehts zur Tutorial Seite

Posted in Indie Game | 1,103 Comments

Cornflowerblue und Framerate

Ich werde jetzt eine Reihe von Monogame Tutorials schreiben, die eigene Seiten bekommen und nicht irgendwann im Blog untergehen. Oben im Menü habe ich jetzt einen permanenten Link “Tutorials” eingefügt. Das erste Tutorial stellt eine Hilfklasse bereit, welche die FPS im Spiel anzeigt.

Hier gehts zur Tutorial Seite

Posted in Indie Game, Tutorials | 1,157 Comments

Neustart mit Monogame

So, ich habe viel hin und her überlegt und einiges recherchiert! Da Microsoft momentan ja meint, alles irgendwie in den Sand setzen zu müssen und die XNA Entwicklung scheinbar stehen geblieben ist, muss was neues her. Leider ist XNA geil, einfach und ich kann es noch ein wenig. Also such such, und dann tatsächlich auf etwas gestoßen, was sich recht vielversprechend anhört.

Monogame
Erstmal die Seite geprüft und hier Referenzen gelesen. Scheint was zu taugen. Also kurzerhand runter geladen, inklusive “Visual Studio 2012 for Windows Desktop” und an damit. Der erste Eindruck ist gut und auch der zweite. Es läuft exakt wie XNA, nur mit dem Versprechen, das es anschließend mit ein wenig Anpassung auch auf Android, iOS etc. läuft. Aber das ist erstmal nebensächlich. Wichtig ist mir Windows und das ich mal wieder was mache!

Also werd ich nen paar alte nützliche Klassen rauskramen und hie ralles dazu beschreiben. Quasi nen Tutorial. Die Installation ist in dem Tutorial allerdings nicht Inklusive. Was ihr braucht sind erstmal die 3 Sachen:

MonoGame
Visual Studio 2012 Express for Windows Desktop
XNA Content Compiler

Alles installieren und dann kommen wir auch schon zu Tutorial 1: Cornflowerblue und Framerate

Posted in Indie Game (Monogame) | Comments Off

Unverhofft kommt oft

Ich habe es tatsächlich geschafft, noch vor Ende 2011 ein Spiel auf die Beine zu stellen! Auch wenn es weder in XNA ist, noch unglaublich schön aussieht, kann man es dennoch spielen, und ist auch recht spaßig. Ich habe das Spiel mit GDI+ in C# umgesetzt und es ist der reinste Grafik Kracher… NICHT! GDI+ hat halt seine Grenzen. Aber noch schlechter als die Grafik ist der Sound, der unter Windows XP manchmal richtig funktioniert, und auf manchen Rechnern garnicht. Zumindest auf meinem Windows 7 funktioniert er Verzögerungsfrei und lässt das Spiel auch nicht stocken. Das Spiel hat nicht viele Level, und ist eigentlich nur ein Vorreiter, für eine XNA Umsetzung. Dennoch habe ich es endlich mal geschafft ein Spiel komplett fertig zu machen! Ich bin so stolz, das mir fast die Tränen kommen ;)

Jeder der will kann es downladen und sich seines Lebens freuen!

Click to download…

Posted in Indie Game | 973 Comments

Beta ist fertig…

Die Beta des TextureStudio ist fertig, und ich muss sagen, das ich mit dem Ergebnis äußerst zufrieden bin. Ich benutze das Prog jetzt schon, um die Sprites und Animationen in mein XNA Experimentier-Projekt zu laden. Läd schnell und der Zugriff ist der Burner, weil das Studio mir anhand von einigen Werten eine Partial Class mit Properties direkt auf alle Texturen, Sheets und Animationen zusammenbastelt. Beispiel:

Die Datei kann dann einfach immer im Projekt überschrieben werden, weil der Rest der Logik in der anderen Hälfte der Klasse steckt. Sprich, eine Datei enthält die Listen für Texturen, Sheets, … und die Logik, und die andere Hälfte wird vom Texture Studio generiert, und enthält nur Properties, auf die einzelnen Listen Elemente (3 mal “und” in einem, ich nenne es mal “Satz”). So merkt man im Code auch direkt, wenn es eine Animation oder sonstwas nicht mehr gibt, weil der Compiler dann meckert.

Einige Dinge habe ich noch verbessert, was die Bedienung angeht, weil ich beim Benutzen gemerkt habe, das einige Dinge noch zu umständlich sind. Nen paar Sachen stören mich noch, aber es wäre zu Zeitaufwendig die jetzt zu ändern, daher lebe ich jetzt erstmal mit den kleinen Macken.

Nächster Schritt ist übrigens die Spielidee… Sie existiert zwar grob, aber jetzt werde ich das alles Konzeptionieren und niederschreiben!!! Der Kreative Prozess sozusagen!

Außerdem ist meine Höhle in Minecraft fertig, und da mir jetzt nichts mehr einfällt, was ich darein bauen könnte (Sollte ne Statur rein), hat das Spiel eine Menge an Reiz verloren. Das heißt ich bin erstmal frei! Allerdings konnte ich es mir nicht verkneifen unser Logo in die Wand zu hacken!

     
 

Posted in Indie Game | 442 Comments

Texture Studio 1.0.0.4 a3

Sooo. Das Tool, um mir das Leben zu vereinfachen ist schon in einem recht fortgeschrittenem Stadium. Von der Bearbeitung der Sprit-Sheets und Animationen her, bin ich recht zufrieden. Es hat vielleicht noch einige benutzeruntypische Features, die ein wenig gewöhnungsbedürftig sind, aber schließlich muss ja ich mit dem Programm zurechtkommen. Was noch fehlt ist der Export der Daten für XNA… und was den Import betrifft, sind mir ungefähr 200 verschiedene Wege eingefallen, wie ich die Ressourcen am liebsten in XNA zur Verfügung gestellt bekommen würde. So komm ich aber nicht weiter, daher werd ich mich am Wochenende kurzerhand für ein Konzept entscheiden. Und mit entscheiden meine ich, ich programmiere einfach drauf los.

Die letzten Schritte des Programms haben sich ein wenig verzögert, weil irgendjemand meinte, er müsste einen Minecraft Server aufsetzen. Naja, und die Wahl fiel bisher fast immer auf nen Glas Whisky und ne gemütliche Runde Cobble-Stone farmen, anstatt Visual Studio 10. Dabei ist das Spiel so sinnlos…. soooo unbeschreiblich sinnlos… ich spreng mir ne riesige Höhle und versuch irgendwas gigantisches zu bauen… Aber das was ich baue hat ja nichtmal nen spielerischen Einfluss. Ich hätte früher einfach nicht soviel mit LEGO spielen sollen… Fazit: Es macht ultra süchtig und ich hasse Lava. ABER! Ich werde jetzt wieder etwas fleißiger sein, weil am 4 März die erste Präsi zwischen mir und Kuro stattfindet. Ich will ja auch schon was in XNA zeigen, und nicht nur mein nettes Tool!

Achja, ich hab noch nen Video ge-captured, in welchem man einen ungefähren Eindruck davon bekommt, wie man später in dem Programm besagte Sprite-Sheets und Animationen erstellt… Sogar in 720p! Hut ab!

Posted in Indie Game | 2,001 Comments

TD Beginning in XNA 3.1

Hier mal ein Video zu unserem alten Tower Defense Spiel, was wir für XNA 3.1 machen wollten. Leider ist das Spiel nie über den Level-Editor Status hinaus gekommen. Sah aber schon nice aus, und die Musik auch… Ach ja… alte Zeiten.

Posted in Alte Sachen | 1,225 Comments

Hilfs-Tool nimmt Formen an…

So, mein erstes Tool um mir das Leben später zu erleichtern, nimmt langsam Züge an.

Der erste Programmteil dient dazu, Texturen zu verwalten. Anzeigen, Zoomen, Endlos-Textur-Modus und das Bearbeiten mit dem Zeichenprogramm seiner Wahl ist damit möglich. Die Texturen werden einfach in ein Unterverzeichnis der EXE Datei kopiert. Ziel ist es, später über ein Export Programm alle Texturen, SpriteSheets und Animationen zu expotieren, damit man Sie bequem in das XNA Projekt einfügen kann, ohne das etwas fehlt. Hinter dem ganzen Konstrukt arbeitet eine Access Datenbank, die alle erstellten SpriteSheets und Animationen beinhaltet. Die Texturen werden nicht in der Datenbank vorgehalten, sondern werden dynamisch aus dem Unterverzeichnis ‘\Textures’ dazu geladen.

Das zweite Programm ist zum Erstellen von Spritesheets gedacht. Man erstellt ein neues Spritesheet, vergibt einen eindeutigen Namen und wählt anschließend eine zu Grunde liegende Textur aus. In der Textur können dann n Sprites ausgewählt und mit Namen versehen werden. Gespeichert wird eigentlich nur der Sheet-Name, der Textur-Name, und die Sprites mit Ihren Namen und Koordinaten. Die Textur kann auch beliebig ausgetauscht werden, ohne dass die einzelnen Sprites sich verändern. Wenn also aus versehen eine Textur aus dem Verzeichnis gelöscht wurde, kann diese einfach nachträglich wieder eingefügt oder eine andere ausgewählt werden. Mit der linken Maustaste auf der Textur wird eine Markierung festgelegt. Mit der rechten kann die Markierung verschoben werden (Fein Anpassungen sind mit ALT+Pfeiltasten (Grösse des Bereichs) und STRG+Pfeiltasten (Verschieben des Bereichs) möglich). Das markieren von Sprites ist in eingeschränkter Weise von Paint.NET geklaut, weil ich denke das diese Arbeitsweise am Vertrautesten und am einfachsten ist (Mausrad zoomt rein und raus, Textur scrollt, wenn die Markierung dem Ende des Anzeigebereichs zu nahe kommt…). Die Namen der einzelnen Sprites müssen natürlich eindeutig sein!

Ich hab noch ein paar Screenshots eingefügt, damit man sich ein Bild davon machen kann. Nächster Schritt ist das erstellen von Animationen auf Basis der SpriteSheets. Danach kommt der Export dran und dann sollte das Tool, soweit, meinen Ansprüchen genügen. Abschließend muss ich die ganzen Exportdateien in XNA einfügen und entsprechende Klassen in XNA bereitstellen, die dass ganze einladen und verwalten.

            

      

Posted in Indie Game | 1,168 Comments

Erster Schritt

Eigentlich müsste ich bei der Entwicklung meines Spiels erstmal mit einem Konzept anfangen, was es denn genau werden soll. Da mir aber schon grob ein Konzept vorschwebt, widme ich mich erstmal einer Sache, die mich erstmal ein wenig wieder reinbringt…

Eines steht jedoch jetzt schon fest: Das Spiel wird zu 100% 2D sein. Da das XNA-Team so nett war, und das SpriteBatch Object ein wenig frisiert hat (man kann jetzt eine transformMatrix übergeben), habe ich jetzt relativ einfach eine scrollende 2D Landschaft erstellt. Die Zauberformel lautet dabei folgendermaßen:

Die einzelnen Variablen müssen natürlich noch vorbesetzt werden. Zum Testen einfach folgende Werte nehmen:

Wenn man die Transformations Matrix jetzt an das SpriteBatch in der Begin Routine übergibt, kann man durch Änderung der Werte leicht Scrollen, Rotation und Zoom hinbekommen.

Aber ich schweife ab. Was ich eigentlich mitteilen wollte, ist, dass man für 2D Spiele immer Animationen braucht. Daraus resultiert, das ich für eine Animation mehrere Bilder benötige, welche performanter Weise in einer Textur gespeichert sein sollten. Es sollten auf eine Textur soviele einzelne Sprite wie nur möglich, damit das SpriteBatch nicht bei jedem Sprite welches es zeichnet die Textur wechseln muss. Dafür muss die Textur also in Bereiche unterteilt werden. Das ganze nennt man dann SpriteSheet. XNA bietet von Haus aus solch eine Funktion. Diese finde ich aber wegen mangelnder Kontrolle nicht ausreichend für mein Spiel. Deshalb werde ich ein kleines Tool schreiben, mit welchem die Texturen, SpriteSheets und Animationen für das Spiel erstellt und verwaltet werden können. Anschließend baue ich die entsprechenden Klassen in XNA auf, um diese Dinge kompfortabel zu nutzen.

Eigentlich ist es die falsche Reihenfolge, mit der ich mein Spiel beginne, aber das Tool zu programmieren, ist erstmal motivierender und einfacher als direkt in XNA einzusteigen.

Melde mich dann, wenn das Tool funktionsfähig ist.

Posted in Indie Game | 665 Comments

Deadline Battle

Auch in diesem Jahr geht es wieder darum, mit einem selbst gebastelten Spiel für XBox-Live reich zu werden, und wie jedes Jahr, haben wir dafür eine schicke ‘Deadline’ im Kalender eingetragen. Dummerweise kann man ein Spiel (zumindest meines Wissens nach) nicht einfach in 5 Minuten zusammen klickern, wie ich es bei diesem Blog getan habe. Dafür muss ich erstmal wieder ran… an XNA 4.0. Das Team von XNA schafft es schneller neue Versionen zu veröffentlichen, als ich es schaffe, etwas dafür zu programmieren… traurig!

Man sagt: Konkurrenz belebt das Geschäft. Daher wird der Herr Kuro (just.random) ebenfalls versuchen ein Spiel zu entwickeln. Die beiden Blogs sollen folglich die Entwicklungsschritte dokumentieren, um an der besagten Deadline (2011-12-23) reich und berühmt zu werden. Mal sehen was draus wird…

Posted in Indie Game | 1,053 Comments