junka man game

17
บทที1 บทนา ชื่อโครงการ โครงการพัฒนาเกมส์ “Junka man” ที่มาและความสาคัญ การพัฒนาเกมส์ ”Junka man” เป็นส่วนหนึ่งของวิชา cmm 342 Game Development I เพื่อ ศึกษาวิธีการพัฒนาเกมบนเครื่องเกมเบื้องต้น วิธีการโปรแกรมข้ามแพลทฟอร์ม การใช้ชุดพัฒนา ซอฟต์แวร์สาหรับเครื่องเกม การควบคุมเกมด้วยอุปกรณ์เกม เช่น จอยบังคับ เมาส์ คีย์บอร์ด เป็นต้น ศึกษาการทาเกม 2 มิติ และวิธีการแทรกเสียงในเกม และนอกจากนนี้ยังเป็นการประยุกต์ใช้ความรู้ทุกด้าน ในสาขาวิชาวิทยาการคอมพิวเตอร์ประยุกต์ - มัลติมีเดีย มาประยุกต์ใช้ร่วมกันในการพัมนาเกม Junka man อีกด้วย วัตุประสงค์ เพื่อพัฒนาเกมส์ Junka man ระยะเวลาในการดาเนินงาน ตั้งแต่เดือนมิถุนายน จนถึงเดือนกันยายน พ ..2554 ประโยชน์ที่คาดว่าจะได้รับ - เพื่อให้เข้าใจพื้นฐานเกี่ยวกับองค์ประกอบของการเขียนโปรแกรมข้ามแพลทฟอร์ม - เพื่อให้มีความรู้ ความเข้าใจลักษณะคาสั่งชุดพัฒนาซอฟต์แวร์ในปัจจุบัน

Upload: arto11

Post on 02-Mar-2015

239 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Junka Man Game

บทท 1

บทน า

ชอโครงการ

โครงการพฒนาเกมส “Junka man”

ทมาและความส าคญ

การพฒนาเกมส”Junka man” เปนสวนหนงของวชา cmm 342 Game Development I เพอ

ศกษาวธการพฒนาเกมบนเครองเกมเบองตน วธการโปรแกรมขามแพลทฟอรม การใชชดพฒนา

ซอฟตแวรส าหรบเครองเกม การควบคมเกมดวยอปกรณเกม เชน จอยบงคบ เมาส คยบอรด เปนตน

ศกษาการท าเกม 2 มต และวธการแทรกเสยงในเกม และนอกจากนนยงเปนการประยกตใชความรทกดาน

ในสาขาวชาวทยาการคอมพวเตอรประยกต-มลตมเดย มาประยกตใชรวมกนในการพมนาเกม Junka man

อกดวย

วตประสงค

เพอพฒนาเกมส Junka man

ระยะเวลาในการด าเนนงาน

ตงแตเดอนมถนายน จนถงเดอนกนยายน พ.ศ.2554

ประโยชนทคาดวาจะไดรบ

- เพอใหเขาใจพนฐานเกยวกบองคประกอบของการเขยนโปรแกรมขามแพลทฟอรม

- เพอใหมความร ความเขาใจลกษณะค าสงชดพฒนาซอฟตแวรในปจจบน

Page 2: Junka Man Game

- เพอใหทราบถงหลกการควบคมเกมดวยอปกรณเกม

- เพอใชประยกตสรางเกม 2 มต และวธการแทรกเสยงในเกม

- เพอใชเปนพนฐานในการศกษาตอในระดบทสงขน

- เพอประยกตใชความรดานมลตมเดยทงหมดทไดศกษามาตลอดในระยะเวลา 3 ป

ขอบเขตการศกษาคนควา

พฒนาดวยโปรแกรม Visual Studio 2010, Arsa Framework , Adobe Photoshop , Adobe

Illustrator, Adobe Flash ซงเกมThe Junk เปนเกมแนวแนวผจญภย มแมลงสาบเปนตวเอก โดย

