• Create Account

# mrjones

Member Since 22 Jul 2007
Offline Last Active Oct 18 2013 02:40 PM

### In Topic: Is there a difference between a system and an engine?

30 July 2013 - 06:00 AM

I have heard of engines containing systems, sometimes a system contains multiple engines and sometimes there are engines composed of subengines and systems and so on. So it seems they are used interchangeably. Although I believe sometimes they are used to differentiate between different levels of scope. Meaning that for example it may be defined within bounds of a specific project that engine may contain multiple systems, but no other engines. I have no idea if there is a general rule or recommendation about it.

Edit: Come to think about it I believe engines tend to refer to real-time systems.

### In Topic: How to determine object depth for sorting

16 January 2013 - 01:35 PM

You can sort face centers instead. It's slower, but it gives better results. Not necessarily correct results where faces are nearby and with sharp corners, but it's enough most of the time.

### In Topic: Skinning Problem

15 January 2013 - 02:01 PM

I might be completely off, but these are things that seem dubious to me:

1. Is it necessary to multiply bone matrix with bone offset matrix? I would probably simply multiply with offset matrix assuming that before passing to glsl it is already multiplied with parent offset matrix (that is in turn multiplied with its parent offset matrix and so on).

2. Is that the sum of aVertexWeights 0 to 1 guaranteed to be 1.0? If not, maybe divide finalVertex with sum of aVertexWeights.

### In Topic: which side of my shooter

12 January 2013 - 03:45 AM

Are these actually position vectors, I mean vectors representing positions of shooter and target? Or do you mean that vectorA is the direction of the shooter and vectorB is a vector from the shooter's position to the target? I'm assuming the second case, because direction of the shooter must be known to make the decision of turning either left or right. In that case, I would use cross product. If cross product of vectorA and vectorB is less than 0, it's on one side and if greater than 0, it's on the other side. See http://www.gamedev.net/topic/289972-cross-product-of-2d-vectors/

### In Topic: avoiding match-making collisions.

03 January 2013 - 07:25 AM

When client A has requested a match, it should receive first available game with no opponent. When client B has requested a match, it should receive second available game with no opponent. You said that the match-making takes place entirely in the server. In that case you could use (and probably should use) MySQL transactions to make sure that client A match-making is done entirely before client B match-making is handled at all, if I understand the problem correctly.

Ie:

1. Client A requests match-making

2. Start match-making transaction for client A

3. Client B requests match-making

4. Find available game for client A in the database

5. Start match-making transaction for client B. This will "wait" until match-making transaction for client A will be finished.

6. Add client A to first available game in the database

7. Finish match-making transaction for client A.

8. Find available game for client B in the database

...

PARTNERS