Wednesday, December 17, 2008

Gold Milestone

We just submitted out Gold Milestone. I guess now I can get some sleep. Some much needed sleep.

Gold awaits us...

It's hard to believe that today (it's just past midnight as I write this) is going to be the last day of our production phase, and the submission of the Gold Master. In what can only be described as organised chaos, we've been working like mad to get everything finished. If only we had more time!!! I think we've all learned a lot of things, like how to do some things well, and how NOT to do some other things. Like making sure that for each system that we build there's at least two people who know how it works! Alternatively, creating more in-depth documentation so that anyone who needs to understand it can do so fully by checking the docs.

Oh well, I have to get back spending a bit more time on the project before getting a few hours sleep for the final day ahead.

Tuesday, December 16, 2008

Down to the wire.

Well it seems theres always something to do even at the last second.
So many things to do and little time to do them, isnt it always this way.

Many lessons have been learned, "Planning is everything!".

Well back to work...
All best team.

Keegan

Textures!

I guess the most fun part of my day today was texture blending the team's colour onto the avatar, and the Timeghosts. The Timeghosts look flipping awesome being alpha blended and texture blended.

1 Day Left

You heard the title, we have one day to go before we have to submit this thing. Everyone here is exhausted... Beyond exhausted actually. There is a special level of exhaustion reserved for game programmers, and workaholic insomniacs...

Wait...

Is there really a difference?
Wow, what can I say. We made some more progress today, I'm very happy with the results even though we still have much to do. We added what I think are some cool camera effects, and some extra rumble effects for the Xbox 360 controllers. We tweaked the controls and started fine tuning the menus which turned out to be not as simple as we thought. We're putting as much player feedback as we can so the experience is richer for the player. Also we have a tool for selecting the game configuration such as game resolution and hardware options. And we only have 2 days left!!! I still have some of my hair left, but it's going to be an interesting couple of days as the inevitable deadline marches towards us.

The excitement is building as the finish line approaches...I'll be glad to get some sleep at the end of the week!

Monday, December 15, 2008

Final week

This is the final week for production. Actually the Gold build of the game has to be submitted on Wednesday then we have two days of post production, this will include compiling our Post Mortem document. I forget what it's like to have a free weekend. Most of us have spent every day for the past eight weeks working on this final project. I sure hope that all our hard work pays off in the end, I sure know that we deserve it.

Also, it's hard to believe that school is at an end. It has been thirty-two weeks since we started IG and man how the time seems to have gone by in a flash.

Teaser Art

Last week marketing got us to redo some of our art because, frankly, it's not the best. Over the weekend (on top of all the coding I had to do), I managed to whip up this teaser picture for our game. What do you guys think? I hope you like it.

We're gunna' need a montage

Greetings

Well, we've got two days left to go, and as the title suggests, there are a lot of things that could be better. I wish we had another couple of weeks or so to work on the game, but unfortunately that is not the case. In two days, we have to submit this thang'.

A quick cliche,
Carpe Diem.

Saturday, December 13, 2008

Final Week

This is the final week of our course. Final submission of our game is on Wednesday and the last day of our course is Friday. We still have a lot of work to do between now and Wednesday. I'll be here Sat and Sun working on the code, and most of the team will be too.

Paul

Friday, December 12, 2008

Late Night

