Thursday, September 29, 2011

A Slow Week, but Staying Positive!

     Well, it's been a full week, but it certainly doesn't feel like it.  This week was a bit of a kicker, to be honest.  Not to say things didn't get done, it just isn't a very progressive week by any visual means.  This week I've been working to overcome a few blocks and obstacles, and have gotten a few background problems fixed up nice and clean. Here is what all got worked on or completed this week:

~  AI has been further improved upon - switching between attack and idle states completely fixed, working on more attack problems. (This took absolutely forever...)

~  Cockroach and BedBug were completed and given to me -- Once in class this week, I'll plop them into the level and everyone can throw ideas into the hat for what all to do with them.

~  "Hallway" level begun -- needs quite a bit of attention in class tomorrow.  My teammates really need to help me out on designing this one, I'm fairly well stuck.  I've got a lot of cool ideas for the bedroom, but we need to make models for that this coming week...

~  Living Room level fixed up and improved upon, along with a few extra code snippets to make things run more smoothly.

     Again, I apologize for this being such a seemingly boring week -- things are getting done, just nothing too visual, this week.

Friday, September 23, 2011

Complete AI Overhaul, Living Room, and AnimNotifies!

     This week, as usual, has been a busy one to say the least.  When you look at what came out of it, it doesn't look like much -- but everything has been customized to fit our needs much better now.  Here is a very simple list of what I've accomplished this week:

~  Totally new AI script that can be customized easily for each enemy. ╤

~  Living Room was first drawn out on paper in collaboration with my lead animator, and has now been almost completed in the UDK.  There are only a few more assets left to put in or modify.  ♫

~  I learned and researched a LOT about AnimNotifies this week.  Essentially, these call an activation of some kind of asset at any given point during a specific animation.  ■


╤     The AI script was created by taking what was already coded for UTBot and taking ONLY what I needed, rather than basically extending the whole thing.  I also used the knowledge I gained from getting the "Score" variable to be able to be read and modified through both Kismet and the scripts to make the AI much more adaptable.  There is now an array (Accessible from the editor) which holds the names of pathnodes.  Essentially, the enemy will follow through the array of pathnodes, walking between them in order, until the player comes within view range.  If the player manages to somehow leave the view range of the enemy for long enough, the enemy will go back to the first pathnode and begin once more.  This is perfect for our game, as it is now quite simple to keep the bots on a 2D plane.


♫     The Living Room level is coming along nicely.  There will be a few hidden areas that are a bit hard to get to in this level, which adds a bit of an edge.  This level will also contain the first magical item needed to complete the game!  Here are a couple of screenshots of various things in the level:

                                           (Book maze...  Climbable.)

                                              (Cheesy-poofs - Physics objects.)


■     Finally, I have been experimenting quite a bit with AnimNotifies.  Right now, the only ones that I have decided to keep are on the "Attack[i]" animations.  This essentially starts up an emitter which is attached to each of the foot bones on the player to kick up "dust".  The dust is basically comprised of some little clouds that I drew up in Flash, and it makes it so that when the player 'slides' while swinging and moving at the same time, it actually looks like he's sliding.  Example:



More to be added soon!  I'll be putting up another post with the finished level.

Thursday, September 15, 2011

Score - Progress!

Hello, again!  I was up very, very late the last few nights trying to get a score system integrated.  I knew of a few cheap ways to do it such as altering the game's core files, but I figured that would not be the best road to take, as I know it can screw a lot of things up.  So instead, I wound up doing this:

~Updated my game class (Which extends UTDeathMatch) with a function which gives score for each kill, overriding the original.

~Updated my PlayerController class to contain functions which keep track of the score that is defined within.  For instance, a very important function here is "GiveScore," which you'll hear about in a moment.

~I then, after investigating for the past few days, learned a lot about Kismet integration.  Using this knowledge I created my SequenceAction class, called "SeqAct_GiveScore".  This class essentially creates a kismet node from scratch, and the only values required for it are "Amount" and a target.  The target will obviously always be the player, and the amount can either be set within a textbox in Kismet or the node can be linked to a variable.

     Essentially, what's happening is two things.  First of all, I can use the "Score" variable quite easily within my code.  As long as I know its location, I can alter it however I want.  However, the important thing is that I can now, thanks to my SequenceAction class, affect the variable and manipulate it from within Kismet.  Why would I need to?  It's much easier on the engine to test for player collision with my pickup items in Kismet than the code, as the things are created in-engine, and not through the code. 

     Here is a shot of the scorebar in action:






     And here is a shot of the new kismet node being applied:

     This is a HUGE step and I can't wait to get things working even better!

Sunday, September 11, 2011

BONUS CONTENT!!!

I forgot to mention this in my most recent post -- I also wrote a function in the Pawn.uc file that randomly picks between multiple melee animations.  I'll be contacting the lead animator and modeler within a couple of days to see if he can manage to create a couple more animations and fix the ones we currently have so that this function can be used to its full potential! 

Week 2 of Session 2

     This was a BIG week!  I didn't want to wait to post everything at the end of it, but I kept getting sidetracked upon signing into the blog. Anyway, here is a list of things that I accomplished this week:

~Character Melee Animations In Working Order!!!  (With a special thanks to my professor for his amazing help.)

~Post-Processing Completed - Outlined objects based on depth and flattened colors (This makes things look more fun and cartoony!)

~Better Pickup for the character's weapon (Cocktail Sword).  It is now laying in a puddle of juice rather than spinning in the air.

~Kitchen level populated further.

~Scaleform introduction and tutorials implimented!  (These pop up and become fully interactive when player touches a trigger assigned to them.)

     I am, of course, not stopping here!  There are TONS of things that still need to be done, both with the levels and with code, but I'll be posting more than just once in this coming week!

Sunday, September 4, 2011

Week 1 of Session 2 - Overview

This week's post will be a rather short one, as this week was not a good week for production and forward momentum.  I worked hard on overcoming a few seemingly simple obstacles, but appear to have gotten essentially nowhere.  I focused all of my time and effort this week on attempting to get the flash menus updated or working more fluidly with the script, and getting the character(s) to animate correctly when the fire button is pressed.  So far, I'm not having a whole lot of luck with these situations.  However, I am confident I can get these things working perfectly within the next couple of weeks, along with getting many more assets implemented into the first level and will even begin populating the next level.  On top of that, I'll be working very hard to get a points system implemented for our pickups in-game.