Unreal Engine ගැන බොහෝ දෙනා පාවිච්චි කරනවා, නමුත් බොහෝමයක් tutorial එකේ "කොහොමද" කියලා පමණක් පෙන්වයි. එය "ඇයි" කියන හේතුව නොදැනීම අපේ වැඩට බාධාවක් වෙයි.
Dev.to වෙබ්අඩවියේ ලේඛකයා Unreal Engine C++ සමඟ වැඩ කරන අතර, UObject, Reflection, Garbage Collection වැනි මූලික කොටස් ඇයි එහෙම නිර්මාණය කරලා තියෙන්නේ කියලා පැහැදිලි කර ගැනීමට ලිපියක් ලියලා.
ඉන්පසු එම ලිපිය කියන්නේ Unreal Engine එකක් එකම වස්තුවක් නෙවෙයි, එය පදනම් කොටස් ගොඩක් එකට එකතු කරපු layered cake එකක් බවයි. Engine, Framework, UObject, Reflection, Garbage Collector යන පහක් එකිනෙකට සම්බන්ධ වෙලා, එක් එකක් නිර්මාණය කරද්දී පසුගිය එකක් ඇති කරන ගැටළුව විසඳීමට නව එකක් හදලා තියෙනවා.
1997 දශකයේ 3D shooter එකක් තැනීමට කණ්ඩායමක් පටන් ගත්තා කියලා හිතන්න. එයට රෙන්ඩරර්, ඇසට් ලෝඩර්, පරිශීලක ආදාන, භෞතික න්යාය, ශබ්ද එන්ජින්, මල්ටිප्लेයර් නෙට්වර්ක්, ලෙවල් එඩිටරය, සෙව්/ලෝඩ් පද්ධති වගේ මූලික ඉංජිනේරු කොටස් ගොඩක් ලියන්න වෙයි. ඒවා ගේමට අදාළ නොවූ, පමණක් පදනම් ඉංජිනේරු වැඩ. ඒ නිසා වැඩේ බොහෝ කාලයක් ඒම අත්හදා බලන කාර්යයන්ට යනවා, ගේමේ රසය, තරඟකාරීත්වය වගේ අත්දැකීම් සඳහා ඉතිරි කාලය කෙටි වෙයි.
එම ගැටළුවට මුලින්ම උත්තරයක් ලෙස, වෙනත් තැනින් ලයිබ්රරී ලබාගෙන එකිනෙකට කැඳවීම. නමුත් ඒ ලයිබ්රරීන් ඔබේ ගේම් ඔබ්ජෙක්ට්ස් ගැන කිසිම දැනුමක් නැත. ඒ නිසා ඔබේ Actor, Player, Weapon වගේ වස්තු එක්ක ඒවා සම්බන්ධ කරගන්න තවත් වැඩක් කරන්න වෙනවා.
Unreal Engine එකේ Framework එක, ඔබේ කේතය එහි ඇතුළත ක්රියාත්මක වන පරිදි නිර්මාණය කරලා තියෙනවා. UObject මගින් C++ සහ Editor අතර සමාන object model එකක් ලබාදී, Reflection මඟින් රන්ටයිම් එකේ ඔබේ ක්ලාස් ගොඩනැගීම බලන්න හැකියාව ලැබේ. Garbage Collector එකත් එක්ක memory leak ගැටළුව අඩු කරයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
- ශ්රී ලංකාවේ ගේම් ඩෙවලපර්ලාට ඉදිරිපත් කරන ලද ඉංජිනේරු සිතුවිලි නිසා නව engine එකක් හදන අවශ්යතාව අඩු වේ.
- විශ්ව විද්යාල සහ තාක්ෂණික පාඨමාලා වලට Unreal Engine Architecture ගැන ගැඹුරු අවබෝධයක් ලබාදීම, සිසුන්ගේ problem‑solving කුසලතාව වැඩි කරයි.
- ලොකෙත් පළපුරුදු ගේම් ස්ටුඩියෝවලට සමාන pipeline එකක් ශ්රී ලංකාවේ ස්ථානික ව්යාපාරයන්ට ගෙන එමින්, නිෂ්පාදන කාලය හා වියදම අඩු කරයි.
එබැවින් Unreal Engine එකේ වාස්තු විද්යාව අධ්යයනය කිරීම, ඔබේ කේතයෙහි ගැඹුරු අවබෝධයක් ලබාදෙයි. එය ඔබට නව engine එකක් හෝ පද්ධතියක් තැනීමට හෝ පවත්වා ගැනීමට අවශ්ය මූලික සිතුවිලි ලබා දෙයි.
ඉදිරියේදී ඔබේ ගේම් පද්ධතියේ හැඩය, ප්රතිකාරය, පරිපාලන හැකියාව ඉතාමත් සරලව පාලනය කළ හැකි වනු ඇත.