Tuesday, June 22, 2010

my website

So it has been a while since I haven't updated my blog. I am currently working on final project finishing up this last milestone and beginning to prepare to look for a job. Currently I am in the process of fixing (and finding my side projects) and making project pages on my website. I will try to update my website with blog posts as soon as I upgrade it to the latest wordpress version. I am going to remove all my twitter feeds from the posts so its not annoying. my website is Rollingheights.com, come check it out over the next couple of weeks!

Wednesday, April 28, 2010

I ALMOST MADE ALL MY ARTISTS ANGRY AND MADE THEM REDO ALL THEIR WORK FOR POC

So yesterday we finally figured out why our character was turned around. Ben, our character artist had the character facing the other direction which I had already corrected by adjusting the camera's view matrix. Today I was going to tell the artists that all their work was for nothing and Ben would have to redo the rig and the others would have to redo all the animations for the character. Happily though, we didn't have to do that because Ben figured out how to turn the character around. A huge stress relief for me.

Another thing that happen today was proof of concept. We did fairly good and I know from here on out we need to change the pace of the development cycle. We need to turn it up and develop efficient from here on out.

Monday, April 26, 2010

End of the coming month.

So today was Proof of Concept day for our whole entire game studio. We had the honor of having almost everyone in GP staff play our games and give us feed back. I think for the most part we did "ok" but we won't know till tomorrow when we speak to our internal producer Carlos and our art director Chopps.

Today I ate Crispers with Phil which I haven't in a really long time. They brought back the pick-a-pair but I had a flatbread with salad which is just a regular item on the menu. I thought the food was and I want to try and eat there more often since I have been gaining weight from not exercising. I have been eating very bad the last 3 months so I need to look out and find the time to go to the gym.