With today being our Beta Milestone, I spent a lot of time last night polishing up sections of code. Most of the game elements are in the game, and it it looking good (or at least I think so, but I'm probably biased).

We've also got some testers coming in today to playtest that game. They were supposed to be coming in yesterday, but lets just say that we failed on that one. Probably the biggest problem was that an hour before the testing was supposed to take place, everyone was frantically working on and uploading last minute fixes/improvements into the game, but because of the sheer ferocity of the moment some people didn't check their code before committing , then everyone had buggy builds.

On the flip side, today we can only improve on our performance.

Leaps and Bounds

Wow...a lot of progress today. Most of the game elements are now present in the game engine, it's just a matter of polishing and finishing the build we currently have in preparation for submission, which is what we'll be doing tomorrow. I anticipate a busy day ahead!

Paul

Thursday, December 11, 2008

Crunch time!

The heat is on. Tomorrow the Beta build is due. This means the game need to be finished, minus a little polishing. It also mean no sleep tonight. Bring on the V!

Megadoom

Greetings,

Less than 24 hours before the beta build is due... Scary stuff.
The game isn't in a perfect state (far from it, in fact), but it has come a long way in the past week. The Alpha build was bordering on unplayable, the current build we have at the moment is a lot more stable than the one we submitted last Friday, and there are hints of game-play present...
Even slight hints of "fun", one might say.

Anyway, we have a lot of work to do, so I better get back to coding.

If two's company, and three's a crowd, then what is four?

Testers and Beta Build

Thursday... the day before our beta build is due. We have testers coming in today, in fifteen minutes actually, and we are rushing around trying to get everything ready for them. The testers were meant to come in fifteen minutes ago, but we found some last minute bugs and managed to get them to come at 2:30 instead of 2pm. How embarrassing!

The game itself now is looking pretty nicely, except for the fact that when you try to turn right or left with the Xbox controller you spin around at like a million kilometers an hour.

I have just been assigned the task of writing out some instructions, so better get on to doing that! Let's hope that we're ready in... eleven minutes.

Wednesday, December 10, 2008

User Feedback

Well its over due but the ability to provide the player with text feedback is finally done. Now when the user is able to interact with a game object or something occurs in the game that the user should know about a messege is sent to the screen. Now how cool is that!

The Level Editor

Well its been talked about, but here is the overview of what in the end it will be able to do.

Make Maps!

In detail...
Add lights, fog, custom made models, map size, premade models, buttons, walls, portcullis(Gate), rotating walls, shops, spawn points and im sure theres more.

Well thats what im working on. Must find out what day we are able to release it to the public.

~~Keegan

Patches

With the Beta milestone this Friday, we've got a lot of work to do to deliver on what we promised. I've implemented the collisions again (for what I hope is the last time), and they are looking really good. Your avatar has momentum so it bounces off the walls and energy is lost in the collision.

I've been working on blended models for Timeghosts and the Timewake, but so far I have had no success. Timeghosts and the Timewake require partial transparencies, while the GUI components require full transparency for their borders. I hope to get it finished tomorrow.

Minimap

Greetings,

Today I completed the minimap. Its a perfect example of the maths we've learned since the start of the year. In order to get it running, I had to cull out all the points on the screen that shouldn't be shown, then I had to convert a 3d point in space into a 2d point in space and rotate it so that it shows the player's perspective. Finally, I had to move that point from the origin, out to where the minimap is shown on screen...

Trying to visualize it all at once gave me one giant headache, which is why I used pseudocode. Pseudocode is like a recipe for baking code, it details the step by step instructions for making a piece of code, and it's a quick and easy way to overcome a problem that's giving you hardship. By using pseudocode, I managed to create a near-perfect minimap, the first time it was run.

Not...much...time

Short blog post...not much time...2 days to go...hair falling out...getting closer but still seems far away from completion...argh...

Paul

Crunchie Time

While I want to avoid the whole "crunch" work ethic in general, and hopefully have us leisurely completing the milestone by this Friday, it always seems to me like there is always something more to be done, or some extra polish that could be added, or one extra bug to fix.

So, we are going to have to work intentionally and stay focused over the next 3 days to get to where we need to be. With approximately 200 outstanding items, with 10 programmers over 2 days, that's 10 items a day per programmer we need to complete to be finished by Thursday night, leaving us Friday to polish up the submission. It probably won't work exactly like that, but it gives a rough idea of whats ahead of us. Some of the items are minor bug fixes while others are balancing gameplay and testing that all the components are as bug free as possible.

While it is fairly intense, I can't really complain. I love making games! Even though we are in what I would call a pressure cooker situation, I wouldn't have it any other way. I've learnt more about programming and also learnt things about myself and what I'm capable of (overcoming fear of giving presentations for example) that I wouldnt have otherwise had I not participated in this course.

Bring it on!
Paul

Tuesday, December 9, 2008

More collisions

Looks like I've spent a lot of time on the collision checks, and other mathematical functions. One of the problems was that player now has momentum, which means that the way that he moves is drastically different than the previous method. Now I've got to re-work the collisions to take this new data into account.

In other news, I've enabled alpha blending into the renderer. I haven't been able to test this though because nothing is using a draw function that utilities alpha blending yet. I guess it's just another thing to add to our list.

I also got to play around with priority queues today, boy was that a learning experience. Here's the important lesson to learn with priority queues: When trying to debug them in the watch window, the elements may not be ordered correctly, but they will be when you pop them off. Go Science!

Monday, December 8, 2008

Time to work even harder.

Its that time, we have hit the crunch time. We are all determined to get this game finished and up to our own high standards, and that of our producer's.

The level editor for the game is comming along better than it was a week ago. This will allow other people to make maps for the game.

Well untill i have time to blog again.
Keegan.

Milestone Review

We had some feedback from our producer today on our Alpha milestone submission. Basically there's a lot of work left to go and we have just under 4 days to do it in. There's still a lot of bugs to iron out and a few features that are not visible in the game yet.

It's going to be a busy week.

Paul

My Priority

So I've had the big task or practically re-working our render manager to enable alpha blending.

What this means is that I need to store two lists of render entities: one that has alpha enabled, and another that doesn't. The list of alpha not-enabled is rendered out first, followed by the alpha list.

The small problem is that the alpha enabled entities need to be ordered by their Z-Buffer depth so that they are rendered on top of the others from far to near. The basic maths involved is to follow the transformation pipeline by multiplying each entities world matrix by the current camera view matrix. From here, each entity is positioned in relation to the origin looking down the Z-Axis. To get the Z-Buffer depth, you can then pull it out of the world matrix from the z depth.

To make the sorting easier, I plan to use a priority cue. I think of it as a learning experience. This process needs to take place each frame, because the camera has most likely moved, so I've got to make sure that the function isn't too time hungry.

Saturday, December 6, 2008

Frame Rate

So here I am.
It's Saturday, the sun is shinning, there is even a small street parade along the main street outside, and I'm in here working on the game.

It sucks to be them, you know, not working on a game. My current mission is to figure out why our debug frame rate is 10 Frame Per Second (FPS). Debug the solution has become really hard when the frame rate is literally unplayable.

Warning...longish post ahead!!!

In what must be something of a first, I managed to get a blame 3 times in row! It started with memory leaks, followed by a heap corruption, followed by another memory leak just for good measure. All of these I readily uploaded to our repository in good faith whilst proclaiming loudly each time that "...this time it's working, really!...". Thanks to some great debugging team work from Andrew and Josh, the twisty logic that I was working on succumbed to their combined mental might, and the code was uploaded cleanly much to our relief.

Which leads me to conclude that the more well planned a design is, the easier the implementation will be. Now for me, I had previously thought the creation of a game was an almost organic process, with the element of what we call "fun" something that emerges out of playing and tweaking and developing during the writing of the software. However, with a more detailed plan of the logic and complex interactions that I was attempting to code, I might not have spent so long debugging the errors.

What I'm thinking of is, if you take any game, say Monopoly for example, it has a set of clearly defined rules and interactions that dictate exactly what may happen at each step of the game, and clearly specified results. If an interaction occurs in some point of the game that is not specified by the rules, it is then over to the players to work out amongst themselves what outcomes should apply. Generally this is not a desirable thing to occur for a board game, and should be minimised with clearly thought out and detailed rules, but does not necessarily prevent the game from continuing provided the players agree on a compromise and then proceed with the players next turn.

However, what happens with a computer game when something occurs that is outside of the logic that has been written for the game?...Well, one of two things...either the event cannot occur, which is a powerful feature of computer games, automatic enforcement of a gameworld for a player to express themselves in...or, in a more dramatic scenario, the software will simply crash or hang, leaving the game player stuck with no other option but to restart the game, or give up entirely as the prospect of having it crash again may be too discouraging.

So then, to my long beleagured point, it's clear that the details really are the most important thing to pay attention to when designing a game. It may occur to some (such as myself) as killing the creative process by requiring a fixed design from the start. This is not really the case, as there is always scope to make changes if necessary.

The real benefit comes from being able to quickly create the software of a good design, as the logic has already been thought out in advance and the actual implementation becomes trivial. As the development time to get something up and running is now shorter, this allows for more playtesting of the actual game to take place, which in turn allows more time for tweaking and adjusting to balance all the elements into something known as "fun"!

ergo, do not skimp on planning and design!
Paul

p.s. Milestone submission was a day of intense focus and rapid last minute debugging. With plenty of time to spare (30 seconds to be precise) the submission was electronically sent at 4:59pm today and we all left to get some much needed sleep!

Friday, December 5, 2008

Another one bites the dust!

With another week at it's end we are just scrambling to get this milestone built. With the code base for the game growing and growing it takes much longer for the game to compile, every day it is a longer wait to test the game.

Hurry up everyone 5 minutes to go!

Back next week for our Beta build.

Thursday, December 4, 2008

Pulling it together

Well, tomorrow is it. Submission of the Alpha build of our game. It's been 4 short weeks since we started production and time seems to be standing still while we work our collective butts off to get this thing finished. I honestly don't know what I'm going to do with myself when this course ends...sleep probably...just need to stay focused for one more day, make sure everything is getting done that needs to get done and we have a playable submission by tomorrow afternoon.

...oh...and then we have one more week to play test and polish the game to get it ready for the Beta...followed by 3 days of final bug-fixing before the Gold release, and then a post-mortem analysis of how we went...

Goodnight for now, and as Ace(Rimmer's alter-ego) said on Red Dwarf, "...smoke me a kipper, I'll be back for breakfast!" ...or perhaps more pertinently..."I am a fish!"

Paul

Its getting closer

We work tirlessly to have somthing worthy to show for our up in coming alpha milestone, its nice to see all the little things coming togther. Lighting effects and flash loading screens. While I know we we all enjoy the day when wethe game meets our highest expectations.

Until then our game doesnt have bugs it just devlops random features.

Crunchy Chickens

So it's the night before the second milestone.

I'm going to have a long night working on collisions. I can only hope that Santa smiles upon me and grants me Uber Leet Programming skills and I get it done in a few hours.

One day

Greetings,

One day away from the Alpha Milestone. Things are getting stressful and thing.

I'm going to sleep now.

getting closer!

We had a lot of seperate bits of code on different team members computers that hadn't been committed to our code base, so part of today was spent updating and committing everyone's code so that we are now all working off the same base code. For some reason, drawing of the bullets disappeared after this process was complete. We've got someone working on that.

Many elements are coming together, and the feature freeze for our code is to take effect tomorrow evening, leaving Friday free for documentation and last minute bug fixes and polish.

cheers,
Paul

Wednesday, December 3, 2008

Maths

I've been given a lot of maths tasks over the last few days. I don't mind, in fact I love working out all the different ways to do something. The problem arises when the solution you come up with isn't as great as you thought it would be. Just like everything else these days, it always seems to come back to planning.

Tomorrow should be interesting, when I get to see if my logic is either flawed or flawless for our rotating wall. Here's hoping!

"Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire world, and all there ever will be to know and understand."

- Albert Einstein

Misconfudulation

Greetings,

Communication is key in the games industry. If you can't communicate efficiently and effectively, you put yourself in a very problematic position. Today, I was in that position.

It all started this morning at our round table meeting, when I complained about the fact that I couldn't start the HUD until we had written another piece of code that supports it (a dynamic buffer class). I also mentioned that one of the tasks I was working on yesterday couldn't be completed, due to that same piece of code. In the spirit of team-ship, my colleagues suggested a simple solution to the problem: "do it yourself." :P.

For the next few hours, I set about writing the dynamic buffer class. Little did I know, Nick (who sits directly opposite me) was working on the exact same piece of code...

Damnit.

So basically, I just did a lot of work, for nothing... And we're behind schedule... And now I have to go, because I've got to work on the HUD.

Tuesday, December 2, 2008

Speed Bumps

Today, apart from the usual revising the schedule and making sure people are on track with their tasks, I've been re-writing a piece of code that creates new objects every single frame of the game. This is a rather time-consuming operation, so I'm adapting so that it takes up considerably less time, hopefully with the effect of gaining a few frames per second on the frame rate. We'll know more tomorrow!

Paul

Ripples

Today I've had one of those days where you are tasked with a whole lot of little things. Each individual task doesn't seem to take long, but the effects stack up into some big results in the game.

One of this small tasks was to implement collision between walls and other objects. The challenge here is that most objects in the game have bounding spheres and radii, however this doesn't seem logical when the walls are more squarish - actually some might be so bold as to say that they are very squarish.

Long story short, I've implemented the functionality. The draw back is that our game is currently running at around 15 frames a second, which means that the collisions checks aren't as accurate as I would like them to be. I hope to go through the code and weed out all the sloppy loops that could be slowing it down.

The wall walker

The game is progressing nicely, but there is still a long way to go in order to get it to an acceptable state for the milestone this week. The player is moving and shooting, we have sound, AI critters, Mini turrets, and the walls are up, though from time to time the player manages to “pass through” a wall. Hmmm…need to think more on this one.

Sound

Hey there,

For the last few days I've been working on implementing the game's sound. The sound is being set up so that if there are two players then there will be two channels of sound. One channel that plays all the sound that player one can hear and one that plays all player two's sound. Hopefully this sounds a good in practice. We should find out on Wednesday when the play testers come in to play our game.

-Nick

Monday, December 1, 2008

Making headway

Hello dear readers,

Many elements of the game are nearing completion and have started being tested in the game. Two players, sounds, shooting, the core time-travel mechanic, path-finding, stationary shooting turrets, ability for the player to place items on the map, a computer controlled enemy, animations for the time-travel/level reset graphics, keyboard/mouse and XBox 360 controller functionality, 3rd person camera with zoom, collision detection, mines, and the famed temporal anchor device have made an appearance in the game engine today. Though some are not quite in their final form of polished gameplay, it's good to see some visible results from our efforts over the past 3 weeks of development.

The plan is to wrap up most core development on the game Wednesday night, leaving us Thursday to iron-out bugs and Friday to tidy up the game, finish documentation and prepare for submission on Friday afternoon.

Onwards Ho!
Paul

Bringing it togther.

And now we have reached that time to start bringing the "succinct units of functionality" together. I always liked that sentence. It pretty much sums up exactly how code should be.
It seems now the fun things are starting to appear in the game. Lots shooting action, 2 players, visual effects, and this strange thing that the camera does that makes it look like you’re going through hyperspace.
As we work harder to reach our milestone this Friday, we are thankful to have tutors on hand as we need them. Without them I don’t know what we’d do.

Seeing Squares and Circles

Today, for me, has been a day of maths. I was given the task of calculating the rotations for our rotating wall taking into account the position of the collision and the direction the collision object was heading. It didn't take me too long to nut out a solution, however I haven't had a chance to test it so fingers crossed.

I also worked on sphere-square collision. My solution to the problem was to calculate the distance from the center of the sphere to the closest point on a line and then subtract off the radius. Yay Science!!

-IOU One Title-

I started off this week by learning how to implement and code threads. Threads are kind of like tiny little sub-programs, which act together to form a larger program. Threads are given their own small amount of processing time, and can even reserve a little bit of memory for themselves too. For example, most games split off a seperate thread for sound/music. This means that if a game is busy loading (or stalling), the music continues, regardless of what's happening with the rest of the game. The same thing happens with MMO games. Have you ever noticed when your internet connection stalls but everything in the game world keeps on rendering? That's because there are separate threads to handle rendering and internet stuff.

This is all well and good, but its a pain in the aft-end to debug. One thread by itself can be a lot of trouble to manage, and up until now, we've never used multiple threads in our projects. Introducing another thread into the mix is going to be like lighting both ends of a firework...

But you never know, it might go off without a bang.
Here are some of the photos from the team.
More to come I am sure!
Keep posting and commenting.
Steph

Friday, November 28, 2008

Reminiscing

Remember that time when I was trying to track down those memory leaks?
Well I'm proud to say that I found them. All it took was practically a whole day rewriting sections and matching up Adds with Releases.

So now I'm glad to have that mission over with, it's been lingering with me for the past week. I'll even be able to sleep well ... until I find a new mission tomorrow.

Glorious Debugging

Ok, so one week to go till Milestone 2. We've fixed a lot of bugs today and got a cleanish build up and running. We'll be doing a bit of overtime tomorrow to catch up on a couple of things, but otherwise things are looking good.

cheers,
Paul

Another week finished

Well another week into production comes to an end. For the most part of this week I developed the sound assets for the game, which are quite fine if I do say so myself. Need a good rest tonight because we'll all be in tomorrow (Saturday) to do some crunching!

Fridayday-dayday

Yay! It's Friday, possibly my favorite day of the week! How can one be angry, knowing that the weekend is only a few hours away?

Anyway, today we finally got around to fixing things that have been broken for a very long time. Namely, heap corruptions (the worst of the worst). We've fixed a whole lotta problems, but unfortunately we still haven't found them all.
Its a good thing we decided to stop adding new things and fixing the old ones. If there's one thing people hate, it's a buggy game.

So, assuming we can get all these problems fixed before Monday, we might actually have a semi-working game by the start of next week...

At least I hope so, because I'm getting in some testers on Monday.

Thursday, November 27, 2008

Progress

A week into Milestone 2, we've made some progress, but not as much as we'd like. Memory leaks are slowing us down. We'll be discussing some of the issues surrounding this our team meeting tomorrow.

That's all for today.
cheers,
Paul

Repetition: Lets do it Again!

I think the hardest part for me with the code is tracking down all the memory leaks. These occur when you grab a section of your computer's memory, but forget to tell the computer that you're finished with it.

Our first line of defense is a nifty program called Visual Leak Detector (VLD) which tells you exactly what wasn't released. The only problem is that it doesn't detect heap corruptions, which is currently what our code contains. Even worse is that they only show up on a release build.

The only way to track them down (that I know anyway) is to look through the code line by line until the problem has been found. I must have looked through it a million times by now but there still seems to be problems.

Mmmmmm.... GUI

As part of our project, we decided to create our own GUI, similar to what Windows provides. This means we've had to make a whole lot of weird things, such as buttons, tab orders, list boxes and scroll bars. The Idea behind this GUI stuff is that we want to try and keep our code nice and expandable; should we ever decide to swap out our renderer or go cross platform, we can change a few classes and the game will work...

OK, so there's a bit more to it than that, but that's the basic philosophy.

Wednesday, November 26, 2008

Production

With production now back underway and a renewed vigour we begin coding the next phase of development.

The hardest part at the movement seems to be learning each other’s systems and trying to integrate systems together. With the 2DModel class confusing all, terrifying most and making believers out of Pauls "just hack it" philosophy. We will never turn Paul.

By the end of today we are all tired, and looking forward to a productive day tomorrow.

Array Etiquette

When most people start counting, they begin at the number one.

When computers start counting, they tend to prefer our old faithful number zero.

As you can probably see, this has caused a little bit of stress over whether computing arrays should begin at zero or one.

I think my idea of having arrays start at 0.5 was rejected without proper consideration. Surely being the Lead Programmer of a small student game should give me some power on this matter.

Digital Watches are neat

To borrow the words from the book 'The Hitchhiker's Guide to the Galaxy' by Douglas Adams, deadlines are great, I love the wooshing noise they make as they speed by... :)

...but seriously, our next deadline is next Friday, where we deliver Milestone 2, in which we will feature all the elements of the game in our submission.

Today we managed to get a (only slightly buggy) version of our code built that featured our core gameplay mechanic (that we had hoped to demonstrate in the 1st Milestone), much to the enjoyment of our team!

We continue work tomorrow, whilst I wrestle with scheduling the myriad of tasks into a manageable and logical sequence that will enable us deliver the project on time and under budget (our budget being zero dollars).

Adieu,
Paul

I Like Turtles

Greetings,

Finally, the wait is over and we can get back to coding. I'm filled with happiness. There's something soothing about sitting down, and coding up some of the ol' if else. Come to think of it, the soothing feeling tends to go away, usually when you realize that your code has to be scrapped because its grown self-aware and turned on the development team...

Anyway,
Maybe its just me, but for a few hours before your code goes to HAL, you are at peace.

The wait

As of now we are waiting for the producer to approve our new addition to the technical design document. It is a good seventy pages long, and written in two days. Not too bad if you ask me...

Let's hope that it does get approve so we can get out of this feature freeze and get back to coding... man I love coding. And now with all our functionality fully fleshed out it will be easy coding too, well, I hope so... =P

Oh yeah, and we have a new blame hat now, and because we're in feature freeze, our lead designer was the last one to make a mistake and now he has to wear it until someone can put another bug in our code, which won't be until we are coding again! Hah!

This post has no title

Someone needs to grab a picture of the new blame hat and post it up...it's very pretty.

Well, the new schedule has just been sent off for approval. I'm much happier with it this time round, and our design has been set out in greater detail which will make it easier to manage the day to day completion of tasks. The whole team has again raised the level of their output and produced a lot of work today. Still, need to wait to see if it get's approved by our Producer first...

Must...sleep...now...zzz
Paul

Tuesday, November 25, 2008

Brute Force

With the last two days being a feature freeze, I've spent my time breaking down the tasks into more and more detail. Now I'm left with a seventy page document to the intricate workings of the project.

Fingers crossed that it's enough to get us back up and coding tomorrow.

More Fridgedness

Greetings,

It's the second day of feature freeze here, and things are starting to get stressy. We really have to get the updated project plan finished before the end of the day, because we're already two days behind schedule and we can't afford to lose any more time.

Here's the trouble though: the project plan rules all. We're going to have to abide by it, whether or not its any good. However, the more time we put in here, the less time we're going to have in Production. Conversely, the less time we put in on the project plan, the more problems are going to arise we get back to production again...

We really should have got this nutted out during pre-production, but being our first large-scale team project, we weren't completely sure as to how the whole thing worked. Nevertheless, we stuffed up and now we've got to fix it.

Oh, and remember: take care not to believe in the impossible, otherwise you're likely to find yourself stranded 400 feet above the ground, strapped to a banjo, wearing a Hawaiian shirt.

Monday, November 24, 2008

New and Improved Blame Hat.

The good guys and girls... wait theres only one.
The good person in marketing has brought us a new and improved blame hat. Its bright pink, gold full of glitter.

Thank You very much.

Milestone Review

Well, they say the best way to learn is make mistakes. I don't who they are, but they're right.

While there's no doubting everyone's committment to the completion of this game, given the limited time frame and the adjusting to working in a team, we've made a few errors in our first Milestone that our tutor pointed out to us during the review today.

We had loads of very useful feedback from our tutor on where we went astray, and we've been busy today re-working our production plan for Milestone 2.

It's the end of a long day! More tomorrow.
Paul

first milestone dramas

Yay we made it through the first milestone!

only just =S

we learnt heaps, though we did indeed feel the pain!

pre-production is EVERYTHING!
cant stress that fact enough,

So we're back to documenting and designing and planning and scheduling,
to ensure a smoother grind to the next milestone.

Wish us luck!

Breaking it down

Reflecting on milestone one, we came to the realisation the we completely lack planning. To rectify this problem we spent today reworking the technical design.

On another note, did you know you can type "we require your poor typewriter" by only using the top line of your keyboard (apart from the spacebar, and provided you are using a QWERTY style keyboard).

Begin Phase Two

Greetings,

Today we started the second phase of our project... Actually, let me rephrase that, today we were supposed to start the second phase of our project.

I say 'supposed' because we got frozen... Feature frozen... Because we have to rework the production plan. Not that this is a bad thing, its just a little inconvenient.

So, we've spent the whole day dividing up the remaining classes and assigning them to people, so they suss them out and provide a task list based on their required functionality. Not a fun process, but unfortunately its necessary.

Keeping the Romans at bay,
Ben.

Sunday, November 23, 2008

Just another update

It’s amazing how much work is involved in developing a game with a team. Communication is of the upmost importance if you want to create something decent. Communication can be done in code, something we’re always reminded of on a daily basis yet I forget to do from time to time. One small comment can make a difference. More of these little things and it makes a big difference. So, a tip for the three or so viewers, comment EVERYTHING. It may seem straight forward but there will be times where you’re in a rush to complete something and five seconds worth of a comment may seem like a very long time. However, five seconds there can potentially save your team five hours down the track.


I noticed a comment about the level editor so I thought I’d do a little update. The level editor in its current state is usable, but far from completion. It would be nice to be able to provide the player’s with the ability to mod the game as they wish, as some of the best multiplayer games out at the moment are mods from the public. But I don’t think we’ll have the time to create something that fancy, nor did we intend to build the editor to do so at the moment.

Before I head back, just a reminder, keep the comments/questions rolling. Any input is appreciated, especially when it gives me something to write about.

Cheers

- Andrew

Saturday, November 22, 2008

Milestone 1 complete

After a long day, full of drama and pulling my hair out, we handed in Milestone 1 of our project. Everyone on the team worked really hard, taking shorter breaks so they could spend more time getting the submission ready. We had intended to have most coding completed by Thursday night, however there were a few bugs to be worked out that we spent most of the day fixing on Friday. Which meant a few final hours of organised chaos getting a build working that we could submit.

If anything, we want to avoid this for the next milestone in 2 weeks time, so that the aim is to have the build ready by the night before submission, leaving plenty of time to polish anything that needs to be handed in.

Thanks for reading, more updates next week.
Paul

Friday, November 21, 2008

Sleep

Time for sleep.

Wow i think the entire team is suffering from lack of sleep and brain over use. Hopefully next week will be better now that we have the frame work down, and things moving around on screen.

Untill I wake up...

Update

Milestone One.

Exhaustion, confusion, frustration. Enough said.

Wow, what a day!

Today was the most hectic day I have had in a very long time.

It all started out fine, everything was fun and relaxing...

Then later in the day we realised - "Oh no, our milestone is due in a few hours are we are a good day behind!"

So we were rushing and rushing and missed our break, trying to get it all done on time. We were almost there when we found some rogue memory leaks, and had no clue where they were coming from. The project manager was freaking out, and he even swore, which is funny because I have never heard him swear before =P

But we got there in the end, we are still going now, people around me are screaming and I have to quickly write a blog in all the mayhem. Lucky I type at over 100 words per minute or I wouldn't have a chance to share the day with you =D

But yeah, today has been insane, busy and hectic. And at the end of it all, I have noticed that I was running on adrenaline for about half the day, and I am totally exhausted.

TGIF!

PS. Oh no... Paul just said that the release mode is not running... We have nine minutes to get it sorted before we get kicked out of the building... What am I doing typing here! Nah, you're worth it =)

Thursday, November 20, 2008

Insane in the brain

Wow, after a day of frantic coding/debugging/integrating and seemingly nothing to show for it, in the last half hour we've managed to get our level loading and rendering on screen, and player input working to control the camera. Excitment has ensued!

One day to go. Things are looking good, but I predict it will be a busy day tomorrow getting ready to submit the milestone at 5pm!

See you on the other side!
Paul

First pictures

There it is, the first screen-shot of our game. Isn't it wonderful? It's taken us all day, and our first milestone is tommorow, but we finally have something on screen. Look at it, it's beautiful.

Countdown

We now have less than one day until the first milestone for our game. The pressure is one.

I spent today loading in a level from the level editor, which would have been a lot simpler had my working copy not become corrupt and practically exploded. I'm kind of glad that I had to rewrite the code because the second version turned out quite a bit nicer than the original, and I mean that in the way that the current version works and the original version didn't.

When I first had something displaying on both the screen, I was surprised to see that the viewports were completely different. The reason being that the first viewport was being set to a field of view value of 60 radians (Ben forgot to convert it to radians). Needless to he got the Blame hat.

Wednesday, November 19, 2008

Amped

There is nothing that gets you more amped than when you get something to work, especially if you've been working on the problem for days. What I'm talking about here is working with dual monitors. The final result is that I've now got the game rendering to two monitors, one running in fullscreen and the other running in 'fake' fullscreen. When I say 'fake' fullscreen, I mean that it's running without a border and at the width and height of the screen.

The interesting thing here is that I can run a window in fullscreen and another not in fullscreen without losing the device when I click on the windowed device. You might have seen it when you play a game in fullscreen and you Alt-Tab out and then back in, the game has to take a moment to re-acquire the device. It might have something to do with the fact that the windows are on separate devices.

I'm just Amped!

Getting closer!

Yay!

Another quick update.

Today we have a basic Level Editor up and running, so we can generate a basic level file which will then be loaded by our game.

Also, basic gui and buttons have been completed.

Now it's just a matter of tying everything together in one big happy bundle and we should get a working demo of the core gameplay concept.

2 days to go!

Our intention is to freeze any extra features and/or changes to the code starting from tomorrow evening. Only bug fixes will be allowed so that we have all of Friday to tidy everything up and get it submitted.

That's all for today,
Paul

Test Harnesses

Today, I've been writing test harnesses. Test harnesses are a really good habit to develop if you're a programmer. Basically, a test harness takes a given piece of code, and starts thrashing the candy out of it. If the code doesn't break, it passes. This is good, because it enables you to find bugs right from the point they are created and before that piece of code is injected into the system.

It's actually quite fun to break other people's code as well...

Tuesday, November 18, 2008

Habits

A programmer's code is like his fingerprint, everyone has slight quirks. This becomes really apparent when you're uploading and downloading code from nine other programmers. You end up being able to look at a section of code and you can tell who wrote it. The differences are always slight, but they are there. Someone might leave a space between and 'if' statement and the brackets afterwards. Someone might prefix a const char pointer with kcp, while other (more charismatic programmers) might prefix it with pkc.

Sometimes it just seems like I'm the only person who labels their accessors methods (Get and Set) with 'please'

It's not just about manners, it's about style.

BUGS!!!!

Greetings.

I hate bugs, they are time consuming, take years off your life, and most of the time, the problem is started by some small -stupid- mistake (like that ol' ampersand).

A word of advice to aspiring c++ programmers: always set your pointers back to zero after you're done with them. It isn't that hard, it only requires one line of code, and it will save your team mates hours of trouble...

Two hours to be exact. That's right, it took two hours, just to find a wild pointer (that's what we call them). If it had been set back to zero, it would have taken five minutes to find and fix, but no, it took TWO HOURS!

Now I'm upset.

Funny little things...

Good day to you,

We've been working on getting something up on screen so we have something to look at, but had to work out several kinks in the code. What it finally came down to was one class that was not working correctly. When we finally found the bug, it was a simple ampersand(&) sitting somewhere that it shouldn't have been!

Upon removal of the scurrilous character, we had the pleasure of having the fruits of our labour rendering nicely to the screen! (Which is a simple GUI element at the moment, however the creation of the entire engine to render this has been a large task!)

We're putting together a level editor, a player character, and a few other objects which will be placed in a sample level for submission this Friday. The player will be controllable via a XBox 360 controller. Everyone is working steadily towards getting this complete.

Very excited about this proposition! More tomorrow!
Paul

Monday, November 17, 2008

Time to Dual

Over the past couple of days, I've had to joy of getting the game to work on multiple monitors. At the beginning I thought that this task would be fairly straight forward ... boy was I wrong. The initial problem with using multiple monitors is that each monitor requires its own Direct3D device. Every asset in the game needs to be loaded into the device, so what this means is that we need to create each asset on both devices.

I've established a system that sets up everything on both devices, but today I ran into another problem: window focus. The fastest rendering method is to render the game in fullscreen, however DirectX doesn't like having two windows running at fullscreen. The solution is have one window running at fullscreen and the other window taking up the width and height of the window and display without a boarder. It just comes down to smoke and mirrors.

Less than 5 days to Milestone 1!

On Friday this week we submit our first "Walk and Talk " build. It's a basic build which will display the set of features that we have developed to date.

The team is hard at work bringing all the different pieces of the game together to make a working version by Friday.

Just a short post for today, I have to get back to rescheduling the projects tasks and submitting change requests for the deviations from our design docs that we've had to make...oh, and it's dinner time!

Paul

Concept art!!!!

Greetings.

I've been working on models for the past few days, and I thought I'd show everyone some of the models I've made(Keep in mind that these are shots taken from inside the 3d art package I've been using, and aren't representative of the final product).

To the left, we have a tree. I'm fairly proud of how this one turned out, as I've never modeled a tree before. The only problem with this picture of the tree is that the lighting is rather harsh on the leaves. This will be fixed in the final product.

In the top right, we have a T.A.D, or Temporal Anchoring Device. T.A.Ds are able to detach objects from the current time line for a little while... I'll explain that better another time.

Lastly, in the bottom right, is a picture of a Timecrystal. Bonus points if you can guess where I got the idea from.

So... That's that. Until next time, keep your mind out of the gutter, otherwise you'll clog the pipes.

The first week of programming

Hey, Nick here, I'm another one of the programmers in our team of ten. For the past week I’ve been working on code that will hopefully allow our game to load and manage 2D and 3D models. This task, like many others, has been complicated because our game’s two player mode is being set up to run over dual monitors. The reason we decided to go the dual monitor route is because it will offer a much better two player experience than split screen would. However, split screen will still be supported for those of us not lucky enough to have a dual monitor setup.

Also, if any of our few readers are curious about anything related to our project then please, comment away. It would be a huge help to the blog if we were able to get a better idea of what people want to hear.

Cheers,
Nick

Sunday, November 16, 2008

ChocChip

 Hello :)

Thought I'd come on at 2:00 in the morning to say stuff that cross my mind in the next 10 mintutes. The first thing is that I, along with many other people and after many weeks of coding, have gotten use to using the short-cut keys: ctrl + s, after every sentence, and some others also pressing F7 / F5 aswell. Saving after every line can be a good thing from time to time, but not really nice when you press F7 / F5 making your screen flip upside down, inside out and draw pink circles every where (not that this happens). All I'm saying is that this is a bad and a good habbit.
Hmm...Oh yes, every night before you go to bed, you MUST have a cookie, someone should make that a law.
Anyway, going back to the project, after my short bit of work with the input classes that was already done and needed a bit of tweeking, I didnt really have much to do, considering that my next scheduled task was about a week and a half away and someone else was doing the framework for it. I ended up doing other peoples work and still am. 

I've still got more to say, mostly about cookies, but maybe I'll save it all for later

Saturday, November 15, 2008

The first week of many.

Hey.

I’m Andrew, another Interactive Gaming(IG) student here at Media design school. I take the role of a Programmer/Designer in the team and I will be working on the AI and level editor for our last project of the year.

After a lot of blaming, candy and more blaming, the first week of production has come to an end with only one week left until the first milestone is due. Even though the current build is only displaying two windows, and conversations don’t make any sense anymore (one was an argument as to whether or not code had feelings), I’m sure we’ll have something to show off for the upcoming milestone entry.

- Andrew

Friday, November 14, 2008

Development Platform

Greetings,

Just thought I'd outline the platform we're developing on.

IDE: Microsoft Visual Studio 2005
Language: C++
APIs: DirectX 9.0c, XACT
Platform: Microsoft Windows

We're coding the entire project ourselves in C++, including the rendering engine, player input, cameras, lighting, and collision system among other things.

We're quite proud of the fact that we can do this, and I can say that this is a direct result of the material that we have covered in the IGAPR08 course. It's a very practical, industry-oriented and well-rounded program that I'm glad to have been part of. (No, I'm not getting paid for saying that!). I highly recommend anyone who is seriously considering getting into the game industry and doesn't know where to start to consider this as an option for getting a taste of what it is really like to in the games industry. Just a taste mind you!

