Sunday, November 25, 2007

Where the hell have you been?



So yeah, it's been a long time since the last post. What's been going on? many things....

First I had to take a break from the game. I was having lots of trouble with the cover ai that was driving me batshits. So I stopped working on it while I played Bioshock. (one of the side effects of working in the game industry is that I get "homework" of playing other people's games....tough stuff, I know)

After Bioshock, I got the Orange Box and have been playing Half Life 2: Episode 2, Portal and Team Fortress 2....it's been tough getting my arse in gear when I could be playing TF2 instead.

Anyhoo, I have been working on some stuff recently. Mostly I worked on a new model:
Hey! That's me! Yup, modeled and rigged the "Rotten Tomatoes" character. Looks a little weird, but that's because texturing sucks balls. Seriously, mapping UVs is a pain in the ass.

The rest of what I've been doing is level design stuff. I changed the skybox to a nighttime skybox, but when I look at it, the framerate drops to it's knees...

Geeky Stuff:
In case you wanted to know what a skybox is, that's the sky. The reason it's called a skybox is because the sky is projected onto the inside of a cube which is then placed in the sky. pretty complicated stuff, I know...

I also have been working on the club in Rock and Roll Street...mostly on the outside. One of the problems is that there's a bunch of stuff inside the club that you can currently see from the outside, so I have been trying to find good ways to cover it up. I decided to just hide it with a wall and then not allow the player in certain areas of the level. (lots of games cheat their levels like this)

anyhoo, that's what's been going on. I'm planning to continue working on the club, including some lighting and texturing...I just found a great resource with tons of textures that I'm going to be hijacking. woohoo!

Wednesday, August 29, 2007

May not look like much, but she's got it where it counts, kid


Norman really shook the socks off of Skeleton. As you read in a previous post, I put in some ragdoll stuff to animate him while he's flying in the air like that, but it's still broken. Still not sure how to fix it.

BUT...

Good things have been happening in the world of AI. I've been working hard on getting guys to take cover, and finally have stuff to show. woohoo!





I know it looks like the Skeleton is just doing a sidestep jig, but what he's actually doing is quite complicated. Besides his normal AI, here's what he's doing:

* Looking around for cover
* When he finds it, he runs to it
* While at cover, he waits a while, and then jumps out to shoot Norman
* Once he's done shooting, he runs back to cover
* If he can't find cover, he charges Norman like a Normal guard.

For some reason, he's having problems shooting once he runs out of cover. I'm still working on how to fix that. But he's up to a great start!

Next!

The AI still has a fairly long way to go. Once he can shoot after he leaves cover I've got to get him to do this stuff:

* Check to see if Norman can see him from the cover he's looking at. If so, he won't run to that cover.
* While he's in cover, check to see if Norman can see him. If so, that means it's time to move.

Once I get all that stuff done, I think the AI Cover will be pretty close to being done.

Monday, August 27, 2007

Shoot Norman, Shoot!


Lots of stuff happened today in between some recording sessions....

I got Norman's Mic working. He about blew his own face off with that voice, but it's working, and causing all sorts of havoc against the Skeleton, and his friend Kork. I also managed to sort of fix the weirdness in the way he holds the microphone. It'll probably need some more attention later, but it's ok for now.

I also put in a crosshair for 3rd person mode. It already was there for first person, but...we went over the whole 1st/3rd person thing already. Norman's the hero, so you get to watch his ass all game.

I also was monkeying with some Ragdoll animations, but they were causing trouble. We'll see if I can get them working. If you don't know what ragdoll is or want to play with some fun physics, Go Here. otherwise, just stay on the line and an operator will assist you.

So now I'm working on the AICover script. I'm sure this is going to take a while, so you might not have any updates for a while. woohoo!

Sunday, August 26, 2007

Good times with weapons


So after starting the weekend with a slight distraction, I've been spending most of my time working on Norman's microphone. Turns out getting it to work is less than easy. Problems have abounded from export issues to scripting, compiling and memory issues.

Many of those issues got solved, and I'm proud to say that Norman's microphone is coming along nicely...and for once, instead of shocking him when he uses it, this one puts the full fledged verbal assault on Norman's enemies!

And of course, there's the new splash screen. For some reason, when you're working on a game, seeing the name of your game when it first starts up is a huge step. It really makes it feel like something's getting accomplished. So get pumped!

So what were the problems with the microphone?

Well like I said, there's been a lot. The biggest one, and the one I'm still trying to deal with is getting the microphone to shoot. I know what you're thinking..."Microphone's don't shoot!" Normally, that's true. BUT Normanly that's false. in Norman's world, microphones wage an all out war on the auditory system! and I'm just trying to reflect that.

So what's next on the plate?

I'm still working on getting the microphone to shoot. You'd think that copying a working script would be enough, but in my world that's never the case. once it's been copied, then it has to be modified...painus in my anus if you ask me.


Assuming I get Norman's mic to shoot (and believe me I'll be letting you know when I do!) I've got to work on a bunch of Norman's animations...he still looks weird holding the mic.

After that I'll be moving on to some even more difficult scripting! I've got to make some modifications to the normal AI script to make it a little bit smarter for the more difficult enemies. In other words, the smarter guys will be taking cover instead of just charging. Again with the more stuff I haven't done....I'm looking forward to the days where I'll be doing things I've done before!!

anyway, here's some screenshots:

Norman carrying himself instead of the microphone(a funny oopsie):




Norman wielding his powerful microphone:


Wednesday, August 22, 2007

Norm didn't have to use his AK....it was a good day


Not Much in today's update. I set the game to load into third person at the start instead of first person, since Norman's the hero and you aren't!

