Skip to content

January 22, 2013

8

Game Development : 01වන පාඩම

අදින් ඇරඹෙනුයේ  Microsoft සමාගම මගින් ලබාදෙන  XNA Game Studio 4.0 භාවිතා කර ක්‍රීඩා නිර්මාණය පිළිබඳ ලිපි පෙළයි.  මතක තබාගන්න ලෙහෙසියෙන් පටන් ගන්න දෙහි ප්‍රතිපලයට වඩා අමාරුවෙන් පටන් ගෙන කරන දෙහි ප්‍රතිපල වැඩියි. මෙය යම් තරමකට අමාරු උනත් හොද පටන් ගැනීමක්. ඔබට අවශ්‍ය වීඩියෝ ක්‍රීඩා කේත කරුවකු වන්න නම් අමාරු දේ කරන්න. අවශ්‍ය නිකන් ක්‍රීඩා විනෝදයට හදන්න නම් මේ ලිපි පෙළ කියවන්න කාලය මිඩංගු නොකර කෙලින්ම ගේම එන්ජින් එකක් වෙත යොමු වන්න. අප මේ ලිපිය ලියන්නේ එවන් අමාරු මාර්ගය තෝරාගෙන ඉදිරියට යාමට සිතන අයටයි. ටෙක්කතා කරන හැමෝගෙම පැතුම එවන් අයට  තාක්ෂණයට ඇති භාෂා භාධකය ඉවත් කරන්නයි.

එහෙනම් පටන් ගනිමු 🙂

පළමුව කල යුත්තේ අවශ්‍ය පරිසරය නිර්මාණය කර ගනිමයි. මේ සදහා පහත මෘදුකාංග බාගැනීම අත්යවශ්‍යයි..

  1. Microsoft Visual Studio 2010 (බාගත කිරීමට මෙම ලින්කුව භාවිතා කරන්න)
  2. Microsoft XNA Game Studio 4.0 (බාගත කිරීමට මෙම ලින්කුව භාවිතා කරන්න)

පළමුව Visual Studio ඉන්ස්ටෝල් කරන්න. ඕනෑම 2010 සංස්කරණයක් භාවිතා කරන්න පුළුවනි. ලින්ක් එකේ ලබා දී ඇත්තේ Microsoft සමාගම විසින් නොමිලේ ලබා දෙන Express සංස්කරණයයි. ඔබට කැමති visual studio 2010 සංස්කරණයක් ස්ථාපනය කිරීමෙන් පසුව XNA game studio එක ස්ථාපනය කරන්න.

දැන් ඔබේ පරිගණකය හි සැකසුම් සදා නිමයි 🙂

ඊළගට visual studio විවෘත කරන්න. එහි File => New => New Project තෝරා ගන්න. ඉන් පසු එන වින්ඩෝ එකේ වම් පස තීරුවේ Visual C# යන්න දිග හැර එහි XNA Game Studio 4 යන්න තෝරන්න. ඉන් පසු දකුණු පස ඇති ලිස්ට් එකෙන් Windows Game (4.0 ) තෝරාගන්න. ඔබ කැමති නමක් ලබාදී OK ඔබන්න.. දැන් ඔබට නව project එකක් නිර්මාණය වනවා ඇති. ඔබට මෙම කේතම සුළු වෙනසක් කොට Windows phone සහ Xbox වලට යොදාගන්න පුළුවන්. එම වෙනස්කම් ඉදිරියේදී සදහන් වෙයි.

xna1

මෙය C# භාවිතා වෙන කේත ක්‍රමයක්. නමුත් C# දැනගැනීමට අවශ්‍ය නැ.. ඔබ භාෂාවක මුලික දෑ හා OOP  දන්නවා නම් මෙය ඉතා පහසුයි.  අලුතින් ප්‍රොජෙක්ට් එක නිර්මාණය වූ වහාම ඔබට  Game1.cs  ක්ලාස් ෆයිල් එක ලැබෙනවා. මෙහි constructor එක සහ methods 5ක් සහ ස්වයංක්‍රීයව නිර්මාණය වූ class level variables කීපයක් තිබෙන බව ඔබට පෙනේවි. දැන් එකින් එක වෙත යමු. මේවා සමහර විට එකවර නොත්රිමට පුළුවන්. නමුත් එය ප්‍රයෝගිකව කරන විට හොදින් වැටහේවි 🙂

  • Class level variables

