The Final

So this semester is practically over. However, throughout this semester we’ve come to realize that Game Development at UOIT is a lot more than just going to class; rather it’s about doing well on your GDW game and making an epic game. So with Game Con wrapping up yesterday, here’s a long post wrapping up the development process of SHFT during the semester.

It seemed like a long time ago, yet at the same time it felt like just yesterday that I wrote our very first blog post. Looking back, we were kind of naïve and too overly ambitious at that point, we just started the semester and had a ton of ideas for our game, many of which were just out of our scope. It also kind of amuses me too how we labelled Alex as a programmer when we found that he was much more effective as a modeller. Definitely glad that we have another 3D artist though; getting through all the art assets was definitely one of the things we had trouble with this semester.

With the intro out of the way, the following blog post delves deeper into our game design ideas for the semester. We wanted to turn SHFT, last semester’s RTS game, into a 3rd person RPG by ripping out the RTS elements and just reusing the engine. We actually managed to do that! Except of course we just rewrote the engine instead.

We also wrote that we wanted our trademark character Jack to explore many areas of Fantasyland and to have over an hour of content, unfortunately that didn’t pan out as much as we wanted to. We got hit pretty hard by the time constraints as well as other distractions and obligations so we couldn’t do as much as we could. Looking back at that discussion we had with the Gunblade, almost seems silly how we got worked up over something so trivial to the actual game design of our game.

One of the things that slowed down our game’s progress was the programming issues I had that I mentioned in post number three. My computer completely died that week and that meant I couldn’t program for a week, which really hindered my progress in getting any work done. Fortunately though all our other members could continue working on the game so Branan was able to test out rigging and animating a humanoid character while all the other members continued to work on creating the assets for our game.

Some of our preliminary art assets were shown in the next blog post. Rachel made a sweet wolf model that I really wanted to use, but we couldn’t. I feel kind of bad about it actually, but we had to cut out a lot of what we wanted to do for the semester, and although we planned on having animal enemies in the game, we had to ultimately remove those since it was easier to rig and animate a bipedal creature. Mack also had a preliminary sketch up of a level too. It had a lot of the elements that we incorporated into the final version of our game, but it had slopes which we just couldn’t figure out. We really wanted slopes in the game, but again, time limitations led to technical limitations.

It didn’t help that we also had the shader homework questions in our graphics course. We mentioned that in the fifth blog post of the semester. That distracted me and Gordon a lot from actually working on the game. Fortunately though we got them all done early so for the rest of semester we were able to work soley on the game itself. Not to mention we now had a pretty good understanding of shaders so we were able to use that knowledge in our game too.

Since we had so many time constraints, we also decided that we would hold “Team Overlord Game Jams” (TOGJ) where we would just meet up for twelve hours on a weekend and just work. It worked reasonably well too as we were able to get a lot of work done, but they slowly fell out of style later in the semester. However me, Gordon and Branan often found ourselves doing impromptu TOGJs while trying to get mesh skinning to work in our game.

At the start of reading week, I remember working a lot on the math classes we needed for our game. Naturally our engine would need to be able to do a lot of math, so I worked on doing that and getting matrix and quaternion classes done and also getting skeleton and bone classes done so we could parse a BVH file to do skeletal animations with.

By the end of reading week, Gordon managed to get skeletal animations done. That was a huge milestone for us since it meant we were finally on the way to being able to do actual realistic animations in our game. It was one of the most ambitious technical game design elements we wanted in our game, and seeing that red skeleton displayed on screen was a huge relief for us since it meant we were on track to getting it done.

We were getting worried by this point since it was essentially halfway through the semester, yet we didn’t really have much to show. This was really the point where we decided that we had to cut things. We all loved the original ideas we had for our game, but at that point it just wasn’t feasible or realistic to stick with what we had. We decided to focus on getting the core gameplay done and working from there, but in hindsight we probably still didn’t cut enough; we didn’t realize that until even later.

By post nine, we were still in the process of getting the game together in terms of programming and art. I was working on the basic mechanics of our game like the collision detection and movement, Gordon was working on finishing up mesh skinning and our art department was getting to work getting sounds and other art done.