It's not all fun and games! (Well, it is, actually...but also hard work!) However, in addition to getting a thorough grounding in coding good C++, we've also learned industry best practises, research methods, essay writing, lots of math, public presentation skills, and how to work in a team.

On a final note, I've never been a big fan of advanced math because I didn't see many of the practical applications of it, or I'd only use it if I really couldnt do something any other way, but since doing this course, it turns out math is really cool for making awesome things happen on the computer screen. I love like math now I see the practical uses for it with respect to games!

cheers,
Paul

The end of an eratic week.

Greetings,

It's that time of the week again. Everyone's mentally exhausted, people speak words but they don't form sentences, and the only thing keeping us awake is the "V" plugged into our veins. Oh, and we've run out of candy.

So now I'm counting down the minutes until 5.00 (It's 3.56 by the way). Then I'm going to go home, go to sleep (hopefully in the bed) , wakeup Monday morning and start the cycle again.

I guess I should say something random and spontaneous...

Err... Asbestos is good for the heart, but bad for the soul.

Take care now, bye bye then.

Mad first week

G'day, Daniel here.

It's Friday, and we have pretty much done our first week of programming. From that week we have managed to make... two windows that come on screen and show white!

Doesn't seem like much seeing as we have one more week before our first milestone is due, perhaps by then we will have the windows showing different colours =P

