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