As sound and audio is a vital part of any game (Plus they’re requirements for our class), Mack, Branan and Alex went and recorded a bunch of sounds for our game. We ended up getting a bunch of really awesome sound effects that made it into the final game such as running, water and pole-hitting sounds. We recorded a bunch of sounds that we didn’t even use, but figured we’d record them anyways. We even recorded a sound effect of Rachel slapping me. It was pretty painful.

The following week didn’t really see too much of an improvement either in terms of game completion. We mostly just worked more on the things we had, whether it was finishing up pieces of code, creating and improving art and editing and recording sound effects. We didn’t really have much direction in terms of what we were aiming for anymore; we just kind of kept making and working on things.

The week after was a bit more productive. At this point Gordon finished his mesh skinning code, so we decided to implement it into the game I had. The game itself was starting to come together at this point since we actually had art and programming assets to work with instead of just creating the parts. It was a pretty brutal integration session trying to get Gordon’s algorithm into the game, but we ended up getting it into the game and it was a glorious feeling.

To celebrate getting mesh skinning done, Branan bought a Kinect. We learned that the Kinect could be used to record skeletal animations which could be parsed into our game so we spent some time recording animations. It was fun, but we unfortunately could not get those specific animations in our game, so it really served as another distraction.

Finally, we get to the post we made after attending Level Up. The game was picking up steam at this point. I would say that the last two to three weeks before the game is due is the most stressful, yet the most satisfying parts of game development. It’s the most stressful since the deadline is looming so very close, yet at the same time everything is coming together.

We had a nice engine working that we wrote from scratch, animations and models were being created and then put into the game, sound and music were constantly being improved and tested in game and we just spent a lot of time polishing and improving our game. Our game changed a lot from what we planned, but we had a respectable game at that point. We were confident enough in our game that we even brought it to Level Up where we showed it off and got a lot of feedback which we used to improve our game.

Speaking of which, we did a lot of extensive testing the last two weeks or so to polish up our game and ready it for Game Con. We had three main sources of testing, from ourselves, from our professors and from other developers and people at Level Up.

Naturally we were the main source of testing since as the developers we’ve played through the game many times while integrating pieces of our game and debugging glitches. As a result we’ve contributed many pieces of feedback that we’ve used to get our game up to the “release” stage. Most of our feedback for the game came together in large chunks that determined the overall result of our game, such as the way the combat system works, the way the player moves and navigates through the world, etc.

By playing through the game during the development cycle, we naturally got to learn about all the little things and tricks that are present in the game, such as knowing when or where to jump to make getting around easier or how to easily kill enemies. This made us naturally biased towards our game because we designed it, thus we are experts at the game and a lot of gameplay features and mechanics would not be fully tested since we would end up skipping a lot of the content ourselves and generally followed a single path through the game since we knew where everything was.

Our first attempt at getting some external feedback came from our professors. The first professor we showed our game to was Ken Finney who played our game as part of our fourth milestone. At that stage in the development cycle a lot of the core mechanics of the game was complete, but many of the aesthetics were not finished and a lot of the dynamics were not polished.

The first thing he did when he played the game was try to walk around a platform that we have at the beginning of the level. When we tested the game we’ve always jumped on top of the platform, so when he tried to walk around it and we saw that our character somehow ended up below the platform (and thus below the world), we were kind of surprised.

He didn’t play the game for long, but he told us to remove some of the invisible walls we had in the game and to fix up our sword icon before we went and showed off our game at Level Up. We took the feedback he gave us and ended up fixing the issue with the collision detection system that cause it so when you collided with the left side of a platform you fell through the world. We also fixed the issue with the sword icon that he pointed out. We actually didn’t even notice that the hilt was too long until he pointed it out.

Later that week we also showed our game to Dr. Hogue and Dr. Nacke for their feedback as well. We showed it to Dr. Hogue first and he didn’t really give us too much feedback in terms of actual gameplay but he ended up telling us that we should have more shader effects in the game to really make it more interesting and to pop. We didn’t have that many and considering how me and Gordon were the first two to get to 65 experience, I think he expected a bit more in that department.

He told us that going for a realistic feel was not very realistic at this point in the development cycle and told us to consider going for a non-photorealistic effect instead. He told us to experiment with a Gooch shader with some edge detection to give our game more of a cartoony look since it would make our game more interesting looking and would also be a lot more feasible to do than a realistic looking game.

