Saturday, February 28, 2009

Shotgun Grunt: I know what must be done.

So for the last 2 and a half weeks I've been working on getting the AI logic and pathfinding code working. Finally!!

The pathfinding was easy enough, this is 'bout the sixth time i've written it. What I've mostly been spending my time on is what we call planning. Where at any time an ai guy looks at whats going on and makes a plan on what he should do next. If you want to know more check out this guy's site: Jeff Orkin - http://web.media.mit.edu/~jorkin/goap.html.

Its an interesting thing to know how a technique logically works inside out, the reasoning for it and everything about it; but its another thing completely to code it in C++, let alone into a group of other inter-connecting systems like physics/multi-threading/etc. 

The thing with coding any sort of algorithm is that if you know both above pieces then the actual typing of the code into a compiler and running is disguistingly smaller than 2 and 1/2 weeks. Like the pathfinding code which I wrote and tested to a point where it was fully working in 1 day. 

It's 'cause, as most coders know that 80% of time is used debugging. The thing is there's a direct relationship with the amount of time spent on debugging versus the amount of understanding of what is being coded in the first place.

Moral of a post that's subject has changed five times is: Understand the concept, understand how to represent the concept in code, understand how the code will interact with other systems, then code it. 

Friday, February 27, 2009

Its alive......ALIVE!

It has been quite an exciting week. The game is coming together very nicely. We have a placeholder level loading up with the physics data. We can run around with the avatar. We can move blocks around the environment. We can play with a teammate over the network. All-in-all, its been a very good week. I am not going to lie though, there have been a few hiccups along the way.

First thing was the awful frame-rate we had. The game was running at 3 frames per second! We have managed to squeeze out 30 frames by fixing the updates for the scene graph and making all the physics objects kinematic during loading. We can probably squeeze out more frames by adding occluders.

The next thing was node rotation and placement. Once the game was running at 30 frames the team noticed that the orientation of the "passive" objects in the scene were all wrong. This was my fault because I was calling the node's "SetWorldRotate" instead of "SetRotate" function. Now that it is fixed, the level, although it just has placeholders, looks pretty cool.

That is what happened this week in a nutshell. To boost morale, Roy and Anthony suggested an afternoon of playing games. It worked very well and probably won't be the last time it will happen during production. Until next time, keep on keeping on, and stay tuned for updates.

Hadouken



caging process on second lieutenant


mapped captain

Its coming along quite nicely.

Like the title of the post says. Its coming along nicely.

Most of the major systems are online, we are only lacking a HUD and a menu system and some enemies but they are not far off. We have a level, a character and weapons as well as some basic networking functionality.

We are having issues with our frame rate, some more culling is needed.

Until next week. We will keep you posted

Week 9 - Blake

This week I was able to start creating the models to replace the placeholders


Tim Bewick - Week 9

I have been working on the scavenging system, weapon overheating and avatar animations this week. The game is starting to actually feel like a game with the player being able to move an avatar around the level. Today we got the afternoon to play some games, Quake Live, Street Fighter IV and Company of Heroes.

Michael -Friday 27th February

"Captains Log 20/2/09"

It was a frustrating week full of Zbrush crashes and Maya Fatal errors. The most annoying of these were the Zbrush crashes which had me in the two steps forward one step back for a couple days. Despite the crashes I managed to finally sculpt the Exploder enemy and create the normal maps for it and im now currently just touching up the base textures in photoshop.

So with out further delay... here are the images for this weeks post. All of the images are of the Exploder enemy as well as the curret work in progress texture map.

So next week I will be finishing off the textures for the exploder as well as moving onto the Alien mother once that is completed. So until then enjoy the weekend and GO THE BLACKCAPS!
-Michael

Thursday, February 26, 2009

Hello E!

This week I got a particle manager going which can load up the gamebryo files and add particles to the scene. It has the functionality to set particle systems to be application initialised so they can be stopped and started programmatically. Discovered also that the majority of particle effects can be baked into the animation of a character etc, say for when the character is firing and there is muzzle flash. Started on the wave manager which is goin to tell the world when to spawn new enemies, and how many of each type to spawn etc. It was going well until my visual studio decided that every project it built was always out of date and forced the project to be built every single time the application is run. Working on this problem at the moment, hope to have it fixed for next week, chow!

Tuesday, February 24, 2009

keep on keep'n on



UVmapped the lowpoly cage of the captain ready to take normals (from xNormal, as maya is refusing the highpoly geometry - as expected)...

And just keeping on the highpoly of the 2nd lieutenant



Same ol', same ol'