แมลงสาบตวนท างานแฮกคอมพวเตอรมนษยอย และเกดหวขนมา จงเดนทางขนไปหาเสบยงบนโลก

มนษย เปนเกมแนวตะลยดาน ในแตละดานแมลงสาบผหวโหยจะตองผานอปสรรคตางๆ เพอหาเสบยง

อาหารมาใหได

แนวคดและแรงบนดาลใจในการพฒนาเกมส Junka man

กลมผพฒนาเกมส มนสยทกระตอรอลนมาก จนบางครงมากเกนไปจงมปญหาเรองการท าสมาธ

อยนงๆไดไมนาน กลมผพฒนาเกมสจคงตองการสรางเกมสทชวยฝกสมาธได เปนเกมสทสรางสรรค ไม

สงเสรมสงผดศลธรรม และเปนเกมสทสอดแทรกคณธรรมใหไดคด จงไดตกลงกนพฒนาเกมส Junka

man โดยมแมลงสาบเปนตวด าเนนเรอง ผเลนจะตองคอยกระโดดหรอสไลดเพอหลบหลกสงกดขวาง ผ

เลนตองใชไหวพรบในการเกบไอเทม และยงชวยฝกใหมสมาธอกดวย

การด าเนนเนอเรองของเกม

แมลงสาปตวหนง มความเคยดแคนตอมนษย มนจงพยายามทจะแฮคระบบของมนษยโลก แต

ในระหวางทมนก าลงคร าเครงกบการแฮคระบบนน มนกรสกหวขนมา มนจงออกเดนทางหาเสบยงอาหาร

บนโลกมนษย และเรองราวการผจญภยครงนกเกดขน

Page 3: Junka Man Game

ผจดท า

1. นายจกรวาล เทพศกดดา 52214511

2. นายธนวนท จะแจง 52214526

3. นางสาวภพพตรา จนทมา 52214541

4. นางสาววรรณลกษณ โสสนย 52214543

5. นางสาวเลอมมก รตนพงศถาวร 52214559

แผนการด าเนนงาน

ม.ย. ประชมวางแผนงาน/ ออกแบบ คาเรตเตอร ธมในแตละฉาก/ แนวคดในการเขยนค าสงคอมพวเตอร

ก.ค. เขยนค าสงคอมพวเตอร/ปรกษาอาจารยทปรกษา

ส.ค. ทดสอบและแกไขขอผดพลาด

ก.ย. สงงาน การพฒนาเกมส The Junk

Page 4: Junka Man Game

บทท 2

เอกสารทเกยวของ

Arsa Framework ARSA Farmework เปนเครองมอทชวยในการพฒนาเกม 2 มต และ 3 มต โดยผเขยนไดแจกจายใหนกพฒนาเกมสไดใชฟร ซงเปนเรองนายนดในการสรางเครองพฒนาเกมสในบานเรา

โครงสราง ARSA Farmework แบบ 2 มต ประกอบดวย class ตางๆมากมาย เพอจดการหนาจอ เปดปดดหมดเกมสในความละเอยดตางๆเพอโหลดและแสดงภาพไปทหนาจอ สามารถแสดงภาพไดทง bmp,jpg,pcx,psd,png และ tga รวมถงการแสดงแบบ animation เพอจดการเสยงตางๆ และอกมากมายในการอ านวยความสพดวกใหกบนกพฒนาเกมส 2 มต

ส าหรบเกม 3 มต ARSA Farmework ถออกแบบมาเพอรองรบเกม 3 มตในแบบ Cross Platform สามารถแสดงผลไดแบบ Engine ระดบ World Wildท าใหเกมสมความเรวในการแสดงผลเพมขนและไดภาพทสมจรง สมดลกบธรรมชาต

Page 5: Junka Man Game

พนฐานภาษา C++

