Tuesday, December 17, 2013

Feedback for Vinyl on EAE day

        I asked suggestions and comments for people who play our game for a while and got following response:

        1. Most people don't get the power system and they think power bar is not make sense for them on the UI. (Some suggestion want exchange position for power bar and song procession).
        2 Most people think that shaking on the pipe is awesome especially when it corresponding to music rhythm. However, some people had point out that shaking on the screen make them uncomfortable and dazzle.
       3  They also want our pipe to be different at some extend like it may turn right (Our game just turn left right now..) or boarding on ceiling.
       
        

Sunday, December 1, 2013

Principle I have concluded


          It is the first time that I working as an artist in the team. So I did learn lots of valuable lessons on this semester.  
          1. It's important to communicate with team members especially producer or director who responsible for art part. 
          The best art asset is the one that fit for your game theme most. Make sure you got "key word" right. In other word, you need know what kinds of art style that the team really wanted through their description or picture. Double check art style that you figure out in your brain is the same one that director willing it to be. Because it is fact that different people have different understanding in same word and concept. Take our project "Vinyl" for instance. We have a meeting after IGF to discussion and changing our art style. On the meeting, they knock down a key word "Night Club" for new art asset. So I scratch out this skirt and high heel shoes for fitting the night club style. Because my understanding about girl (Character) in night club is equal to sexy and attracting. 
                                     

          However, it turns out that they want the night club environment not the character style. They want neon and shining light as night clue theme but a character which have decent suit fit for the boarding sports. (This conclusion is made after lots of communication) 



And finally I have balance their ideas and built out a character fit boarding, night club, and music style.
                                   


          2 It's hard to make everybody happy on one art asset, it may be a good idea to give them some tiny choices.
      That is a trick which I learn from my mentor Mark. I do remember that he always ask me to show the character to team with three detail changed, Like changing hair color, tattoo style, tattoo position or something else.  
       "People are wired. They always want this or that and......" "People are strange. They always have lots of different opinion and ideas". Above two conversations was given one by other artist in our team and the other was by my mentor. Yes, people have different of opinion about beauty and fairness. It's inevitable that someone in your team may dislike your work. But if your give them some choice to combine their preference. We can optimize negative opinions and comments at some extend.


          3 Get some buy off when you are working.
           It's easy to understand this one. You can avoid changing details or even the whole thing again and again. 

          4 Put you art assets on the game earlier.
         You may experience some unexpected problems or visual changing when you put you assets from art software to game.
          In my case, three big issues happened in this process. First time is when I totally done the mesh, I gave it to engineers to put it on the game then I found lots of detail that I working so hard on it cannot be seen on the screen. Like tattoo and fingernail:
    Second, when I finish two animations and gave them to Jason K (Lean from previous mistake I just try two and asking him to put it on see what it would like.) .....Just as my concern, since they have shrink down the character, it's hard to see some motion animations since I made them based on full size and real life motion style. So I have to rebuild some new animations that exaggerated a lot. 
   Last one is lots of formats detail and animation detail between Maya and Unity and stuff that I need working with engineer to solve it.
   All in all, the earlier you put you art asset in your game , the more time you get to solve unexpected problems and get know what kinds of  parts you need focus on working process. It is very important in working efficiency and making you model and animation perfect fit in game.




Tuesday, September 3, 2013

Technical artist road begin


         Thanks for my mentor professor Mark. I got a new road for experience game industry—technical artist. I found this area is promising and valuable, and most important it’s just fit me so much for the so many reasons.


I do like programming, but programming in C++ especially debugging is very painful for me. I like scripting which focus on function itself.  Same to art part, I don’t have any foundation knowledge on drawing, but I do enjoy visual effect on the screen generated by computer. 
I just feel I can sit in front of computer do modification in detail for character like sculpture, rigging constrain, painting the weight, animation for whole day. I may say that those learning experience is kinds of like playing video games indeed. Yeah~ when I get some free time, I prefer to open Maya or Z brush to do some funny thing now.  

Saturday, April 27, 2013

Particle Effect on Vinyl



My core concept was to express the feeling that Needle (main character) moves on very fast speed to corresponding to music mood which would be DJ in our design process.  So the high frequency music works together with flashing game scene to catch player’s attention and make them immerse in this music world. 







Thursday, April 18, 2013

