Sunday, May 31, 2009

A Dizzying Height

I've read that a good design, like a bonsai tree has everything unnecessary cut out. So in the last 3 minutes I've managed to do hours of work by chopping stuff out that worked well on paper, but failed when I got to seriously thinking about it come implementation time. For example, there is no Dizzy state for enemies. The Red all over the Doc => will show that the entire feature got chopped. "Why?" a person may ask, if they read this, and they don't. Mostly because enemies are not that beefy. They can't take the heat. Say, using a random chance that an enemy requires 4 hits on average to dizzy them according to the original system, now marked in Crimson. Using the regular method of attacking, enemies only have enough HP to deal with about 4 attacks. In other words, the amount of attacks that would dizzy are probably lethal, so what's the point? I could increase the amount of HP an enemy has, but by doing so I'll increase the amount of time the player will take fighting said enemies. Regardless of what the posts of the last month would lead you to believe, fighting is not the focus of the game. So, it's gone and I don't miss it.
In the same vein, no Dizzy means no Charge Move for The Thief. That's easy to remove too, since I never actually programmed it. The Downed behaviour will live on, and in some places replace the Dizzy, but it's built more for bosses so you don't rush them down. Further it provides a good excuse to put the Enemy Physics to work. Even if the 3rd hit in a string will knock an enemy down (and remember 4 wastes most of them) the 3rd hit may also knock them into a wall or off of one and maybe into a trap of some kind. It'll finish them off in a slightly more entertaining way.
So, that means I need to build fall down and the Invincibility toggle and I'm good on AI states. Sweet.

-Having spent a little more time with the list and asking the team about it, they all seem to arrive at a similar conclusion, "Wow, that's a lot." The ADA said, "I'm not saying the list is pudgy, but it's obviously be skipping the slim fast shakes." The Producer part of me reaches for the scissors and The Designer part smacks the hand. It's too early to make cuts. Yet, with a clear goal in sight, It's a different kind of feeling. Before for IGF, we were hell bent on doing as much as we can in the time we had. Now we have a clear finish line. Oddly, writing it all down removed a ton of the stress. Now we can just work.
So, in the coming weeks and months the list on the right will slowly change colors, going from black to something positive like green or happy like orange. A colorful sign of our continued progress. I'll try to get at least one colored in today.

Friday, May 29, 2009

The Big List