Nah, we have a lot of internal stuff done, I have done the cameras and all of that, so once we get the render system done we should be able to at least move around the level.

I'm feeling pretty keen for some CS after school today, get me a little relaxed and stress-relieved killing things so I can come in and work in the weekend all happy-like.

Daniel out.

Naming Conventions

One thing that has always bothered me about C++ is the actual name "C++". The ++ section of the name is an operator that increments the variable it is assigned with. In this case the name makes sense; C++ is a step up from C. The thing is that there are two types of ++'s:
* The postfix: C++
* The prefix: ++C

The two are very similar but there is a difference between them (or else what's the point in having them?!?). I wont go into the logistics, but in short, the prefix operator is faster than the postfix operator.

So why do we not call the language ++C?

Thursday, November 13, 2008

Feeling the effects.

As they days wear on and our time spent sleeping diminishes, the jokes become worse and worse but for some reason still seem funny.
Is no one else concerned that the first milestone is only a week away? Or do they just do a better job hiding the fear...

Is the turtle thing to do with the fact that our players avatar looks like a turtle or that you had a dream you ate the turtle.

I swear looking at a computer screen for this long isnt good for you.

Keegan

Artwork

Greetings.

As your impeccable observational skills might suggest, I am currently working on the artwork for our game. I'm not a professional artist, but since I'm one of two people who knows how to export .x models from 3D art packages, and Josh is busy being lord-high-programmer, it's my job to create the assets. I'll try to get some pictures on here for people to see within the next day or so.

Remember to take good care of your Turtle,
Ben.

Methodology

After reviewing current progress, we've decided to implement the SCRUM methodology for managing the delivery of this project. A key feature of this process is that our team will meet daily for 15 minutes, and we will all answer these three questions:

1. What have you done since the last meeting?
2. What will you do between now and the next meeting?
3. Is there anything preventing you from doing what you have planned?

SCRUM is an agile development methodology, if you want to know more, just search the web for "scrum" and "agile development", you'll find plenty of info. Also search for "Scrum in five minutes" and you'll find a good primer for this methodology.

Till next time,
Paul

Bane

Part of my job as the Lead Programmer was to create a Technical Design Document (TDD) that fully outlines how the game is going to be implemented. The file length for a document like this can end up being quite large, our TDD ended up being over 100 pages. I've never used Microsoft Word for any document with a large page count like this, and I've got to tell you that it is not fun.

Everything just seems to go out of whack when even small changes are applied. Some issues we ran into included:
* Page formatting kept changing.
* Our contents page, which had to be updates every few modifications, ended up putting pictures as page titles.
* Images and even sections were duplicated throughout the document for some unknown reason.

... And a lot more.

My advice to anyone thinking of writing a TDD: use LaTeX

- Josh

Wednesday, November 12, 2008

Setting the record straight....

If you do the crime, you do the time.

It’s funny that the most things we have blogged about is the Blame Hat and all the shame therein.

Well today went pretty good. We made a lot of changes to the Technical Design, things we didn’t foresee, however the design seems more robust and reusable.

A big part of making PC games is making sure they work across different hardware, a lesson I’m sure we have all learnt throughout the year. So today we began work on creating our game to work with different Graphics cards and drivers. Not the most exciting coding experience in the world but still necessary.

A big part of learning at Media Design School is learning Industry trends and practices.

Oh and Liam got the blame hat. I’ll just try to keep it away from me. I got pinged for spelling earlier on in the day, just as marketing walked in and snapped the very handsome photo. Naturally I changed the rules to not include spelling.

Untill another time,
If the minimum isn't acceptable it shouldn't be called the minimum.

Keegan Gibson
Build Master / Programmer

Shame and Blame

Ohnoes i got the blame hat,

That's what you get for uploading unfinished code to the repository!

Note to self: when asked to make a change to a class you are responsible for, make sure you only commit the files that are finished!

<.<

>.>

Canadian Eh!

G'day, I'm Shawn.

As the post title suggests I'm Canadian and I moved to New Zealand about four years ago. While at a Science fair I attended a lecture on video game development in NZ. When the lecture was over I approched one of the speakers; Tyrone McAuley, Technical Director from Sidhe Interactive; and asked him what would be the best way to get into the industry, he told me to go to Media Design School. So I did, and now twenty four or so weeks later and I am able to build some really cool things.

I am part of a class of ten students and we have recently started on our final group project...a game that will beat down Halo 2! ...well maybe not that great, but close :)

