Appendix D.) Proposal Template

Chapters

ประเภทโครงการ

 โปรแกรมเพื่อส่งเสริมการเรียนรู้

โปรแกรมเพื่อความบันเทิง

โปรแกรมเพื่อช่วยคนพิการและผู้สูงอายุ

ชื่อที่ปรึกษา

ชื่อ-นามสกุล รองศาสตราจารย์ ดร. อาษา ตั้งจิตสมคิด

สังกัด/สถาบัน <ชื่อหน่วยงาน>

สถานที่ติดต่อ <ที่อยู่หน่วยงาน>

โทรศัพท์ 02-470-8500  มือถือ - โทรสาร 02-470-8500 e-mail: arsa@sarosworld.com

 วัตถุประสงค์

 1. เพื่อพัฒนาโครงการ <ชื่อโครงการ>

2. เพื่อศึกษาความพึงพอใจของของผู้ใช้งาน <ชื่อโครงการ>

ความเป็นมาและความสำคัญ

            โครงการ <ชื่อโครงการ> นี้เป็นการพัฒนาโปรแกรมเพื่อ<ประเภทโปรแกรมที่ส่งประกวด> โดยตัวซอฟท์แวร์จะรันแบบ Cross Platform ระหว่างระบบปฏิบัติการ Window และ Android โดยใช้ ARSA Framework เป็นตัวขับเคลื่อนหลัก

ช่วงจบความเป็นมาและความสำคัญ

             อีกทั้งผู้ใช้สมาร์ทโฟนมีจำนวนสูงขึ้นอย่างต่อเนื่องในแต่ทุกปี ทำให้สมาร์ทโฟนได้รับความนิยมในวงกว้าง จนแทบจะเรียกได้ว่าเป็นสื่อมาตรฐานในทุกกลุ่มเป้าหมาย ซึ่งเกมแนวประเภทเล่นง่าย (Casual Game) บนสมาร์ทโฟนนั้นเป็นเกมที่ได้รับความนิยมอย่างมาก เนื่องจากมีรูปแบบการเล่นที่เข้าใจง่าย แต่ก็ยังมีความท้าทายในการใช้ความคิดและจินตนาการในการแก้ไขปัญหา

             ทางผู้จัดทำได้เล็งเห็นถึงความสำคัญจากหลักการและเหตุผลข้างต้น รวมถึงเกมบนสมาร์ทโฟนที่กำลังได้รับความนิยม จึงเป็นเหตุผลให้ผู้จัดทำเลือกบูรณาการพัฒนา<ชื่อโครงการ>ในครั้งนี้

 

6. เป้าหมายและขอบเขตของโครงการ

 6.1 เป้าหมายของโครงการ

             1. พัฒนาโปรแกรม<ชื่อโครงการ> เป็นโปรแกรมประเภท<ประเภทโปรแกรมที่เสนอ>

             2. กำหนดกลุ่มเป้าหมายอายุตั้งแต่ <12 ปีขึ้นไป>

             3. หาค่าความพึงพอใจของผู้ใช้งานโปรแกรม<ชื่อโครงการ>

 6.2 ขอบเขตของโครงการ

1. ศึกษากรอบแนวคิดการพัฒนาโปรแกรมด้วย ARSA Framework และภาษา C/C++

2. จัดทำแนวทางการพัฒนาโปรแกรมแบบครอสแพลทฟอร์มรันบนระบบระบบปฏิบัติการแอนดรอยด์และวินโดว์

3. ศึกษาการใช้ OpenGL ES 2.0 เป็น API ในการติดต่อกับฮาร์ดแวร์การแสดงผลบนสมาร์ทโฟน

4. รวบรวมข้อมูลแล้วนำมาสังเคราะห์ตามกรอบแนวคิดเพื่อจัดทำโปรแกรมโปรแกรม<ชื่อโครงการ> 

5. จัดทำเครื่องมือเพื่อหาความพึงพอใจของผู้ใช้งานโปรแกรม<ชื่อโครงการ>