ภาษา C++ (อานวา ซ-พลส-พลส) เปนลกผสมระหวางภาษา Simula และภาษา C โดยรบเอาแนวคดของภาษา C มากกวา 95% ประยกตเขากบแนวคดเชงวตถของ Simula ท าใหภาษา C++ เปนลกผสมระหวาง Procedural Language และ Object Oriented Language เราไมสามารถบอกไดวา C++ เปน OOP100% โดยเราอาจเลอกเขยนแบบภาษา C ไดอกแบบหนง ภาษา C++ เปนภาษาโปรแกรมภาษาหนงทไดรบการพฒนาขนมาไมนานนกและเปนภาษาทมความสามารถสง ดงนน ในบทนจะเสนอความเปนมาของภาษา C++ รปแบบการเขยนโปรแกรมขนตน เพอเรยนรถงองคประกอบตางๆ ทจ าเปนในการเขยนโปรแกรมดวยภาษา C++ เชน การเขยนคอมเมนต การประกาศตวแปร ชนดขอมลทควรร รวมทงขอสงเกตทนาสนใจในภาษา C++ เชน ตวด าเนนการตางๆ การจดการกบการเกดสวนลน (Overflow) เปนตน ความเปนมาของภาษา C++ C++ มรากฐานมาจากภาษา C และเปนภาษาทคลมภาษา C ไว C++ ยงคงรกษาความสามารถและความยดหยนของ C ในการเขยนโปรแกรมระบบต า รวมทงโปรแกรมควบคมฮารดแวร ทส าคญกวานน คอ C++ ใหการสนบสนนการเขยนโปรแกรมแบบ Object-Oriented C++จดเปนภาษาทมความสามารถมากกวา ADA และ Modula-2 ขณะทยงคงความมประสทธภาพและความกะทดรดของภาษา C ไว ดงนน จงเปนภาษาโปรแกรมภาษาหนงทยอมใหโปรแกรมเมอรเขยนโปรแกรมแบบมโครงสราง และเขยนโปรแกรมเชงวตถไดอยางมประสทธภาพ C++ เปนภาษาผสม (Hybrid Language) โดยอาจแกปญหาหนงดวยวธ Object-Oriented ลวนๆ หรออาจแกปญหาดวยการใชภาษาแบบเกา ซงมโครงสรางบางอยางเพมขนจากภาษา C ในทางปฏบตในการแกปญหามกจะสะทอนใหเหนวธการทง 2 แบบ C++ ถกพฒนาโดย Bjane Stroustrup ท Bell Labs ในชวงทศวรรษ 1980 Dr.Stroustrup พฒนาภาษานขนเพอเขยนซอฟตแวรจ าลองเหตการณ (Event-Driven Simulation) ทมความซบซอน ซงมRick Mascitti เปนผตงชอของภาษานใหกบเขา C++ ถกออกแบบใหสงเสรมการพฒนาซอฟตแวรขนาดใหญ โดยเพมการตรวจสอบ Type เขาไป เมอเปรยบเทยบกบ C แลวจะลดขอผดพลาดลงไดมาก เพราะวาภาษา C ยอมใหโปรแกรมเมอรควบคมระบบในระดบต าไดโดยตรง โปรแกรมเมอรจ านวนมากจงท างานโดยเรมจากโครงสรางระดบต า แลวน าสวนตางๆ เหลานมาประกอบกนเปนโครงสรางใหญ แตในภาษา C++ จะท าในทางตรงกนขาม คอ ก าหนดโครงสรางใหญกอนน ามาสมพนธกน แลวจงก าหนดโครงสรางยอยๆ ตอไป รปแบบการเขยนโปรแกรม C++ ภาษาโปรแกรม C++ เปนภาษาโปรแกรมทไมมรปการเขยนตายตว กลาวคอ ไมตองก าหนดวาองคประกอบของโปรแกรมจะตองเขยนอยในบรรทดหรอบนหนากระดาษสวนไหน ดงนน โปรแกรมเมอรจงมอสระทจะวางรปแบบของโปรแกรม แตโปรแกรมเมอรทมประสบการณยอมทราบดวาการเขยนโปรแกรมรปแบบทดนนจะตองอานงาย สะดวกตอการแกไขขอผดพลาดของโปรแกรม และงายตอการดแลรกษาโปรแกรม แตอยางไรกตาม เราสามารถเขยนตามระเบยบแบบแผนมาตรฐานของภาษา C++ ซงมขอปฏบตงายๆ ดงตอไปน 1.การเขยนประโยคตวเตรยมประมวลผล #include ไวทต าแหนงเรมตนของโปรแกรม