I sat down and did The List today. Wrote out all of the things that need doing for the game to be at a state that can be polished and played by other people. This list is Massive. Quite staggering honestly and it's posted over yonder => for your (delusional much? nobody reads this) reading pleasure. Some things on the list are single lines but are hours, if not days of work. For example it says "Scripting" under the Design Heading. I may be able to start this today and finish it in, I don't know, a month or so. Thankfully, I'm not doing all of it.
The one nice part that I've got going for us is that the infrastructure is all there. Once the assets are got they plug right in with a minimum of fuss. So that's excellent.
That doesn't touch all aspects of The List though. Like, "Enemy Character Animations" can be done with a small amount of difficulty (having seen The ADA work, it certainly doesn't look difficult for him. Having done it myself, I know that it is though), but that assumes that rigged up models are available, and there isn't for 6 of the 9 characters. 5 if the Art Team decide not to palette and/or head swap a different model.
I still don't have my Kikuchiro, my mythic Seventh man. The one that will bring sound and the power of music to the masses. I think I have one, I know I do actually, but find that I'm hesitant to go down that road. Still, as I think about it, he would be the best person for the gig (that's what cool music people call what regular {uncool} folks would call a "job"). I'll do that this weekend.
Still lots and lots of other variables at work here. "XNA Compatibility" comes to mind. The line says, quite simply, "Make it play on XBox." That's it. That's like Kennedy saying "...should commit itself to achieving the goal, before this decade is out, of landing a man on the Moon and returning him safely to the Earth." I have very little idea as to what is involved with that. XNA membership obviously (goodbye $100.00), an XBox360 and maybe some kind of Alchemical Sacrifice. Oh, and Rockstar drinks.
It's dawning on me, that yes, we can do this, but no, it will not be easy. But that's really the whole point, isn't it?
If it wasn't hard, it wouldn't be cool.

Thursday, May 28, 2009

Guarded Behaviour

Blocks work again. I spent last night making that happen. Getting hurt too. I found that when you hit an enemy they stayed hit for all of 1/30th of a second, and the proceeded to beat the hell from you again (metaphorically speaking - combat collision for the new combat system forthcoming). So after some tweaking it seemed that the specific variables that were set by the Hurt AI function were the exact same ones that triggered the Let's Do Something Else (tm) Function. So hitting the enemy told it to do something different, which is almost correct. In any event, I'm thinking of handing off the remainder of the enemy combat states to the new programmer. They almost exist in a vacuum, so he should be able to work on those without worrying too much about it conflicting with other pieces. Then I have to start bulding the Last Level, tweaking the AI to behave in a "natural" way that's fun and find somebody to write all the music and do all the sound effects. Oh, and convert the controls to XBox, something The Programmer can't do since he doesn't have one. So much to do.

-I had an idea floated my way that's great, awesome, would very likely improve the game and I can't do because I don't have the time. It was posited that there could, and probably should be things you can push off of platforms that could fall on enemies to defeat them quickly. Vases, chandelliers, small crates that kind of thing. It would make combat more optional, provided the levels were constructed in a way to facilitate that. It's a good idea and I considered it seriously, but we have 4 months left to get the game working in a semi-final (if un-polished) state. So implementing that idea would be destructive to other work. It kind of sucks, but what else can I do?

- Producer Me needs to write up a list of needs and a rough outline of when those needs are, um, needed. Yeah. I'll do that. I may even stick it over there =>

-Finally, I've been playing some Samurai Shodown (sic). I remember that game being A) Easier and B) Better. When I saw SamSho Anthology come out, I bumped it to the top of the GameQ. Fond memories of wasting my allowance at the local arcade as I pumped dozens of dollars into the gaping maw of SamSho II (SamSho is what the cool kids call it, and me). So I loaded it up and sat to play and, I was disappointed. The game I remember, the fluid game of cat and different cat with samurai swords was less so. In this case, nostalgia had made me stupid. Turns out, the game that SamSho is trying to be, is Soul Calibur.

-Oh, and where's the blood? Seems stupid but I used to bisect assholes in that game when I hit them hard enough. Fountains of blood anybody? Is there a code? Or am I playing a Nintendo censored version? Or am I just trying to find a reason for my disappointment that isn't gameplay based?

Tuesday, May 26, 2009


Yesterday I got the beginning of the En Guarde behaviour in for enemies. It's not quite done yet and now enemies flicker when they're trying to block since every frame they snap back and forth between having their little shield bubble up and just standing there. I should be able to get that all done today. Other than ironing out little bugs I find myself working more and more with statements that look like this:

If LastMove = X or LastMove = Y
AIAction = Rand(7,9)

So now it seems I'm in the midden heap of statistics and frankly, I don't much care for the smell. At least some of the basic stuff works.
I'm going to unleash the Programmer on some stuff, now that he's finished the wrapper program. Things like combat collisions and stuff like that. Easy things that don't take too much time, just more than I have. Once I get the AI code into a workable state I'm going to go ahead and get going on making the wrapper function on XNA, and Xbox. That's gonna be good. Well, except for converting all the controls, which will be bad.

- I've never understood the term, "Light a Fire under his/her ass," until now. I didn't do much programming since my hours were consumed with celebrations and an overwhelming need to change my station. My state sticking to me like a damp sweater, leaving me looking for a way to take it off and quickly to boot. Resumes flew out like the baby spiders at the end of Charlotte's Web leaving me hoping that they take root. Today, I'll do it again and tomorrow, the same until I get it right. Today, isn't supposed to be yesterday but it is. The only thing different is me. Now I find my life chafing.

Friday, May 22, 2009

A Trick of Perspective

Today is a big day. Big-ish anyway. But first, news.
Yesterday I got the AI upgraded. Added some failsafe mechanisms to the attack drawing code so it'll stop crashing, added AI for the enemies being hurt and added a way for the system to remember what it did last, so it doesn't do it again. The last thing was added because I needed a way to implement the status changes listed over there => and give me a way to not have the enemies just start attacking, and then attack again and again. Statistically, if 6 out of the 9 AI responses are to attack, it was quite likely to have the enemy launch 2, 3, 5 attack strings in a row. That's a lot of beatdown. Now it doesn't do that.
What I then discovered, when I turned off the debug features and the collision boxes and just played, is that the new combat system is really quite fun. Still buggy? Yes. Totally stable? Not quite. But certainly fun in this early incarnation, which is a good indicator. I'm going to tell what happened, in story format.

The Thief climbed up the platform, and immediately saw the Guard standing there, sword drawn. The Thief barely had enough time to unsheathe his sword and move it to guard before the Guard was on him, swinging furiously. With a heave, the Guard lifted his sword overhead for a great slash and The Thief quickly dashed behind and landed a flurry of attacks, knocking the Guard from the platform who then fell to the floor below.
With an acrobatic flip, The Thief leaped down to continue the fight, sword at the ready and, in a flash, lunged at the Guard, who had no defense ready. The Guard regained his composure and again attacked, but he was no match for the quick reflexes of The Thief. Before he knew what was happening, The Thief was on him, blade flashing and the fight was over.

Yeah, it was pretty much just like that, except with pictures sprinkled with awesome. The thing is that right now, it works on a fundamental level. It's fun without all the animations, without all the little tricks, without the glass and candy. I heard once that if a game works, it should work with nothing else, the mechanics should be enough to support the experience, and from that perspective the fighting is good.

-See what I did there? "From that perspective.." Like in the title? Oh never mind...

-Right then, the part that makes this day larger than normal days. Today, I officially graduate with my AA and Certificate. I've been putting that on resumes for a while now, but today I actually wear the dress and the hat and get to shake the hand of somebody that I've probably never met before or will after. People will say things like ,"We're proud of you." and I'll have no idea how to take that or what to say, so I'll stand idly and smile.
I'm struck with the idea that this, is an empty gesture. It's the halfway mark (or the 3/4 mark) and it's meant to be a state of finality. It seems, incomplete. The degree that I'm after is the BA, which I will have in another year or so. But today, is today and I'm told not to sell myself or my accomplishments short, but I feel that this whole thing is me selling my accomplishments long. What am I celebrating exactly? That it's take me 6 years to get here? That I still don't get to do what I want for a living? I'm standing at the top of a mountain that let's me see exactly the peak I want to be on and I'm being celebrated for the climbing of a mountain. When I get to the next one, will I feel better? Different even?
I don't know where this venom even came from. I didn't think this yesterday. I wonder if I will tomorrow. I wonder if, in some small way, I fear the Gate. I fear the next part. When I woke up the day after graduation from High School, the thought that I had nothing to do was terrifying. The change of the life was tangible, if not the change in me. The last few years, they've, in some way, been good. That school was Safe, this project was Safe. I am comfortable. Tomorrow, I may not be, the new mountain being different and strange.
Or maybe I dread that beyond the Gate, is the same. That there is no difference and the mountain is meaningless. I hope that I'm wrong. I've never wanted to be more wrong in my entire life.
I think though, that I give too much credit to hypotheticals. It's not what's on the other side, it's how you get there and how you travel once you do. I control how that works. I control what it means in the end. I am the Master of my own Destiny. Today, I get uncomfortable. I leave behind the stuff that made me complacent. Comfort is not Happiness. Today, I take the steps to find Joy. Today I retake control of my Life.

So today, today is a big day.

Wednesday, May 20, 2009

The Sixth Man

Yesterday I met and added a new member to the Star Frog Project. Let's call him the Level Designer. All in all it went well, although I did discover that you can apparently cobble together something that plays like my engine in about 2 hours on Game Maker, but controls like ass. In any event he immediately wanted to know all the cool things the engine was capable of doing. "Ladders?" he asked,
"Nope." I replied.
"Crates? Pushing boxes?"
"If you want to script them."
"Swinging ropes?"
"If you can figure out how to calculate a position on an arc and script it."
...and so on. I feel most confident since he seemed to have a quick grasp of how the Blitz Basic code works, which is good. Previously I had this fear of doing all of the scripting on the project, again. Now, not so much, which makes me feel better. One less thing to do, so I can focus on the Code and making sure that everybody plays nice.

So, for those of you keeping track at home, that's 1 Producer/Lead Designer (me), 1 Art Director/Animator, 1 Background/Concept Artist, 1 Tester, 1 Programmer and now, 1 Level Designer. I'll have to add a 7th shortly, but for now, we'll see how this goes.

-Yesterday I was struck with a concept, I am part of something great. I mean, it started small and grew into something different, something better while I wasn't paying attention. It seems that the people involved understand what the project is all about - making the game to show that we can. Further it seems, they see something going on here that makes them want to be a part of it. I find myself at the center, but I get the impression that if I had a plane engine fall on me or something the work would continue without me. That's a good feeling.

Monday, May 18, 2009

Animated Hate

What's that? No new post for over a week? If I keep this up I may lose my rap as being prolific or verbose. Well, I've been beating that stupid animation bug for the last 5 days. The posts would have gone something like this:

"Tried some stuff, still broken."

So, I went ahead and skipped them. Now, it's fixed. It has to do with the Random Number generator. It seems that every frame the enemy AI was deciding what it wanted to do. Most of the time it would decide to keep doing what it was doing, other times, not so much.
Basically, the Random Number generator is not random. Computer people will tell you that. "Random" numbers in a computer are seeded. So you take a number that's bound to change from moment to moment and you can use that after some modifications. The system clock is a good example. The problem was that when that number is checked, say, 30 times a second there isn't a lot of variability. So, I assumed, that meant the system was working correctly. Once an action started it was quite likely to finish, statistically speaking. When it didn't was the problem, since it would cause a stunted animation, or worse, a crash.
Now, finally, it works. Now it only decides what to do after it is done doing what it is doing or the status of the AI has changed. It is so dumb. Now, collision.

I was thinking about stuff recently and I have a plan for my new programmer. I was going to give him the assets and get him set upon a port or building a wrapper program for XBLCG in C#. I still have this plan. But I was thinking, he is doing other things too, and that may not be the best use for him. So I'm getting the build stable (which I did, see above) and then I'm thinking that I can give a detailed description of the design (a document, if you would) and set him upon building some game functions. The combat in particular obviously is taking a lot of time that I could be spending doing level building or any of the other things I'm responsible for on the project. That's seems like a plan. Maybe he can build the blocking function controls. I'll ask after he's got the stuff, probably later today.

Wednesday, May 13, 2009

Page 6 Girl

I got most of the instructions for ThiefEd written out. I need to compress the Source again and post it up someplace where people can get it - like the Programmer and Level Designer. After I had written it all down, it came out to be 6 pages in Word. I was a little confused and amazed. Something that I had built, and was never intended to be shown to anybody takes 6 pages to describe the workings of. I was a little impressed with myself.
In any event, instructions + ThiefEd + Source = Thief Dev Kit. That makes Producer Eric smile since more work can happen.

- In Diary news I've discovered and added the blog of our Artist. Check it out, send love.

- In actual game news I figured out the issue with the animations and it turned out to be my data. I missed loading a frame. Then it crashed, which is/was unfortunate. Then I fixed it and it worked. Then, since it worked on a basic level, I changed some data to make the animations play out of order. Due to the way the system is set up, it should be able to do that. After giving me the faintest hint of hope, it too crashed after giving me a ration of nonsense variables like that the animation only had 5 frames. I'm calling shenanigans and getting back into the code.

- Finally, another rant. Recently I've found myself filled with a kind of despondency, a regret really. I'm seeing people graduate from high school and I'm struck by what I didn't do - try. Until now I've viewed my high school years with a kind of quiet bemusement. While others tried and put forth effort, I didn't care and skated on by middling grades. This is the cause of the regret. I wish that I had tried.
All my life I've been told that I'm smart. That's not quite right. All my life I've been told that I am a genius. This is where the regret comes in. I missed one of the few races in my life that I could have competed at and likely won. It's stupid really. I don't regret the way that my life has gone since then, not at all. Instead, I missed my chance to play. I could have, and should have, been Valedictorian, graduated at the top of my class, proven my inborn abilities and understood the depths of what I am capable of doing. Instead, I didn't, and worse, mocked those that did.
I feel very old all of the sudden. I was told once that you know you are old when your dreams are outnumbered by your regrets. Yet, I think I can fix this. I have one more chance. At University my grades there exist only there with no memory of the past. It is there I can do what I was meant to do, excel.
There is a word used for graduating students towards the top of their class - Cum Laude - with Honors. Those of superb achievement graduate Magna Cum Laude - with Great/High Honors. Those of unmatched achievement finish Sumna Cum Laude - with Highest Honors. I think can do it. Better, I still have the chance to prove it.

Tuesday, May 12, 2009

Headlong Attack

Attacking is approaching something that could be considered to work. I figured out what I meant by the variables I used through use of deduction and clever use of a drawn out map. Of course, clever use of the variable names could have, and would have, saved me a bunch of time in that regard, but now at least, the animations work. Once.

Now it seems that the animation and animation call functions and all that work, but they are getting odd information from the rest of the program, which causes an error. So it runs through all the attacks in the string and then forgets what it was doing like somebody jingled some keys in front of it. Crashing ensues. At least I'm narrowing it down. I should have it all done soon. Then I can get the parry system working. I'm thinking that the parry will work by stunning The Thief and going immediatley into a prearranged attack. The player will not be able to block the counter attack and it should work like the Doc says ->. I'm thinking that a throw attack is probably the best bet off of a parry, since it will also knock back The Thief character - possibly into danger. But, attacks and blocks need to work before I can get that built. With that, I should be able to start getting the transitional AI to work, which I assume will take the most time to balance.

- For those of you (Who am I kidding? Nobody reads this.) keeping track at home, updates to the Design Doc are shown in blue. If I delete something, I'll leave it, but mark it red.

-Right then. In non-game news I've come to a conclusion that takes some backstory to follow. Since I've been, say, 12, I've found that I write very similarly to how I speak. This realization allows one to write papers and so on without feeling as if they're doing real work. Indeed, I find that an Essay Assignment isn't hard and haven't bitched and/or moaned about one since the 4th grade. How I write was always the way that I spoke.
The conclusion that I've come to is that it's beginning to float the other way. I'm starting to speak the way that I write. As my writing output has increased considerably since I've begun this project (this is entry 170 or so) my vocabulary that I use and the way in which I form sentences has begun to, well, sound like this sentence. I mean, I was chatting about this and I found myself using the word "Speak." While that is correct nobody does that. I wonder if this will continue, and if my word choice and diction will make if difficult for me to converse with people.

- On something else, I need to rant. If you are one of those people that use the phrase, "That's all I know," stop. Please. It makes you sound like an idiot, especially if the phrase is used as a way to end a discussion. How do you counter that without sounding like a prick? The answer that I want to snap back with is, "Why does that not surprise me?" Or failing that, "Because you can't remember more that one thing at a time?" Or "Because you are dumb." So, yeah, stop.

Sunday, May 10, 2009

Lincoln Log

The blocking is done, I think. I seems to work. A little bubble appears around the enemy of a certain color, the correct variables are, um, correct and they do stuff correctly afterwards. I think. I haven't put the new pretty animations in, so I'm not quite sure if it's working. I'm doing that right now.
With that done, I'm going to go ahead and get the enemy collision working so they can attack me again.

-Dammit. I don't have left facing animations. Not a big deal. Worse, I don't have left facing code that knows the difference. I could expand the array and draw pieces of it based on the state. Hmm, like regular attacks are in a certain place in the array and left facing ones are on the same line, sharing the same information but offset by 30 or so. That could work. I need a new variable to keep track though...or maybe not. I'll find out.

-Nice. The algebra would look like this and should keep everything straight.

Draw Current Frame + ((EnemyFace - 1) * 25)

This takes the frame that it wants, and if the enemy is facing left, play the animation frames that are offset. by 25, otherwise, the regular ones. new computer has no image editing software worth a crap. I have Paint, just Paint. I'm reversing the images one at a time now. I miss scripting. =C Screw it.
They're placeholders for now anyway.

-Note to self. Rename all of the stupid attacks later, like 1-1 and 1-15 and 4-22, then I can load these bloody things with a loop.

...and they're in now. Not run by an elegant loop, but instead by a fugly list, but in nontheless. Then, with determination I declared, "And Thundercats are GO!" and...nothing. No loading for me thanks. Fixed that but it still won't play the animations.

I'm obviously mentally deficient. In my haste I got the Image name and the locations confused in the draw function. Now (suprise!) it works. Ah, no, wrong again. Still no worky. Something about my index being out of bounds. I have a test!

-Fail. The test didn't work. Although now I the animations plays correctly - once. They play and then at the end, crash. I think it's caused by the system not knowing that it's all done with the attack string and still looking for the next one. So if there's 4 attacks, it'll look for a magical 5th attack, not find animation frames and crash like a NASA martian probe. I'll get on this tomorrow, as it is getting late in my day.

Wow, I went a whole day and have nothing that works to show for it. Although, at least now I have pieces that don't work. Before, I had no pieces at all. Pieces I can work with. That's a kind of progress.

Saturday, May 9, 2009

A Death in the Family

I've heard terrible news from The ADA, his computer died. As is our custom, in death, computers get a name. It's name was Apple.

Let's take a moment. I'll wait.

Wednesday, May 6, 2009

Building Blocks

I'm ankle deep in fencing and making stuff work and discovered the following bugs:

-The character would "stick" to walls better on the right side, requiring a push towards the wall on the left to get the jump to work. I changed the parameters of the left side rectangle and it's way smoother now.

-The Thief would get all excited and start bashing the hell out of the enemy without me asking him to via keyboard. It turns out that I'm stupid. What I thought were local variables like "Attack" and "AttackRange" are actually Global variables that control what the player character is doing. When dealing with Variables, like Proton Packs, it's very important not to cross the streams.

-He now has a Low Attack by the way, so I can finally get going on what I'm really here to do, which is the enemy Blocking behaviour. I'm already sick of it.

- Oh right, when you copy something into a notepad and then back again, it makes all the code green like it's commented out. I have to close it and open it again. *sigh*

I've encountered an odd thing. I'm looking at the randomization code that I've set up and it will have gaps in it like it is now. Right now it assumes that different enemies will have different numbers of attacks. This is true. Hard enemies will have more kinds to make them, harder. However, if I run an action without something in it, the enemy will stand there considering the nature of the universe and do nothing useful. In other words, if an enemy only has 2 attacks and the random number thing pulls a 4, nada.
So, I'm thinking that this can be useful. I can stack the attacks and change the distribution of the attacks in a pattern. Say, I want Attack A twice as common as Attack B, then I make Attack A happen on rolls 1,2,3 and 4 and give Attack B only 5 and 6. Statistically, just like I would want it. Now I have to seed the attacks....grrr. Then I can get real results from the random thing and get Blocking to work. It'll run on the same kind of code as the backup in that it will be called and continue to call itself as a counter runs down. The difference? The Block code will have a random length of time attached to it.

Okay, it's installed now. It works like ass, but at least it's in. I discovered more AI stupidity. It seems that once an enemy start backing up, you can ruin them like the dreams of a circus clown - with a painted smile. When they start backing up, there is no out for them until they reach the correct distance. So if you keep rushing them down, they'll keep backing up. This should be correct when I get the Hurt state running though, cause, like the Doc says -> they have pre-determined actions out of said state. Something to remember.

Right then. Next to do is to tweak the system so it just looks like ass instead of playing like it (placeholder animations suck! Especially when they're vectors and even more next to pretty animations). Then get some stuff to happen when they're blocking. So I needs a Thief state called "Stun" and a way to trigger it. But that's programming for another day. It's 11:15 and it's time for bed.

Yep, more Twittery looking posts. If you don't like them, tell me. Assuming that you won't because almost nobody reads this, I'll further assume that they are as loved as I think they are.

"Delusion", noun Latin Root. Def 1) To think that something is a way that it isn't.
Acting in a way in spite of evidence that is is silly.
See also, Blog, Keeping a

...and we're back

I just got back from vacation. I spent a few days in Las Vegas for my anniversary. I'm going to refer to it as a "Power Vacation" because I would get up at 10AM, do dozens of things and finally collapse on or around 3AM and then do it all over again. It was totally sweet but now I feel I need a vacation from my vacation...or I can work. I can do that too. Yeah, let's do that.

It seems that the Team has gotten much done in my absence. The Animator / Art Director (or as he's known henceforth, The ADA) has gotten me half a dozen new animations and worked out a consistent concept for the backgrounds. A concept The Ron has apparently taken to with gusto, having completed a huge chunk of the first level already. New pictures will replace the old pictures when I get them.

The Level Designer has also been busy it seems, getting a testing job (that I immediately asked about) and getting accepted to CSUSM too. I'm trying to figure out a good time to meet up so I can finally get him the tools so he can start getting some levels built too. I'm hoping that between the two of us maybe, just maybe, we can keep up with The Ron's level of productivity. Either way, it'll be fun to try.

For my part I need to finish the AI finally and get it working in some way. But a final working version isn't needed too much for level construction. Bad guys go in and they do something at some point. I'm also thinking about doing another tear down of The Cliffs Level. It's just not working. At the very least methinks that I may skip it and come back to it. The Hydra level in God of War was like that. Maybe something will click and just work, you know?

Finally, in my head at least, I've promoted The Animator, mostly on something he said, "Also, I'd like to be able to tightly oversee the background animations. Even though I won't be doing most of them, I want them to look like I did(in a good way)." Add to that that he actually communicates with the entire art team on my behalf and I feel it's appropriate. Of course, that means about 0 to anybody except when I do the credits again.

Today, Blocking. I'll get blocking to work and make a Low Attack for The Thief character to test it. Right now I'll just get damage prevention and depending on how long it takes I'll create an Attack Stun for the PC. I'm thinking that if the stun is too short, then there is no problem to just keep attacking over and over unless you're dealing with enemies that also Counter. Too long and you'll get punished for silly mistakes. I think that if it lasts until an enemy does another Behaviour it'll be just right. That will take some tweaking though.