Monday, 28 December 2009

Christmas Is Over

Hey !

So I hope everyone had a good Christmas, I know I did.

Despite earlier claims that I would go die hard and work through the festive season, my mind quickly changed when i realised what free time was. Having 4-5 days off has been amazing, sleep being the main thing that I have enjoyed.. as well as food from people who actually have some proficiency with an oven.

But now the work must recommence, with exams beginning in a week it is definitely time to buckle down and get revision in as they are both worth 30% of the module grades. However, I have decided that that can begin tomorrow and today is the day that I start applying for placements. I have a small list of places I want to apply at by the end of the night, however that plan may get frazzled if I am not done by 1am, thanks to the Chicago Bears being all entertaining and whatnot.

Wish me luck ;)

B.

Sunday, 20 December 2009

Game Design Update.

So, last year we had a module called Game Design in which we had to design and implement a cooperative game in XNA. I have posted about this before, but have just recently been able to get the game back after losing it due to a corrupt hard drive (thanks John :D)!

So here is a video of it =]

Enjoy, B.


3d Renderer - Introduction to 3D Graphics Programming

For this project, we were tasked with building a 3d renderer using C++.

I was able to build the renderer, but did not implement all the features that I wanted to, such as texturing and animation, but I still plan to implement these at some point in the future out of personal interest.

A quick list of features I did get in includes a custom rasterizer using scan lines which was a step up from using the Gdiplus functions to fill polygons and draw lines. I was also able to implement Gouraud shading, which was a great step in the right direction towards where I wanted to be, however I simply ran out of time due to the mass of work. Lighting was a major factor of the project and I manage to implement ambient lighting, directional lighting and moving point lights. 

These features are all viewable in the video, and hopefully soon I will be able to update this and the video with texturing and some other cool features..

Enjoy, B.

UT2004 Total Conversion - Game Development Techniques.

So the first of the module sign offs begins with GDT.

The task was to create a game using the unreal engine that didn't have any violence in it. Which is no small task.

Two weeks ago, I evaluated where I was at with my assignments and realised that I was behind where I wanted to be. This provoked me into two weeks of basically no sleep.

I am quite happy with the final project as it stands and feel it should get me a decent grade. The game is set on Finniston Farm from the book Famous Five on Finniston Farm and entails the search for some hidden ruins beneath the land, on which a castle once stood. The game starts with a simple tutorial section to help the player get the basics of the control system and quickly progresses into the main plot.

There are some aspects that I had to take out, such as the second level which I wanted to include but from the beginning knew that if I really wanted to create a well made game I would probably not get it to the point where I was happy enough with it to hand in.

On a brighter note I was quite happy with the AI given to Timmy the dog, who is used in the final quest to find the hidden ruins. I also enjoyed coding the conversation system, as I decided that I could not do what I wanted with the recommended CSDTalk plug-in and created a system that was easy for me to control and provided a lot more flexibility to what I needed it to do.

Looking back on the project, I feel like what I have achieved is quite impressive as simply learning the Unreal code base is quite a feat! But to also create a game which I am happy with and can play through seamlessly gives me a good feeling about the project.

Here is a complete walk through of the demo.

Saturday, 19 December 2009

The end of term.

Hey, So I guess it is time for an update eh?

The end of term has arrived and it feels good! The end of two weeks worth of sleepless nights and headaches. But did I enjoy it? HELL YEAH!

The only problem I have is one of.. well what now? When I say two weeks of sleepless nights, I mean it. I think in the two weeks I amassed as much sleep as I would usually get in two days, and that isn't usually very much!

But here is what I am going to do. I am going to start building up a website to give this blog a front, and maybe make me remember it is here a little more often, as well as something to show my work a little more clearly.

I also plan to try and make another demo to try and separate myself from the crowd a bit in the hunt for a placement next year. What that is, I do not know yet. But hopefully something will come to me and give me something really interesting to do.

I will make a new post for each assignment so that this one doesn't get too long.

Laters!

B.

Wednesday, 14 October 2009

Red Dwarf - Finished!

Hey,

As previously posted my group for Game Development Techniques was tasked with recreating the Red Dwarf ship using Unreal 2. Here is a little update to say that we have completed the level and looks really good. It was great to see us all come together as a group and be able to produce something on this scale.

Here is my room, I might post a video up of the entire level later if nobody else minds.

Decompiling Crazy Taxi

Hey, so this week in Console Development we have been assigned the task of looking into assembly language, something that we are going to be using to create a psp application later in the year. Why assembly you ask? Because it allows us to optimise our code a lot more than if we were using a language such as C or C++.