Last week Josh and I made a tool to group NIF files back into a scene file. This tool was needed because the Gamebryo exporter for Maya did not seem to like groups. The tool parsed the gsa file, looked for a group asset, and positioned the NIFs in the correct position in the scene. Surprisingly it was not too hard to do.

Other than that, I have been working on loading PhysX data from the NIF files and placing these nodes into the scene graph. Everything seems to be going quite well but we are having a bit of trouble with lag.

In terms of the design, we have not had any real major problems. The GDD is alright for the moment and it has been easy enough to direct people to it when design issues do come up. Besides that everything is going quite well. We're still yet to get any real gameplay into the game but the project is coming together quite well. Until next time....stay tuned for updates.

Raknet

Well its been a week of raknet for myself but finally got a cheap update between the server and client classes for two avatars running. The client and server are also checking for other available raknet applications running on the LAN and adding those to possible servers then sending a custom message to confirm the type of program running on the LAN. This is populating our lobby.
Have had a major issue with the menu system that I'm trying to bring online due to some annoyingly difficult documentation on the input classes for gamebryo. Basically, having the academic liscence I believe may force some drastic changes to the design of certain classes due to being unable to access the supposed sample classes that gamebryo uses in their documentation/examples. Frustrating times in this area but the basics of the menu system are now online.

Monday, February 23, 2009

Tools

Hey, spent the majority of last week making tools to help the artists and programmers out. One such tool, groupie, needed to be made in order to group parts of a building as a selection set so that the programmers know they are part of the same structure when loading up the scene .gsa file. The tool also takes positional data from maya so that the artists do not need to reconstruct buildings in Gamebryo’s scene designer.

Sunday, February 22, 2009

Code Code Code Part 2

Yea, the weapons system is coming along nicely. Its a lot of fun trying to derive the physics equation for a motar's trajectory from the basic kinematic equations, then finding that its already on wikipedia.

Other than that, the project is going quite well. Unfortunately we have lost an artist for a few weeks but we should be alright

Friday, February 20, 2009

I like motorcycles

Been chugging away at the lowpoly cage for the captain character. it is now complete and requires UV mapping and baking.



I also proceeded with the high res mesh for the 2nd lieutenant character.

Week 8 Entry - Tame

Started animating and finishing up on the rigs where adjusting was needed. Just blocking out the Captains movement animations. Getting a bit stressed out and its just started...should be sweet!!

Theres some videos on youTube here:
http://www.youtube.com/watch?v=hZXg5pNbu6s - Reaper Run Cycles
http://www.youtube.com/watch?v=eV7EAZskwH0 - Exploder Flare :)
http://www.youtube.com/watch?v=RT5f1pvhRsw - Soldier Animations

Week 8 - Blake

Started building the level using place holder assets

so far so good i think


Michael -Friday 20th February

"Captains Log 20/2/09"

This week I started modelling the Reaper Model for the first pass. I modelled, sculpted, UV Unwrap and texture the model as well as creating a spec and a normal map for the character. This part of production is scheduled to be completed next month but since I completed my previous tasks I decided to move on ahead. Also one of the more important things to happen to the art team was the loss of one of the other artists for a couple weeks. I was tasked with creating a placeholder for the Grunt character using the artwork created by Kei and had to get it done so that our animator could get to rigging up the last of the enemies. The last thing I did was draw up a new concept art piece for the Mother with the newly designed monster arm which it will use to pull itself along the ground.

Now to get things started with the pretty pictures and what not. First up are some screenshots of the Reaper model along with its texture map.
This image shows the Grunt placeholder. The original design was created by Kei and I stepped in since she was going to be absent for a couple weeks.
These last few images show the Mother with the newly designed monster arm to replace the tentacles. As well as making things easier to animate it also in my opinion will make it look even more creepier. There is also a closer picture of the parasitic monster arm below the full body design.
Well thats all from me this week. Next week I intend to start creating the Exploder and Mother models for their first pass. So until then... Take care in the sun or in Aucklands case at the moment... take care in all the rain.... it can get rather slippery XP
-Michael

Tim Bewick - Week 8

This week I have been working on the avatar class and its base class the character class. We now have an avatar moving around in the world using a PhysX capsule that we can control with the mouse and keyboard. I have also made the avatar switch between animations based on how it is moving. At the moment I am working on the states for the avatar which are loaded from Lua scripts.

Hello E!

