Thursday, February 19, 2009

Inter 3D Week 2

This week was a big leap but still very interesting. This week we were given the task of getting terrain on screen using three different methods.

Using a height map


Procedural Fault Formation Generation


Procedural Midpoint Displacement Generation


Both procedural methods are based off Jason Shankel's code found in the Programming Gems book. The articles about it are very interesting especially seeming as I just have this attraction to terrain.

After getting the terrain working was to light it and make it look solid. This meant creating a mesh to calculate hold the normals for the terrain easily, otherwise it would not be lit properly.

This is the Midpoint method being lit.

Inter 3D Week 1

This week was all about introducing us to DirectX. This was where we all found out that what took us until week 5 of last semester (getting a wireframe cube on screen and transforming) takes a few lines of code in DirectX. Last semester was a lot of help with this though, as I wouldn't know where to start with this other wise.

Tuesday, February 17, 2009

AGD Week 3 Beginning 9/2/09

I have not had the most productive week. My task was to sort out the camera to detach from the vehicle so it doesn’t look like it is attached to it by a stick. I worked a good 10 hours on trying to get this to work but had no luck. Dan took over and created a camera controller to help with this and managed to get it interpolating as the camera vehicle moves to the controls of the 360 pad.
I did manage to sort out a problem with the models this week; we were having problems with the camera that is already placed in the model. This was because the artists were exporting using the Netimmerse/Gamebryo plugin rather than the Gamebryo plugin. This then allowed the camera to be behind the vehicle at the position we would like. I also got the camera from the model to be separate from it by attaching it to the scene and got it to follow the vehicle around from a static position like the camera in the helicopter tutorials, but it didn’t seem to be looking at the vehicle. It seemed that it was looking at the sky of the scene so that was scrapped in favour of Dan’s camera controller.
The artists gave us some basic concept art this week, which looked good and it seems we have an understanding between us of what the game will look like. Next week we should have a more concrete idea of what it will look like hopefully and we can crack on with the game mechanics and getting some maps loaded into the level.
Coding wise I need to gather the team together and talk about the coding standards and also I need to get them to comment their code that they add to the project, so everyone knows what that piece of code does.
Dan had managed to get our framework up and running using the base application framework rather than sample framework, which means we shouldn’t have problems in the future where sample framework does things that we don’t want it to.

AGD Week 2 Beginning 2/2/09

Following on from last week’s meeting, where team roles were not confirmed; I made myself Project Manager, due to no-one else wanting the position. Last week we had already decided that Dan Bain would be Lead Programmer as we thought he was the most capable programmer out of the five of us. Mark was brimming with ideas from the word go so he has become the Designer of the group. Dave and Craig are Junior Programmers. This week, with Dan’s help, I made sure that each member of the group had something to be working on this week:
Dan B: Independent Camera from model
Mark: Weapons Class
Craig: Vehicle Class
Dave: Game Base Object
Me: Solve rotation problem, research input handler
Also, this week we met up with the artists that we have been assigned, led by Joe Pykett.
The whole group seemed excited to be a part of the project as we are, especially after we discussed our ideas for the game.
Now at the end of the week, we have one very basic model to replace the example project’s helicopter and are waiting on a very basic map to make our own mark on the game rather than using the example art.
Coding wise I think we need to pick up the pace a bit and will be talking to the group about it on Monday.
I have sorted out the rotation problem from last week with help from Alex Brooks from one of the other groups. The problem was that you must rotate the axes at the same time as the model otherwise the model just rotates around the original position of the axes. That meant if the vehicle was parallel with the ground it would rotate round correctly on the z axis, going left and right, but if the vehicle was pointing to the floor the vehicle would roll like a plane does.

AGD Week 1 Beginning 26/1/09

So it is the first week back and all of us found it nervous about who would be in our groups for AGD. I am really excited about my group as it has some of the best guys on the course in it. We named our team 'Team++'. The task all the groups have been set is a racing game. We thought most groups would go for a F-Zero/Wipeout clone so we thought we would do something different; we have gone for an airplane racing game set in the future with a steampunk kind of style and have named it 'Project Scorched Wings'.

This week we were just getting to grips with Gamebryo working through the tutorials and trying to make an early spike of our game. Using tutorial 7 of Gamebryo's basic tutorials that have a helicopter flying around on screen, I managed to get control of the helicopter with an Xbox 360 controller. But the x and y rotations do not work completely on their own. Depending on which axis the model is facing down, the rotations will alternate between pitching and rolling the helicopter. This will have further investigation in the next week.



Going left to right: Craig Bishop, Dan Bain, Dave Leverton, Mark Campbell, Me

Long time no speak

So it is the second semester of the second year of Computer Games Programming at Derby Uni. This semester is going to be alot difficult than the last one but I think it's going to be fun and interesting.
This semester I am taking the following modules:

Applied Game Development - This is a group project in which we must create a game using Gamebryo, an engine commercially used in the games industry and was used in games such as Civilisation 4, Elder Scrolls 4: Oblivion, Fallout 3 and many others.

Interactive 3d Graphics Programming - In this module we are studying DirectX 9.0c and creating projects weekly using it.

Console Development - This module carries on from last semester where we were studying studying Mips programming on the PSP using official dev kits. This semester we start to program properly in this module in C for the PSP.

Mobile Devices - For this module we are studying JavaME and creating applications for our own mobile devices, including phones, i-pods, blackberrys what ever we want, which is pretty exciting as this is the easiest way to show people your work when you are out and about. Unreal, PSP, Gamebryo development is all well and good but when you can't just show people when you are at the pub a) because you would need a laptop at least and b) we are not allow to take the PSP and Gamebryo code outside of Uni.

Following shortly will be my Dev Diary entries for AGD minus any links to the Gamebryo code, entries on my work on DirectX in Inter 3D and more of the same from Console Dev and Mobile Devices.