Wednesday, December 17, 2008
Gold Milestone
Gold awaits us...
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.
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!
1 Day Left
Wait...
Is there really a difference?
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
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
We're gunna' need a montage
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
Paul
Friday, December 12, 2008
Late Night
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
Paul
Thursday, December 11, 2008
Crunch time!
Megadoom
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
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
The Level Editor
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
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
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
Paul
Crunchie Time
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
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.
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
It's going to be a busy week.
Paul
My Priority
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
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!!!
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!
Hurry up everyone 5 minutes to go!
Back next week for our Beta build.
Thursday, December 4, 2008
Pulling it together
...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
Until then our game doesnt have bugs it just devlops random features.
Crunchy Chickens
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
One day away from the Alpha Milestone. Things are getting stressful and thing.
I'm going to sleep now.
getting closer!
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
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
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
Paul
Ripples
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
Sound
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
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.
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
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-
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.
Friday, November 28, 2008
Reminiscing
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
cheers,
Paul
Another week finished
Fridayday-dayday
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
That's all for today.
cheers,
Paul
Repetition: Lets do it Again!
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
OK, so there's a bit more to it than that, but that's the basic philosophy.
Wednesday, November 26, 2008
Production
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 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
...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
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
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
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
Fingers crossed that it's enough to get us back up and coding tomorrow.
More Fridgedness
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 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
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
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
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
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
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
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...
Wow, what a day!
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
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
Countdown
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
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!
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
It's actually quite fun to break other people's code as well...
Tuesday, November 18, 2008
Habits
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!!!!
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...
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
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!
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!!!!
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
Saturday, November 15, 2008
The first week of many.
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
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
cheers,
Paul
The end of an eratic week.
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
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
* 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.
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
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
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
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....
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
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!
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
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
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
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
An Idea
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
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
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
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