Page 6: Junka Man Game

2.เขยนบรรทดละหนงค าสง 3.เขยนกลมค าสงทอยภายในบลอกแบบยอหนา 4.ใหมการเวนวรรคตรงเครองหมายตวด าเนนการทงกอนและหลงเครองหมาย เชน n =4 ระเบยบแบบแผนอกลกษณะหนงทพงปฏบต คอ การเขยนชอตวแปร ถาเขยนดวยชอสนๆ จะลดโอกาสทจะพมพผด แตในขณะเดยวกนกควรจะเปนชอทสอความหมายวาตวแปรนนแทนอะไร การเขยนรปแบบน เรยกวา รหสค าสงเอกสารในตวเอง (Self-Documenting Code) โปรแกรมเมอร C++ เกอบทงหมดนยมเขยนชอตวแปรดวยพมพเลก ยกเวนในกรณทชอตวแปรประกอบดวยค าหลายๆ ค าจะเขยนตวอกษรตวแรกของค าทมาตอทายดวยตวพมพใหญ เชน Char Middle Initial; Unsigned Max Unsigned Int; เหตผลทเขยนแบบน เพราะจะท าใหอานงายกวาเขยนดวยตวพมพเลกเพยงอยางเดยว เชน Middleinitial และ Maxunsignedint หรอมอกวธหนงทนยมใหเชนกน คอ การใชเครองหมาย สญประกาศ(underscore ‘_’) เปนตวแยกค าแทนชองวาง เชน Char middle_initial; Unsigned Max Unsigned Int;

โปรแกรม Visual Studio

Visual Studio คอ ซอฟตแวรประเภท IDE (Integrated Development Environment) ชวยใหผพฒนาโปรแกรมสามารถเขยนโปรแกรมดวยความสะดวกสบายขน สามารถแกไขขอผดพลาดในการเขยนโปรแกรมไดงาย รวดเรด

โปรแกรม Photoshop โปรแกรม Photoshop เปนโปรแกรมทมความสามารถในการออกแบบกราฟก เพอน าไปใชรวมกบงานในดาน

ตาง ๆ เชน งานกราฟกทเกยวกบสอสงพมพทกประเภท งานกราฟกบนเวบไซตและการตกแตงภาพถายจากกลองดจตอล ซงอาจกลาวไดวาเปนโปรแกรมทมผนยมน ามาใชในการออกแบบและตกแตงภาพถายกนมากทสด

Photoshop เปนโปรแกรมทใชในการสรางภาพและ การตกแตงภาพทก าลงเปนทนยมอยางสงสด ในปจจบนเนองจากเปนโปรแกรมทท างานไดอยางมประสทธภาพ และผลงานทไดเหมาะทจะใชกบงานสงพมพ นตยสารงานมลตมเดยและสรางกราฟกส าหรบเวบทนบวน ก าลงพฒนาไปอยางไมหยดยง และถงแมวา Photoshop จะเปนโปรแกรมทมประสทธภาพสง แตการใชงานกลบไมยาก อยางทหลายคนคด เราสามารถเรยนรการใชงานในโปรแกรม Photoshop ไดอยางรวดเรว แมวาเราจะมพนฐานทางคอมพวเตอรไมมากกตาม

Page 7: Junka Man Game

โปรแกรม Illustrator

โปรแกรม Illustrator เปนโปรแกรมส าหรบสรางภาพลายเสนทมความคมชดสง งานภาพประกอบและงานกราฟก

แบบ 2 มตตางๆ เชน การสรางโลโกสนคา จนไปถงการจดเลยเอาตงานสงพมพ และมเครองมอทชวยเหลอในงานเวบไซต