Week 2 of production is nearing and end, this week was mostly spent fixing the classes that were written last week once testing could begin.
This week i fixed up the debug rendering of the PhysX information so now we can see object boundaries, headings, velocities etc.
I have discovered it is still very useful to use the PhysX documents when working with PhysX-Gamebryo stuff because the Gamebryo documents seem to miss the finer details when they provide sample implementation code.
I worked out how to attach the scene lights to objects so now our test character lights up correctly.
I also set up PhysX trigger sensors for our AI characters so they can detect nearby players and objects.
Worked out mathematically how to make our rocket projectile spiral after it leaves the barrel. Found out sometimes just having someone next to you to explain what you are trying to code can be all you need to come up with the answer to solving your coding problems.
Drawing diagrams can help also!
Oh and lastly all the memory leaks have been found and eliminated!
Looking forward to next week when I can crank out some more classes!

Jason - Week Eight

This week i began to create a sound directory and gather base sounds that could be used for our game, i managed to aquite 285 royalty free sounds, and got an entire folder structure setup ready for when sound begin to be created.

I managed to finish that up around tuesday after noon and decided to begin on next weeks scheduled work, which is pass 1 for all out enviromental assets, i have managed to model and unwrap seven pass 1 assets this week, screenshots will follow.

Discovered some issues with exporting maya files to .nif, there are alot of steps and options you must have checked that wernt explained, we really should have created a word document pipeline for exporting from maya to .nif, but are working it all out now, just means alot of the place holders will have to be re-exported.

Air-Con Unit:

Bench:

Thursday, February 19, 2009

Code, Code, Code

This week is just more coding of the basic framework. We have been trying to suss out some issues with Gamebryo. I'm also working on the weapon system.

Monday, February 16, 2009

Build Automation and Cameras

Hey, first week of production meant setting up the build, solution and project files. We are using many third party libraries/tools that needed to be integrated, from Gamebryo to FMOD to CPPUnit. A build script has been written to automate the nightly build at 9:30 each night and upload it to the SVN server. Integration of warnings/errors into Mantis is still pending however, as we only recently got Mantis running.

Other than build related things, I’ve coded the camera/debug camera and been working on the debris/gore rig system. Development is pushing along.

Long TIme No Post....

Well, hello all. It has been a while since my last post. Last week was quite an eventful one. The team submitted their GDD, TDD and ADD. Everyone was happy with what was accomplished and we are all collectively excited to begin the actual production.

My task for last week consisted of trying to get a scene rendering in Gamebryo. Now that was a task. It took quite a while. Considering it was my first real exposure to the engine, I spent alot of time looking at the Gamebryo forums and reading the documentation. I feel I learnt a bit.

Anyways, time for the daily SCRUM to begin so Im off. Stay tuned for updates.

Friday, February 13, 2009

Tim Bewick - Week 7

We are in the first week of production now. I have been programming the input for the game. It maps keyboard and mouse actions and fires off events that other classes can listen to when the actions occur. After that I have been making an avatar class that listens for input events and moves based on that.

Hello E!

First week of production and we are on-schedule. We have a scene loading and rendering and a debug camera flying around. Next is to get a character on screen and get the physx world on-screen. I was ahead of schedule by a few days untilI came across a small error when destroying some objects, spent half a day trying to solve only to find I had done the deinitialising out of order..... I definately threw my toys! But the problems all solved and I'm off for a relaxing w/e.

Lets see how far we've come

So.....

Here is what we have working so far

  • A window in Gamebryo.
  • A scene loading into and rendering from Gamebryo
  • A debug camera which can move around the scene
  • Input
  • Events firing from Lua as well as in cpp code
  • A process manager for managing the order of things updating
  • A clock for recording the day and night time.
  • Place holders for most of the art assets.
So we have accomplished our goal of getting some stuff rendering with Gamebryo this week. This will keep morale high.

Until next time...

PEACE!!

Moving into production

Aside from placeholders i put together a MEL script to help put out world and local co ordinates to a text file that programmers could then use to place objects in-game.

(A real help for environment artists placing building "Gore RIG" components)

$coordinateDump = ( `internalVar -userWorkspaceDir` + "dump.txt" );
$fileId=`fopen $coordinateDump "w"`;
{
string $objects[] = `ls -sl`;

for ($item in $objects)
{


if(endsWith($item, "_G"))
{
select -r $item;
float $XYZ[] = `objectCenter -gl`;

fprint $fileId ($item + " ");
fprint $fileId ("[" + $XYZ[0] + ", ");
fprint $fileId ($XYZ[1] + ", ");
fprint $fileId ($XYZ[2] + "]");
fprint $fileId ("\r\n");
}
else
{
select -r $item;
float $XYZ[] = `objectCenter -gl`;

fprint $fileId (":");
fprint $fileId ($item + " ");
fprint $fileId ("[" + $XYZ[0] + ", ");
fprint $fileId ($XYZ[1] + ", ");
fprint $fileId ($XYZ[2] + "]");
fprint $fileId ("\r\n");
}

}
}