We at first did not want to do a non-photorealistic shader effect since a few members of our group did not like the look of cell shaded objects. However once we realized that the Gooch shader did not leave sharp colour drop-offs, but rather a smooth gradient, we decided to give it a shot. After seeing how our game looked like with a Gooch shader and edge detection, we decided that we liked the feel of the game and kept it in for the final release.

After talking to Dr. Hogue we also showed off our game to Dr. Nacke who gave us a lot more general feedback on a lot of things in our game. Some of the main things that he talked to us about were: the background song got annoying, some of our 2D HUD elements should be changed, we should consider using a controller to play the game, we should make the level design more interesting and that we should definitely make our game look nicer.

It was a lot of feedback, but we considered each point he pointed out and we found we agreed with a lot of them. As a result we got Mack to fix up the background music, Alex to redesign the level and Rachel to remake some of the 2D elements and Branan creating new animations, textures and setting up controller support while me and Gordon focused on polishing up some of the core mechanics of the game and integrating all the new assets.

With all the assets created and changed, we put everything in the game and noticed a definite improvement to the game. The game felt more complete and interesting as the world wasn’t just flat with random floating platforms anymore; there was actually a “story” to the level. The background music wasn’t as annoying anymore, and the aesthetics of the game improved dramatically. A quick overview of the level redesign could actually be found in our latest blog post.

Following that we also showed our game to Derek Fullerton as well to get some of his opinions on the art of our game. He said that overall the game didn’t look bad but there were some inconsistencies with the art style of the HUD with the rest of the game, and a few textures looked out of place.  We definitely agreed with his points and worked on fixing as many of the things we could.

Overall, talking to the professors made us realize that although we had a “game”, the difference between a game and a good game was good polish. Even though mechanically our game is pretty much the same it was a few weeks ago, it’s a lot better because it looks and feels like a much more complete game. Going into Level Up, our game definitely looked and felt a lot better.

At Level Up we had a lot of people play our game. It was the first time we were at an event like this so we didn’t really know what to expect in terms of reaction to our game. A lot of people played our game, and we gathered a lot of feedback for our game and team. A lot of people were impressed with the fact that we wrote the engine from scratch which really made me personally feel kind of smug. Granted I think the engine could be a lot better.

We also got a lot of feedback towards the gameplay of the game, which was important because so far we mostly just got feedback on core mechanics from us playing the game and feedback on aesthetics from our professors testing the game. As such the gameplay of our game wasn’t fully tested as much as it could be and as a result we got a lot of feedback from the people that played our game.

The biggest points that we received from the people at Level Up was that the main character could move faster and that the big enemy was too hard to kill. In addition to vocal feedback we also got a lot of feedback by just watching people play our game since we noticed player tendencies that we would not be able to notice when people from our team play the game.

We noticed that a lot of people didn’t really have a sense of direction on what to do since they often skipped the introductory cutscene. We also noticed that a lot of people were naturally drawn to the big soldier enemy and tried to fight him all the time. In addition to those we also discovered a few bugs and exploits in our game such as geometry getting in the way of our camera and being able to essentially not get hit by any enemies when the player was standing on a tree or rock.

We took a lot of the feedback and tried to tweak our game accordingly. We sped up the main character and allowed him to rotate faster, therefore making the gameplay less slow. We nerfed the HP of the big enemy so that he was easier to kill. We fixed a few bugs in our code so that backface culling worked appropriately so that when the player is close to a wall the wall doesn’t get in the way of the camera.

A lot of the feedback we got were actually pretty simple fixes on our end, most of them required just a change in numbers. However they made our game less frustrating to play which is always a good thing. There were a few things that we couldn’t change though, such as the ability to swizzle the camera around the character.

A lot of the technical changes that we would need to implement would take too long for the time we had left. A lot of the core mechanics such as the camera movement was too locked in place at that point so changing it would take time we did not really have, so we couldn’t fix those issues. However we fixed and changed as many as we can which all worked together to make our game better and more complete.

As a result we were left with a cartoony, third person action adventure game where you play as Jack as he explores a mountainous forested area of Fantasyland in order to gather the five magical shards to restore peace to the land.

DEVELOPER PROFILES

Gary Ng

www.garykcng.webs.com

@Drayxs

Team Leader, Team Manager, Gameplay Programmer, Engine Programmer and Narrator

Gary is the team leader and manager of the group. As a result he was responsible for distributing work and making sure everyone did their part while setting up group meetings and internal deadlines.

