Wednesday, October 24, 2012

Beta Build Wrap Up

With all of the animations tweaked and modified, I finished my side of the work for the beta build. However, since the team had decided that sound gathering and implementation would be a team effort, I worked on gathering sounds for the game. Previously, our revolver was the only sound that I had found and implemented into the game. The dynamite explosion sound that I also had was thrown out due to its irrelevance to the actual sound (it was a recorded sound capture by yours truly and when heard in the game was not all that great). I found some background music to play for our menu, and couple of our zones. I also had a combat track, but we were unable to implement that correctly before we had to wrap up the beta build.
We finally got around to packaging the game and with all packaging experiences, this one also gave us trouble. The first packaged version seemed to have been fine, but it would always crash when trying to load zone 3. It also got rid of some fog that we used to cover up empty black space in the level that we did not want the player to be able to see. After repackaging, we got a better version with all of our custom input for controls being utilized and most UDK controls omitted.
As mentioned in my last post, the game officially has a website along with a trailer up for it! I have the link for the website at the bottom of the page. You can find all of the developer information there as well as the links to my fellow team members blogs.

Here's the trailer though!

AFTU Official Website

This is the source I used for the sounds I gathered. They are from Partners in Rhyme and offer a great selection of free royalty free music/sound. You can visit them here.

Wednesday, October 17, 2012

Another Week of Animations

So I wrapped up the week with some more animations. In addition to the running and idle animations, I have completed the strafing left and right, running backwards, death, and firing animations. All the animations look pretty good. I had some slight trouble with the death animation however. I could not get the ranger to fall completely flat to the floor for the animation in 3DS Max. Taking some advice from a fellow team member, I had the ranger fall to his side instead. It seems a little dramatic, but it is a death animation so it's okay. Check the screenshots below of the animations.


This week the team is aiming to try to put everything together. We will be working on the website and trailer for the game so look out for the link coming pretty soon! Individually, I'm going to check and make sure all my animations are ported correctly and working in UDK with all the right characters. I also have to check all the reloading functions for the weapons as well. The sad thing is, we have a horse model ready, but not rigged and implemented. If I can finish doing the touch ups then I'll definitely get the horse in as well.

Thursday, October 11, 2012

Back to Animations

So the blood issue as I mentioned last week was corrected, and now you can enjoy the green and red blood fly all over the screen. Since that has been taken care of and I have the Alien Ranger model from our modeler, I can get to work on the animations for him.
I've been working on his running animations recently. I finished the forward and backwards one and now I have to deal with the strafing animations. Those, in my opinion, are the hardest to do. I had so much trouble with the strafing animations for our David Wayne model and the Alien Savage. Hopefully though since the ranger model is using a biped and not custom bones it should be easier.....hopefully.

Here's an idle and running forward picture for the model from 3DS Max. I did not want to create the GIF because I still don't know how to get those created well. But here's the pics:



Thursday, October 4, 2012

BLOOD!

As I stated last week, I have been working on the blood particle system for the human. With a little help, I was able to fix the problem that I was having. I finally have color to my blood! The particle system is working fine and emitting the right material with the right color as well. For the aliens, we were going to just use the same material, but alter the colors to most likely the stereotypical green color. Personally, I was thinking purple but the group decided on green so that's fine as well.
The next thing I need to work on is getting the particle system onto our character so the blood gets triggered on damage. Have been researching that somewhat but to no avail yet. I was told that it had something to do with the sockets for the character so I tried adding the "headshotgoresocket" near the chest area, but I still need to find out where to implement the particle system.

Colorful Blood follows:



The brush that was used to create these blood samples was taken from here. All credit for brush goes to them.



I also tweaked the reloading system as well, for the revolver at least. Before you could only reload once your ammo reached zero and the script would reload for you, but now the 'R' key can reload for you whenever you want. There are some bugs still with that as well, but that should not be a problem to sort out.



Thursday, September 27, 2012

Blending Achieved!

I have finally solved an issue that I had since I started animating the character! The blending aspect! Before I had issues with the character not blending animations correctly. For example, if the character initiated the reload animation and then started moving, the model would glide until the reload animation was finished which then would cause the run animation to initiate. The two animations would never blend and the same goes for any animation that only involves the top half of the body like shooting. However, I did some more research on the topic and found out a tiny bit of information that I was apparently missing. I had my set up right in the character animtree involving the two animation nodes: tophalfslot and fullbodyslot. It turns out just like my professor had stated, that I needed to specify the bones in the properties that the tophalfslot node would be initiating the animations from. Once I did that and changed the script files so that only the tophalfslots would initiate animations for the top half of the body (like shooting, reloading, etc) and the fullbodyslot took care of the full body animations, I was golden! Everything is blending well now. You can see an example of it in the screenshot below.** Just pay attention to the legs animating while the reload animation is playing.