Summary of what I have learnt on graphic class


                 
        At first, I want to say” Thank you very much” to John-Paul Ownby for giving us such nice class on this semester. I intend to go to class tonight for got some new information and choose option 1 to build a nice scene at first. But I have to back China to do internship at April 29. So option 3 seems good for me because I should finish all the Assignment as soon as possible and do some preparations for summer travel.

     For computer graphic and coding skill aspect, honestly speaking, I know nothing about computer graphic and DX11 before this class. So starting from a rectangle to a scene with shadow, transparency, light, environment map, translucent effect is truly a long but colorful road. I still remember the day that John explains the graphic pipeline in such an easy way but turn out to be a huge code structure (which has been proved a very expandable and nice frame right now.).

       My understanding of game graphic is a process that lots of vertexes that encased with position information, color information, texture UV, normal, tangent, bi_tagnet and other information we may not know from now on. These vertexes ordered by index buffer (with left-hand rule in DX) then sent to vertex shader to do some math problems like normalize, dot, matrix handle.(generally speaking, is a transition process model position between world position, then world position to view position). After that the vertex shader work out the data which fragment shader use it as input and do lots of magic work (for my understanding blending color in different way.) to show the scene on the screen.  And this also the reason why graphic hardware is such an amazing stuff—do magic work behind screen, under the code.

         Imitate Light is the most impressive creation for me compare to all of our assignment. I already pointed that out in older blog that how this inspired my mind.  This method solves the problem on different way, the way usually opposite to us   (at least me). I should keep in mind to try to solve problem on some amazing different way in daily life.  What is more, I think environment map, render target as Texture and translucent effect are all based on the method inherited from imitate light.

        Code structure is another critical part for me. From this class, I got deep understanding of I/O demanding and why expandable quality is important to a code frame.  We use “Scene” file to determine which Entities and Lights are in the scene. Then use “Entity” file to determine Mesh and Material. “Material” includes Effects and Texture. “Effects” file responsible for which shader we may use. As assignment became more and more complicated, I can feel how important to have this stuff to expand function.

      Besides class, I think JP has lots of excellent personality I should learn from. He demands people (including himself) to finish task as perfect as possible. CADE stuff is a good example. The time he spent to help me to solve this tiny problem is totally enough to just let me use whatever kinds of online driver. But he did this, he give me a detail email comments and link for asking help. No matter how classmates may complain about the assignment, he never canceled it out. “Just use more time to finish what you should finish and learn what should understanding”

       All in all, I am glad that I chose this class and it’s truly meaningful experience.  

Friday, April 12, 2013

Game Graphic 10


 This Assignment ask us to finish soft intersection. So we had to built depth pass first to store opaque bucket information first, then use it on soft intersection Effect. This time we name this information as "view depth texture". Similar to Assignment 9 except that we only output value to red channel. So D3DFMT_R16F texture  was used.......... Nothing beyond clear, preparing data for use, send data to shade for rendering.


Some detail to mention: Lots of trick parts in this assignment, especially to implement comparing current fragments' view depth with the previous view depth.  And remember normalize Z value at first=.=


Here is the result of soft intersection:


Depth Buffer:
   
Depth texture in red Channel:




Tuesday, April 2, 2013

GDC experience

            Blizzcon,E3,GDC... I have dreamed one day that I will have chance to attend these Game Conference since I was on high school. And Golden Gate Bridge is such a mysterious symbol for me until last week. A trip for GDC begin, a journey to San Francisco start.
            Here are some personal experience and judgement about this travel. 
           1 The skills that we learnt in school is still part of  knowledge for game industry. There are huge amounts of  work position offered in game industry and lots of very detailed area may obtain huge success. For instance. I found a company has built its own tools to develop tree model and animation which can be easy load into game engine and gain high efficiency. Also a company developed a small wireless connection device between mobile phone and HID family TV. So people can play mobile phone game on their TV to share happiness on family on a big screen. 
             No matter what kinds of area. Game industry full of opportunity and fortune. Because it changing people's life and bring enjoyment.
             
            2 GDC is awesome and worth to go. 
           (1)  You can meet lots of different people working as different roles for game industry.It is this chance I discover how colorful my future work would be.
          (2)  I should buy conference access tickets next year to gain more advance information about game industry. (I don't know that Expo pass do not include conference this year. I slip in two lecture and they are useful. )
         (3)  Its a good place to get job and internship. 
                 


         
          3 Figure out where you should go is more important than walking to a direction without no doubt. At least its important in game industry, which based on high technology development. What kind of game that player eager for is changing. What kinds of ways they may play is changing. What the purpose drive them to play game may changing too in near future or now.


      4 Small detail
      (1) Game industry in China and Asian is developing in dramatically speed and full of opportunity. (I prefer working on the game based on a culture which I am familiar with)
               
      (2) More and more company are going to publish their own Game Engine. Developing game based on commercial engine or company's own mature engine is future tendency.

     (3) Utah is good place to live and study compare to boisterous San Francisco. I am lucky I had made the right choice.

    (4) We can imagine how life would be hard for the old Chinese generation that came to San Francisco to pursue dream or maybe 
fortune from old photo and building on China town.

    (5) Money on big City like San Francisco is worthless even though you may get high salary on here. So I should insist where I live and work comfortable.

   (6) One famous game can make a once nameless company famous all over the world. And company can take advantage of this to expand its real or unreal fortune.



           


Friday, March 22, 2013

Game Graphic 9

            Finally, got our graphic effects  little advanced :).  
            This assignment asks us to finish both Environment Mapping and Opaque bucket Texture.  For me the principle for these effect are kinds like light effect that we finished on previous assignments. Just like this:
            There is no light on this place, but we imitate how light may effect the result directly on another place. Similarly, imitate how environment may show on the cube or sphere like mirror. Even though, there actually no such environment around us. Not to mention that put the whole Opaque bucket as Texture.

           By understanding this, what we do next is just figure out how to blending color. Just like John said yesterday on class "Graphic is kinds of process computer only care vertexes position and the sequence to building triangles. Finally do lots of blending color work"
          Here are results and screenshot from PIX of Opaque bucket render target used as texture:   


    
                                    


      Another funny part is to do Environment mapping on Sphere.
                               

   Code


 