He was also one of the programmers for the game and focused mostly on the gameplay and engine of the game. The game was built from the engine that he wrote from the start of the semester and aside from things like mesh skinning and AI was written entirely by him. All the art assets were integrated into the game by Gary and all of the gameplay elements such as collision detection and combat were also designed and programmed by Gary.

In addition to that Gary also is the narrator of the game, providing the backstory of the game in the introductory cutscene and throughout the game. He recorded

Branan Sarveswaren

@Branoodles

Lead 3D Artist, 2D Artist, Animator and Sound Artist

Branan is the main 3D artist for the game and focused mostly on the creation, rigging and animation of the character and enemies in the game. He created the models from scratch and then UV’d, textured and animated the characters while working with the programmers to make skeletal animations possible.

In addition to creating the characters and animations Branan also had a part in designing miscellaneous models of the game such as the platforms and shards. Branan also was one of the sound artists for the game as he helped record and edit sound effects for the game such as the spell sound effects.

Gordon Tan

@GordonTan4

Engine Programmer and AI Programmer

Gordon is the second programmer of the group. His largest contribution was the addition of GPU Mesh Skinning which he worked closely with Gary and Branan to get it completed and integrated into the game. After it was integrated Gordon continued to work on creating classes which would wrap the animation functionality neatly so that it could be used by Gary easily and effectively.

Gordon also worked on setting up the AI mechanics of the game which was used as the base for the game’s enemy’s AI. He programmed the algorithms that made seeking, fleeing, wandering and facing possible and linked it together in a manager class which was used to control the enemy’s AI patterns.

Alexander Best

@Qbbllaarr

Level Designer and 3D Artist

Alex is one of the main level designers of the group and as such was in charge of modelling and texturing many of the environmental assets in the game such as the rocks, mountains and chests.

With all the assets, he was also tasked with designing an interesting level and putting all the pieces together. Once the level was assembled, Alex also exported every individual object and worked closely with Gary to integrate the level into the game and to make changes when necessary to polish and improve on the level.

Rachel Fung

@r_fwc

Lead 2D Artist and 3D Artist

Rachel is the main 2D artist of the group. She worked on creating many of the 2D elements of the game such as the HUD and logo of the game. She was also one of the main concept artists during the planning and development stage of the game and contributed many pieces of concept art for the game. Rachel also created promotional art for the game such as a poster showcasing the main character Jack.

Rachel also worked on the modelling and texturing of many 3D assets as well, responsible for 3D models such as the fish and plants that are present in the game as well as the main level texture and the tree texture.

Mackenzie Sturrup

@Cieroceramics

Lead Sound Artist and 3D Artist

Mack is the lead sound artist for the team and as a result was responsible for many of the sound effects present in the game. His largest contribution would be the background music that is played during the game which he created from scratch for the game. Mack also worked on the recording and editing of many sound effects that were used in the game such as the water sound effects and the weapon swing and the shard pickup sound effects.

Level Design Report

I began the level design process by determining the general feel for our game. We discussed as a team what style our game would take, as well as what environments we felt would be fitting to our game. We decided the game would be a 3rd person Action-Adventure, with platforming elements. We also decided on a number of environments, from a forest to a desert. I began work on the forest level, as we knew it would be our main locale.

I began by designing a couple of concepts on paper, from a top down perspective. While this approach worked for determining the general layout of the level, I quickly found that attempting to design a 3D environment from a 2D perspective could not encapsulate the actually design of the environment. Knowing this I began using a tool for 3D rapid prototyping, Google SketchUp. Using Google SketchUp I was able to quickly produce a number of simple level designs in a 3D environment. After selecting an appropriate design for the forest, I moved into Maya.

Figure 1 Google SketchUp Level Prototype

I began modeling the design I had made in SketchUp into real geometry in Maya. While doing this I noticed a rapidly growing problem. The design I had laid out in SketchUp, which my team had liked the concept of was proving to be far too much geometry. The design called for the level walls to be made from trees, so as to improve the look and feel of the level, while preventing players from feeling trapped by illogical walls.

This is when we encountered a new obstacle. We would only be able to perform axis aligned bounding box collision detection. This meant that everything in the level must now be square or rectangular. Any curves would cause large areas of impassable terrain. This meant that all elements of the level must be either rectangular or make sense colliding in a rectangle.