7. รายละเอียดของการพัฒนา

               7.1 เนื้อเรื่องย่อ (Story Board) ภาพประกอบ แบบจำลอง หรือ ทฤษฎีที่เกี่ยวข้อง ตัวอย่างโปรแกรม หรือ ผลงานที่สื่อให้เห็นผลงานที่จะพัฒนาขึ้น

                         7.1.1 ทำเป็น How to play ในการเล่นเกม อธิบายตั้งแต่เริ่มเกมจนถึงจบเกม

                         7.1.2 มี Link และ QR Code สำหรับโหลดเกม สำหรับเกมใครที่มีขนาดใหญ่เกินกว่า Google Play กำหนด ให้ตัดด่านในช่วงหลังออกไปเพื่อลงใน Google Play สำหรับส่ง Proposal งานประกวดนี้

7.1.3 Development Milestone

Month

No.

Task

1

2

3

4

5

6

1.

Game Prototype

 

 

 

 

 

 

2.

Document

 

 

 

 

 

 

3.

Development

 

 

 

 

 

 

4.

Debugging and Review

 

 

 

 

 

 

5.

QA

 

 

 

 

 

 

6.

Close Job

 

 

 

 

 

 

 

 

             7.2 เทคนิคหรือเทคโนโลยีที่ใช้

           ARSA Framework

             คือเครื่องมือช่วยในการพัฒนาเกม 2 มิติและ 3 มิติแบบ Cross Platform และ Open Source พัฒนาขึ้นโดย ผู้ช่วยศาสตราจารย์ ดร. อาษา ตั้งจิตสมคิด จาก ARSA Productions ได้มีความมุ่งมั่นที่จะสร้างและแจกจ่ายเครื่องมือตัวนี้ให้กับนักพัฒนาเกมไปใช้ฟรี อีกทั้งมีความตั้งใจอย่างยิ่งที่จะให้เครื่องมือตัวนี้เป็นมาตรฐาน Framework แห่งชาติในด้านพัฒนาเกม ขณะนี้อยู่ในขั้นตอน Alpha Testing ทำการวิจัยกับนักศึกษาตามมหาวิทยาลัยต่างๆ อาทิเช่น

             1.) มหาวิทยาลัยรังสิตที่ลงเรียนวิชา CGM 224 Console Game Development I และ CGM 276 Game Implementation Techniques ทั้ง 2 รายวิชาเป็น       การสร้างเกมแบบ 2 มิติและ 3 มิติ ตามลำดับ นักศึกษาได้สร้างโปรเจคเกมขึ้นมาโดยอาศัย ARSA Framework จนประสบความสำเร็จ ได้รับรางวัลชนะเลิศการแข่งขันประกวดเกม SIPA Game Contest 2010 ประเภท Console Game และรางวัลชมเชยในประเภทเดียวกัน (ประกาศผลเมื่อวันที่ 15 ตุลาคม 2553 ในงาน BIG Festival ณ. สยามพารากอน)

             2.) มหาวิทยลัยเทคโนโลยีพระจอมเกล้าธนบุรีที่ลงเรียนวิชา CMM342 Game  Development I ได้ทำการสร้างเกมแบบ Cross Platform ระหว่าง Windows, PSP และ Android

             ซึ่งเป็นเรื่องที่น่ายินดีในการสร้างเครื่องมือพัฒนาเกมของบ้านเรา นี่คือข้อพิสูจน์เล็กๆของผลงานวิจัยการสร้าง ARSA Framework ในอนาคตโครงการนี้จะสมบูรณ์และพร้อมที่จะแจกจ่ายฟรีให้กับนักพัฒนาในระดับวงกว้างมากขึ้น

             โครงสร้างของ ARSA Framework แบบ 2 มิติประกอบไปด้วยการทำงานต่างๆมากมายดังนี้

             1.) ตัวจัดการหน้าจอ ทำหน้าที่ติดต่อกับ OpenGL ES 2.0 เพื่อเปิดโหมด Graphic ในความละเอียดขนาดต่างๆตามที่นักพัฒนาเกมต้องการ

             2.) ตัวจัดการภาพ 2 มิติ มีหน้าที่โหลดและแสดงภาพไปที่หน้าจอแสดงผล จุดเด่นของ Framework ตัวนี้คือสามารถแสดงผลไฟล์ PSD จากโปรแกรม Photoshop ได้โดยตรงโดยยังคงคุณสมบัติของภาพประเภท PSD ได้อย่างครบถ้วนไม่ว่าจะเป็น Layer, Visible, Opacity และ Layer Name อีกทั้งยังสามารถใส่ Script เพื่อสร้าง Animation, Transformation และ Grouping ได้โดยตรงจากใน Photoshop และสามารถ Preview ได้ทันทีใน ARSA Framework ส่วนภาพทั่วไปก็ยังสามารถแสดงผลภาพ โดยประเภทของภาพที่สามารถนำมาโหลดได้คือ  bmp, jpg, pcx, png และ tga อีกทั้งคงความเป็น Native ของภาพประเภทต่างๆไว้ได้ในขณะแสดงผล

            3.) ตัวจัดการ Audio/Video มีหน้าที่โหลดและแสดงผลภาพและเสียงในรูปแบบต่างดังนี้ mp3, mp4, ogg, avi, flv, wma, mov, aac, wav, mpeg1, mpeg2, divx และ xvid สามารถเลือกได้ว่าจะให้ Streaming หรือเล่นจาก Memory โดยตรง

            4. ) ตัวจัดการ Assets โหลดไฟล์จาก Zip, TAR, GZ ได้โดยตรงและสามารถเข้ารหัสแบบ AES 128 Bit

            สำหรับเกม 3 มิติ ARSA Framework ก็ได้ถูกออกแบบมาเพื่อรองรับเกม 3 มิติในแบบ Cross Platform สามารถแสดงผลภาพได้แบบ Engine ระดับ World Wide เช่น Unreal Engine และ Cry Engine โดยอาศัยทฤฎี Deferred Shader สามารถควบคุมแสงได้แบบไม่มีข้อจำกัด มีการ Optimization  โดยใช้ Render Target  แบบ 64 Bit/2 Layer คือ มีค่า Albedo ใน Layer แรกและค่า Normal กับ Depth รวมกันใน Layer ที่สอง จากนั้นถอดรหัสเพื่อให้ได้ตำแหน่งของ Vertex ที่ ViewSpace ทำให้ตัว Framework สามารถคำนวณทิศทางของแสงได้อย่างไร้ข้อจำกัดแบบ Framework ชั้นนำของโลก มีการแสดงผลแบบ Normal Mapping และ Cone Step Mapping เพื่อแสดงพื้นผิวให้ดูมีมิติแต่ไม่จำเป็นต้องเพิ่ม Triangle ให้กับตัวเกม ทำให้ความเร็วในการแสดงผลเพิ่มขึ้นและได้ภาพที่สวยสมจริง อีกทั้งยังมีการสร้างภาพแบบ HDR 64 Bit เพื่อให้ภาพหลังจาก Render แล้วออกมาสมจริงเหมือนกับธรรมชาติมากที่สุด ส่วนการแสดงเงาได้นำทฤษฎี PSVSM เป็นการรวมเอา Parallel Split Shadow Maps (PSSM) และVariance Shadow Maps(VSM) เข้าไว้ด้วยกันเกิดเป็นการให้เงาที่มีคุณภาพแบบเกมระดับโลกเช่น Crysis, Lost Planet เป็นต้น

            สำหรับแผนก Artist ที่ไม่ใช่นักเขียนโค้ด ARSA Framework มาพร้อมกับ Sandbox หรือโปรแกรมสำหรับสร้าง Scene โดยตัว Sandbox เป็นโปรแกรมแบบ User Friendly ถูกออกแบบมาเพื่อใช้งานกับ Artist โดยเฉพาะ ไม่จำเป็นต้องมีความรู้ทางด้านเขียนโค้ดโปรแกรมแม้แต่บรรทัดเดียว จึงเหมาะที่จะสร้าง Scene แบบรวดเร็ว มีประสิทธิภาพ สามารถบันทึกแล้วนำไปใช้ได้ในหลายๆ Platform ส่วนในตัวของ Sandbox เองได้นำ  PhysX ของ nVidia มาผนวกเพื่อเพิ่มพลังการแสดงผลฟิสิกส์ให้สมจริงที่สุด จึงนับเป็นเครื่องมืออำนวยความสะดวกให้กับนักพัฒนา

            และยังมี API อื่นๆอีกมากมายที่คอยอำนวยความสะดวกให้กับนักพัฒนาเกมแบบ 2 มิติและ 3 มิติครบถ้วนตามต้องการ ซึ่ง ARSA Framework นี้เองเป็นตัวสร้างพลังขับเคลื่อนให้กับเกม Zaros X Battle  และ Saros Real Battle

            ทั้งหมดที่กล่าวมา ARSA Framework 2 มิติและ 3 มิติ เป็นเครื่องมือ Cross Platform และ Open Source ที่ถูกพัฒนาโดย ผู้ช่วยศาสตราจารย์ ดร. อาษา ตั้งจิตสมคิด เพื่อแจกจ่ายให้กับนักพัฒนาเกมที่สนใจการสร้างเกม สามารถ Download ไปใช้ได้ฟรีแบบไม่มีค่าใช้จ่าย ผู้เขียนหวังว่าสิ่งนี้จะเป็นการก้าวไปข้างหน้าอย่างมั่นคงให้กับวงการพัฒนาเกมในประเทศไทย หวังไว้ว่าอยากให้เครื่องมือตัวนี้เป็นมาตรฐาน Framework แห่งชาติในด้านพัฒนาเกม นำไปต่อยอดสร้างเป็นเกมที่สามารถจับต้องได้อย่างแท้จริง

            7.3 เครื่องมือที่ใช้ในการพัฒนา