The first couple of weeks of pre-production were slightly hectic while trying to work out an idea for the game and then the writing of the Game Desing Document and the Technical Design Document, but now things have been sailing along quite nicely.


Later,

Shawn Shiers
Asset Manager/Programmer

The Project So Far

As Josh said in an earlier post, we're into the production phase of the project. This blog was started yesterday, and we actually started this project two weeks ago with the pre-production phase, so I want to quickly catch everyone up on what's happened so far.

Our team was given the brief to design and implement a 3D game on the 28th October 2008. We used one day to assign roles for Project Manager(myself), Lead Designer(Ben), Lead Programmer(Josh), Asset Manager(Shawn), and Build Master(Keegan).

There are ten of us in the IGAPR08 class, and besides the roles assigned above, we also all have the role of Programmers/Designers.

We were given two weeks to create the Game Design and Technical Design Documents.

We spent the first week discussing, sometimes calmly, sometimes passionately, all the possible ideas we might want to implement. The decision came down to either a real-time multiplayer 3d tower defense type game, or a 3d action/strategy time travel based game. We chose the latter, and then used the remaining week to create the Game Design Document followed by the Technical Design Document.

One of the hardest parts was solidfying the initial game idea into a complete set of game features and rules. As there were ten of us, we all had slightly differing views and ideas of what the game would look like. Even once most of the details were finalised, we kept finding hidden assumptions in the design that needed to be nailed down when not all of us agreed on how certain objects in the game should behave. In the end, for the final 20% of the design, only 2-3 people worked on it, while the rest of the team started writing the parts of the game that had already been decided on.