I thought I was just going to have to set the $firstPerson variable to false somewhere and be done with it, but it turns out I had to use ServerConnection.setFirstPerson($firstPerson); in the onClientEnterGame function in server/game.cs A little nerdy, I know, but it works.

And believe it or not, Norman's not really holding an AK. Sure it looks like one, but in all actuality it's a microphone. I started setting Norman up with his weapon of choice, and there's a lot of work left to be done. The AK model is just a placeholder so that I know he's carrying something different from the BAC (Big Ass Crossbow)

Stay tuned, when Norman will unleash his vocal prowess in all its glory at his enemies!

Tuesday, August 21, 2007

Norman, Meet Kork


So I'm compiling a new .exe, so I figured it was time for an update.

New Fixes!

I finally figured out why Kork (One of Norman's opponents) wasn't attacking him when I switched the model. Turns out there was a world of pain in the ass I had to do to get him to animate AND attack Norman.

NERDY WORDY:

Here's what I had to do:

1. in data/server/scripts, I copied player.cs and renamed it.
2. Inside that new file I changed line 7 from exec("~/data/shapes/player/player.cs"); to the cs file in your new chars directory (Like exec("~/data/shapes/kork/kork.cs");
3. I went down to datablock PlayerData(PlayerBody) and rename that to a unique name (I used PlayerData(KorkBody))
4. I Changed the shape file in that datablock to your new dts ("~/data/shapes/kork/kork.dts";)
5. Then I saved that file
6. I Opened aiguard.cs and change datablock PlayerData(GuardPlayer : PlayerBody) to your new datablock (datablock PlayerData(GuardPlayer : KorkBody))
7. and finally I went into game.cs and add an exec of my new version of the player.cs

/END NERDY

Why do I do Nerdy talk, you might ask? Well for two reasons,...the first is to keep a record of what I had to do to fix something in case I forget and have to do it again (which will probably happen). Secondly, if anyone reading this wants to make their own game and runs into this problem, they'll know how to fix it! I'm a helper!

So Now Kork is running around and pretending to attack Norman. (He'd kick the shit outta him if I let him use the big ass crossbow) But weapons are for another day.

I also ran into a new problem called Out of Range Write when I was trying to get Kork's buddy the skeleton working. I had to go in and increase some buffer size in
gameConnectionEvents.cc: and that seems to have licked the problem.

Kork's buddy Skeleton has been consistently shy, but I finally got him to agree to appear on screen. It took creating a bunch of new crap...basically I had to do all the same things I did for Kork, plus what I had to do to get the aiguard script working and then change around all the function names, a pain, but worth it. so without further ado here he is...


Sunday, August 19, 2007

Norman vs Norman



Well I got the LMap bug fixed. There was something wrong with the brushes in the bathroom. What's a brush got to do with it?

NERDY TECHNICAL INFO:

The Torque Engine uses what's called Additive Constructive Solid Geometry to create interior levels. All that means is that it uses boxes that you can reshape and resize to form all sorts of artistic pieces. These boxes are called brushes. Most game engines, including Half-Life, Quake, LithTech, and Unreal use some form of CSG to create their levels. It's a more difficult method than what other 3d Editors use, but it has bonuses in culling (deleting geometry the game can't see) and collison detection.

END OF NERD TALK

So I don't know what was wrong with the bathroom brushes, but after I deleted them, the level worked fine.

So here's the good stuff...I put in a script (mini program) called AIGuard. The screenshot that started this entry is Norman attacking Norman. woohoo! That's a huge step.

I had problems with this script in the last entry, but it turns out the problem was simple (just like I thought)...There was one simple line in the script that read $AI_GUARD_ENABLED which was set to false. I set it to true, and EvilNorman is busting a huge ass catapult all over his self!


Of course there's problems...
I have a few other models that I'd been planning to use in the game, but when I put them in the game with the AIGuard script, they don't play their animations. I had a similar problem with Norman originally, but this is a different sort of problem that I again, can't fix. :(

Thursday, August 16, 2007

Bad LMap! No Twinkee



So I got the exe recompiled and got the aiguard script added. As it turns out, I should have just looked around for the right directions. Turns out I was using VS Express to load a V7 project file. (whatever that is!) so when I used the VS Express project file, everything worked wonderfully...

Unfortunately after I place the guy in the level to kick Norman's ass I get some weird lightmap error. I have no clue how to fix it, but I'm hoping someone else does on the garage games forum. Once that's fixed (I hope!) Ass kicking awaits!

Wednesday, August 15, 2007

Flushed!



So as promised, here's a screenshot of Norman in a level with some textures, details and lights.

I spent most of tonight trying to get the Dragonfire Riots project working in Visual Studio express, since I have to re-compile the executable to get the ai scripts working....almost there, but it seems that windows.h and winConsole.sbr are mising from my project. Pain in the ass for me, but probably easy stuff for someone who knows what they are doing. Hopefully I'll get this stuff fixed soon so we can see Norman getting his ass pounded by some bad guys!

Dragonfire + Mormons = Rock and Roll!

Not much in today's update. We played a show at Mr T's Bowl last night. Thanks to all those of you who hung around late enough on a Tuesday night to see us play.

While we were there, we got reference photos for most of the band, except for Lenny the Amish and Ace Facial. woohoo!

The first part of the first level is progressing nicely. I've got the first half built out and textured and have been working on some details. I might backburner the detail pass of the level construction to work on some AI. It's time for Norman to fight people!

No screenshots today :(. I'll try and take some of the level tonight so you can see how it's progressing.

-Tomatoes out-