อกดวย ภาพกราฟกสามารถแบงไดเปน 2 แบบคอ 1.ภาพแบบพกเซล (pixel) คอ ภาพทเกดจากจดภาพในรปภาพท

รวมกนเปนภาพขน โดยภาพหนงๆ จะประกอบไปดวยจดภาพหรอพกเซลมากมาย และเเตละภาพทสรางขนจะมความ

หนาเเนนของจดภาพ หรอบางครงแทนวาความละเอยด (ความคมชด)ทเเตกตางกนไป จงใชในการบอกคณสมบตของ

ภาพ จอภาพ หรอ อปกรณแสดงผลภาพได 2.ภาพกราฟกสเวกเตอร (vector graphics) คอ ภาพทเกดจากการก าหนด

พกดและการค านวณคาบนระนาบสองมต รวมทงมมและระยะทาง ตามทฤษฎเวกเตอรในทางคณตศาสตร ในการ

กอใหเกดเปน เสน หรอรปภาพ ขอดคอ ท าใหสามารถยอขยายได โดยคณภาพไมเปลยนแปลง ขอเสยคอภาพไมเหมอน

ภาพจรงเปนไดเพยงภาพวาด หรอใกลเคยงภาพถายเทานน ขอมลภาพพวกนไดเเกไฟลสกล eps, ai (adobe illustrator)

เปนตน ** โปรแกรม Illustrator ท างานแบบ vector graphics

ความแตกตางระหวางรปแบบ vector และแบบ pixel

โปรแกรม Premiere Pro

โปรแกรมในการตดตอวดโอ (Video) และไฟลเสยง (Audio) เพอน ามาประกอบกนเปนภาพยนตร โดยเปนหนง

ในโปร แกรมตระกล Adobe ทไดรบการพฒนาอยางตอเนอง เพอใหตวโปรแกรมมประสทธภาพ และความสามารถทเพม

มากขน รวมทงหนาตาของโปรแกรมทพฒนาใหใชไดงายขน จงท าให Adobe Premiere พฒนามาจนถงเวอรชน ทเรยกวา

Adobe Premiere Pro CS4 ซงเปนเวอรชนใหมทสดในขณะน มความสามารถหลก คอ การตดตอไฟลวดโอซง ผสมผสาน

ไฟลวดโอหลาย ๆ ไฟลใหเรยงตอกนแลวน ามาผานกระบวนการตดตอ ใสเอฟเฟค ปรบเสยง สรางชอเรองขอความ

จนกระทงไดไฟลภาพยนตรทสมบรณ รวมทงมการเคลอนไหวและมการเปลยนฉากทลงตว จากนนยงสามารถแปลงไฟลท

เสรจแลวไปเปนไฟลในรปแบบตาง ๆ

Page 8: Junka Man Game

บทท 3

การด าเนนการโครงการ

อปกรณทใชในการด าเนนงาน

- คอมพวเตอร

- แสกนเนอร

- กลองถายรป

- เครองเลนเกมส PSP

ซอฟรแวรทใชส าหรบการด าเนนงาน

- Visual Studio 2010

- Arsa Framework

- Adobe Photoshop

- Adobe Illustrator

- Adobe Flash

การด าเนนการ

1. ประชม วางแผนหาขอสรปเกยวกบรปแบบของเกมส, ธม, ตวละครหลก และอนๆ

2. วางแผนการท างาน แบงหนาทรบผดชอบใหแตละคน

3. รางProposal เกมส อยางคราวๆ มตวละครแบบไหน, มดานกดาน, มไอเทมอะไรบาง, ม

อปสรรคเปนแบบไหน เปนตน

Page 9: Junka Man Game

4. ทดลองท าเกมส Simulator ตามทอาจารยไดใหค าแนะน า

Page 10: Junka Man Game

5. สรางCharacter ของตวแมลงสาบใหมทาทางตางๆ โดยอางองจากโมชนตามหลกอนเมชน

Page 11: Junka Man Game

6. สราง Item ตางๆ ใชส าหรบเกบคะแนน

