BradleyCai / galactical-gourmet

A virual reality game inspired by katamari. Consume what ever you can find in outer space and grow to a massive size
MIT License
0 stars 1 forks source link

Implement more complex game logic #7

Open BradleyCai opened 5 years ago

BradleyCai commented 5 years ago

The game logic should implement two more things to complete the scope of this game:

  1. Growth of the player when they gain score
  2. Comparison of player size with planet size during a collision

For growth: When the player consumes an object, their player model should increase, the camera should pull back, and the lights should scale their distance. This should give the effect of the planets getting smaller as you grow.

For size comparison: You should gain score and grow if you collide with a planet that's smaller than you, and you should lose score and decrease in size if you collide with a planet that's bigger than you. If you shrink past a certain size you should game over.

RJEngr commented 5 years ago

Being able to tell the size of character in relation to the consumable object and enemies. Possible resolution is a third person viewpoint

BradleyCai commented 5 years ago

@rjosh002 A third person viewpoint seems like a solid solution to that problem as well as dealing with problems of motion sickness.

There is an issue of how we should use a third person viewpoint though. Perhaps we could just have our player be fixed in front of the camera at all times? Or maybe we could also have it attached to one of the controllers so that you have to move the player on your hand to consume planets. There's also the issue where our camera goes inside planets they don't see. We'd have to figure out a way to not render planets within a radius of our camera.

If we find a resolution for how to use third person correctly for our game and also all agree on moving to third person, then we should make a separate issue on this for it's implementation.

BradleyCai commented 5 years ago

The third person view will be implemented in issue #14

BradleyCai commented 5 years ago

When it comes to the growth of a player I think there's just 3 key things that happen:

  1. The player model grows
  2. The camera gets more distant from the player
  3. In vr specifically, your eyes become further apart (due to growth)

I think these are the only 3 things we need to implement growing bigger in a VR video game. I went about this thinking about first how 2d games like agar.io handle growth, and came to the conclusion that the only visible difference is that the camera gets pulled back from you, and your player model grows in size. For 3d type games that have growth, I saw that katamari damacy has the same two features. You also seem to roll faster, but that's probably not needed for an agar.io type game. And then I thought about how VR would make it different and thought that as you grew, the distance between your eyes would get bigger. This would also give the depth perception effect in VR more realism.

So I think those are the things that we should implement for this issue. We might want to avoid point 3 since we're a little low on time, but point 1 and 2, I think, should generally give a good illusion of growth. For actual implementation I think a function for player growth can be appropriate, where you pass in an amount of growth and the function black boxes what is needed to actually grow.