Thursday, January 26, 2012

Sprint #2.3

This week I reorganized all our collision groups so they are more coherent and understandable.  The collision groups are now:


public static Category PhysicalCollisionCategory = Category.Cat1;

public static Category ShadowCollisionCategory = Category.Cat2;

 public static Category GroundCollisionCategory = Category.Cat3;


I had a problem with defining the collideswith on the player and so it took awhile to get everything organized.  Also, I made a directional light for the game.  I didn't have any art for it so I had to improvise, as shown below.
While I was looking up how to do the vertices for the light I came across an algorithm that will calculate a fixture based off of a texture.  I don't know if we'll be able to use it but it sure looks cool.

Thursday, January 19, 2012

Sprint #2.2

We didn't actually have anything assigned for this sprint, but I ended up making the level for testing with the Masters students.  This took me a good amount of time.  Mostly I revamped our alpha level to make it more fun and coherent.  It also involved:

  • working around the level editor problems that had not yet been resolved
  • changing art work so jumps matched up
  • changing the "weight" of the barrel
  • other little bugs that stood in the way
Here are some pictures from the level:


Monday, January 9, 2012

Sprint #2.1

So this is the very beginning of the semester.  Last semester went pretty good, but I think we really need to kick it into gear this semester.  I was able to do a few things over the break.  The first thing I did was organize the files in our Visual Studio project.  This included code and art.  The only thing I didn't organize was the level editor project because I was too afraid I would mess something up, but maybe we can do that later.  Here is a picture of our newly organize files (Note: I also cleaned up code and commented as much as I could):

The other thing I did was come up with some level ideas.  I didn't come up with a level but I drew out some puzzles.  Here they are:

The above puzzle has the basic logistics of the puzzle written on the paper. Things to take in consideration
  1. This may be too easy.  We can make it harder by using the same idea but with multiple platforms.
  2. Having "omnishadows"- shadows with ambient light - haven't done those yet. 

The above puzzle I did not write out how to solve the puzzle.  Here are the instructions:

  1. Player jumps on the lowest shadow platform and then to the platform to the right of it.  Then they jump up to the upper R switch and switch it so the light travels to the top of R path.
  2. Player jumps to platform by P switch and switches it.
  3. Player must jump on shadows cast by light traveling along P path.  If they are too slow or don't jump right they must go back to beginning.
Some problems we might encounter:
  1. Timing of moving light jumps and height of the platforms casting shadow.  Want to make sure the player can actually get across while still in light.
  2. I made the guard have a lantern so that the player can go into shadow and sneak past.  Not something we have talked about before so need to see about that.
I also had one more idea for a puzzle, but didn't draw it.  It's more of a cool aesthetic than a puzzle.  It involves having a whole bunch of platforms casting shadows.  Sometimes you use shadow mode to go to the next platform or just regular mode.  There will also be various paths so the player can get collectibles or avoid enemies.  The reason that I did not draw this out is because I didn't know how the shadows would work with a big overhead light so we will have to try that out.

Monday, December 5, 2011

Sprint #7

Task: Figure out collision categories and make lights bigger

My first task was to figure out collision categories so that shadows will only collide with shadows and real-world things will only collide with real-world things.  This can be accomplished by assigning the fixtures of the shadows to a certain category (I chose 2) and everything else to another (I chose 1).  Then you just say that Cat2's only collide with Cat2's and so on.  My other task was to make the light bigger which was mostly making the texture bigger and making sure the collision code matched up.

This picture shows the bigger light and that even though the shadows on the boxes have fixtures the character is not colliding with them.

Monday, November 28, 2011

Sprint #6

Task: Come up with alpha level incorporating features so far/ that should be finished.


So I came up with some drawings of what the first level can be.  I haven't implemented it yet because 1) some of the features aren't done completely or I don't know how best to use them 2) I want to approve it with my team so that everyone is happy with the outcome.

Here are the drawings:




Monday, November 21, 2011

Sprint #5

Task: Figure out how to fake the shadows effectively, or a way to do them dynamically


Ok this has been super hard.  I've been going over tutorials that I found online and trying to see if I cvould modify them to fit our game.  The problem can be seen in this picture:


As you can see the shadows are highly distorted and don't really work in our game in that they no longer retain their shape in shadow form.  So I found this other shadow tutorial http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series3/Pixel_shader.php which is in 3D but we might be able to port it to 2D.  Garrett is also helping me with this and he has an idea using translation matrices which seems to work somewhat effectively.  Here are some things that we might be able to improve on Garrett's in order to make it work:

1) When the player is vertically aligned with the light, the shadow completely disappears which I don't think should happen.  I think it might be rotating at some point which causes the problem.
2) Make it so the translation isn't too far away, right now it seems to be going further than it needs to.
3) We some how need to let the shadow know not to go through the ground as show below.

Wednesday, November 9, 2011

Sprint #4

Task: Help Garrett with converting the pixel units to sim units throughout the game.

To do this I helped Garrett to solve problems with the camera when the units were converted.  I think that was the biggest problem.  Now the player can move!