Thursday 17 December 2009

Intro to 3D and Game Development Techniqes - Finished !

So a week away from Christmas and the great feeling today of handing in the projects as finished, been a hard couple of weeks but made it with a day to spare so delighted with how it's gone in run up to hand in. Now just the wait to see how I did grade wise.

I think both modules went well and looking back at the last 12 weeks and looking at my programming skills back in week 1 of this year when thrown in to c++ programming and being given a header file and being confused by lots of new terms to where I am now where I feel confident in my skills and I've got a good base to push on with in the programming heavy second term.

I always find end of assignments a good time to look back, it's hard to remember at times that 15 months ago I'd never done any programming. Now I look back at stuff learnt early on as if I've always known it and occasionally end up talking to people who don't do programming about my work and going in way too technical thinking everybody will understand it !

So on to the Christmas break, not much of a break being had here as going to be a crucial 5/6 week period in the run up to start of the second term. Firstly lots of revision over next couple of weeks for both intro and GDT, 30% of grade up for grabs in both modules so need to do well in them to get a decent grade overall.

After exams I'm planning on cramming in some C++ practise, I have a few books I'm planning on working with to further my skills and make sure the programming skills for C++ are spot on so I'll be able to focus my time during term on games programming and learning techniques for games rather than learning the basics of language

Sunday 6 December 2009

It's December, that can only mean one thing.....

No not Christmas, its's deadline time !

With Console Development not having a am, I hand in before Christmas I'll quickly mention whats been going on there before moving on to the other two modules (Sorry Adam, I promise the blog will feature lots more Console Dev after New Year !) This week saw us look at the instruction cycle and the microarchitecture and how this works with the pipe lined architecture which can see many instructions be on the processing stage at the same time each at one stage of the processing cycle to make the processing more efficient.

Most my time over last couple of weeks has been spent on GDT and turning my game from a clump of game mechanics in a room into a game which can be played in full from start to finish and after a hard weeks work with a weekend spent near start to finish working on it GDT is at a feature complete stage with everything very nearly place. At this stage I'm only planning to tweak game mechanic difficulty through the results of play testing and tweak some of the packaging to mechanics to make the game feel and look better, having this time with the game in a fully playable state to play test and tweak should mean my finished game is of better quality and more polished.

An example of this is that I've already had time to add a scrolling credits page and a few cut scenes in game to add to the feel and presentation of the game, had I not got feature complete at this stage I wouldn't have had time to do these as the time wouldn't have been there for small touches. I'm really pleased with how the games come together and the hard work with the CSD Talk system to tie the game together as I wanted it was well worth it

With all the hours going into GDT this week intro 3D has taken a bit of a back seat over the back end of the week and weekend but there had still been some progress made earlier in the week and this evening. My own per pixel rasterizer now works and other smaller features such as specular lighting and off screen culling have both been added and been made customizable via the menu system.

This week for Intro3d I plan to get spotlighting and my own shading done per a vertex to create a better look for my model

Tuesday 24 November 2009

Intro 3d update

Been a few weeks since I've given an update on the status of my 3d renderer and progress has been made on it.

The program now does flat shading lighting to go with the wireframe. The last week has seen most time gone into the menu system and changing it from a load of code into a program that runs and can be configured by the user when it runs.

Game dev tech update

So a few spare minutes so its time for a GDT update

My total conversion of unreal engine to famous five game is continuing with reasonable progress being made. Most of the game mechanics are now in place and working and the conversation system used in the game to trigger off events means the game is starting to link together and starting to resemble more of a game rather than a collection of mechanics it reassembled the other day.

Loads of progress has been made with the look of the game. The level is now finished pretty much with lots of work done on modelling the caves, texture the level and adding static meshes, This part of the module I have probably found hardest to motivate myself to work on, I'm not a fan of doing the creative art side of things and much of the time spent on doing these fells like a chore that would better be spent programming.

Next step is to continue with making the game fit together and positioning things in the right places to further make it feel more like a game