1. ARSA Framework (Open Source, zlib license)

2. Visual Studio 2012 or latest (Free)

3. Java SE (JDK) (Free)

4. Apache Ant (Free)

5. Android SDK (Free)

6. Android NDK (Free)

7. Windows 7 or latest

             7.4 รายละเอียดโปรแกรมที่จะพัฒนา (Software Specification) ได้แก่

                     7.4.1 Input/Output Specification

                             รับค่า Input จากหน้าจอ Touch screen

                             แสดง Output บนหน้าจอด้วย OpenGL ES 2.0

                     7.4.2 Functional Specification

                         1.) สร้าง Flow Chart เกม

                         2.) แสดงหน้าจอหลักของเกม ให้ อธิบายว่าหน้าจอนี้ทำอะไรได้บ้าง ทำไมถึงอยู่หน้านี้ กดไอคอนอะไรแล้วไปหน้าต่อไปมีดังนี้

                                     2.1) หน้าจอ Start Game

                                     2.2) หน้าจอ Update Game

                                     2.3) หน้าจอ You Win

                                     2.4) หน้าจอ Credit

                         3.) ตัวแปร Structure ให้อธิบายว่าโครงสร้างนี้ทำอะไร มีไว้เพื่ออะไร ตัวแปรตัวนี้คือชนิดอะไร ทำหน้าที่อะไรในโปรแกรม