In the previous week my group dissasembled a Playstation 2, so naturally our task was to find out about the Instruction Set Architecture (ISA) of the console. After some googling I found that it uses the "MIPS" architecture which consists of 107 instructions for operating on four 32-bit, eight 16-bit or sixteen 8-bit integers simultaneously (Love the copy paste?).

After looking through the different instructions for a while and eventually feeling their wrath I decided it was time to dive in to the deep end and see what this assembly language is all about. I picked a game that I still love today in Crazy Taxi and then went on to find a decompiler for it. If you want to have a go the decompiler I used can be found here.

There was a few things I noticed when looking at the code the first time... 1) I had no idea what anything meant and 2) I had absolutely no idea what anything meant. After a bit more researching, and thanks to a wiki page full of instructions, I was able to decipher some code...

sw s0, $0000(a1)
-This stores a word into the provided memory address and the following three bytes.
jal $00005d98
-This jumps to a memory address and also provides a return address to allow a subroutine to return to the main body after completion.
nop
-This simply states that no operation will take place
bne v0, zero, $00005bf0
-This jumps to an address if two registers are not equal.
lui a0, $0000
-This is a pseudo instruction, it loads an address however the assembler does not see it as an instruction, but is able to translate it into a sequence of real instructions.

Overall this was a really interesting exercise, even more so considering I now know what I am up against in this module. I am going to spend more time analysing the code to try and get a firmer grasp, but I would definitely suggest this to anyone who is interested in how games are put together.

B

Friday, 9 October 2009

UnrealEd group project

So today in Game Development Techniques, we were given a task to complete as a group which is going to count as 10% of our final grade and will be marked as a group. That is 25 people!

What is the task you ask?

Creating a large multi-roomed structure based on something in the real world (real world in the loosest terms!). As a group we decided to recreate the Red Dwarf ship.



I took on the role of being a team leader, and am in charge of the mission control section of the ship. I am going to put some more work into this tonight before I go to bed and will hopefully have an update on this pretty soon!

B

Wednesday, 7 October 2009

Getting back to grips with maths

For the module Introduction to 3D Programming we are having to do a lot of maths, while we did two modules of it last year I feel pretty rusty! In my searches across the internet for the equation for a cross product I came across probably the best way to learn maths in the world.

Just Math Tutoring

I feel like if I had known about this site during my A-Levels I would have definitely gotten an A... That is basically how good this site is. Not only does the guy explain everything really well he shows examples and his voice isn't even boring!

B

Monday, 5 October 2009

Year 2, and so it begins

As I write this post, I am looking back on a first week of lectures that has gotten me really excited for the coming year. Excited, but incredibly nervous!

The week began with 'Introduction to 3D programming, which will result in the creation of a 3d software renderer using GDI and C++. While it felt really good to be programming again, I was beginning to regret the lack of work that I had done over the summer. After hitting a rocky start I finally got back into the groove and am feeling pretty confident again. Our task for the week is to create a paint program, which on first glance seems relatively simple... that is until you start doing it and realising that circles don't enjoy being stretched and stacks think overflowing is the most fun you can have.



Next we jumped straight into Game Development Techniques which began with John telling us that there are roughly 10,000 people in the UK who will apply for a placement this year... and roughly 40 placements! All of us horrified, the lecture continued bringing up issues in regards to project management. The interesting part to me about this lecture was discussing our assignment project, which is a Total Conversion of Unreal Tournament 2004 with a Famous Five theme. Sounds terrible right?

For an eventful end to an eventful week we had Console Development, which looks to be a pretty interesting module. This week we were tasked with going inside a console and just seeing how they are built, as well as the advances in technology but more so how while the hardware remains the same the quality of games and graphics increases dramatically. Something which we had to give a presentation on the next morning! My group lucked out and got the fiddly PS2, which was about as easy to get into as Fort Knox... If there is one thing I realised during this exercise it is that consoles have come a long way, considering looking around the room I could see a NES, Megadrive and a Jaguar!

Looking back it was definitely a good week and I am excited to see what comes next, peace out amigos!

B

Tuesday, 7 July 2009

Zombie Game!!!!

Hey, so I haven't been doing much programming lately due to moving home and trying to find a job. However, I spent a few hours on this XNA game which is pretty cool and I am probably going to play about with it some more.

Not a lot too it except, but you've got a pet dog that east the nasty Zombies who are trying to wipe out the Neanderthalls (Neander-Fall ... lol... I kill myself :P). I also put in an increasing difficulty and some stats at the bottom of the screen. Whatever you do, do not laugh at my amazing art!

Friday, 5 June 2009

No Cairo for us...

Hey, just thought I would update anyone who reads this. Sadly my team did not progress to the finals of the imagine cup, although it is not all bad! I definately had a great time making the game and would suggest the competition to anybody as not only is it fun (well I think so ;)) but you learn A LOT from working with other people.

