Category: General
Posted by: chris
Todays graphic applications need to draw their sprite content onto the screen every fraction of a second. Since the Screen-Element is something similar to a painting canvas, the order of the objects hitting the screen is essential. To ensure the background is drawn first, followed by the various other objects, you have several options. However it would be nice to have a self-managed class that does all the work for you.

Just 3 Basic Rules
The complete RenderQueue and its explanation will be available soon as the site relaunches (again...), but for the first part I would like to introduce you the three basic rules in Hierarchial Object Drawing (HOD) using the RenderQueue-Class.

Rule #1 (and the most basic one): Never jump the queue!
What sounds like a strange English habit is indeed the most important thing in the whole concept. Since every object is painted in order, the whole action depends in the order of each and every object.

Rule #2: Blazing speed is everything
In the worst case the Queue is asked to redraw itself and the objects within 60 times every seconds. Speedy algorithms and intelligent conditional placing saves you resources and gives you enough time to update all the other objects.

Rule #3: Intelligence matters
In favor of rule #2 this one is going to place intelligent reorganization functions to keep the queue and its memory load as small as possible. On the other hand the overhead of the REORG may not exceed too much to keep speed fast.
Category: Synapse
Posted by: chris
For all of you who have been waiting for a first release of the software, please stay patient. There will bee a few months of delay due to a lack of spare time and motivation. Hopefully this changes in 2010. Until then, have a nice X-Mas and great holidays!
Category: Laboratory
Posted by: chris
Ever since the start of the project I was asking myself a question not that uncommon to most of you familiar with programming. Has the project to be encapsulated into an API for further use or would it do fine just in the middle of an executable project?

After starting off as a single project in late March 09, I finally decided to take all the code and capsule it into DLLs. This brings several advantages, even though I'm the only developer and no teams are working on the project.

First of all, the whole story enables me to use the parts in future projects. Because the data access and data abstraction layers have been parted into different files, even different technologies in the different layers are possible with the least piece of effort.

Great to know also (but only from my perspective), that a module file, even if it's loaded dynamically, always means something of a "completed" object, consisting of all the necessary functionality. You can easily switch to another part without thinking too much of the stuff inside the module.
Category: Synapse
Posted by: chris
A whole flood of spam comments bringing the mysql-DB on this server down to its limits caused me to disable the comment feature. Anyway I didn't experience any useful comments at all so I guess there won't be much of you out there missing it.

As from a development perspective there are certain news since the last entry. The project is currently in ALPHA stage and is advancing slowly but steadily. First tests with UI elements and the data abstraction layer have resulted in exact the way I have imagined the tech to work. I'm looking forward to continue the development to ensure a proper BETA release in Christmas season 09.

If you want to know more about data and logical abstraction check back this weekend!
Category: Synapse
Posted by: chris
A typical neuron gives rise to several thousand synapses, although there are some types that make far fewer.

The Synapse Project is a research idea that aims on abstracting the human thinking model. Billions of connections inside our brains, called synapses, are connected together to form our memories. The way we are thinking is graphically, linking together the memories we recall.

Synapse takes this concept as an approach to extract human thinking beyond the human brain's borders. With the advantage of this, we can extend our knowledge in an infinite number of 1..* relations, resulting in huge information loads, exactly the way we want them to be ordered. Exactly the way we are familiar with it. Exactly the way we are.