# mrjones

Member

92

612 Good

• Rank
Member
1. ## Is there a difference between a system and an engine?

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.

4. ## How to determine object depth for sorting

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.
5. ## Skinning Problem

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.
6. ## which side of my shooter

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/
7. ## avoiding match-making collisions.

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 ...
8. ## Starting a Game Company

I don't really live in America, but I believe in general the rules should be similar in most countries. A company has to be registered to a physical address. Usually the rooms must be rented or owned by the company or there must be a written and signed agreement from the owner of rooms about letting you run the business there. About taxes I'd probably try asking from accountant forums (such as http://www.accountantforums.com/). They could probably give you a lot better advice about accounting.
9. ## why do they have to make engineering so hard?

Removed, because misread part of original post.
10. ## Collision Grid generation issue

It seems this is the problem: [code] for (int i = 0; i < (gridW) - 1; i++) { for (int j = 0; j < (gridH) - 1; j++) { [/code] For example if gridW==3 then loop is executed only when i<2, because you are comparing i<gridW-1, not against i<gridW. Same thing happens with looping j.