Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 07 Mar 2009
Offline Last Active Today, 10:12 AM

Topics I've Started

Stable/Quality kdtree construction

24 October 2012 - 04:47 AM


currently I try to improve the quality of my kdtree constuction, previously I've just sliced every axis into n-parts and took the one with the lowest SAH cost, which works ok.

now I try to improve it, by just trying to slice the space on vertex positions, as the whole boost you get from SAH is by seperating empty spaces from areas with dense geometry, tight fitting split planes obviously improve the situation.

Problem 1:
Assume you have a simple box, 8 vertices, 6 sides, 12 triangles best possible split planes are probably creating a CSG of just the same box. Now, when you try to slice the space, your plane and the box-surface will overlap, this is intended, BUT...

...how do you sort in the faces that are co-planar to the splitplane. as you cut the ray during traversal by the planes of the tree, you get some kind of z-fighting of the split plane and the face.

possible solution:
-you sort in the face into both sides, this way you'll either hit it during the front or back space traversal (which is kind of suboptimal from memory->cache->performance point of view), one problem with this approach is, that you might end up with infinite recursion if your SAH cost is the only termination criteria (which should be the case in an optimal case)
-you extend the ray during ray-prim testing -> I hate this epsilon bias cheating, it's ok as last resort, yet I'm asking for better solutions here :D
-you create a split node specific primitive buffer (or even tree?) that contains co-planar triangles/faces :(, ugly

Problem 2:
having a good tree constructions requires you to have actual polygon clipping going on, not just by AABB, yet this lead to uber-tiny, flat, special case polys, with lot of precision issues. imagin you have an already tiny long triangle that gets split, one side would end up with 4 and one with 3 vertices. The side with 4 has the exiting and entering vertex at exactly the same positions, just because of float/double accuracy. that can kill all consecutive passes as you have a 0 length line/edge.

possible solution:
-merge vertices? epsilon magic yet again?
-reject micro triangles? epsilon + leaks in detailed meshes?

any hints, paper, experience sharing is very welcome.

god games, what happened?

04 August 2012 - 04:44 PM

firstly, I'm a programmer, not a designer, so if any opinion is slightly biased, you know why ;)

I was wondering why god games fail that much, especially financially. be it spore, viva pinata or black&white, somehow they all fail. I feel like it's a really awesome idea to simulate a world of thousand individual agents that all interact, From the gameplay point of view, it's probably not interesting to watch it (if you haven't programmed it), as there is not really a coupling of player to the crowd. if the crowd you simulate is too small, it lacks of the immersion that it's a living world, but if there are thousands of agents, how could you care about every individual one, how would you know what to change and who would be happy or sad, especially in the long or short term.

I feel like it's somehow missing a long time goal, and I don't mean something stupid like "90% of your ppl need to be happy to win" or "make them build a temple for you", that would be like an FPS where you say "kill 1000 enemies to win the game", it's maybe a nice time waste, but won't make it a game you'd want to play again.
look at minecraft, it's a block stacking game like severals before, yet it made the tech just a tool, you don't have to stack 100 gold to win, you have a tiny world with resources you can use to either survive or build something.
we could of course try to do something similar for the god game, survive the night or survive the winter, yet in minecraft, you make up your own plan, you know "_I_ will build a fort" and all the pieces of it.

I can imagin a god game where you simulate e.g. the British rail (or where you have even to build your own rail company and all tracks) and you need to make all the time tables, make back up plans in case something fails etc. but it's an optimization, you try to get the best out of some system, it's not a crowd simulation where you know you cannot make it perfect (there is always someone unhappy). and if you want to make it accessible, you end up with a simple rail road tycoon, which is rather casual (it's still fun!), not really a god game.
you need the individuality and chaos without streamlining it.

So far, I also feel like most of the games give you as a god just the obvious controls over phenomena (like weather). there should be more about it, some deeper impact nobody really notices. e.g. you might have to control 'luck', if you help some individual to not hit their head on the door frame, you might need to let someone stumble, if you make someone survive a lion attack, you might need to make 100ppl hit their heads on door frames etc.

I think with todays tablets, with touch input, it could be a really amazing experience to have such a game. I guess that's what B&W tried to simulate with the hand. you can just touch and move as you like, from your god view, you can draw where you want to have a rainy cloud, you can erase them, you can rise or lift terrain, you can "earthquake" the world as you shake your tablet, you can blow the wind (into the micro, some NDS games use the micro for input).

what's really missing, at least in my mind, is
- how to make it fun for anyone beside the programmer.
- what should you as a player be able to influence, how and in which way would you design it so everyone could realize long term impacts (e.g. if you make it always shine, you will run out of food in half a year).
- how would you start such a game, with one char you draw? with a tiny town? arleady with a massive count of agents so you won't care about every single one?
(- some side question: what perspective would you want? classical god-view?maybe being one of the humans? maybe swapping bodies?)

what are your ideas ? (comments are also very welcome)

some catmull clark tesselation showcase [was: seeking quality ANIMATED models]

20 January 2011 - 06:34 PM


yes, I know, google it. but google just spills out tons of 'free model' sites (_not_ animated mostly) and if you look for something 3dsmax compatible, it rather shows me free trial downloads of 3dsmax or warez sites.

(I found some animated models in maya format, .ma and .mb, but I don't have maya, so those are kind of useless for me).

so, has anyone recommendations for a place on the net, where I could download some quality models.

I can make those animated crappy robot arms out of boxes myself :D, but I'm talking about human alike looking, skinned, animated models, with some thousand polys. (I wouldn't mind if they would have some texture layers, e.g. bumpmap, diffuse, specular etc :) )

I'm working on realtime animated voxel (see http://twitpic.com/3rm2sa ), and use some game models, but as you can see, those are either

1. quite low poly for nowadays standards

2. not documented enought to use, especially animation data

so, please, if you know a place, post a link (or send me a pm if you don't want to spam).

thanks guys

(if this is rather something for 'help wanted', feel free to move it, I'll adapt to the mandatory template)