Besseres var_dump für PHP

Jeder der neben PHP schon einmal mit ColdFusion gearbeitet hat wird das Tag <cfdump> aus CF in PHP vermissen. Cfdump ist mir der var_dump-Funktion von PHP vergleichbar, allerdings ist die Darstellung der von PHP Welten voraus. Alle Werte die auf die Cfdump angewendet wird, werden übersichtlich in einer oder mehrere ineinander verschachtelter Tabellen ausgegeben. Dies ermöglicht einen schnellen Überblich ohne dass man sich das ganze Zwecks Einrückung wie in PHP üblich im Quelltext anschauen muss.

In PHP ist es zwar möglich var_dump mit einem vorgestellten <pre>-Tag übersichtlicher zu gestallten, dem ausgereiften Cfdump  kann es aber nicht das Wasser reichen. Das gleiche haben sich auch die Entwickler der PHP-Klasse „dBug“ gedacht. dBug baut die Darstellung von Cfdump bis ins kleinste Detail nach, so können z.B ineinander verschachtele Strukturen per JavaScript ein und ausgeklappt werden. dBug steht unter der GPL und kann unter der Adresse www.dbug.ospinto.com heruntergeladen werden.

Erstellen eines Irrlicht Projekts mit Dev-C++

Da ich im Offiziellen englischen Tutorial einen Fehler gefunden habe, habe ich beschlossen ein eigenes zu schreiben.

Es sind nicht viele Schritte notwendig um Irrlicht in Dev-C++ lauffähig zu machen. Ich werde im weiteren Verlauf des Tutorials die erweiterte Dev-C++ Version wxDev-C++ verwenden. Allerdings existieren bei der Irrlicht-Konfiguration keinerlei unterschied zwischen beiden Versionen.

Es wird davon ausgegangen das die Entwicklungsumgebung bereits installiert ist. Da Dev-C++ über einen Windows-Installer verfügt sollte das auch keine Schwierigkeiten bereiten.

Mit „Irrlicht“-Verzeichnis ist das Verzeichnis eurer Irrlicht Installation gemeint.

  1. Das Projekt
    Als erstes muss man über „Datei->Neu->Projekt“ ein neues Projekt anlegen, dabei sollte man als Vorlage eine Konsolenanwendung verwenden.
  2. Hinzufügen der Header
    Über „Projekt->Projektoptionen“ gelangt ihr in zu den Projektoptionen. Wählt hier den Reiter „Verzeichnisse“. Hier fügt ihr unter „Include Verzeichnisse“ den Pfad zu euerm „Irrlicht/include“-Verzeichnis hinzu.
  3. Hinzufügen der Lib
    Jetzt müsst ihr im Reiter „Zusätzliche Kommandozeilen Optionen“ über „Bibliothek/Objekt hinzuf.“ Die Datei „libIrrlicht.a“ aus euerm „Irrlicht/lib/Win32-gcc“-Verzeichnis hinzufügen.
    Damit habt ihr alle Einstellungen vorgenommen. Jetzt kann’s losgehen!
  4. Der Quellcode
     
          #include <irrlicht> 
          #include <iostream> 
            
           using namespace irr; 
           using namespace core; 
           using namespace scene; 
           using namespace video; 
           using namespace io; 
           using namespace gui; 
            
           #pragma comment(lib, "Irrlicht.lib") 
            
           int main(int argc, char *argv[]){ 
            
             //Initialisieren von Irrlicht (die GCC-Irrlicht.dll unterstützt nur OpneGL) 
             IrrlichtDevice *device = createDevice(EDT_OPENGL, core::dimension2d<s32>(640, 480)); 
             IVideoDriver* driver = device->getVideoDriver(); 
             ISceneManager* smgr = device->getSceneManager(); 
            
             //Laden der Quake3 Map 
             device->getFileSystem()->addZipFileArchive("cht3.pk3"); 
            
             //Map  
             IAnimatedMesh* mesh =smgr->getMesh("cht3.bsp"); 
             smgr->addAnimatedMeshSceneNode(mesh); 
            
            
             //Hinzufügen einer FirstPersonShooter-Kamera 
             smgr->addCameraSceneNodeFPS(); 
            
             //Hauptschleife 
             while(device->run()){ 
            
               driver->beginScene(true, true, video::SColor(0,200,200,200)); 
               smgr->drawAll(); 
            
               driver->endScene(); 
            } 
           } 
     
  5. Das Programm
    Um das Programm zu kompilieren müsst ihr einfach auf den Kompilieren-Knopf drücken. Das Programm wird nach dem kompilieren automatisch gestartet. Allerding bekommt man noch einen Fehler „Die Anwendung konnte nicht gestartet werden, weil Irrlicht.dll nicht gefunden wurde. Neuinstallation der Anwendung könnte das Problem behebe“ um dieses Problem zu beseitigen müsst ihr einfach die „Irrlicht.dll“ aus eurem Irrlicht Verzeichnis in das Verzeichnis der kompilierten Exe-Datei kopieren. Da ihr den GCC –Compiler verwendet braucht ihr die Dll aus dem „irrlicht\\bin\\Win32-gcc“-Verzeichnis. Das Standard Ausgabeverzeichnis des Compilers befindet sich unterhalb euers Projektverzeichnisses im Ordern „Output\\MingW“. In diesem Verzeichnis muss sich auch die zu ladenende Quake-Map befinden wenn ihr keine Pfadangaben machen wollt.

    Das war`s. Wenn ihr noch Fragen oder Hinweise habs schreibt einfach einen Kommentar.

Wii Homebrew-Channel fertiggestellt

Endlich ist es möglich eigene Software im Wii-Modus auf der Wii zu installieren und zu starten. Der Homebrew Channel kann auf jeder Wii installiert werden. Mod-Chips oder andere Hardwareanpassungen sind nicht notwendig. Über den Homebrew-Channel kann Software direkt von einer SD-Card, oder über das Netzwerk gestartet werden. Für Letzteres existiert ein Streaming-Programm welches die Software von einem PC (Windows, Linux oder MacOS) auf die Wii übertägt. Der Homebrew Channel kann auf nicht gemoddeten Wii-Systemen über den Twilight Hack installiert werden. Für Wii-Consolen mit Mod-Chip gibt es eine Installations-CD.

Hier gehts zum Download: hbc.hackmii.com 

wxDev-C++

wxDev-C++“ ist eine Abwandlung des normalen „Dev-C++“ einer freien C++ IDE, im Gegensatz zum dieser ist in „wxDev-C++“ aber ein GUI-Editor integriert der auf dem „wxWidgets“-Framework aufbaut. Damit ist es möglich in C++ GUI-Anwendungen für Widows, Linux (GDK+), und MacOS zu programmieren.

Irrlicht - eine freie einfach zu lernende 3D Engine

Irrlicht ist eine freie in reinem C++ geschriebenen 3d-Engine. Neben C++ kann Irlicht auch aus .NET angesprochen werden. Irrlicht bietet auch einige passende Erweiterungen wie IRRKlang (Sound-Bibilothek) , IRREdit (MapEditor) und IRRXML (XML-Bibilothek). Irrlicht unterstützt OpenGL und DirectX (nur unter Windows) und ist für die Systeme Windows, Linux und MacOs verfügbar. Die Engine ist einfacher zu lernen und zu handhaben als Ogre.

Die Engine kann ohne Probleme mit Visual Studio oder GCC kompiliert werden. Allerdings ist es nur mit Visual Studio möglich die DirectX-Programme zu erstellen. GCC unterstützt nur OpenGL und den Software Renderer.

Features:
  • Dynamische Lichter
  • Bump-Mapping
  • Parallax-Mapping
  • Light-Maps
  • Dynamische Schatten
  • usw...

Winbinder - Windows GUI-Anwendungen mit PHP entwickeln

Winbinder ist eine natives Windows-Binding und ermöglicht das erstellen von grafischen Windows-Anwendungen in PHP . Neben Windbinder existiert noch eine weitere PHP-Erweiterung die das verspricht, sie heißt PHP GTK und ermöglicht es grafische Anwendungen für Windows, Linux und Mac-OS zu schreiben. Ich halte aber beide Erweiterungen für noch nicht ausgereift. In Winbinder sind noch nicht alle benötigten Funktionen implementiert, die man sonst als selbstverständlich ansieht. So wird „Drag and Drop“ noch nicht vollständig unterstützt. Ein weiteres Problem ist das das Kompilieren der in PHP geschriebenen Anwendungen noch nicht richtig funktioniert, um eine nicht Kompilierte Winbinder-PHP-Anwendung auszuführen muss eine Windbinder Installation vorhanden sein. In diesem Fall werden die PHP-Files direkt interpretiert. Winbinder eignet sich meiner Ansicht nach im momentan Perfekt dafür aus vorhandenem PHP-Code kleine Windows Programme zu erstellen, allerdings muss man dabei einige Einschränkungen in kauf nehmen.

Flash Video Player

Es gibt nicht viele freie Flash-Video-Player die ohne Flashkenntinsse verwendet werden können. Nachfolgend findet ihr eine Liste aller von mir getesteten Playern. Diese Player ermöglichen es auf einfache Weise FLV-Videos auf der eigenen Homepage einzubinden.

Der FLV-Player ist meiner Ansicht nach der Beste der hier gelisteten Player. Neben den bisher genannten Player gibt es auch noch den  JW FLV MEDIA PLAYER allerdings kann ich den Hype um diesen Player nicht verstehen, da er keine besonderen Funktionen bietet.

Blender Game-Engine

Mit dem Opensource-Modeling-Programm Blender ist es auch möglich Spiele zu erstellen. Blender bietet bereits eine Echtzeit 3D-Grafik-Engine mit integrierter Physik-Engine. Die eigentliche Spielelogik muss in Python programmiert werden.


Leider habe ich keine ausführlichen Tutorials gefunden. Aber wie ich gehört habe, soll es einige sehr gute Bücher zu diesem Thema geben. Es beleibt zu sagen: Interesannte Sache die man auf jeden Fall im Auge behalten sollte.

Blender Wiki:
www.wiki.blender.org

jmonkeyengine - 3D mit Java

jmonkeyengine ist eine freie Java-3D-Engine welche vor kurzem in der Version 1.1 erschienen ist. Mit jmonkeyengine ist es auch Java-Entwicklern möglich ansprechende 3D-Inhalte zu generieren und einzubinden. Hierbei wird eine große Auswahl an 3D-Formaten unterstützt, auch sind schon einige Erweiterungen wie eine Physik-Engine und ein Editor verfügbar. Auf der Homepage von jmonkeyengine gibt es eine beträchtliche Anzahl von Grafikdemos. Damit mausert jmonkeyengine sich zum Game-Development-Toolkit für Java Entwickler.