I will be updating with the game im currently working on, its a 3d masterpiece! Named Zombie Robot Dinosaurs, it is my first proper try at a fully 3d game and its going suprisingly well! Just need to get me some art..

Stephen

Thursday, 21 May 2009

Assignments!

The third and final update from my first year, I shall call it... Assignments!


The second term of the course set me up for a range of assignments, from programming an Address book in c# using windows forms, to programming an Address book in c++ using a variety of Data structures . While that was fun, I have to say I most enjoyed the Game Design assignment, in which I was tasked with designing a game for somebody I know outside of the normal demographic, and then following through and making it using XNA.


I chose to move forward with a design I created for my little sister, which turned out to be a physics platformer. After a number of different prototypes I found a system that worked pretty well and subsequently spent a ridiculous amount of time programming it. What resulted was a pretty cool little game, which allowed you to design your own levels and incorporated cooperative play.


A mechanic of the game that I am quite fond of is that the two players experience different directions of gravity, and so have to use each other to progress through the levels. This was the underlying design idea for the game and it turned out pretty well.


I would upload the video I created for the hand-in, however I have since installed the Windows 7 RC and I can not find it on any of my memory sticks! If I find it I will make sure to update this entry. What I do have is a screenshot of the prototype version, hopefully it will give you an idea of what the game is about. It is a VERY early version.


Stephen


The Imagine Cup

Second in the list of key events is the Imagine Cup, which is a Microsoft run event (sense a theme?), in which IT students from across the globe compete in several categories. My obvious choice was Games Development and our focus was the millennium goals.

Initially I did not plan to enter the imagine cup as it would take up a lot of my spare time, which between playing American Football for roughly 15 hours a week, matching that with lectures, and then doing university work outside of lectures, was severely lacking. The push that I needed came in a Ludology lecture, in which we were set tutorial work of getting a partner and producing a rough prototype of a game for the competition. The idea was that we would continue on, which we did, and went on to recruit two other members, one more programmer and an artist. Our entry for round one was functioning well and provided a pretty good representation of what our game could one day be. That was until we broke it, conducting a last minute repair job we managed to get the game into a state which would eventually boost us through into the second round.

And this is where the fun began, the culmination of some great team work and a really good effort on each members part pushed us to the point where we were able to submit what we feel is a pretty awesome game. We are awaiting the results of round 2, which is the semi-finals, and are definitely hopeful for a trip to Cairo for the world finals!

If you are wondering about entering this competition in the future, I would definitely recommend it as not only did I learn a lot about both programming and game design concepts, my ability to work as part of a team improved.

If you are interested in seeing our entry, here is a short video showing some of the key mechanics.



(Thanks AJ :P).

Stephen

X48- Game Camp

In the first of a few highlight posts about my first year I am going to tell you the wonderful story about my experience at the X48 Game Camp.

X48 was a new event started this year hosted by the University of Derby and Microsoft, it entailed teams from universities across the UK spending 48 hours making a game on a theme to be set on the day. I was entered in as a wild card, being one of only a few first year programmers to attend the event, which meant that I would have to find a team on the day.

I ended up in a team with two other students from Derby who were also first years so it was reassuring that I would not be completely outmatched in regards to programming skill. The unveiling of the theme, "evolution", eventually led to us deciding to make a game where fish.. eat fish... ! It sounded pretty good at the time. We had definite delusions as to what could be achieved in 36 hours of actual work time, no matter how many cans of red bull and dominos pizzas you can consume. Which was a lot, if guided daily amounts meant much then I should definitely not have made it past the 24 hour mark.

After a long period of ripping our hair out and being dazzled by the event mentors, including Marcus Lynn from Lionhead and Dean Calver from Splash Damage, we finally came up with a game that was pretty fun to play. We didn't win any prizes, but we were in the top 8 out of (i think) 30 teams, which I am very proud of! Other than ending up face first in curry the next night, it was definitely a great experience and I suggest it to anyone who gets the opportunity.

If you want to check out the game (you will need an xbox 360 controller) or anything else about the event then follow this link! http://www.x48gamecamp.com/fish-eat-fish/

Stephen

The first of many

Hello world,

See what I did there? This blog is going to hopefully give the world an insight into the trials and tribulations of my journey to the video games industry. I have just finished the first year of the Computer Games Programming course at Derby University, and decided it was finally time to start my blog. (I had planned to do this before Easter... And then assignments started to rear their ugly heads!). I may include other random bits of information, and it is highly possible that I will go off on incredible tangents, but maybe you will enjoy that?

If you have any questions about anything feel free to send me a message.

So... Expect fireworks, cos its about to get crazy!

Stephen.