Figure 2 Scrapped due to losing the ability to make curves.

Knowing this I decided to change my approach and design the level as blocks, fitting the constraints perfectly. After showing my group what that looked like we decided that we would have to meet in the middle. A level made out of blocks might be fun to play in, but it’s extremely uninteresting to look at.

Figure 3 Technically Perfect – Functionally Lacking

We decided that we would have a prop based level, with collision boxes created around the geometry in order to handle the collisions. At this point I stopped working on the level itself, and began creating all the individual models that would make up the level. The other members of the art team also participated in this process. Branan created the platforms we would use, and Rachel created a very nice looking tree, which used impostered leaves to reduce the poly count. I created chests for collecting, rocks, a well, pieces of ruins, and a large gemstone, among other things.

Figure 4 A number of our props.

After we had finished prop construction I began assembling the level. My designs went through many iterations, but all focused on the same concepts. A linear start focused on forcing a player to learn the controls was followed by a small platforming section in order to reinforce the controls. After the platforming there is an open world segment which players can explore and look for the game items. There is a large boss enemy in this area which players must fight. Afterwards the player must climb a mountainous area to find the level finish. While working on the level it was constantly redesigned and retested. Bugs were found and fixed, and a few were implemented as secret paths a skilled player can take.

One of the main causes for the many redesigns was the constraint on the number of polygons. When the first design was finished the level was 30,000 Polygons. This was causing our engine to drop frames, which in turn caused collisions to malfunction. In order to overcome this I redesigned a number of props in order to lower the number of polygons in them, as well as trimmed unnecessary props from the level. By doing this I was able to bring the number of polygons down to just over 10,000, a third of the original number.  This reduced strain on the engine, allowing us to lock the framerate at 30 frames a second. This issue has since been fixed, and we are able to use considerably more geometry. However having lower polycounts is still very desirable, and restricting them while designing was a valuable learning experience.

I was also able to overcome the problem of having level boundaries, without resorting to invisible walls. I created a highly detailed mountain scape, which was approximately 300,000 polygons. This was necessary in order to achieve a smooth texture resembling worn rock. I then rendered a view of these mountains and applied them to the level boundaries, giving the level the appearance of being in an enclosed valley, explaining why it is impossible to leave the level.

Figure 5 High Resolution Mountains

At the end of the design process, the level came together nicely, and it suited our game well.  Despite many setbacks, and redesigns we were able to complete the level and the game before our ship date. This was both a result of following good design procedure, and through constant testing and co-operation with Gary who was designing the gameplay elements.  I enjoyed working on the level design, and look forward to doing more in the future.

Figure 6 Our Finished Level Design

Thanks for reading.

Lead Level Designer, Alex Best.

Level Up

Hey guys,

Our setup, showing SHFT and two SHFTeds.

Sorry about the delay in this week’s blog post. The reason why I delayed writing this week’s post was because we actually went to show our game off at Level Up yesterday and I wanted to blog about some of the things we did there. For those that don’t know, Level Up is an event that was sponsored by a whole bunch of places like Microsoft, Rockstar, UOIT, UofT, OCAD, etc where student game developers can go and show off their games.

At first we were hesitant of going because we weren’t sure whether or not our game was going to be good enough to show off at Level Up, but on Friday we talked it over with some profs and they said we should go, so we decided that over the weekend we would work a lot on the game and then show it off on Monday.

So over the weekend we ended up doing a lot for our game. We literally spent the entire day, and some members the entire night, in the Game Dev Lab just working. In terms of programming, we took Dr. Hogue’s advice and implemented a non-photorealistic shader into our game to give our game a different feel, so I ended up writing the algorithms for that. I also ended up making it so we could have multi-pass renders in our game since I had to split up certain things into different frame buffers to get things to work properly. In addition to that me and Gordon just did a whole bunch of changes to the code to fix things up and to tweak stuff as well to make sure they worked as intended.

We got a lot of stuff done on the art side. Branan finally finished his character model, it’s fully UV’d and textured now and we have a few animations that are already in the game including running, attacking and jumping. We decided to change our level based on the feedback we got from talking to Dr. Nacke, so Alex changed up the level as well and used updated models when necessary and all the first level is essentially done and in the game. Mack went ahead and changed his song up as well because there were complaints that his previous song wasn’t that good, and actually ended up making a whole new level that we might be putting in our game for Game Con. Rachel on the other hand went and did a poster for our game as well as changing other 2D elements like the buttons on the HUD.

