NEAT Invaders Game

October 26th, 2006

This is a proof-of-concept Invaders-style game where the invaders are controlled by neural networks and each new wave is evolved by genetic algorithms. This is made possible by DelphiNEAT library. I’m also using the GR32 library for semi-fast 2D graphics and PNGDelphi for PNG loading. Update : Unfortunately, the Delphi NEAT site has been offline […]

Continue Reading...

Listing All Open Handles

October 19th, 2006

Handles can represent files, ports, mutexes and other objects. By using the undocumented Native API function NTQuerySystemInformation() you can list all open handles from all processes. Here’s a small program that does that. This is basically a ported version of “HandleList” application by someone known as Napalm on sysinternals.com forums. I added and removed some […]

Continue Reading...

Processing Binary Files In PHP

October 17th, 2006

This little tip might be usefull for people who have recently started learning PHP and have some experience in other languages (like me). Recently I needed to write a PHP script that would process a binary file I had created in my Delphi program. However, it turned out that fread() doesn’t work as expected – […]

Continue Reading...

Writing Drivers in Delphi

October 12th, 2006

Driver development has always been the privilege of C/C++ and Assembler programmers. If someone needs to write a device driver in Delphi, he has to settle for “adapter” drivers that would allow their user-mode program some ability to interface with kernel-mode functions. There are also “wizards” that (supposedly) allow one to create a driver without […]

Continue Reading...

Evolving Websites – Why Not?

October 9th, 2006

Genetic algorithms are used for evolving various things – from bot behaviour in games to digital art. They can be used for solving nearly any problem/field that allows you to construct a well-defined genome and a fitness function. Defining a genome for a website is doable, and probably quite simple, too. Many websites consist of […]

Continue Reading...