Tuesday, March 19, 2013

Summary Preface

             For a long time, that I haven't write down something about my game development experience yet. This semester is super busy. Both of our Game Engine Class and Game Graphic Class ask us to do lots of coding work. Besides, I need working on LeoProject to finish a museum game with Cohort 2 students. At same time, Game project class is moving to final  graduation project now.  
           At first, I join to Rover Rescue try to building a RTS game, which treat "survival" as unique sell point. We do design this game very carefully. Everybody expressed some awesome ideas to make a students'  RTS game fun enough.


              However, our game prototype does not pass the "Gate" which   guarded by industry panel  and professors. So the team had to dismiss and team members have to join other teams which passed the "Gate". 
         Even though this fact is heart breaking. But project have to move on just like life itself. I will do a detail summary on other post to keep in mind some design traps. 
         

         I am working on "Vinyl" team right now, a nice design music game as graduation project. I believe this game have grasped the "Dark Bible" of  what a student game should like. Focus on fun and easy to play. Plus unique Music elements, "Vinyl" should have a great chance to be a excellent game and got published.
           

Friday, March 8, 2013

Game Graphic 8

    Here comes Normal map. Such an amazing technology which has changed computer graphic dramatically. Honestly Speaking, I have no idea that what "map" mean here before this class. So I had do lots of reading to figure it out. But I believe the time I spent on the reading are worth and important. It gives me lots of information beyond class.
    Here is results that "RAISED" raised and "SUNKEN" sunken on cube surface.





  My camera work as rotation effect so I have to change  older transparent entity (close to Camera) to use normal materiel for observe the result. So it ruined transparent effect already created(below). This remind me how important the design process. (My program do not have the function to close to the object at first because I don't know it should have in future.) Or it will cause lots of trouble.
                            

 John's class ask us to do lots of stuff beyond game graphic. It's hard and painful experience to grasp them at first. But once you cut them down one by one(plus new stuff coming and merged). I gradually know why we should do task like this way. And what the benefit to do like this.

Code




Friday, March 1, 2013

Game Graphic 7


    Here is the result that we can see that one partially transparent object closest to the camera, and then another partially transparent object through the closest one , and the through both of them.......... 
  
                           

   I did have some difficulty on understanding "current pix location" on DX document at first. So it turns out I thought BLENDOP.. SRCBLEND.. DESTBLEND was three parameters for one function at same time. ..
   Plus so called "buckets" , our code become more structure expandable and integrated.
  Code
     
  And bellow are PIX screenshots
  Opaque and translucent expand







Sunday, February 24, 2013

Game Graphic 6

    Here comes assignment 6.
    This week is unlucky for me. I try this assignment very early because I know that both Maya and Binary files are new to me. However,  I got an eye problem and it make me hard to use computer....

    I want build a nice world at first But my eyes do not support me. Anyway. I had to finish the assignment first. So here just a simple sphere I got it work.
   code
 
 



    When I finish an torus and export it into VS.  I found such a simple polygon  had already contains 400 vertices and 200 faces...... 1809 line code. (Luckily we have Maya, how about the  people finish this when Maya does not exist...)
                                                                       
      I can't imagine how next generation game creating an HDR emulation human face with million polygon. No matter to say the whole game scenes. So may be I should just get a basic understanding of how computer do this for us. And focus on learn game engine  Based on lots of great computer scientist who made powerful engine like Unreal and Cry.

    How to balance my energy to learn Commercial Game Engine and fundamental part of computer science has become a problem now...




   

Friday, February 15, 2013

Game Graphic 5

    Based on Assignment 4

     o_color = diffuse_color*(diffuse_light+float4(g_ambient_color,1.0))+specular_light;

     This is how we do light in computer graphic. Computer science always inspired me in amazing way. Take light here for example. Computer scientist didn't build a source of light(This is what we understood of light and where is light from) in computer, they animate the effect that a point of light, diffuse light, and environment light may caused to a object together to show the graphic.
     They solve the problem on different way, the way usually opposite to us   (at least me). However, it is the unique thinking point that change the world dramatically. Maybe we should keep in mind to try solve difficult problem on different way in daily life. That is the biggest harvest for me.  DX11 may change, shader language  may change or maybe I will change my Job in future. But the knowledge of how to abstract problem to finish it last forever


CODE
Light manual:
 I K J L O P(Z axis)


                                 


Game Graphic 4

 Honestly  speaking , I  believe 10 hours is just enough for me to understood what I should do and how could I do to finish the task.
I spent lots of  time this week to see how my classmates built their I /O  and program structure. From this process  I found how inefficiency my programming is and it is hard to do expansion and code management.
(it is a valuable experience to make such mistake and see how other people do it better)
So I do rebuilt everything and make my I/O systems work in a expandable way.
Similar to I/O system. I realize I should make my parser expandable. So I made Effect parser, Entity parser, Material parser inherited from a parser class in order to do future expansion.


Even though, it is a painful experience to finish such a big structure. But I am glad I had learn lots of knowledge beyond game graphic.

By the way,  I have solved my CADE problems by going to CADE office.  I realize that a directly download link is not only a convenient advance but also take advantage of commercial elements behind a tiny change.


Here are cubes  made by two different fragment shaders


At first I cannot got depth buffer in PIX

With TA's help
m_direct3dDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
                                           
Code

Wednesday, January 30, 2013

Game Graphic 3




    O(∩_∩)O~ Mission accomplished.
   I made my I/O upgraded . From light task , I gradually know what advance math I studied on undergraduate and high school used for.
Computer graphic is a interesting subject. I willing to put more time for deep study.
  And I also want find some shader language information to improve my skills in next few days.
   Manual:
   Light move:
   I J K L (pg up pg dn)moving on z aixs.

    
   

Friday, January 25, 2013

GameGraphic2

This week I had to figure out the whole process of  how professor's huge project work......
initialize  update  arguments flows
I think I even got familiar with DX11 now.
Vertex buffer.. Index buffer, shader, word_matrix view_matrix ... projection_matrix

I spent two day to focus this Assignment and finally I can finish it on time.... hard time but happy ending.

My_Code
Manual :
Position :
arrow_up arrow_down arrow_right arrow_left

Camera:
w s a  d.






Sunday, January 20, 2013

Old Semester Pass, New Semester Comes, Unity Still

              Last semester, last project, we begun to use Unity to developing game. It also the first time that I realize how powerful a commercial game engine looks like. However, We have eight people on the team that time. So when all tasks had been assigned to team members, UI staff and tutorial are all I need to do.  
            
            New semester coming now, this time we have to focus on a big project instead of making several prototype. I finally chose Vinyl  for its unique ideas and peaceful game mechanic (I am tired of fighting with enemy..... and knocking down something on  screen) 
    
               luckily, Vinyl will use Unity to bring her unique feature and mechanic to player. So I can continue learning and working on Unity to increase my understanding of commercial game engine.
At same time, hard working on winter break to make up C++ had solid my C programming style. So C# in Unity would be a good chance to deep my programming skills and software architecture.

        Everything is moving to the bright side. Tuition benefit, langue skill improving, programming skills improving...... Just work harder day by day.... that is what I can do. And I believe it is the promising  road to the colorful future.


Saturday, January 19, 2013

Game Graphic1

Code 
 Finally, I have finish up the assignment of  graphic class. I believe it should be easy to handle at first since I have totally got the key points mentioned on the class . But it turns out that not only we need  use computer graphic knowledge learn from the class. but also C++ I/O and some software architecture stuff.

Besides graphic pipeline , from this assignment I grasp some fundamental ideas for using Class and C++I/O to expand programs. And how John plug Lua language into VS are also inspired me in program integrity.

Below are picture of PIX debugging to modify vertex shader and 
fragment shader: