GameDesign -
"Game design" 創造規則和遊戲內容,不包含 programing , art , animation , marketing,而這些全部稱為"Game development",而"Game design"是"Game development"的一部分。
SystemDesign -
1.遊戲如何開始?(Rule for setup)
2.遊戲開始,什麼事情會發生在玩家身上且玩家人做什麼事?(Rule for progression of play)
3.遊戲如何結束,當勝利或失敗,這些如何判斷?(Rule for resolution)
What is a Game Designer -
1.Artits -遊戲可以是一種藝術的格式。
2.Architects - 創造藍圖(in the form of prototypes)。
3.Party hosts -邀請玩家到遊戲裡。
4.God - 創造世界、物理規則,管理世界。
How is a game designed?
1.Waterfall method
2.Iterative approach
In general, the more times you iterate, the better your final game will be.
缺點:implementation risk,market risk
------------未完成
Friday, May 7, 2010
Tuesday, April 20, 2010
Monday, April 19, 2010
Sunday, April 18, 2010
XNA-ShaderEffect(Step.3)
Norma Map:
float3x3 tgtSpace;
tgtSpace[0] = mul(input.Tangent,skinTransform);
tgtSpace[1] = mul(cross(input.Tangent,input.Normal),skinTransform);
tgtSpace[2] = mul(input.Normal,skinTransform);
float3 tgtLightDir1 = mul(lightDir1,tgtSpace); ***
float3 tgtLightDir2 = mul(lightDir2,tgtSpace); ***
-----------------------------------------------------------------------------------
PixelShader
return outColor * (diffuse*2) +Specular Light;
Wednesday, March 31, 2010
XNA-ShaderEffect-Shadow(Step.2)
Disable Diffuse light
DepthStencilFormat :DepthFormat.Depth24Stencil8;(According to Computer Hardware)
----------------------------------------------------------------------------------------------
GraphicsDevice.Clear(ClearOptions.Stencil, Color.Black, 0, 0);
GraphicsDevice.RenderState.StencilEnable = true;
GraphicsDevice.RenderState.ReferenceStencil = 0;
GraphicsDevice.RenderState.StencilFunction = CompareFunction.Equal;
GraphicsDevice.RenderState.StencilPass = StencilOperation.Increment;
GraphicsDevice.RenderState.AlphaBlendEnable = true;
GraphicsDevice.RenderState.SourceBlend = Blend.SourceAlpha;
GraphicsDevice.RenderState.DestinationBlend = Blend.InverseSourceAlpha;
----------------------------------------------------------------------------------------------
Control ShadowEffect
Tuesday, March 30, 2010
XNA-ShaderNote
GlobleVaule
struct VertexShaderINPUT
{
float4 Postition : POSITION0; //Require
}
struct VertexShaderOUTPUT
{
float4 Postition : POSITION0; //Require
}
VertexShaderOUT VSBasic(VertexShaderINPUT input)
{
float4 WorldPostition= mul();
float4 ViewPosirion= mul();
return output;
}
float4 PixelShader() : COLOR0
{
return float4;
}
technique NAME
{
pass NAME2
{
compile Version;
}
}
----------------------------------------------------------------------------------------------
Shadow
FX:
1.Create PixelShader for technique
2.Define technique
C#:
1.Define Matrix for shadow
Matrix.CreateShdow(Light,Plane)
Draw Funtion()
1. Define Matrix[] for shadowBones And get Bones.Length
2. Bones[i]*shadow
3.Draw Model
4.Check RenderState
GraphicsDevice.Clear(ClearOptions.Stencil, Color.Black, 0, 0);
GraphicsDevice.RenderState.StencilEnable = true;
GraphicsDevice.RenderState.ReferenceStencil = 0;
GraphicsDevice.RenderState.StencilFunction = CompareFunction.Equal;
GraphicsDevice.RenderState.StencilPass = StencilOperation.Increment;
GraphicsDevice.RenderState.AlphaBlendEnable = true;
GraphicsDevice.RenderState.SourceBlend = Blend.SourceAlpha;
GraphicsDevice.RenderState.DestinationBlend = Blend.InverseSourceAlpha;
struct VertexShaderINPUT
{
float4 Postition : POSITION0; //Require
}
struct VertexShaderOUTPUT
{
float4 Postition : POSITION0; //Require
}
VertexShaderOUT VSBasic(VertexShaderINPUT input)
{
float4 WorldPostition= mul();
float4 ViewPosirion= mul();
return output;
}
float4 PixelShader() : COLOR0
{
return float4;
}
technique NAME
{
pass NAME2
{
compile Version;
}
}
----------------------------------------------------------------------------------------------
Shadow
FX:
1.Create PixelShader for technique
2.Define technique
C#:
1.Define Matrix for shadow
Matrix.CreateShdow(Light,Plane)
Draw Funtion()
1. Define Matrix[] for shadowBones And get Bones.Length
2. Bones[i]*shadow
3.Draw Model
4.Check RenderState
GraphicsDevice.Clear(ClearOptions.Stencil, Color.Black, 0, 0);
GraphicsDevice.RenderState.StencilEnable = true;
GraphicsDevice.RenderState.ReferenceStencil = 0;
GraphicsDevice.RenderState.StencilFunction = CompareFunction.Equal;
GraphicsDevice.RenderState.StencilPass = StencilOperation.Increment;
GraphicsDevice.RenderState.AlphaBlendEnable = true;
GraphicsDevice.RenderState.SourceBlend = Blend.SourceAlpha;
GraphicsDevice.RenderState.DestinationBlend = Blend.InverseSourceAlpha;
Monday, March 29, 2010
XNA-ShaderEffect-Shadow(Step.1)
Shadow
Matrix[] Shadow;
Matrix[] shadowBones = new Matrix[Bones.Length];
for()
{
shadowBones[i] = Bones[i] *shadow;
}
foreach()
{
draw View,Bone,Projection
}
------------------------------------------------------------------------
//GraphicsDevice.RenderState.FillMode = FillModel.Point;
//GraphicsDevice.RenderState.FillMode = FillModel.Solid;
Sunday, March 28, 2010
XNA-ShaderEffect(Step.2)
Normal Map with Diffuse Light
BlackLine: The Diffuse Light Direction (1,1,1) And (-1,-1,-1,-1)
float3 Data1: TEXCOORD1
Remove :
saturate(dot(input.Date1,normalize(lightDir1)));
Subscribe to:
Posts (Atom)