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