Sunday, December 16, 2012

What's next

During the Open House we got some really good feedback, looks like our main target (kids) really like our game, a lot of people played our game but definitely kids loved it!
On the other hand a couple of fellow engineers asked me a few questions about what was happening on the back end, what were we doing with some systems in the game and why did we decide to do it that way. After thinking about what I told them that night I also came out with a few easy solutions that will make the game run much smoother and improve the gameplay a lot.

On the other hand, there is still some work to be done on the look of the game, I would like to finally get some time with the level and start modifying the lighting, as I've said before, I don't really know what I am looking for but based on the experiments I have been doing with it I feel like I am going in the right direction!
During one of our early meetings this semesters the team decided to go for an 'expericne' type of gameplay rather than a procedurally generated level generation. This can be good but bad at the same time because I end up having to work with very geometry heavy levels that have most of the fill props being hand placed (but all static) which gives me no common patterns and no repetition, this makes my life horrible when I have to work with the lighting, everything seems to be just random.

Next semester we will keep working on making our game shine like a little kid singing opera! Now that we have all systems in place and most of us have a better understanding of the pipeline and times required for different tasks, we will have a much smoother development process.

Friday, December 7, 2012

Showtime!

For the past few weeks the team worked on getting our main level to an Alpha stage. As I explained on my previous post I had been working on getting the game to look better and trying to give it a different look, I didn't want my game to look like it was some 3D prototype made in the 80s where all the lights had no smoothing and all the light changes were super obvious.

Because Zodiac is supposed to be a paper based game, most of the geometry has hard edges and sharp angle but that was making our game look very low quality in terms of modeling (which I strongly believe is not true). I studied a little bit about shading properties of paper and reflectivity values for it and I kept working with the illumination of the scene, my goal was to create that paper feel, rather than just jaggy bad rendered geometry. Unfortunately the level was not ready on time, our game designer took too long to lay down the simple traps and I didn't have time to get all the lighting in place; rendering lights and baking shadows can be a very time consuming process, especially when you are not an expert and you are not 100% sure what you are looking for. One big limitation that we also found was the poor capability that Unity provides for team work, I was planning on spending at least a couple of days playing with the light, testing and fixing errors that may appear but if I wanted to do that the entire team would have had to wait for me for because I had to work on the final scene and any other type of change that needed to be done would have had to wait.

The level was handed to me the same day we needed to present, I started working with it very early and I was able to bake some of the lights and modify the aspect a little bit. Unfortunately there were still other bugs that were on a higher fixing hierarchy so I ended up having to solve some of that. The game looks a little bit better now but there's definitely still a lot of stuff that can be improved.

Wednesday, November 28, 2012

Make it look good!

The Kinect Posing tool is done! At least for now we agreed that the functionality it has is enough for this stage and the lead engineer asked me to start working on making our game look better!
These days we have been working on little details of our game, adding HUD elements to give enough information to the player, crunching numbers to make gameplay more complicated but way more fun, modifying our models to make them better for the game, etc...
There has been a lot of changes on the art side, now that we have more experience with Unity and how it uses 3D models, we are at the stage where we can modify the geometry to make it look the way we want and get some special effects in Unity. These tweaks have also brought many challenges, some very common ones but a lot of unexpected too. 
I started working with the Lightmapping tool in Unity, right now most of our textures don't have any lighting information and I thought there is a lot of volume information that has gone missing because of that; the ligthmapping tool works well in the sense of giving you the ability to modify color tones to make stuff look more interesting. I have been testing with our level and checking what is possible and what is not; here is a small test that I put together to present to my team, I believe they liked it!
Another area I wanted to work on more was writing some custom shaders and some post-processing image effects. Hopefully I will get the all the 3D models on time so I can lit them properly and move on to the next stage! 


[ before / after ]



Friday, November 2, 2012

Ready to submit

Long nights, big cups of coffee (not really, coffee is kinda forbidden in here) and lots of compiling errors!
That has been the story of Zodiac Engineers for the last couple of weeks. We have been doing a lot of progress, not only on the engineering side but our artists are finally catching up with great stuff!

