From Dusk till Dawn

  Gameplay-relevante Tag-Nacht-Wechsel gehören zu den neuesten Features in aktuellen Computerspielen. Von nun an müssen wir uns als Programmierer damit befassen, wie man die Bewegung der Sonne in Abhängigkeit von der Jahreszeit und dem gewählten Spiele-Setting simulieren kann, welchen Einfluss der Sonnenstand auf die Lichtverhältnisse in der Spielewelt hat und wie sich damit verbunden die Farbverläufe am Himmel berechnen lassen.

Außen GUI, innen hui!

  Im Zeitalter der Smartphones und Tablets sind grafische Applikationen ein Muss geworden. Die Programmierung von GUIs auf der Ebene des Quelltextes ist allerdings nach wie vor aufwändig, da in klassischen statisch typisierten Programmiersprachen wie C++ relativ viel Code benötigt wird, um ein GUI zu implementieren. Doch es geht auch anders …

Die Effizienzmaschine

 Einer der wesentlichsten Zeitfresser in größeren Softwareprojekten ist die Erstellung der Datenstrukturen sowie vergleichsweise einfache, aber mehr oder weniger aufwändig zu kodierende Standardoperationen. Gerade solcher Code kann aber prima generiert werden. Stellt die verwendete Entwicklungsumgebung für das konkrete Problem keine geeigneten Werkzeuge bereit, kann man sich diese dank Xtext auch recht schnell selbst schreiben, was mit der aktuellen Version noch einfacher geworden ist.

Es werde Licht 2.0

  Post Processing und HDR-Rendering zählen zu den Schlüsseltechnologien moderner Computerspiele und 3-D-Anwendungen. Im Rahmen des heutigen Artikels erörtern wir, was sich inhaltlich hinter diesen Begriffen verbirgt und wie genau sich diese Techniken mithilfe von Frame- und Render-Buffer-Objekten in einer OpenGL-Anwendung implementieren lassen.

Tools für alle Fälle

 Wer bei der Erstellung von C++-Anwendungen über das Niveau von einführenden Beispielen hinausgeht, wird schnell an einen Punkt kommen, an dem die Bestandteile aus dem offiziellen C++-Standard nicht mehr ausreichen. Auf der Suche nach komplett ausprogrammierten Algorithmen oder Lösungen für Spezialanforderungen begibt man sich dann in die Welt der externen Bibliotheken, die Sammlungen solcher in vielen Projekten bereits erfolgreich eingesetzter Tools sind. Mit Boost und Qt werden zwei der bekanntesten C++-Bibliotheken in diesem Artikel vorgestellt.

To XML or not to XML?

 Die breite Anwendbarkeit von XML und den darauf aufbauenden Techniken kann leicht die Sicht auf besser angepasste Lösungen verstellen. Deshalb ist es wichtig, gründlich zu prüfen, ob XML wirklich die passende und entwicklungsfähige Basis ist. Ansonsten kann es passieren, dass man sich in einer Situation wiederfindet, in der XML die Ursache ernster Probleme ist, aber praktisch nicht mehr ersetzt werden kann – dass man in der XML-Falle sitzt.

Kommunikations-Contest

  Mobile Endgeräte jeder Größe und Ausbaustufe sind allgegenwärtig. Sie bedingen Veränderungen in der Architektur hin zu echten verteilten Anwendungen mit Client-Server-Architektur. Die Folge: Effiziente, zuverlässige, einfach zu programmierende und möglichst sprach- und plattformübergreifende Kommunikationsprotokolle gewinnen eine immer größere Bedeutung Wir testen vier Kandidaten intensiv an einem praktischen Beispiel und erarbeiten nebenbei einen Fragenkatalog für das Design eines praxistauglichen Services.

Am Anfang war der Test

  Heute wird die meiste Software nach Anforderungs- und Spezifikationsdokumentationen entwickelt und – davon ausgehend – danach auf Basis von Testfällen geprüft. Beim Test-First-Ansatz realisiert der Softwareentwickler seinen Programmcode dergestalt, dass die zuvor definierten Testfälle nach einem Prüfungslauf das Ergebnis „passed“ liefern. Auf den ersten Blick scheint besagter Ansatz im Vergleich zu traditionellen Ansätzen das Pferd von hinten aufzuzäumen. Doch der Schein trügt: In Wahrheit ist diese Methode stringenter und führt – bei Beachtung einiger Grundsatzregeln – schneller zum angestrebten Entwicklungsziel.

Spielewelten XXL

  Uniform-Buffer-, Texture-Array- und Texture-Buffer-Objekte bilden die Grundlage für die Programmierung schneller 3-D-Anwendungen und die Darstellung von weitläufigen Spielewelten voller Details. Gute Gründe also, um sich mit der Funktionsweise und den Einsatzmöglichkeiten dieser OpenGL-Objekte eingehend vertraut zu machen.

Das Latein der Programmiersprachen

  Programmierung in C++!? Eine Anforderung, die man zwar häufig in Projekten und Stellenausschreibungen findet, die aber bei vielen leider immer noch den Eindruck erweckt, dass man sich dabei mit etwas Altmodischem beschäftigen muss. Sicher ist C++ nicht so „modern“ wie beispielsweise das gesamte Java-Ökosystem. Betrachtet man aber die Einsatzgebiete von C++, so erkennt man schnell die Relevanz dieser Sprache. Und auch die fachlichen Herausforderungen, denen man sich als Entwickler von C++-Anwendungen stellen muss bzw. darf, können aus dem Umgang mit C++ eine hochinteressante Angelegenheit machen.

Mit Leichtigkeit zur Vollversion

  Kaum ein Produkt kann heute vor dem Kauf so ausführlich getestet werden wie eine Anwendung für den PC. Üblich sind Test- und Trial-Versionen. Meistens sind diese entweder in der Laufzeit beschränkt oder weisen einen eingeschränkten Funktionsumfang auf. Wir haben uns des Themas auf theoretischer Ebene angenommen und zeigen Wege zur Implementierung eines effektiven und einfachen Kopierschutzverfahrens.

X
- Gib Deinen Standort ein -
- or -