One issue we had was that some changes were still being made to the Game Design while we were writing the Technical Design. This caused several re-writes of parts of the TD, causing delays and sometimes confusion as to what was still in the game and what wasn't.

However, after all that, we finished the Game and Technical Design on Monday this week, and got approval to make the game on Tuesday afternoon.

We're ahead of schedule currently, requiring a review of the initial project plan to reorganise it to take into account certain tasks taking less time than originally estimated. This will let us know if we can shift resources to other parts of the game.

Stay tuned,
Paul

Stuff

Greetings.

In accordance, with the team's new "blame" policy, I was forced to carry the blame for the entire day, because I forgot an "=" and a "0". Now it's gone though, which is good, because I was slowly losing my insanity to the effects of the blame hat.
It gets to you... Sitting there, with the word "BLAME" written on it in large block letters...

Silently taunting you...

Gnawing away at the fringes of your mind...

Anyway, I guess I should sign off now, as my ramblings are growing thin...

One last thing,

To take a Panda by surprise, approach not from the back, as it will see you coming. For maximum con-panda-bility, approach from the sides.

Found It

Well after about 5-10 minutes of clicking, I found the button that lets me make a new post...its the one that says "New Post", I feel ashamed.
Anyway, I got about a weeks worth of work almost done in a couple of days, I'm just waiting for some functions to be put in then I can do something.
But I guess for the mean time, I'll just enjoy some cookies.

