3,621 reputation
729
bio website blackcompanystudios.co.uk
location Edinburgh, United Kingdom
age 34
visits member for 2 years, 10 months
seen yesterday
stats profile views 164
Run a games development studio in Edinburgh, specialising in small scale prototypes, outsourced software support, and tools and process improvement.

Mar
13
answered Determining if removal of a voxel will break up a group
Mar
13
comment Algorithm to see if two voxels are interconnected
@BramVaessen That said, you only need to traverse external voxels. Those entirely internal to the group (i.e. fully surrounded by other voxels) can be ignored from the path-finding, because you know that both sides of the recent disconnection lie on the edge of the group. That should massively cut down the number of nodes you need to traverse.
Mar
13
comment Algorithm to see if two voxels are interconnected
@BramVaessen Breaking up distinct groups at runtime is somewhat harder than joining them, since you have to prove a negative (that no other links still exist which join two groups). First stage is identifying the adjacent voxels which were connected directly through the voxel going away and now must be connected if at all. Then you are really looking for paths between those two voxels. As soon as you find a path, any path, between them, you know the group is still whole. But if you don't find one, you can't stop until you've traversed every single voxel to eliminate it.
Mar
13
comment Algorithm to see if two voxels are interconnected
@BramVaessen An algorithm for determining hub voxels isn't as tricky as all that - you could simply use an AABB centred at each existing hub voxel. Then as you add voxels to the set, if a new voxel isn't within the AABB of any existing hub voxels, but is still connected to the same group, then make that new voxel a hub.
Mar
13
comment Algorithm to see if two voxels are interconnected
@NeilG I was specifically trying to find ways around a per-voxel cost, assuming that voxels are cheap (a flag or bitfield indicating their presence or absence) and plentiful, meaning a per-voxel pointer or even a per-voxel group ID would massively increase their cost
Mar
12
answered Algorithm to see if two voxels are interconnected
Jan
29
comment Resource Files creation and quick parsing
As I say in the answer - keep your composite file system ignorant of the meaning of the files it's managing, store metadata for each asset (usually in an index at the start of the file), and be aware of the complexities of how you address assets within that file (e.g. grouping assets into subdirectories, allowing search, etc.) It's worth looking at RIFF for an example of how assets of intederminate (even unknown at the time the composite file code is written) type can be packaged into a backwards-compatible / versioned stream.
Jan
28
answered Resource Files creation and quick parsing
Dec
18
awarded  Nice Question
Dec
5
awarded  Good Answer
Nov
19
comment can it be done with 2D engine or is it real 3D?
Given that 1001 isometric titles from the 8 and 16-bit eras managed it just fine without 3D chips, I think the answer is an obvious yes. If you want a useful answer, then I suggest you rephrase your question to be "How do I determine draw order for isometric 2D including height?"
Oct
20
awarded  Enlightened
Oct
20
awarded  Nice Answer
Oct
9
awarded  Nice Answer
Sep
24
comment returning correct multiTouch id
You're certainly right to point out the problem with the inconsistent usage of id / i, but this problem won't be solved until the purpose of the ID is clearly understood (see my answer below)
Sep
24
answered returning correct multiTouch id
Sep
2
awarded  Nice Answer
Jul
26
comment Online leaderboards for iPhone games
Worth noting now that OpenFeint has been subsumed into Gree, which is a far more elaborate bells and whistles platform than OpenFeint, and seems to be centred around their virtual store. For me at least, that's reason to go back to just using Game Center, and something else Android specific if you want cross platform support.
Jul
22
awarded  Yearling
Jul
17
answered Map with 20 million tiles makes game run out of memory, how do I avoid it?