Texturfilter in modernen Grafikkarten

In der  c’t 17/2010 ist ein Report über Texturfilter in modernen Grafikkarten. Insbesondere bei Spielen sind diese Filter von immenser Bedeutung bei der scharfen Darstellung entfernter Texturen. Insbesondere der Anisotrophe Filter hat in Spielen eine große Bedeutung besonders bei der Darstellung langgestreckter in den Raum hineinragender  Texturen mit regelmäßigen Strukturen (gekachelte Flure, Metallplatten auf dem Boden) entstehen Stufen wenn nur einfache Filter genutzt werden. Bei guten Spielen und einer entsprechend potenten Grafikkarte sollte ein vierfacher anisotropher Filter aktiviert werden können.

Der Artikel beschreibt und zeigt, welche Auswirkungen welche Filter bei DirektX haben.

Veröffentlicht unter Grafik | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Carcassonne Cup 2010 in der BrettspielWelt

Wie das Brettspielwelt Magazin berichtet,  findet vom 1. September – 30. November 2010 wieder der BSW Carcassonne Cup statt. Für Carcassonne-Fans ein absolutes Highlight!

Alles läuft wie im vergangenen Jahr – Zitat:

Es werden immer Matches aus 5 unterschiedlichen Carcassonne-Varianten (CC, CCE, CCHuB, CCBuD, CCJuS) im best of 5-Modus gespielt. Die Reihenfolge der Spiele wird von einem Puppet gelost.

Im September findet zunächst die Qualifikation (Gruppenphase) statt. Jeweils die beiden Gruppenersten qualifizieren sich für den eigentlichen Wettbewerb, der anschließend im Oktober (Gruppenphase) und November (Playoffs) ausgetragen wird.

Die Auslosung der Qualifikationsgruppen findet am 31. August um 21 Uhr im /channel BSW-CC-Cup statt. Es werden wieder reale Brettspiele als Preise verschickt.

Aus BrettspielWelt Magazin.

Veröffentlicht unter Brettspielwelt, Spiele-Informationen | Verschlagwortet mit , | Hinterlasse einen Kommentar

Videos mit Windows Phone 7

In letzter Zeit sind einige Videos im Netz aufgetaucht, die die Fähigkeiten des neuen Windows Phone 7  zeigen. Da war zuerst am 23.07.2010 ein Video bei ZDNet unter dem Motto “Windows Phone 7: schnell wie Android, propritärer als iOS” in dem Greg Sullivan, Senior Product Manager bei Microsoft in Redmond das Gerät kurz in knapp 8 min vorstellt. Und kurz drauf am 27.07.2010 stellt magnus.de gleich 4 Videos online, wo Greg fast eine halbe Stunde die Features des Windows Phone 7 vorstellt. Die Qualität des Videos ist aber eindeutig schlechter.
Update: Auf PocketPC.ch werden in leichtem Schweizer Dialekt alle Funktionen von Windows Phone 7 ausführlich auf Deutsch erklärt. Gestern wurde das erste Video hochgeladen, weitere sollen die nächsten Tage folgen.

Veröffentlicht unter Windows Phone 7 | Verschlagwortet mit , | Hinterlasse einen Kommentar

Demo für Transformer jetzt Downloaden

Das erste offizielle Spiel von Ganda Games steht jetzt als Demo zum Download im Transformer Artikel bereit. Transformer ist ein Memory-Spiel der besonderen Art für 1-4 Spieler mit einem guten Gedächtnis. Alle Spieler können durch eine AI ersetzt werden.

Transformer Ganda Games

Screenshoot: Gewinner ist die AI

Die Demo hat folgende Einschränkungen:

  • maximal 2 Spieler (4)
  • nur 2 Design-Sets (5)
  • nur 1 Mission-Set (12)
  • reduzierte Intelligenz der AI
  • eingeschränkter Sound
  • keine individuellen Spielernamen
  • keine Netzwerkfähigkeit
  • kein Spiel auf Windows Phone 7 oder XBox 360

Ich wünsche viel Spaß beim Testen! Und bitte um Rückmeldungen falls es nicht läuft.

Veröffentlicht unter C# Programmierung, XNA Programmierung | Verschlagwortet mit , | Hinterlasse einen Kommentar

SpriteFont eine Fontfabrik für XNA-Games

