Friday, April 26, 2013

Avatar Trials: Ninja Uprising, #XBLIG releases today!

04/26/2013



In less than 24 hours after putting our game up for review on Tuesday night in the XBLIG, our game has passed and is going to be released today!

Today at 2:30pm we will be hosting a live podcast where we will celebrate the release of our game, as well as the other two senior capstone games from the University of Utah. By joining live you will be able to participate via twitter to possibly win a free copy of the game. We will be holding competitions with each others games, as well as talking about our dev process from concept to design. Exclusive looks at concept and alpha gameplay will be shown!

Be sure to join anytime from 2:30pm to 6:00pm whether at work or at home!

https://www.facebook.com/events/608144885880746/?ref=22

Tuesday, April 23, 2013

EAE FEST 2013

04/23/2013

Today was the first day of EAE FEST 2013 here at the University of Utah.



All of the EAE Undergraduate and Master Students had their games on display. Our game was set up on three XBOX 360's available for students, faculty, family, and media members to come and play. We had a great time showing off our game and allowing people to play it. Some people enjoyed it so much that they would come back later and continue playing it some more trying to beat the levels they had yet to complete.



Here is the media coverage of the event:

Deseret News: Article
FOX 13: Video and Article
KSL: Video and Article

Some of our team near the end of the event:

More Lag

04/23/2013

Tonight we can submit our game for review again in the XBLIG. But first thing this morning our Engineering Lead contacted me stating that he was noticing lag in level 3. I told him that I thought I had resolved that. He mentioned that the katana on the players back was twitching as the player ran. I told him I was on my way to the lab at school and would test it as soon as I got there.

As soon as I got to the lab and got everything setup to test I was able to confirm the same thing he had observed. I must have missed it when I was testing for lag the night before, because I was more concerned about the players movement lagging. Our Engineering Lead tried an old build of the level and it did not have the lag so he came up with a hypothesis that it could be we had too much geometry in the current version of the level. I started testing the hypothesis by deleting different objects, and he was right. After I deleted enough models the lag disappeared. So I attempted to leave the level intact as much as the level designer had intended. In the end I was able to leave the level almost the same, just with some fire pits removed and some crates removed. In doing so the lag was completely removed.

Monday, April 22, 2013

Official Trailer Released

04/22/2013

Today our official trailer for our game has been released. Don't laugh at the death at the end of the video, because I am the one playing in the gameplay footage:



We still have one day until we can submit our game for review again, so I have been playtesting trying to find any more bugs or enhancements that can be made. I kept feeling that level 3 lagged a little so I tried removing all of the fire effects, but that did not make any difference. I eventually noticed that the lava texture was 1024x1024 while our water texture was 256x256. I resized the lava texture and the lag went away.

Next was the kill zone for the player in level 3. If the player jumped off of the starting platform he would die almost instantly, nowhere near the lava. So I adjusted the kill zone to allow the player to fall down to the lava and then respawn.

Saturday, April 20, 2013

Fire Arrow

04/20/2013

In Level 3 there are multiple places where the player has to figure out where to go. To help the user in one position the level designer decided to give the player a hint by placing fire in the shape of an arrow. When I originally added all the fire locations I setup a script to update the Vector3 Y variable based on the model location. The only problem with my script and these models, is these models are turned sideways. I went in and manually figured out the location of where the fire should be placed and also decided all of them should have the same color of fire instead of the random they were getting to make the arrow more noticeable:





With testing this last level, I notice that when you beat the level the timer didn't stop. The players time would be recorded correctly but the timer would keep going even though they had passed the level. This was an easy fix just by moving the timer stop line to the correct position.

Wednesday, April 17, 2013

XBLIG Failed Review

04/17/2013

The day after our Lockdown we submitted our game for review in the XBLIG. Unfortunately we received a FAIL yesterday. Our game would crash if you logged in as a guest account and attempted to purchase the game. Our Engineering Lead has already fixed the problem by disabling the purchase button if the user is only a guest, but we can not submit our game for review for another week. With this extra time we were able to go in and fix some other bugs that we have found.

I went in and fixed the particle system not unloading itself once a level is completed in trial mode. This had a fun effect where if player 2 was in trial mode, and beat level 1 all the fire would stay on the screen. And then if another player that wasn't in trial mode started playing, no matter which level they selected those fires from the trial player would be in the level, sometimes off over the water just burning away.

I also updated the trigger for when the game is won. Either I missed adding the fireworks and sarcastic dragon scroll to the win trigger, or the code was somehow overwritten. Either way I updated this so that when the player won the game both would be shown like level 1 and level 2.

When we added the new skyboxes the lighting was not taken into account to the rotation of each level. So I changed the rotation of each skybox so that the lighting looked like it was coming from the position of the sun.

There was also a box look to the water / lava on some of the levels if you got up to high platforms. I tried to resolve this by increasing the scale of the water / lava and skyboxes. The skyboxes would end up tearing if I made them any bigger, so I just scaled the water / lava to make the box look a little bit less noticeable.

Box Look


A little better

Thursday, April 11, 2013

Lockdown