An Implementation

You know the Blame Hat idea? Well it seems that it has become a reality. All it took was one folded piece of A3 paper and one white board marker. It has already been passed around three times.

An Idea

It seems apparent that even at Day two we're having a few issues. We have ten programmers all working on the same solution. We are using Tortoise SVN as a sort of repository system where everyone can upload their progress and download the progress of everyone else.

This works in theory. The problem arises when someone uploads a section of code that doesn't work and consequently everyone else receives the error. Tortoise SVN has a nice feature that allows you to see who uploaded a section of code, it even has the helpful title of the Blame button. This is all well an good, but I don't think it's good enough.

My solution is to implement some form of headpiece that has "Blame" written in big letters across it. The system works quite easily: whoever uploads an incomplete or buggy section of code is forced to wear the Blame Hat. The Blame Hat can only be removed when someone else uploads an error.

- Josh

Tuesday, November 11, 2008

Introductions

Hey,

My name's Josh and I'm currently studying Interactive Gaming at Media Design School in New Zealand. Our course is soon coming to an end, and all that remains is completing an eight week group project of making a full game. In short, I'm the lead programmer for this team of ten programmers.

The first day of production has begun and things are going swimmingly. At one point I even managed to compile the solution with a total of 126 build errors and two warnings. Our schedule has been so over estimated that I've now completed todays and tomorrows work. I have no doubts that things are going to get intense.