Some people playtesting our game.

We worked a lot on the game, and yesterday we showed it off. There were a lot of people at the event; a lot more than we though. Our “booth” wasn’t the most impressive display, but we had a lot of traffic and a lot of people played our game and gave it feedback. The biggest thing we got was that people were impressed with our game technically since we wrote the engine from scratch instead of cheating using Unity. Gameplay wise we had some pretty good feedback as well as to how we should improve the game.

Some people said that the game wasn’t “fast” enough so we’re planning on making it so you move faster. We noticed that a lot of people focused too much on killing the big soldier instead of exploration so I think I’m going to tweak the soldier so he’s easier to kill since people couldn’t really kill him. We also noticed just a whole bunch of other things that we could change that would essentially be minor tweaks like having our potions heal more, having our attacks deal more damage, etc. But at the same time we noticed a bunch of things that we couldn’t really change that easily like our camera clipping through our level.

Overall though it was a fun event and we managed to get some solid feedback on our game. We’ll have an even better build for Game Con, so hypehypehype.

Gary

Integration and Creation

Hey guys,

So the semester is quickly counting down. Soon our game will be due and so we’ve been in crunching down hard lately trying to get as much stuff done for our game as possible. Me and Gordon have kind of developed separate pieces of our game within our own projects, so we spent some time this week integrating as much as we could.

The biggest thing we integrated this week in terms of programming was GPU Mesh Skinning. Gordon worked a lot on that over the last month and a half, and we finally decided to integrate it into our code. Naturally there were many issues involved with the process, but you could read more about that on my personal blog, since I already talked a lot about it. Now we’re moving onto to features in our game. Gordon is currently working on other shader effects that we want for our game whereas I’m just doing other things such as the intro cutscene and gameplay features.

On the non-programming side, Branan has been working on getting our models rigged and animated. He actually went and bought a Kinect on Tuesday because Dr. Hogue said it would be cool. As a result we now have a Kinect. It’s actually pretty cool since with the right program a Kinect could be connected onto your computer and used as a cheap motion capture system. We spent some time recording a bunch of animations for our game since we have mesh skinning in our game now, and all we really need now is a lot of BVH files to load in, which the Kinect could magically get for us. The process and result isn’t perfect, but Branan is planning on cleaning up a bunch of the animations so that we could use it.

As for everyone else, Alex is continuing to work on the level. The main forest level is essentially done, but it needs tweaking and polishing. Since we feel that we can, we’re planning on adding a second level in the game as well which Alex is working on. Mack has also continued working on sound effects throughout the week, and even managed to make a pretty cool lightning animation for our character. Rachel has also been working on models and 2D art that’s required for our game.

Overall we still have a lot of work to be done, however our game is shaping up and I’m pretty confident we’ll have something awesome by Game Con.

Gary

Fun Time Countdown

Hey guys,

Random BVH issues aside, we have GPU mesh skinning!

So code freeze is pretty much a week and a bit away. We’re making some serious progress for our game and we should have a pretty sick game for code freeze and an even sicker game for the game con coming up. Here’s a bit of an update as to what we accomplished over the last week.

In terms of programming, me and Gordon have been getting a lot done. I spent a lot of time over the last week doing gameplay programming and improving our game’s framework. Gordon has been working on GPU mesh skinning for a long time now, and between Branan constantly making and fixing BVH and skin files and Gordon tweaking and debugging his code, we pretty much have it done. Now all that’s left is to integrate it into my engine and finishing fine tuning it and then Branan could pump out a ton of animations for our characters in our game. Gordon and I also managed to integrate his behaviour class into my engine so now our enemies have a reasonably solid AI. Last semester in SHFT our enemies just constantly seeked the player which was effective, but it wasn’t the most advanced AI. In our game this semester we plan on having a better AI system so you guys could look out for that.From the art side, Branan has been constantly working with me and Gordon to get our main character fully rigged and animated. He’s currently in the process of creating animations for our characters such as running and walking. Alex is still working on the level design of our game, but it’s coming together pretty nicely. Mack started to edit some of the sound effects that they recorded last week and is currently in the process of creating new sound effects and the music for our game. Rachel has been texturing our assets as well as designing 2D elements for our game such as our HUD.