Before Proof of Concept, I honestly was freaking out for the past 4-5 days. I feel this sprint/milestone I had way too many tasks and I shouldn't of done both rendering and animations. I think the way I made the rendering was pretty complicated and more sensible for a long term game. The render engine I built was for a bigger scale game but I do still think that it will come out on top depending on how many shader effects we use since the context sorting and batch rendering will come in handy. I feel like I let all the artists down because I didn't have time or the energy to put all the animations they made during this sprint/milestone into our PoC build. I would of liked to get them all in so their hard work could be shown off to the GP staff. I am really sorry guys, I take all the blame :( This leads me to realizing all the weakness I have in the group. Although I am some what a good programmer, I do have some major flaws that annoy people in our group. For instance, Justice, who I think should be our gameplay lead, really hates the fact that I don't do any of the documentation work until the last minute and the fact that I don't read any of our documentation. I definitely need to get that stuff out of the way so I don't piss him off in that area. Another would be how I don't do my tasks to priority, I didn't implement the animation system until the 11th hour which was one of my major tasks. I honestly got lucky because it could of taken all night throughout the morning to get that system up and running. I'm lucky that it got up and running on the 4th try. I definitely need to accommodate my animation system so changing animations are more versatile and there is a lot more functionality.

Tomorrow our group is going to finish up the tech doc, were going to try to schedule all the way to the beta milestone, and redesign some of the systems in our game for the long run. I definitely learned a lot last sprint and I am hoping to get things done in a more efficient manner. I've also realized that listening to my favorite music group's online radio podcast "Trance Around the World" has kept me programming in an efficient manner. I need to get better headphones since my Sennheiser's plug keeps falling out of the audio port in my labtop.

I can already see the tasks that I would like to do for this milestone. Convert our model exporting and importing to binary as well as exporting the AABB and sphere bounding volumes, write an edge detection shader and maybe a cel shading one, which requires a light source/shading, move the smooth skinning math to the shader since Ben made the character model 6k polygons. Add better functionality to the animations system with the ChangeAnimation function for the actor class. Also I need to combine all the mesh and model data into one so Justice doesn't have like 5 pointers to access vert data. If I have time, I would like to begin to start context sorting and frustum culling with AABBs.

Thursday, April 22, 2010

Really Late post

So I completely forgot to post last night about yesterday's events. Yesterday after lab, I went straight home and went to bed and passed out for about 8 or 9 hours which is good since I haven't been able to sleep for more then 4 or 5 hours at a time. I have been a little tense and stressing the fact that the rendering system is going up at the speed that the EPs and the rest of my group need it now.

Monday, April 19, 2010

A lot of things to do.

So today was a really hectic and busy day for me. I have a good grasp on the rendering system and i hope it will improve with more iterations. Render nodes are definitely getting revised and more closer to usable code than abstract then I had before. Each render node contains a reference to a model w/ animation controller or static mesh (both with a reference to a vertex declaration), a reference to the transform, a reference to the id, a reference to the shader technique, a bool to tell if it is transparent, and a function pointer. I definitely need to getting stuff up and rendering, the pressure is definitely on now because of our external producer making a deadline for Wednesday to have our game be playable. This means that everyday will be an overnighter for me to push working code out. I am avoiding code that will not last the long run and has no chance of being refactored or reused.

Another highlight today was getting to meet an industry programmer who is taking part in a new Residency program @ full sail to help and give feedback to senior students in final project. He provides help and advice to anything the students might be going through during development. We realized in our team that I wasn't able to get much done because every 10-15 minutes people would ask me questions either because they wanted my opinion or advice or because they needed to know information with rendering in our game, which is a huge part of our game. Brian advised that maybe next sprint I could play more of a support role to other programmers who could be tasked on rendering since it is a critical part of the game and jump on it when needed but also float around and support anyone else that needed help. I sometimes think that when I go on and talk about code with other people that it will push people to be a little bit more efficient then they normally are but I also think I give some small synergy and enthusiastic support since I really like to code on particular game topics. I definitely need to rethink about next sprint to tackle this and make sure the team is outputting the most workflow and what is best for the game itself. I told Brian that I love to code and I do love rendering and helping people out at the sametime. I do realize that I need to self-monitor myself so I don't get to distracted when helping other people get their tasks done since people are currently relying on me to finish my tasks but I should take into consideration that maybe if I do help people and give them support and have oversight on other people's code so as a team we can produce more code then that would actually be the best for our game and team. I'll definitely have to talk more about it with Dave and Jake. I appreciate the time and helpfulness Brian from http://www.riptidegames.com brings to Final Project and I hope he enjoys his time here.

On another good note, I have to wake up tomorrow and meet up with Rob Coble to ask him for some advice and questions about job searching and looking. I definitely need to start stuff on the side while in final project to gear myself toward getting a job to start my game development career.

Friday, April 16, 2010

Late post

So I just woke up from my long nap or should I say slumber since I went to bed at around 7 pm. Today was the end of a long week, tomorrow I'm going to be missing my group meeting since I signed up to do Pure Motivation volunteering. We will be doing beach clean up at Cocoa beach near the Kennedy space center where shuttles are launched. I need to also email Rodney, the data structures course director about an interesting c++ occurrence with diamond inheritance. I will post more about that in detail after I formulate some ideas and play around with it.

This week has started out very slow and I've realized in all it hasn't really been all that bad. Since I am in-charge of rendering, I am currently working on the render engine. My tasks currently that I need to finish are 2D Image rendering, static geometry exporting, and scene exporting. All these tasks are around the corner with the completion of my render engine and I definitely feel pressured to finish it since we have no visual representation of anyone's code in our game until I get this finished. I started asking around with the other team's render leads and they all seem to not have rendering as well or at least not all of it done. So since everyone doesn't have rendering, people have to resort to using console to see if their code is currently working properly. I should have 2D rendering and the engine working at the very least on Monday. I need to really push through and spend quality time this weekend. Also I need to finish up and finalize my resume and website to start visualizing what it might look with side projects that I have so Rob Coble can review it when I go in to see him on Tuesday morning.

A major break through also happen as well. Since Ben, our lead character artist was gone for army reserves service, Lisa and I had to figure out how Ben was able to export his character in smooth skinning animation to get it to work. After many iterations and the help of two very nice GP staff members, Anna and Dan/Darren?!(can't remember) Marunowski, we were able to figure out what worked and what didn't work. We were able to get Lisa's coconut breaking animation effect into our game and Derek was able to get his catapult into our game as well. Lisa, Derek, and I am very happy so the three of us (or at least I) have good morale going on right now with a side of pressure to finish the rendering engine.

We did pretty good on our tech document and our EP and AD didn't notice our mistake in leaving in the oppressed asian guy title given to me by Phillip. Another thing I forgot to mention was that I was able to fix our texture UV problems looking messed up. The problem didn't lie in our textures UVs but our camera being messed up. It was rendering our objects mirrored so to correct that I had Derek Hughes help me by negating the x-axis and orth-onormal-inversing the camera's regular matrix to get the view matrix. I need to let Justicar know this, so he can fix that in his camera class since we will be using his and not Wendy's from directx, which we are currently using. I got to sit down with Derek today in open lab after 5pm and talked about scene exporting and static meshes. He covered some good topics today that I wish my artists were there to help me remember since they need to know this stuff. I think the main advice I got out of scene exporting was that I need to use custom attributes a lot so that my engine can recognize a lot of different things in how meshes are going to go into our game. There are two ways to add custom attributes in maya, 1 is in Object mode which adds custom attributes to the transforms and the other is in Face mode which adds custom attributes to the Mesh. When were building our level which we will in maya and were doing mesh instancing (making copies of one mesh), using attributes on the transforms means the attribute will be unique to that mesh so we can specify things like, "this mesh will have a specific texture versus the rest of them, or we won't check collision on this specific instance of the mesh". Using attributes on the mesh itself means that attribute will be shared across all meshes of that type. So think of it as a static variable in a class which has to be shared among all instances versus just having attributes on the transforms which are unique to that instance. I have about 2 hours now since its 3am before I have to get ready and start leaving to go back to the campus to meet up to do pure motivation.

Wednesday, April 14, 2010

long days

Man, I am so fucking tired. The last two days have been really long work days and its not going to end. We got our milestone acceptance today so we are know what we need to do for this sprint to our milestone. I downloaded and installed visual studio 2010, I think I am going to try having a separate 2010 solution and vcproj. I am planning on editing code in 2010 and building the binary in 2008 so we can keep our executable on visual c++ 9. So far visual studio 2010 looks really nice with the layout but its pretty much the samething. Justin Bieber in our group got really annoyed cause he thinks I don't do anything. On a good note, Ben started working on the main character and animated it quickly for me to test. The first try, he exported his character using an efficient memory method by exporting channels instead of all the keyframes with every joint. My importer crashed and I let him know to export all keyframes, even joints that don't move during a keyframe. A sigh of relief finally came over when it worked. So now on my plate, I have static objects and terrain exporting.