7. สรางฉากประกอบ เพอใชเปนดานในการผจญภย รวมถงอปสรรคในดานดวย

Page 12: Junka Man Game
Page 13: Junka Man Game

บทท 4

ผลการด าเนนงาน

จากการพฒนาเกมสโดยใช โปรแกรมตางๆสรางสรรค ฉาก ตวละคร และไอแทมตางๆ ประกอบกบการพฒนา

เกมสโดยใช ARSA Farmework ท าใหเราไดเปนเกมส The Junk ตรงตามเปาหมายทเราวางไวคอ

ไดตวละครทเปนแมลงสาบตามทไดวางแผนไว

ไดฉากจ านวนสามฉาก

และทส าคญสามารถพฒนาใหตวละครวงได กระโดดได และหลบสงกรดขวางได โดยตวละครคอแมลงสาบจะวงเกบไอ

แทม คอ ขนมหวานตางๆ โดยเมอเกบไดจะขนเปนคะแนนของเจาแมลงสาบ ผเลนตองควบคมใหเจาแมลงสาบหลบหลก

สงกรดขวางตางๆ ใหผานไปในแตละดานโดยผเลนจะมชวตของเจาแมลงสาบอย 5 ชวต หากผเลนเลนแลวตายทง 5 ชวต

เกมสกจะจบลง

นอกจากนเกมสของเรายงสามารถใสวธเลน และ ตวอยางการเลนเพอใหผเลนเกดความเขาใจกอนทจะเลนเกมสอกดวย

Page 14: Junka Man Game

บทท 5

สรปผลการพฒนาเกมส

จากการพฒนาเกมส The Junk ท าใหทางคณะผพฒนาเกมสไดทราบวา เราตองมความรความสามารถใน

หลายๆดาน เพยงรอความรในหองเรยนอยางเดยวไมได เราตองศกษาจากภายนอกและสอบถามปรกษาผทมความรดานน

อกดวย นอกจากนเราตองมการประยกตใช และตองมความคดสรางสรรค เพอใหไดเกมสทแปลกใหมและนาสนใจ

ทางคณะผพฒนาเกมสไดกระท าดงขางตนท าให เราจงไดพฒนาเกมส The Junk ออกมาในรปแบบ เกมสทให

ตวแมลงสาบวงเกบไอแทมไปเรอยๆโดยเกบไดเทาไหรกจะเปนคะแนนของเจาแมลงสาบ และผเลนตองพยายามหลบหลก

สงกดขวางตางๆไมใหเจาแมลงสบายชนสงกดขวาง หรอตกหลม โดยเจาแมลงสาบจะสามารถกระโดดได วงได และ

หมอบได เจาแมลงสาบจะม 5 ชวต 5 ชวตนผเลนตองมสมาธในการน าพาเจาแมลงสาบผานแตละดานไปใหไดโดยม

ทงหมด 3 ดาน

เกมส The Junk ไดบรรลเปาหมายของทมพฒนา อนหนงเปนเพราะไดความรจากอาจารย โดยเฉพาะ ARSA

Farmework ทเปนสงส าคญทท าใหเกมสของเราพฒนาส าเรจขนมาได ทางคณะผจดท าจงขอขอบคณมา ณ ทนดวย และ

หากเกดขอผดพลาดประการใด ทางคณะผพฒนาขออภยไว ณ ทนดวย

Page 15: Junka Man Game

8. พฒนาโคดเกมสอกครง เพอใหตวละครสามารถวง, กระโดด, สไลด หลบอปสรรค และเกบไอ

เทมได ตามทอาจารยแนะน า

Page 16: Junka Man Game

9. สรางฉากท2 และ 3 เพม

10. พฒนาโคดอกครง เพอเพมดานท 2 และ 3 และท าใหสามารถเกบไอเทมไดอยางสมบรณ

Page 17: Junka Man Game

11. สรางสวนของ Interface เกมส

12. พฒนาโคด เพมสวนของเมนตางๆ เขาไป ไดเกมสทเสรจสมบรณ