The game is really starting to shape up now. We still have a lot to do, but with every passing day progress can be seen.

 

Gary

Our Work This Week

This week we met 3 times to continue work on the game. Gordon and Branan have continued working to implement mesh skinning on the GPU. Having finished implementing it on the CPU which caused major framerate issues, we knew that running it on the GPU was the only possibility. They are currently struggling to sort out the BVH files which appears t0 be missing joints, which is a problem on the GPU, as the joints must match perfectly.

Mack and I have began to collect Foley sounds for our game. We spent the day recording sounds in forest behind campus. We recorded our footsteps through the leaves, breaking branches, and a large stick hitting a tree, to simulate a sword hitting wood. We also recorded water running from the pond behind south village. We recorded a number of other random sounds to use as we need them.

Gary has been devoting his time to creating gameplay elements. Currently we are able to move and jump in 3D space. He has spent the week working on adding proper collision detection, as well as adding shadows. He has also been working on adding the combat system to the game. He has also been working with Gordon to ensure proper file parsing, and assisting with the problems Gordon and Branan have been experiencing.

Branan, Rachel and I have continued to produce Art Assets for our game. Branan and I have been doing all of the modelling, while Rachel puts the finishing touches on the assets, and paints the textures onto them in Mudbox. I have been producing all of the minor art assets, as well as working on level designs. Branan has been working on our main characters model, as well as rigging any models which require animation.

Overall our production is coming along nicely, and if we keep up our current pace we should have a quality game prepared for the Game Con in April.

Crunchtime is coming…

This week, the team has gotten some decent headway for the game. Gordon’s mesh skinning is looking better than ever, with just a few steps away from being perfect. In addition, we’ve now began merging more of the code together, and now have a working shell. As far as core features go, were only a few shy of being ready to go headlong into gameplay. In Modelling news, the main characters are coming along well, with the enemies in tow. As well, several side assets have begun cropping up as the team has divided them up into small portions to be done in free time. One looming factor still hanging over is us is our deadline.

Time is running out.

On the positive side, compared to where we were last semester at this time, were miles ahead. The bad news is that this semesters game was originally planned to be much larger in scale, and with cut-off in slightly over 3 weeks, it seems like some features may need to be cut.

we'll just cut this...and that....and, oh dear...

There is  small reprieve however, in the fact that our classes are barebones this week (Thank you GDC) and we will have alot more time to focus on assets. The goal for the end of this week is to have the primary art assets completed and a working demo version of the game up and running for testing. See you next time.

This reading week

Hey all another team overlord update. Obviously this week there hasn’t been a lot to say since everyone I’m sure has been spending quite some time this week furiously studying for the midterms coming up. So I know overall there wouldn’t be a lot of team collaboration this week because I know that each member of the group was assigned tasks to cater to and details were hammered out before the break.

Anyway so this week as far as I know the artists are still pretty much working on models from a list our main artist compiled together and are working on level designs.Gary’s also already done an amazing job with the math classes and parsing for a bvh file as everything from what I’ve used from it all work totally fine. He’s also still working on as he’s mentioned before a camera and player control system for our game.  As for me I’ve been working solidifying the AI system for our game and think the way it’s currently structured is fairly clean and organized. Another thing I’ve been lately working on is our full blown animations system for our game where we will be doing actual skeletal animations for our characters.  The way its progressing so far I think is right on track after some testing with Gary’s parsing for the bvh , we so far have  a framework skeleton animating which is awesome.

Image

Yay skeletons

I also have been running a lot debugging tests and such as well as basically now having all frames of animation for our skeleton represented by quaternion orientations instead which makes it even better and smoother to animate. Some things I’ve also been working on with animations is interpolation of key frames which I have been using slerp for and is one of the key elements that need to get ironed out, hopefully by next week it’ll be done as it’s important to be able to blend the animations in a nice clean organized manner. Also as a goal next week I’m hoping to have it so characters are fully skinned and animated properly as well as fully fleshing out the framework so I have fairly good idea how to further set it up as soon I have my hands on a rigged character.

Here’s hoping we’ll have prettier and cooler stuff to show next week.

Gordon

Post-Shader Programming

Hey guys,

Yay math.