structSMissile

{

       irr::core::stringc Name;

       irr::core::vector3df pos, vel;

};

                         4.) Common Module Utilized ให้อธิบายคำสั่งทั้งหมดในช่อง Description/ Condition

Functional Name

Description/ Condition

#include<arsa.h>

 

void init()

 

void deinit()

 

void update()

 

arsa_EasyStart( )

 

arsa_SetFuncInit(init)

 

arsa_SetFuncUpdate(update)

 

arsa_SetFuncDeInit(deinit)

 

              7.5 ขอบเขตและข้อจำกัดของโปรแกรมที่พัฒนา

                         7.5.1 โปรแกรมสามารถรันบน Smart Phone ระบบระบบปฏิบัติการแอนดรอยด์และวินโดว์ได้เท่านั้น

                         7.5.2 รับ Input ได้เฉพาะกับระบบ Touch Screen, Mouse และ Keyboardเท่านั้น

 8. บรรณานุกรม

1. Arsa T. “ARSA Framework: Cross Platform Game Programming”. Bangkok. http://www.sarosworld.com/site . 2015

2. Arsa T. “Hardcore Game Programming Episode II+III+IV”. Published by Innovation media printing. 2005

3. Arsa T. “Hardcore Game Programming Episode I”. Published by ARIP Public Company Limited.  2004

4. Arsa T. “Advanced DirectX”. Published by           SE-EDUCATION Public Company Limited. 2002

 

5. Arsa T. “DirectX Game Programming”. Published by SE-EDUCATION Public Company Limited. 2001

Tags: