[Tutorial 3] libGDX – Engine subsystems

Which components does a engine consists of? Each engine has subsystems, which are responsible for an specific functionality. Some of these components depend on other components. Some might be optional, while others are required. Core components: File IO Rendering User Interface/Input More components: Audio Scripting Physics Light Path-finding Network Persistence What about Layers? Modern game engines are…

[Tutorial 2] libGDX – Why component based?

Why to use a component based design? Yeah right, that is a good question. Most game programming tutorials start with considering inheritance hierarchies, how objects should inherit from other objects (Is-a Relation). At the beginning this makes sense and everything is fine and clear. But while the game complexity grows, the inheritance structure becomes larger and larger and…

Netzpolitik: Eine gute und eine schlechte Nachricht

Die schlechte Nachricht: http://www.heise.de/newsticker/meldung/Der-GAU-fuer-Verschluesselung-im-Web-Horror-Bug-in-OpenSSL-2165517.html Hier handelt es sich um eine Sicherheitslücke in einem stark verbreiteten Protokoll, dass von HTTPS, Mail und vielen anderen Diensten verwendet wird. Dabei ist es möglich 64KByte an DAten aus dem RAM zu lesen, was es erlaubt Key, Passwörter uvm. zu kompromittieren. Die gute Nachricht: http://www.heise.de/newsticker/meldung/EuGH-Regeln-zur-Vorratsdatenspeicherung-verstossen-gegen-EU-Recht-2165604.html Eien wirklich erfreuliche Sache, die…

Java 8: Was gibts Neues?

Lambda Funktionen:   Mit Java 8 halten Lambda Funktionen Einzug in die Java-Welt. Diese brauche ich genau dann, wenn nur eine Methode für einen speziellen Zweck gebraucht wird (z.B. bei Listenern). Swing Bsp:

kann nun vereinfacht werden.

Also genau gesagt immer dann, wenn eine anonyme innere Klasse erstellt wurde, die eine Methode überschreibt,…

Java Flags – Boolean[] und BitSet

Häufig kommt es vor, dass man viele boolesche Variablen benötigt. Dabei kann man in der Regel auf zwei verschiedene Möglichkeiten zurückgreifen. Die erste ist die am häufigsten verwendete Variante: das boolean[] Array Dabei sollte man wissen, dass ein boolean in Java nicht einem Bit entspricht. Vielmehr ist die Größe, des Types abhängig von der virtuellen…

Hochschule Karlsruhe: 8te Lange Nacht der Mathematik abgesagt

Das beliebte Event “Die Lange Nacht der Mathematik”, welches von verschiedenen Karlsruher Hochschulen veranstaltet wird, wurde von der Hochschule Karlsruhe – Technik und Wirtschaft aus ungenannten Gründen abgesagt. Die Lange Nacht der Mathematik sollte am 04.04.2014 an der Hochschule Karlsruhe unter dem Motto “Wahrheit, NSA, Materie” stattfinden. Zuvor hatte ein Hacker vom 30C3, dem jährlichen…

Java: Volatile, Atomic und Synchronized

Bei Programmen, die mehrere Threads beinhalten kommt immer mal wieder die Frage auf welche Art von Synchronisierung die Richtige ist. Ganz kurz gefasst gibt es 3 unterschiedliche Varianten, die für unterschiedliche Szenarien sinnvoll sind: Volatile: Volatile stellt sicher, dass ein primitiver Typ oder eine Referenz nicht gecached wird. Das ist dann sinnvoll wenn nur ein…