So for those of you who may or may not know, me and Gordon have gotten to 65. This means we’re done with the shader homework questions for the rest of the semester. So what does this mean for GDW? Well it means a few things. The first thing is that we’re done; we don’t have to stress over getting them done anymore. The second thing is that we can convert all the time we spent doing shaders into working on GDW, so essentially starting now we’re going to be doing a lot of programming for our game. Lastly, it also means that we have a half-decent shader library going on that we can already use for our GDW.

Which is awesome.

So this week Gordon has been working on his behaviour class. He had a pretty good class going last semester and this semester hes looking to update and fix it so that it will work for this semester’s game. Our enemies are going to be having some interesting AI, and his behaviour class should make it quite easy to attach certain AIs to certain enemies so that they do different things.

Hurray for parsing BVHs.

As for me, I’ve been working on a few things. My goal is to make a pretty awesome camera system that will not only follow the player around but to also offer the opportunity to explore the world around us, since we want to make our game pretty. In addition to that I’ve also been working on some math and skeleton stuff. I fixed up my matrix and quaternion classes so I’m (pretty) sure that they work fine now, so they do everything from basic addition and subtraction to rotations to inverses and so on. Should have a lot of potential uses for those guys. I also managed to parse a BVH file, yay. We also plan on having skeletons in our game, so parsing a BVH is the first step for that.

We’ve been also working on a variety of other stuff and have plans for a lot more in the near future. Don’t want to spoil everything right now though, so keep checking back!

Gary

Productivity

Howdy all, Its Blog time with Team Overlord again 😀

First and foremost I’d like to say I hope our beloved Team Member Rachel Fung had a wonderful birthday this past sunday and we all send her our best wishes. Rachel has been a powerful driving force for Team Overlord’s art since the very begining and has progressed very far along the way.

Hope you had fun Rachel!

Now for the last little bit, we’ve been a wee bit worried that we werent spending enough time on what we REALLY wanted to do, the game. We’ve kind of been distracted by work for other courses (*cough* shaders! *cough*). To circumvent this issue, we decided that over the weekend we would have

(*drumroll*)

THE TEAM OVERLORD GAME JAM!

What is the Team Overlord Game Jam? (think people might get mad if we called it TO Jam? :P)
It’s US, locking ourselves in ONE room, for TWELVE staight hours, to do nothing, but PRODUCTIVE WORK FOR OUR GAME! (lunch breaks included). And productive we were, as it allowed us to hammer out alot of he basic stuff for getting our game going nice and smoothly. One place this helped huge amounts in was the programming department. You see, our lead programmers (Gary Ng, and Gordan Tan), both being fabulousin their own right, had been doing a fair bit of work in the shader department for Dr.Hogue’s class (Gordon being the FIRST student with a full 65 exp!). As such, they both had different frameworks with different pieces tha were better than the others. For instance gary’s camera class is ridiculous and could give autodesk a run for its money, while Gordon’s OBJ loader can theoretically render 2 million pollis on screen with little to no trouble. SOO the entire session last saturday was devoted to merging the best elements of both and figuring out what else needed to be made to form a super Framework. It was a grueling task for the two entrepid programmers but they were able to trudge their way through the grit of it.

A few texturing issues, kinda looks like modern art

A few texturing issues, kinda looks like modern art

Why yes, that IS a beatiful wireframe shot with GPU enabled particles.

Meanwhile, over in the art department, we were able to get some serious work done in the art department, with myself, mack and alex knocking out alot of issues in terms of game and level design. Rachel was not able to make it this time but she assures us she’ll make up for it the next time. (OH WAIT, DID I JUST MENTION WERE DOING THIS MORE THAN ONCE?!?)

Yes, the Game jam was so productive we’ve decided to attempt to do it on a bi-monthly basis so we can really just stuff as much razzle-dazzle in as we can. Back to the art department, Mack and Alex were both able to finish up a base design of a level each, while I managed to get a little down and dirty with mudbox to produce an example level for Gary and Gordon to practice with.

120k polies, no big for us. (note: we're not actually using in game....IM AN EFFICIENT MODELLER!)

Here’s is a gorgeous version I mocked up with baked in lighting and textures.

Mmm I love Turtles (ha, ha, because i used the TURTLE renderer....in maya...ha?)

Add to that the crazy amount of work we got done on our main 3D assets (including our main characters, enemies, and various props and you have a productive weekend indeed..
Heres looking forward to the next time.