Saturday 14 November 2009

Week 7 - Console Dev

So it's the weekend and time for some more blog updates, to start the weekend a look at Console Development in whats been an interesting week in the module.

Firstly before moving on to new material I would like to bid a fond farewell to MIPS Assembly, after a month packed full of MIPS instructions and registers it's sadly time to move on, an even fonder farewell is required for SPIM the MIPS32 processor simulator. It treated me well through MIPS, it never crashed like unreal, never gave a linker error like Visual Studio. Yes it struggled with Multi step instructions but it did all that was required of it. The SPIM icon will always have a place on my desktop. (Typing this I've only just noticed SPIM is MIPS backwards, amazing stuff)

Anyway onto the news stuff and the PSP has come into play. This week saw our first look at it and starting to learn how to use the debugging tools needed to use the PSP for development. It's great to be able to use tools identical to those used in industry and get to grips with them, although going back to doing work in a console reminds me of the early Soft Dev days before visual studio.

Early next week I'm going to get back into the PSP lab and have a closer look at the PSP architecture when running programs, I'll give an update in next weeks blog

Sunday 8 November 2009

Update on progress

So been rather busy of late and haven't got round to updating the blog so thought with a few spare minutes I'd give you an update on progress in all 3 of the modules.

Console Development has now seen us finish the MIPS assembly tutorial tasks and now next week will be moving onto looking at the PSP Dev kits which really excites me, I look forward to getting my hands on one and getting to see how a piece of professional development hardware used in industry function and being able to use it. MIPS was quite enjoyable getting to understand better how things happen at a low level architecture but towards the end the programs we were writing became rather tedious to write and I look forward to having the compiler back to use !

Game Dev Tech has seen the continued development of my Famous Five conversion of the unreal engine, its starting to come together and I have some of the key components of my game done now. I have plans of how to put most of the game together now as I'm slowly getting a better grip of the script system so can see how it all fits together. Over the next couple of weeks I'm expecting to make strong progress on the mod and have it in a very decent position by end of November so will give me time to apply finishing touches and hopefully end up with a well polished game to hand in for my assignment.

The last module Intro to 3d is probably the one I'm finding most difficult to get to grips with, I can see why it was said this is the module which involves in my opinion the most coding ability and skills to get working. I'm getting there though and have a working wire frame model now in place (after some very long, frustrating hours of debugging to spot a couple of hidden errors in underlying code down in matrix and vector classes) but its good to now be confident all the underlying code in the camera, matrix, vector and loader classes work and any future problems I come across will now likely be with the new code I add to it so should mean less debugging to find errors in the future

This weeks 3d tutorial saw work on lighting and improving the way the object is drawn on the screen, all the parts I've kind of got semi finished at the moment as come across parts I'm not sure of how to do but hopefully over next couple of days should be able to get these problems sorted and then I'll be in a strong position again, it looks as if Intro3d is the one module can't afford to get caught behind on as catching up would be difficult so I really want to keep on top of it.

Sunday 25 October 2009

Consolve Development - Week 4

Week 4 of console dev saw us build on what we learnt about MIPS assembly and add additional functionality through jumps and loops. Again I found the tasks enjoyable and something which makes you really think about how to solve the problem .I like the fact there's many different ways of solving problems at this level and look forward to seeing how other people have gone about solving them compared to my solutions.

Game Dev Tech - Week 3 and 4

A double helping of Game Dev Tech updates as never got round to posting about the week 3 activities.

Over the two weeks we have been looking at unreal script and how it works and then using the script to set the ground work for our total conversions into famous five games.

Week 3 involved the set up of getting our map playable in the game in a game mode where there wouldn't be weapons and the player could just explore, so there was something to do in the game the player could perform a dance which could increase their score.

Using unreal script can be greatly enjoyable or greatly frustrating, you can switch between the two moods in a very quick time as well. You'll be feeling everything is going fine then bang something will break and can take an age to work out why. Week 3 I feel I did really well and as well as getting the basic mod up and running was able to add some additional sounds and animations which is useful knowledge as will need it in my final game and was also able to add a credits page which again will be needed in the end game.

Week 4 saw us build on this and build a mini game which involved the collection of 10 items and seeing how long it took the player to collect the items. I've already pretty much got the mini game finished so will be looking at spending additional time this week expanding upon it and adding restart options etc to make the game more usable.

Sunday 18 October 2009

Intro to 3D - Week 3

Intro to 3D in week 3 built upon the work done in week 2 learning about vectors and taking this into matrices which can be used for transformations in 3D graphics.

The idea of matrcies being used in 3D can be difficult to get your head around, the matrix used (no, not the movie...) to carry out these transformations use 4 dimensions , with the way the human bran works in 3D visulising this is very difficult to do and makes more sense when worked through in paper.

I now have a program which can move a vector using the transormation matrices

Console Development - Week 3

Apologies for the lack of posts on my blog over last week or so. I've got some spare time today so will be updating for all the modules I am studying

First update comes from Console Development, week 2's task of finding a working disassembler for the Atari jaguar didn't go as planned (nobody ever brought one and anything made for it was made back wayyyyyyyyyyy in the past) week 3 I found really interesting and have enjoyed doing the work for it.

We were introduced the the assembly language called MIPS, assembly language is programming closer to the metal of the computer making individual instructions dealing with registers and memory directly compared to other languages I have seen in the past such as c# and c++

This week through tutorial work have learnt arithmetic operations and loading and saving from memory locations. It's been challenging to get to grips with at times but I've really been able to get into the programming and enjoyed doing the exercises and understanding how it all works.

At the moment this module is probably the one I'm finding most interesting and enjoyable to work on and looking forward to learning more MIPS in the coming weeks

Tuesday 6 October 2009

The weekends work

So as I said in my opening blog I set myself work to get finished over the weekend. Sadly they weren't completed but working on it today should get me back on track by tomorrow.

I managed to complete the paint program application for my Intro to 3D module, I managed to teach myself how to use the keyboard and mouse input and these skills will be useful throughout the program so was worth learning at this early stage of the year.

The program itself was quite basic with the user having the option to draw lines, rectangles and circles. The way it is set up though the functionality to add more options to the program would be straight forward enough and will be something I hope to get some time to look at some time in the future.

Just finished latest Intro to 3D session and went well, I feel confident in how vectors work and have managed to complete a program to carry out the functionality which vectors require, with how important vectors will be to the module I'm glad I have a solid knowledge of them early on and can carry on progressing

Off for lunch then time to catch up on the Game Dev Tech scheduling work which I want to get finished this afternoon

Friday 2 October 2009

Welcome to my blog !

Hey there people,

Best start off by introducing myself, I'm Martin Allen a 2nd year student at Derby University studying computer games programing with a dream of becoming a games programmer.

Through this blog you'll be able to read the highs (and lows) as the 2nd year goes along and see the progress I make as a programmer

The 3 areas which I'll be working on this term are Game Development Techniques which will end up with me producing a total conversion of the Unreal Engine into a game about the famous five (you know, Timmy the dog and ginger beer...). Intro to 3D graphics which will see me carry out my first 3D programming and console development which will span the entire year and see many areas covered. I'll talk about these in more detail in separate updates

My aims for the weekend (and Monday with the 3 day weekend timetable creates) are to make a paint program using gdiplus to practise graphics skills, I've already started this and think I have the input side of the program sorted just need to add the functionality for drawing different objects, I have plans on how to do this just need to sit down and implement them.

The other piece of work I want to get done this weekend is breaking down my famous five game into manageable chunks so I can manage the project. With a well managed project might not even have a deadline rush !

Anyways that's all for now, it's late and I need some sleep. I look forward to listening to the wonderful sound of Luton match commentary while I code tomorrow afternoon, never know we might just win for once....

laters