And so it begins...

... I can't wait.
- Josh

What Ben has to say about all this

Greetings. I am Ben, the Lead Designer on this project. It is my job to bring everyone's dreams to life, create wonderful, shiny things and most importantly, create a fun game.

After all this talk of making a game, I suppose I should actually explain what we're making.

In short, brace yourself...we're making a multi-player 3rd person action-strategy time-travel game with puzzle elements.

In long, we're creating a game where the player takes on the role of a space-merchant, who after a series of unfortunate events has crash-landed on an alien planet. On board the space-merchant's ship was a delicate load of Timecrystals, which became scattered about the area when he crashed. Your goal is to retrieve the Timecrystals, while outsmarting a rival merchant who has landed in the area and decided to take the Timecrystals for himself.

When a player touches a Timecrystal, time resets, kind of like what happened to Bill Murray in Groundhog Day. However, unlike Bill Murray, our space-merchant is able to see his past selves, or "Timeghosts" recreating the actions he took in the previous time line...

That's the core of our game. It takes a while to sink in, so I'll leave it at that for the mean time...

And remember, scooters are only dead if you let them be.

Benjamin Maher,
Lead designer.

Welcome to the IGAPR08 Game Development Blog

Welcome! This is Paul, a student from the Interactive Gaming (April 2008 intake) class of Media Design School, IGAPR08 for short.

We're making a game!

After 24 intense weeks of learning the fundamentals of game programming, our entire class is now responsible for the design and implementation of a computer video game, using all the skills that we have learnt up to this point.

We are going to create a game idea from scratch, design it, document it, work out how to implement it, and then code it all within a time limit of eight weeks. Two weeks for Game and Technical design, then just less than 6 weeks for the Implementation phase.

This blog will serve as a record of our journey from game conception to the last milestone of delivering the final Gold build for release, and a post mortem of our experiences.

Thanks for joining us, stay posted for further updates.

Paul Chambers
Project Manager