After lots of iterations, we're finally getting all our puzzle pieces together. As I wrote before, most of the engineering systems were working fine already and we have been polishing them. Personally I am still working on polishing the Kinect data, I feel like there's so much to do but at the same time so little, I really need to start putting together some testing sessions because I need to start checking the data more and more, nobody in our team is a motion expert so there is a lot of testing to do. I'm implementing multiple features in our Poses tool, hopefully that will help me compare the data in a more visual and effective way. 

IGF deadline was here and we were getting ready for it, there were some crunch hours but we finally came out with a solid build and one of my teammates came with a great solution for putting together an installer that puts everything in place with just a few clicks. Our producer made a video of the game that exemplifies what it is about, I have to say I am really happy with what he did! The video shows the game very well, specially the special features and the fun parts of it, hopefully that will give us a little bit of a burst! Personally I am not 100% sure what's next (other than keep working on gameplay and polishing the Kinect data) but there are really good things coming up, I am sure! 

Wednesday, September 26, 2012

Presenting again

There has been a lot of activity since my last post.

We have been working on getting a game that fits our limitations the best, we discussed a lot about what kind of mechanics we wanted to have. One of the main discussions was about procedural generated levels or experience oriented levels, along with this discussion we had to consider the human resources that we had so we could estimate how much time stuff was going to take.

On the engineering side a lot of code was done since last semester, must of the stuff we did only needed a few hours of polishing in order to make it to the final build. At least on the engineering team our main concern was the art (ironic but true), we don't have enough art members on the team and they do not have a lot of experience doing 3D art in general. We also fell that they were not being able to create assets as fast as we were demanding them, they had the skills but they were just not giving us enough stuff on time. Our engineering lead asked me to start working on some 3D models too, we started setting deadlines for the art assets (even thought we were the engineering team). This actually worked very well, we had to push our artists a little bit in order for them to know that they needed to put more time on the project, again, they have the skills but they were just not giving us enough art on time.

After we saw that the art department was back on the fast lane again, I was able to keep working on my engineering tasks. I am still polishing the Kinect poses recognition tool, the tool was working fine but I just need to re-architect some of the code so it could be more generic easier to implement with different modules.  We also started working with the new version of the Kinect SDK, it is basically the same but there are some changes on the API, luckily enough we were able to tackle those changes in just a couple of hours.

For this presentation I worked on getting a more robust architecture for the poses, I had a really intense coding week but I'm really glad the new implementation is intuitive and supports more changes than the previous one. At the end we had to crunch for a little bit in order to get all the code back in the final build, hopefully for the next deadlines we will be more organized so we can avoid rushing a few days before the actual presentation.

Friday, April 27, 2012

Multiple abilities!

Our game is going well, most of the code needed for alpha is already written and working. We only have two artist so that was definitely delaying the development pipeline, they have to do a lot since it's a videogame and obviously the visuals are one of the main hooks.
There was so much stuff to do on the art side so I had to help there, we didn't have a level so I worked with Josh (our game designer) on laying down what we needed for the first/tutorial level of out game. He had a good idea of what he wanted the player to experience in this first level but we had to polish a lot of the specific tasks to do this. 
I had been working on the code before so I knew what we were capable of doing with the code that we already had, this made it easier because we could present our different features as much as possible, that way people will actually notice good advance and find the fun of the game.
After deciding the tasks the player need to do I started modeling the different art assets in order for this to work. A lot of testing had to be made together with this, I had no problem modeling the level and then testing it in Unity, even when the importing process is really simple, making sure assets work before committing them is very important (hopefully all artists know this).
I modeled the entire terrain for the first level, including mountains, rivers, etc. I knew different specifications needed for it so that made it simple enough for me. I tried to do it as organized and fun as possible, that way the players would understand what they were expected to do and how they were expected to do it. 
At this point we have a game, with good interactivity, scoring system and a winning state!

Monday, April 16, 2012

Getting beautiful

I've kept working on my pose-recognition tool.
It definitely is at the stage where it can be used efficiently, outputs and inputs data properly. My next step is to keep polishing it, it has several pose recognition algorithms that I am planning on using on the game and I would like to change the functions just so they are as generic as possible.
The problem with this is that the team is already working on the with the stuff I wrote. Even though Unity allow us to have multiple coders working on the same files with a significantly easy way to combine it, the is no scene merge option, if one guy works on a scene in Unity it's impossible to merge changes done in it and that makes the development pipeline much slower.