GraphicsDeviceManager graphics;  මෙය මගින් කරනුයේ GPU එක සමග අපේ කේත සම්බන්ධ කිරීමයි. එමනිසා අපිට මෙහි කේතකරණයෙන් විවිධ රුප මාධ්‍ය තිරය මත අදින්න පුළුවනි. GraphicsDeviceManager object හි ඇති  GraphicsDevice property එක මගින් මෙම කාර්යය ඉටු කරනු ලබනවා.

SpriteBatch spriteBatch;   මෙය SpriteBatch ක්ලාස් එකේ instance එකක්. මේකෙන් වෙන්නේ අපි තිරය මත රුප අදින්න භාවිතා කරන sprites(images) කළමනාකාරණය කිරිමයි.

  •  Methods Initialize – Game1 class එකේ variables සහ objects ඇරඹීම සිදුකරයි.
  •  LoadContent – ගේම් එක ආරම්භවී  එක දිගටම පවත්වා  ගෙන යාම සදහා භාවිතා විය යුතු සහ යම් යම් ක්‍රියාකාරකම් (reset) වලදී නැවත ලෝඩ් කරන්නන් සදහන් කරයි.  පටන් ගන්නා විට සිදුකෙරේ.
  •  UnLoadContent – ගේම් එකේ process kill වන අවස්ථාවේදී SpriteBatch නිදහස් කිරීම සිදුවේ.
  •  Update – ක්‍රීඩාව ඉදිරියට ගෙනයාමට අවශ්‍ය input, audio, collision detection වැනි ඒවා පාලනය කිරීම මෙම method  එකේදී සිදුවෙනවා.
  •  Draw – පෙර declare කරන ලද graphics device objects ( උදා : spritebatch) භාවිතා කරමින් අප විසින් නිර්මාණය කරන ලද දර්ශන 2D සහ 3D Vector අදාල තිරය මත ඇදීම සිදු කරනවා.

පහල දැක්වෙන්නේ මෙතෙක්  කියූ දෑ සරලව වෙන අයුරු..

 

xna2

ඊළඟ ලිපියෙන් images/sprites අරගෙන වැඩ කරන හැටි බලමු. ගැටලුවක් තියේනම් කොමෙන්ටුවක් ලෙස ඉදිරිපත් කරන්න..  ඔබ සැමට ජය 🙂

 

– Prasad Jayashanka –

Read more from Articles, Guides, How To
8 Comments Post a comment
  1. sa
    Jan 23 2013

    Good work mate! Keep it up

    Reply
  2. Jan 23 2013

    Aththatama godak watina lipi lepak, digatama liyanna mama hemadama balanawa. Asama field ekak.

    Reply
  3. chanuka wijesundara
    Jan 24 2013

    niyama wadak godak sthuthi digatama padam danna api balan innawa………

    Reply
  4. Jan 24 2013

    නියම වැඩක්. දිගටම කරන්න. ගේම් එකක් හරි හදාගන්න බැරියැ

    Reply
  5. Dushmantha
    Jan 25 2013

    Good work. keep it up

    Reply
  6. Feb 22 2013

    Awesome, keep it up

    Reply
  7. Ayesh Madushan
    Mar 7 2013

    ඇත්තටම මට ගොඩක් සතුටුයි මේ වැඩේ නොමිලෙ කරන එක ගැන.අද ලෝකයේ මිල වැඩිම හා කාටත් ගත නොහැක්කේ දැනුම නිසා. මම ඔයාට සුභ පතනවා එක හිතිම්ම මේ වැඩේ ඉදිරියට සාර්ථකව කරගෙන ලැබේවා කියලා.

    Reply
  8. Gihan
    Jul 2 2015

    Mama meka gana kisima deyak danne naaa. but igena ganna kamathi mama. mata meka karganna puluwan weida???

    Reply

Share your thoughts, post a comment.

(required)
(required)

Note: HTML is allowed. Your email address will never be published.

Subscribe to comments

-->