Saturday, February 12, 2011

FPS Game Development

So in the spirit of trying something new that I have long, long been interested in is video games. Ever since I was a wee lad and had played my first coin operated video game I was interested in them, as the technology progressed I got even more amazed at how they were made but had never really had the chance to get into that industry even though I now many years later make 3D models that have sometimes found them selves in a game that some indie game designer has created.

Well now technology has finally caught up to me where now even someone with my limited technical expertise can make a game. I stumbled across this very cool game creation software from Unity3D.com that allows you to do just that, it's AMAZING what I have been able to do with it these last few weeks, I'm still green as hell and learning, that Java Code is no picnic but I'm beginning to understand some of it a little the more I play around with it.

I started out by importing my spooky graveyard model into Unity 3D originally just to see how my stuff actually looks or even if it would work in a game environment. It took me quite some time to figure out why my FPC (First Person Controller) kept falling through the floor, but figure it out I did. After texturing the model and adding collision detection I was hooked, I thought; "Hmmm... what else can I do with this? So I browsed through my vast collection of 3D models I have made to see what else I could throw into this stew pot.

So I added my Creepy UFO crash. The aliens didn't import in but the saucer went in perfectly, my guess is, is that my aliens need to be a little less heavy polygon count wise. But I figured out how to add fire and sound so my crashed saucer wreck is burning, emitting sparks from the control console and crackling fire sounds emitting from the fire, glowing console elements the works. I even added my derelict barn in there too which looks like the UFO crashed into it on the way down as there is fire on the roof.

The landscape in Unity 3D is huge, it's a long walk from the Spooky graveyard area to the Crashed UFO. What started to happen was my landscape started to tell a story so now I'm thinking if I can figure out how to get "Zombie Aliens" to fight in this game that will be super cool, but I'm a long way off from figuring out quite how to do that as of yet. At this stage all my FPC could do was run around and explore my 3D world I have created, fun but not super engaging. But adding all the scenic element to my game will take a long time so I'm kind of "Learn as I go" with this project.

Thinking a lot more about my game environment I went back over to my spooky graveyard area and added in my "Old Hill Fence" model which kind of separates my graveyard and spooky old haunted house area from an Ancient stone circle which I added also because you just know that UFOs and ancient stone circles go together like bullets and guns, lol



More and more my landscape is starting to take shape. I figured I needed a cool area to really have a fun time shooting Zombie Aliens in, a "Kill Zone" if you like? So I created a derelict factory or refinery of some sort with 3 floors, a nice grungy restroom, pipes, ducts, a stair well, all kinds of areas for which nastyness could be awaiting around every corner.

I have that imported into Unity 3D way over on the other side of my game terrain. Right nest to my "Roswell" Like aircraft hangar complete with a crashed UFO inside. The way I'm figuring things so far is that the secret military base has one or several crashed saucer, something went wrong and now there are Zombie Aliens have overrun the base.

I eventually figured out how to give my FPC a grenade launcher by following one of the online tutorials. So now I can shoot objects in the game. I added a toxic waste dump close to the spooky graveyard area and added toxic waste barrels that I had to create.

The default grenade for the tutorial is just a simple sphere, which I think they call "Game placeholders" which are what is just put in place until you replace it with your actual intended prop.
But for now I was very impressed with the fact that I was able to get a gun going and some interactivity with my game. By adding "Ridged Bodies" and "Capsule Colliders" to my Toxic waste barrels you can blast the dickens out of them and they fly all over the place, I boosted their "Mass" in the property inspector so they don't fly around like paper they actually have some... well "weightiness" to them more like actual barrels filled with toxic waste.

As you can see in my sample, my grenades are pretty simple, I eventually figured out how to replace them with a new grenade prop I made.








They kept launching from my grenade launcher vertically, but I fixed that. For some reason I had to go back into MAX and rotate the model 90 degrees, but that fixed it.

Next I needed some wooden crates I figured for inside my Hangar since the tutorial for the grenade launcher gave you just boxes to shoot, I figured I would get ahead of myself a little and make wooden crates instead.









Everything in my game terrain I figure must sort of tell a story and help the story along a little. So I'm thinking for fun. You were not originally supposed to be able to get inside of the saucer wreck but playing around one afternoon I discovered that if you blast the crates around in just the right way you can jump on top of them and gain access to the wrecked saucer. So inside I'll have to hide some sort of super weapon of clearly alien design for those gamers mad enough to muck about with that very idea of getting inside of the saucer. I remember playing video games and having endless fun hunting for just such "Easter Eggs" and hidden game bonuses.

My crates have a nice heavy mass on the big ones and smaller Mass setting on the smaller ones so they blast really nicely. I was having issues with my HUD (Heads Up Display) for my Games GUI (Graphic User Interface) it always wanted to load up in the upper left hand corner whenever I tried my game out full screen inside of the Unity 3D editor but I eventually found out why that was so it didn't need fixing, just the way I was viewing my game tests did lol.

I've been trying to get my crates to make a nice crashing sound when they hit the floor or crash into each other but I'm not having much luck, I got them to make a sound when they collide with each other but not when they hit the ground, I need a good tutorial on this because I'm clearly missing something in the java code when I do it.

Mean while I've been adding more scenic details like crazy, I added a devastated guard shack for my military base. Another detail to help sell the story of "Alien Zombies" that have gotten out of hand and overrun the base. The guard shack has blood on the floor, UFO document's scattered about, a bulletin board with UFO pictures of recovered UFOs stored in the "Roswell" like hangar. Even a military CB communications radio that makes a Psycho interference sound the closer you get to it so it sounds like it either not receiving properly or just malfunctioning.

I added a fence around the military compound so the only way onto the base is by way of the guard shack entrance. I also managed to make my grenade explosion a lot more dynamic given that it's a futuristic type of grenade the explosion is super powerful and way more realistic, I used the "Detonator pack" at Unity3D.com and tweaked the "Fragments" so they are more fire-like and glow. That explosion is so wicked that if you are too close the force from the explosion will actually push you back, AWESOME!! frakin AWESOME.

So that should bring you all up to speed on what I've been up to this past month. I am so impressed that I have been actually able to do this in just a little under a month. I might actually be able to make a game out of all of this, who knows maybe I might be able to lease the game and actually make some $$$ for a change lol. Anyways now I'm off to try and finish up my Barracks for the military base, in which is a grisly scene ;)

No comments: