• Register

Amalgamation is a dieselpunk inspired multiplayer spaceship shooter where a group of 2-8 players battle each other in asteroid cavern networks, randomly generated from various hand crafted chambers and tunnels, in rounds of roughly 10 minutes.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Report RSS Gradient mapping on ships
Post comment Comments
robinerd
robinerd - - 200 comments

is it box vs box or bounding hierarchies?

Reply Good karma Bad karma+1 vote
Hoodad_irl Creator
Hoodad_irl - - 7 comments

It depends on what you mean, for the static environment there is a bounding hierarchies surrounding all the blocks. However for the more dynamic objects such as ships and modules it's either a single box or sphere.

Reply Good karma+2 votes
robinerd
robinerd - - 200 comments

Sounds like a good solution. In our team we're considering whether a single box or sphere is enough for bullet intersection. We're thinking it would be too rough, especially for large ships. What's your take on that?

Reply Good karma Bad karma+1 vote
Hoodad_irl Creator
Hoodad_irl - - 7 comments

We haven't really been able to determine the feel for hit-detections as we are just now able to integrate it fully in our game. Larger objects (like ships) would not necessary increase the complexity, the factor of correctness is completely determined by how well the player can see it, I would say. So if the player can see the collision in details then it will probably be too rough :)

Reply Good karma+1 vote
CodeGrizzly
CodeGrizzly - - 3 comments

We made some tests early on in the project and had support for mesh vs mesh collision. However for the ships and modules that meant creating collision meshes, as the original meshes were quite high poly. That would accumulate to more work for the artists and more strain on the asset format loading. For general queries like "ship vs ship" or "ship vs module" it was decided that given the speed of the game an approximation using a box would be sufficient. However for the environment we use a specially designed hierarchy for triangle precision collision detection using no simplification on the geometry. From what I have learned many physics engines only employ mesh collision on static objects as well. An extension that would be possible and not to difficult would be to allow "ray-mesh" collision for ships and modules as well. However given the scale of each individual module in our game I would say it is quite unnecessary.

Reply Good karma Bad karma+1 vote
CodeGrizzly
CodeGrizzly - - 3 comments

When testing collision against an "amalgamated" blob, that is ship with modules attached, we have a special compose structure in the physics engine. Collision is still checked against each individual module and the ship but impulse responses from the collision are passed up to this "composed body" which applies it to the whole set of objects. That way we maintain our collision precision on large complex bodies while still getting correct physical responses as the composed body moves and rotates as a whole.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

Description

Gradient mapping provides us with an easy way to create variations of the textures in game.