fclose $fileId;

MAGIC!@#!?@#

I also moved on to some highpoly work, to get ready to cage and bake for a character




to the moon~!

Week 7 - Tame

This week we began our prototypes for production.

The tasks assigned were to rig all the 5 base characters in the game, with the mother being quite a challenge. All of these have a basic working rig but none of them are weight painted bue to them just being prototypes.

Here are some of the rigs in still with a few animation vids.

Enjoy!

Mother - approx. 70 bones
http://www.youtube.com/watch?v=oU9iCcInZ1A
http://www.youtube.com/watch?v=EJBf26OfggU

Reaper - 45 bones
http://www.youtube.com/watch?v=COWA-h6hV78

Humanoid - 53 bones
http://www.youtube.com/watch?v=cHsDZcJ_KQo

Exploder - 59 bones
http://www.youtube.com/watch?v=a-MjcvgFV_4

Week 7 - Blake

Been making lots of placeholer assets this week

Just like this one :

Jason 13th Feb - WEEK SIX

This week i created 27 place holder assets, quick models, with tri limits as high as was decided for each asset in the GDD, with base textures and normals, aswell as there active physx bodies

Screenshots of some of these assets follows.

The Statue:

Billboard 2:


Next week will begin on a sound folder structure for sound, and begin trying to get some sound effects that could possible be used as a base for other sound effects.

Michael -Friday 13th February

"Captains Log 13/2/09"

This week I finally got to use Maya for the first time in a while. This week was all about creating placeholders. In order to get placeholders out fast I had intended to create REALLY simple placeholders like spheres with some cubes sticking out of them and then just shoving in more geometry to get up to the polygon limit. After a while however I found myself actually making rough models of the enemies. By doing this it will allow me to reuse parts of the characters later on in a kit-bashing process which was a process used by the artists for the Gears of War games. I also created placeholders for a few weapons for both the first person and third person views.

So enough talk, time for the pictures of the work done over the last few days. And for your viewing pleasure...all the enemies have been textured in bright pink with a little baked ambient occlusion in there as well.
To start things off, here is the placeholder for the Exploder enemy as well as the ortho drawings I drew up for them.
Next up is the Mother. This design is destined to change into an even more disfigured abomination which should be a very entertaining design challenge. Im thinking some really gorey stuff which I havent really done for a while.

The Reaper here has also been used in the kit-bashing process for its First Pass model. The newer model (Which is still a work in process in Zbrush) stays pretty similar to its initial design as it didnt require any modifications.
The last three screenshots here are the placeholders for the Mine Layer, Rocket Launcher and Sniper Rifle. Again I got a little carried away with the detail but the way I see it, If I can model them fast why not make them look a little good. The reference images for the weapons can be found in my previous post from the 9th of Feb.

So thats the work for this week. To see some of these placeholders in action check out Tames recent post. Im sure hes given life to these aliens. Next week you can expect to see some Zbrush sculpts, some textures and maybe some new concept art work for the new and improved Mother.

-Michael

Wednesday, February 11, 2009

Begin Implementation.

So we have begun implementing stuff.

Not much to say here, I'll let you know how it goes down at the end of the week. Basically everyone in the programming team is working on getting the base systems up and running.

The Art team is busy making placeholders.

Monday, February 9, 2009

Michael -Monday 9th February

"Captains Log 9/2/09"

I finally managed to gain faster internet access from school so as promised here are the latest pieces of concept art I have done.

First up... The most recent updated concepts of the Reaper as well as a few new art pieces. The newer art pieces show how the player will hear the reaper when it is invisible as well as an image of the Reaper attacking a player. The final concept art piece shows the reaper coming out of its stealth mode.


These next few pieces of art show a touched up concept as well as a new concept showing how the queen shoots and spews out exploders.



These are the recent Exploder concept art touchups and new concept art pieces showing how exploders blow up. There is also an image depicting a diagram for how the player will hear enemies.
The next few images show some weapon concept designs. Weapons shown are the Machine Gun, Mine Layer, Rocket Launcher, Shot Gun, and Sniper Rifle.
The last image here shows the alien marker that the player will seek during the day in order to determine where the enemies are going to come from.
Well thats all the concept work for now. Next up will be images of models for the enemies starting with the place holder enemies.
-Michael