04/11/2013

Today our team set aside most of our day and night to stomp out any last bugs. We planned on locking ourselves in the lab until all bugs were squashed. Class started at 2pm, shortly there after we went to the lab and some of us didn't leave until after 1am. Artists if they didn't have any last minute polishing to do were playtesting and writing down any bugs they found up on the lab white board. Programmers were then hard at work on the list of bugs. At the end of the night when we were happy with where things were a little competition broke out on who could beat the second level the fastest. Below is some of the stuff I worked on throughout the day / night:

With the help of our level building engineer, we were able to fix the displacement of the katana and esense scarf from the player that I introduced by rotating the player.

When a player completed a level and hit the trigger to end the level, our testers noticed that when you hit it, it looked like they were hitting an invisible box and sometimes hanging in the air for a few seconds. This is visible in this fireworks video:



I went in and updated the triggers to remove themselves as soon as the player collided with it to resolve this bug.

I was also tasked with polishing up the game a little bit. We had a lot of last minute level changes and as a result all of the skyboxes had been set to the same skybox. After discussing it with our Art Lead we decided to start out with the skybox where the sun is very big, and each level have the sun set a little more. This way it would look like their was progression by the player. And with the last level having the sun set, we would introduce the lava effect instead of the normal water we had on the first to levels.

Level 1


Level 2


Level 3


Next I setup the Fire Effects in all the fire pits. This was a little time consuming finding all the Vector3 locations of each fire pit, off setting the Y variable based on which model the fire was coming from. Once I had them all setup, our Art Lead wondered if I could make the fire color be random based off of some different textures we had. So I set this up as well.







Lastly I noticed that the normal mapping dragon was put in level 2 by our Art Lead but it was not showing up when playing the game. I went into the XML file and noticed that it wasn't set to draw with Normal Mapping and that it's scale was way to big. After some adjustment he is now at the end of level 2.

Wednesday, April 10, 2013

FIREWORKS!!!

04/10/2013

We are getting down to crunch time and we are trying to put the finishing polish on our game. One of the tasks I have been assigned is properly rotating the player based on the direction the user should go per level. Each of our levels were customly built in Unity using our level builder, so each level the player could be facing a random direction, and the first thing the player had to do every time they started the level was turn around.

To fix this problem I figured out the proper Quaternion rotation for the player for each level and when we create the player while loading the level I would rotate him accordingly, as well as after a player died and was respawned. I wasn't familiar with the camera we had setup but was able to get it working after he died, but not at the start of the level, but with the assistance of our engineer who worked on the camera, he was able to get it positioned behind the player.

While changing the rotation of the player this threw off the position of the katana sword and the essence scarf that follows the player. I will continue to work on this until it is fixed.

The other task I was assigned with was a fun one to work on. Since I worked on setting up the particle system in our game I was asked to create FIREWORKS!!! These would be used when a player completed a level. To complete this I had to update the triggers we had at the end of each level to pause before loading the next level so that the fireworks could be seen. Luckily the code had already been built into the level builder, I just had to update the time on the triggers. I then had to calculate the direction the camera was pointing so that the fireworks would always be shown where the camera was looking when the player hits the trigger. There were many variations of how the fireworks looked, but in the end this is what they look like:




Sunday, April 7, 2013

Multi-User, Multi-Controller Testing and Bug Fixing...

04/07/2013

When we put our game up for review someone gave us a fail due to the game crashing with a Code 4. The reviewer found that you could duplicate this if you did not have a profile signed into controller 1, and instead had a profile signed into any other controller. So today I went through and tested every possible multi-user, multi-controller possibility I could think of to try and break our game.

I ended up finding a lot of other bugs, some of which I consider funny programming errors. Another developer had fixed the Code 4 crash, but this created some other problems on our Start Screen. For example if you had players signed in on controllers other than controller one, they would all end up on top of each other:



I went through and made sure that no matter what combination of controllers are signed in (1-4 players) the players are all uniformly positioned away from each other.

I also found that it could be confusing knowing who would be playing the game after hitting start from the start screen because there was no indication of which signed in user would be playing until they had started a level. So I decided to add the Avatar of the user who pressed start to the Main Menu screen:



But this then led to another bug where the Main Menu Avatar wasn't being destoryed with the Main Menu... and you would get the Matrix Agent effect:



After these bugs were fixed, I added some code so that if a user logged out during any part of our game it would take the game back to the Start Screen. While testing this I noticed that the scrolls and popup tutorials would stay on the screen, so I fixed them as well.

In addition our Art Lead gave me some sarcastic dragon quotes to add when the player completes a level. So I updated the code with these additions.

Thursday, April 4, 2013

New Skyboxes, Dynamic Water

04/04/2013

Our Art Lead gave me some beautiful new Skyboxes to add to the game. So I added them and then re-organized all the skyboxes so that they were just a numerical value difference between them, making it easy to switch between them. Here are some screenshots:









Our level builder has now been updated to export XML information for water / lava (texture, position, rotation, scale). I updated the water / lava code to be somewhat dynamic when loading the level it will position it correctly and use the texture specified.