SpriteFont 2.0 ist ein Hilfsprogramm, um einen grafischen Font für XNA zu erstellen.
Das Programm ist Freeware und geeignet, aus normalen Fonts, die auf dem jeweiligen PC installiert sind, eine Grafik zu machen, die einen Teil (z.B nur Zahlen) oder alle darstellbaren Zeichen des Fonts enthält. Um nicht in direkten Konflikt mit den Urheberrechten des Fonts zu kommen, können die Zeichen mit tollen Effekten künstlerisch verändert werden. Mit Brush und Pen kann die Füllung und die Kontur farblich angepasst werden. Die Schrift kann halbduchsichtig (Opacity) gemacht oder mit einem Bild hinterlegt werden. Als Effekte gibt es Schlagschatten (Drop Shadow), Glühen (Outer Glow), 3D-Effekte (Bevel und Emboss) und einen Unschärfe-Effekt (Blur). Zu allen Effekten gibt es verschiedene Einstellmöglichkeiten und sie können miteinander kombiniert werden. Natürlich gibt es die üblichen Einstellungen für Fettschrift, Italic, Unterstrichen, …
Die folgende Schrift entstand mit Schriftart “Terminator Two”, fett, Emboss (Light angle 134, Relief 94), Drop Shadow (Direction 315, Shadow Depht 5, Noise 0, Opacity 100, Softness 50)

SpriteFont Beispiel

Transformer von Ganda Games

Eine Exportfunktion exportiert direkt in ein große Grafik, in der alle ausgewählten Zeichen des Fonts enthalten sind. Zusätzlich kann man sich die Eckdaten der einzelnen Zeichen in eine XML-Datei exportieren.

Mit folgendem C#-Code kann man die Zeichen als Textur im Programm nutzen:

[LoadContent method]
SpriteFont font = content.Load<SpriteFont>("MeinFontName");
SpriteBatch batch = new SpriteBatch(GraphicsDevice);
[Draw method]
batch.DrawString(font, "Ganda Games", new Vector2(20, 20), Color.White);

Hinweise:
1. Für die Verwendung von (z.B.) schattierten Schriften, die nicht vollständig erscheinen, die “Spacing”-Eigenschaft bei den Export Einstellungen des Programms benutzen.
2. Für den Export sollte möglichst das PNG Format benutzt werden. Man kann allerdings auch für den Export eine Farbe einstellen, die die Transparenz darstellen soll.
3. Die Schriften sind natürlich auch für Webseiten und andere Grafische Anwendungen zu benutzen.

Weitere Bilder und den Download des Programmes gibt es auf der Seite von nubik.com.

Transformer Font Set

Das Ergebnis des Exports

Die Aktuelle Version ist SpriteFont 2.01

Veröffentlicht unter C# Programmierung, Grafik, XNA Programmierung | Verschlagwortet mit , | Hinterlasse einen Kommentar

Hallo, ich bin ein Node

Online-Spieler werden, ohne dass sie es wissen als Forschungsobjekte benutzt. Sie werden in Online-Rollenspielen überwacht. Betreiber von Online-Rollenspielen lassen jede Handlung ihrer Spieler mitschreiben. Lapidare Verbindungen innerhalb der Community zeigen die Struktur der Spielergruppen und die Vernetzung der einzelnen Spieler auf. Jeder Spieler ist dabei ein sogenannter Node (Knoten). Die Spielebetreiber nutzen die Erkenntnisse aus der Analyse, um die virtuellen Welten, die Spiele attraktiver und profitabler zu gestalten. Mit den gleichen Methoden spüren Geheimdienste auch Terrornetzwerke auf. Dabei spielt der Inhalt und der Weg der Kommunikation (E-Mail, Chat, Post, Telefon, real) eine völlig untergeordnete Rolle. Wichtig ist die Häufigkeit der Kontakte und die Struktur innerhalb der Gruppen und der Gruppen untereinander. Mehr dazu in der aktuellen c’t

c’t – Inhalt 16/2010 – Seite 86.

Veröffentlicht unter Allgemein, Spiele-Informationen | Verschlagwortet mit | Hinterlasse einen Kommentar

Games Convention Online nur noch reine Fachmesse

Es scheint lange her, dass die Games Convention DIE angesagte Spielemesse Europas war mit tausenden verrückten Besuchern.
Die aktuelle c’t schreibt dazu:

Games Convention Online zerfällt in kleine Fachmesse mit locker angebundenen Events. Der Schauplatz der einstigen Spiele-Leitmesse Europas hat sich gewandelt: Die Hallen der Leipziger Neuen Messe, die in den GC-Jahren vom Ansturm der Spielefans und den lautstarken Animationen der Aussteller zu brodeln pflegten, waren bei der diesjährigen Games Convention Online (GCO) verwaist. Nachdem sie 2010 zu einer reinen Fachmesse mutiert ist, soll die GCO auch im kommenden Jahr wieder stattfinden – welche Form sie dann haben wird, steht noch nicht fest.

via c’t – Inhalt 16/2010 – Seite 26.

Veröffentlicht unter Spiele-Informationen | Verschlagwortet mit , , , , , , , | Hinterlasse einen Kommentar

