Entropy is increasing as i write this *(!”(*)(£ 920

Posted in General Silliness | 2 Comments

Price & Technology

Should we be removing decision making in key areas away from humans and into the hands of rational and mathematical computer programs that attempt ( not perfectly – but better than us ) to maximise or minimise certain aspects of the systems they are governing.

But first let’s grow up and get rid of money …

We’ve learnt to break the world down in terms of money but we all know ( or at least suspect ) that this is irrational. Everyone is familiar with a price being asked not being related to the perceived value of the item.  What if a low price ultimately results in a slow and painful death is it worth paying? If we, perfect consumers, driven by self interest always go for the lowest price then rationale is fundamentally irrational.

A somewhat cooked example…

The world demands fish at a low price. Industry happily fishes the sea and begins depleting its resources , what happens to fish prices? Economics Theory might suggest that fish prices would go up because fish supplies are down – that thinking might be wrong and actually totally antiquated, why? We can produce technology that enables us to get more for less now. Sonar/automation, GPS tracking are just some of the technologies we might employ. This means fewer fishing boats but results in the same amount of fish being caught. These technological advancments are not reflected in the price of the fish because fish prices will remain the same. Couple this with mometum and latency in the supply and distribution systems and that the fishing industry could be subsidised by other mutally benefitting industries. The momentum in one system goverened by the fish’s rate of reproduction is outmatched by our rate of technology advancement and we keep fishing and fishing and keeping the price low all the way till a tipping point is reached and …. no more fish.

This seems to be happening everywhere and we are not using technology responsibly.

We can no longer afford ( in the real sense ) to allow the money/price/economics paradigm to control our decision making processes when price ( more importantly the control of price via technology ) no longer has any direct bearing on its effects in the real world.

Technology controls the world now and it’s rate of progress is astounding. Science needs to take over now and our decisions need to be rational.

I still need to rework some of the above given some time. But I think I’ve begun to scratch out my argument.

Posted in Tech Ideas for the World | Leave a comment

Unending quest for speed.

Today it’s time to refine ( implement slightly better ) the collision algorithm. I’m using 10,000 volumes against the terrain which I’m rebuilding per frame … this is a massive hit on the CPU …  the mission today is to remove/lessen that hit. But first, displaying the results of the collisions requires visualisation and that’s not being done efficiently which is obscuring the timing results ( psychologically ). At the start of the day, I’m getting roughly 28 ms to do the work, switching off rendering brings that down to 1.9ms … the solution is to render the collision meshes in one go and not individually ( obviously. )

And then he realised that each triangle mesh was stored in a different vertex buffer forming 10,000 disparate meshes having nothing to do with instancing … buffer accumulation it is then … he thought.


The white triangles represent the places where the collision volumes have intersected the terrain mesh triangles. There are 200k+ triangles used to represent the intersections and so many draw calls and buffer swaps that the renderer can barely function.

Posted in Development Log | Leave a comment

Collision Detection.

I’ve been searching for a solution to ray/triangle collision detection on the terrain for a while now.  Obviously it is very easy to determine which voxels a ray collides with but which triangles does the ray collide with? Since this is not a voxel renderer like you’d expect with Sparse Voxel Octrees ( SVO ),  I’m left with a lot of triangles that must be stored in a way that are accessible from the raycaster. But I’m using XP and have a system that only has 2Gb of memory. The number of triangles is so vast that I’m perpetually running out of RAM and cannot accumulate to reduce … This problem is quite acute and an obvious solution is simply to get more memory but that implies moving to Windows 7 and I’m targetting the editor at XP … problem. Which was solved by … not storing the triangles. An elaborate form of caching and instancing has been implemented that removes the need to even store the triangles. This places the computational burdon on to the CPU … not much of a problem since I’m targetting duel core and was only experiencing about 5% cpu utilisation on one of the cores anyway …

Posted in Development Log | Leave a comment


Here’s a link to a screenshot from the output of my newest terrain renderer. The algorithm is based on voxels so I’m able to carve caves and overhangs into the terrain with ease. This is expensive in terms of memory/triangles used to display the resultant terrain.


Posted in Development Log | Leave a comment

Opening piece of text.

Lee’s first post on his upgraded blogging site.

Posted in Development Log, Software Development | 5 Comments