Reloading and Running! YES!


I also started on developing the blood particle for human blood. I created the texture of the blood using a blood brush that I downloaded from a source and then imported that into UDK to create the material. The material is not the best it could be, but it is sufficient. I quickly ran into a problem that I am still unsure as how to solve though. The material is correct but the particle system is spitting out a black version of the material. I have no idea why but I'm currently looking into it.

Wednesday, September 19, 2012

More Animations and A Little Scripts

This week I worked more on trying to make my animations look a little better. Because our main character has custom bones for his skeleton, it's really hard to show the weight impact on the feet when the player is running. I tried to implement that sort of animation to the best that I could, but it's not looking that good. It gives him more of a skiing animation then an actual run.
Another adjustment I made was the reload animation for the revolver. The previous animation was a bit of a mystery to the player because from their view all they say was the hand moving to the front of the character's body. I changed this to make the character take his left hand and act as if he's reaching into his pocket each time and putting a bullet into the revolver. This animation looks much better and is definitely more obvious in a visual sense as to show what exactly the character is doing.
One issue I ran into while implementing the reload animation was that when the reload animation was called, the player could actually hit the fire button and cause the fire animation to occur which would break the reload animation before it finished. This issue was not too difficult to solve. It just took some digging around in the weapon and pawn class. What I did was create the bool variable bIsReloading in the base UTWeapon class, and I check that if it's true in the pawn class then prevent the firing animation from taking place. This will be helpful when the rifle is implemented because the same check will prevent the rifle reload animation from being broken as well. You can see the code snippetof the StartFire function below from the pawn class.

simulated function StartFire(byte FireModeNum)
{
    local UTWeapon Weap;

    Weap = UTWeapon(Weapon);
    // firing cancels feign death
    if (bFeigningDeath)
    {
        FeignDeath();
    }
    else
    {
        if(!Weap.bIsReloading)
        {
            super.StartFire(FireModeNum);
        }
    }
}

Wednesday, September 12, 2012

Arrival of the Beta Phase!

Hey everybody, I'm back to blogging and as you can tell from the title we are officially in the beta phase for this project before we reach our deadline. The team got together and set up a new statement of work so that each of us know what we are responsible for by the end of the beta phase.
Our first and foremost concern was to address the bugs that were compiled from our bug testing session. I guess I forgot to mention that we had a bug testing session after our alpha phase. But anyways, the bugs were are main concern. One of the bugs that I worked on was disabling the fire animation if the player is in a state where he should not be firing at all. This wasn't that tough and it mainly involved me implementing the reload animation which is also what I did. I created the animation and coded a reload function for our revolver with some help from the web on how to exactly go about coding it. You can see that code below. The issue at this point was making sure the player could not initiate the fire animation during the reload animation because that breaks the reload animation. This was not too difficult to resolve because I just needed to check a bool variable that checked if the weapon was currently reloading, and if that variable was true then the firing and its animation will not initiate unless that variable changed into being false.
Looking forward, I'm going to create some reload animations for the repeater rifle and the laser rifle. I also need to get the dynamite throw animations and possibly damage animations created so that they could be implemented coming up.

simulated function bool DoOverrideNextWeapon()
{
    if(clips == 0)
        super.DoOverrideNextWeapon();

    return false;
}

simulated function WeaponEmpty()
{
    local AFTU_Pawn P;

    foreach AllActors(class'AFTU_Pawn',P)
    {
        Player=P;
        break;
    }

    if(clips > 0 && !bIsReloading)
    {
        WorldInfo.Game.Broadcast(self, "Reloading");
        bIsReloading = true;
        SetTimer(2.5, false, 'Reload');
        Player.FullBodyAnimSlot.PlayCustomAnim('DW_Reload_Revolver', 0.5, 0.2, 0.2, false, true);
        return;
    }

    super.WeaponEmpty();
}

function Reload()
{
    bIsReloading = false;
    clips = clips - 1;
    AddAmmo(30);
    ClearTimer();
}