Instancing; Zuweisung der Vertexdaten

Nachdem ich stundenlang versucht habe, den Fehler in meinem Testprogramm zu finden, möchte ich das Ergebnis hier mit Euch teilen.
Ursprünglich war das Programm für eine Normale Anzeige eines aus Primitiven (3 gleichseitige Dreiecke) mit selbst gebasteltem Shader für die Beleuchtung vorgesehen.
Alle notwendigen Daten konnten über die in der XNA-Bibliothek integrierte Struktur “VertexPositionColorTexture” an den Shader weitergegeben werden.
Die Zuweisung der Struktur musste dann wie folgt aussehen:

vertexDeclaration = new VertexDeclaration(
this.GraphicsDevice, VertexPositionColorTexture.VertexElements);

Ich wollte jetzt sogenanntes Shader Instancing anwenden. Das ist eine Vervielfältigung von Objekten durch die GPU mit Hilfe eines Shaders auf dem PC und in der Xbox. (im Gegensatz zu Hardware Instancing – geht nur bei windows und VFetch Instancing – funktioniert nur auf der Xbox).
Für die Übermittlung der Vertexdaten an den neuen Shader wurde jetzt eine eigene Struktur benötigt, die ich “VertexPositionTextureInstancing” nannte.
Die neue Zuweisung der Struktur sollte dann wie folgt aussehen:

vertexDeclaration = new VertexDeclaration(
this.GraphicsDevice, VertexPositionTextureInstancing.VertexElements);

Leider habe ich dabei irgendwie die falsche Anweisung auskommentiert.
Es wurden dann zwar texturierte Körper und/oder Flächen angezeigt, aber absolut nicht das, was ich wollte.
Da ja kein Fehler angezeigt wird, weil die falsche Struktur ja existiert und der Shader ja immer irgendwelche Daten findet habe ich den Fehler ziemlich lange gesucht.
Ich hoffe, ich kann hiermit jemanden noch längeres Suchen ersparen.

Veröffentlicht unter XNA Programmierung | Verschlagwortet mit , , | Hinterlasse einen Kommentar

Programmierung der Gestensteuerung beim Windows Phone 7

Gestern habe ich noch geschrieben, dass ich hoffe, dass Nick Gravelyns neuer Blog mal langsam etwas Substanz bekommt und heute gibt es gleich einen Leckerbissen aus erster Hand dort zu lesen. Wie programmiert man die Gestensteuerung beim Windows Phone 7?

Als erstes braucht man die Windows Phone Developer Tools Beta. Und dann sollte man sich genau den Blog Beitrag “Touch gestures on Windows Phone 7″ von Nick durchlesen.

Soviel sei hier schon mal verraten: Es gibt 10 Gesten, man muss die Gesten, die man benötigt aktivieren (und möglichst nur die):

TouchPanel.EnabledGestures =
    GestureType.Tap |
GestureType.DoubleTap;

Zum Lesen der Gesten am WP7 benötigt man nur eine While-Schleife:

while (TouchPanel.IsGestureAvailable)
{
    GestureSample testGesture = TouchPanel.ReadGesture();
    switch (testGesture.GestureType)
    {
        case GestureType.Tap
        //TODO Reaktion Klick
        case GestureType.DoubleTap
        //TODO Reaktion Doppelklick
    }
}

Abhängig von der Geste, werden bis zu 5 Eigenschaften zurückgeliefert: Timestamp, Position, Position2, Delta und Delta2.

Der Zeitstempel (Timestamp) ist wichtig für kombinierte Gesten, um zu ermitteln welche Geste zuerst eingegeben wurde und wie der Zeitunterschied zwischen den einzelnen Ereignissen war. Die anderen Eigenschaften erklären sich von selbst oder können Nick’s Blog genauer nachgelesen werden.

Ich gespannt darauf, das alles auch praktisch umzusetzen. Da wird wieder stundenlang probiert….

Update: Ein Beispiel-Projekt von Nick gibt es unter http://creators.xna.com/en-us/sample/gestures

Veröffentlicht unter Windows Phone 7, XNA Programmierung | Verschlagwortet mit , | Hinterlasse einen Kommentar

Nick Gravelyn’s Blog nun auf msdn

Nick Gravelyn einer der interessantesten Blogger der XNA-Szene hat seinen alten Blog in “Rente” geschickt, und ist seit Anfang Juli 2010 unter seinem neuen Blog noch nicht so richtig angekommen. Ich hoffe, auch im neuen Blog werden wir bald wieder so interessante Artikel wie über XmlSerializer lesen können

Veröffentlicht unter Allgemein | Verschlagwortet mit | Hinterlasse einen Kommentar