junka man game
TRANSCRIPT
บทท 1
บทน า
ชอโครงการ
โครงการพฒนาเกมส “Junka man”
ทมาและความส าคญ
การพฒนาเกมส”Junka man” เปนสวนหนงของวชา cmm 342 Game Development I เพอ
ศกษาวธการพฒนาเกมบนเครองเกมเบองตน วธการโปรแกรมขามแพลทฟอรม การใชชดพฒนา
ซอฟตแวรส าหรบเครองเกม การควบคมเกมดวยอปกรณเกม เชน จอยบงคบ เมาส คยบอรด เปนตน
ศกษาการท าเกม 2 มต และวธการแทรกเสยงในเกม และนอกจากนนยงเปนการประยกตใชความรทกดาน
ในสาขาวชาวทยาการคอมพวเตอรประยกต-มลตมเดย มาประยกตใชรวมกนในการพมนาเกม Junka man
อกดวย
วตประสงค
เพอพฒนาเกมส Junka man
ระยะเวลาในการด าเนนงาน
ตงแตเดอนมถนายน จนถงเดอนกนยายน พ.ศ.2554
ประโยชนทคาดวาจะไดรบ
- เพอใหเขาใจพนฐานเกยวกบองคประกอบของการเขยนโปรแกรมขามแพลทฟอรม
- เพอใหมความร ความเขาใจลกษณะค าสงชดพฒนาซอฟตแวรในปจจบน
- เพอใหทราบถงหลกการควบคมเกมดวยอปกรณเกม
- เพอใชประยกตสรางเกม 2 มต และวธการแทรกเสยงในเกม
- เพอใชเปนพนฐานในการศกษาตอในระดบทสงขน
- เพอประยกตใชความรดานมลตมเดยทงหมดทไดศกษามาตลอดในระยะเวลา 3 ป
ขอบเขตการศกษาคนควา
พฒนาดวยโปรแกรม Visual Studio 2010, Arsa Framework , Adobe Photoshop , Adobe
Illustrator, Adobe Flash ซงเกมThe Junk เปนเกมแนวแนวผจญภย มแมลงสาบเปนตวเอก โดย
แมลงสาบตวนท างานแฮกคอมพวเตอรมนษยอย และเกดหวขนมา จงเดนทางขนไปหาเสบยงบนโลก
มนษย เปนเกมแนวตะลยดาน ในแตละดานแมลงสาบผหวโหยจะตองผานอปสรรคตางๆ เพอหาเสบยง
อาหารมาใหได
แนวคดและแรงบนดาลใจในการพฒนาเกมส Junka man
กลมผพฒนาเกมส มนสยทกระตอรอลนมาก จนบางครงมากเกนไปจงมปญหาเรองการท าสมาธ
อยนงๆไดไมนาน กลมผพฒนาเกมสจคงตองการสรางเกมสทชวยฝกสมาธได เปนเกมสทสรางสรรค ไม
สงเสรมสงผดศลธรรม และเปนเกมสทสอดแทรกคณธรรมใหไดคด จงไดตกลงกนพฒนาเกมส Junka
man โดยมแมลงสาบเปนตวด าเนนเรอง ผเลนจะตองคอยกระโดดหรอสไลดเพอหลบหลกสงกดขวาง ผ
เลนตองใชไหวพรบในการเกบไอเทม และยงชวยฝกใหมสมาธอกดวย
การด าเนนเนอเรองของเกม
แมลงสาปตวหนง มความเคยดแคนตอมนษย มนจงพยายามทจะแฮคระบบของมนษยโลก แต
ในระหวางทมนก าลงคร าเครงกบการแฮคระบบนน มนกรสกหวขนมา มนจงออกเดนทางหาเสบยงอาหาร
บนโลกมนษย และเรองราวการผจญภยครงนกเกดขน
ผจดท า
1. นายจกรวาล เทพศกดดา 52214511
2. นายธนวนท จะแจง 52214526
3. นางสาวภพพตรา จนทมา 52214541
4. นางสาววรรณลกษณ โสสนย 52214543
5. นางสาวเลอมมก รตนพงศถาวร 52214559
แผนการด าเนนงาน
ม.ย. ประชมวางแผนงาน/ ออกแบบ คาเรตเตอร ธมในแตละฉาก/ แนวคดในการเขยนค าสงคอมพวเตอร
ก.ค. เขยนค าสงคอมพวเตอร/ปรกษาอาจารยทปรกษา
ส.ค. ทดสอบและแกไขขอผดพลาด
ก.ย. สงงาน การพฒนาเกมส The Junk
บทท 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ท าใหเกมสมความเรวในการแสดงผลเพมขนและไดภาพทสมจรง สมดลกบธรรมชาต
พนฐานภาษา 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 ไวทต าแหนงเรมตนของโปรแกรม
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 ไดอยางรวดเรว แมวาเราจะมพนฐานทางคอมพวเตอรไมมากกตาม
โปรแกรม 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 ซงเปนเวอรชนใหมทสดในขณะน มความสามารถหลก คอ การตดตอไฟลวดโอซง ผสมผสาน
ไฟลวดโอหลาย ๆ ไฟลใหเรยงตอกนแลวน ามาผานกระบวนการตดตอ ใสเอฟเฟค ปรบเสยง สรางชอเรองขอความ
จนกระทงไดไฟลภาพยนตรทสมบรณ รวมทงมการเคลอนไหวและมการเปลยนฉากทลงตว จากนนยงสามารถแปลงไฟลท
เสรจแลวไปเปนไฟลในรปแบบตาง ๆ
บทท 3
การด าเนนการโครงการ
อปกรณทใชในการด าเนนงาน
- คอมพวเตอร
- แสกนเนอร
- กลองถายรป
- เครองเลนเกมส PSP
ซอฟรแวรทใชส าหรบการด าเนนงาน
- Visual Studio 2010
- Arsa Framework
- Adobe Photoshop
- Adobe Illustrator
- Adobe Flash
การด าเนนการ
1. ประชม วางแผนหาขอสรปเกยวกบรปแบบของเกมส, ธม, ตวละครหลก และอนๆ
2. วางแผนการท างาน แบงหนาทรบผดชอบใหแตละคน
3. รางProposal เกมส อยางคราวๆ มตวละครแบบไหน, มดานกดาน, มไอเทมอะไรบาง, ม
อปสรรคเปนแบบไหน เปนตน
4. ทดลองท าเกมส Simulator ตามทอาจารยไดใหค าแนะน า
5. สรางCharacter ของตวแมลงสาบใหมทาทางตางๆ โดยอางองจากโมชนตามหลกอนเมชน
6. สราง Item ตางๆ ใชส าหรบเกบคะแนน
7. สรางฉากประกอบ เพอใชเปนดานในการผจญภย รวมถงอปสรรคในดานดวย
บทท 4
ผลการด าเนนงาน
จากการพฒนาเกมสโดยใช โปรแกรมตางๆสรางสรรค ฉาก ตวละคร และไอแทมตางๆ ประกอบกบการพฒนา
เกมสโดยใช ARSA Farmework ท าใหเราไดเปนเกมส The Junk ตรงตามเปาหมายทเราวางไวคอ
ไดตวละครทเปนแมลงสาบตามทไดวางแผนไว
ไดฉากจ านวนสามฉาก
และทส าคญสามารถพฒนาใหตวละครวงได กระโดดได และหลบสงกรดขวางได โดยตวละครคอแมลงสาบจะวงเกบไอ
แทม คอ ขนมหวานตางๆ โดยเมอเกบไดจะขนเปนคะแนนของเจาแมลงสาบ ผเลนตองควบคมใหเจาแมลงสาบหลบหลก
สงกรดขวางตางๆ ใหผานไปในแตละดานโดยผเลนจะมชวตของเจาแมลงสาบอย 5 ชวต หากผเลนเลนแลวตายทง 5 ชวต
เกมสกจะจบลง
นอกจากนเกมสของเรายงสามารถใสวธเลน และ ตวอยางการเลนเพอใหผเลนเกดความเขาใจกอนทจะเลนเกมสอกดวย
บทท 5
สรปผลการพฒนาเกมส
จากการพฒนาเกมส The Junk ท าใหทางคณะผพฒนาเกมสไดทราบวา เราตองมความรความสามารถใน
หลายๆดาน เพยงรอความรในหองเรยนอยางเดยวไมได เราตองศกษาจากภายนอกและสอบถามปรกษาผทมความรดานน
อกดวย นอกจากนเราตองมการประยกตใช และตองมความคดสรางสรรค เพอใหไดเกมสทแปลกใหมและนาสนใจ
ทางคณะผพฒนาเกมสไดกระท าดงขางตนท าให เราจงไดพฒนาเกมส The Junk ออกมาในรปแบบ เกมสทให
ตวแมลงสาบวงเกบไอแทมไปเรอยๆโดยเกบไดเทาไหรกจะเปนคะแนนของเจาแมลงสาบ และผเลนตองพยายามหลบหลก
สงกดขวางตางๆไมใหเจาแมลงสบายชนสงกดขวาง หรอตกหลม โดยเจาแมลงสาบจะสามารถกระโดดได วงได และ
หมอบได เจาแมลงสาบจะม 5 ชวต 5 ชวตนผเลนตองมสมาธในการน าพาเจาแมลงสาบผานแตละดานไปใหไดโดยม
ทงหมด 3 ดาน
เกมส The Junk ไดบรรลเปาหมายของทมพฒนา อนหนงเปนเพราะไดความรจากอาจารย โดยเฉพาะ ARSA
Farmework ทเปนสงส าคญทท าใหเกมสของเราพฒนาส าเรจขนมาได ทางคณะผจดท าจงขอขอบคณมา ณ ทนดวย และ
หากเกดขอผดพลาดประการใด ทางคณะผพฒนาขออภยไว ณ ทนดวย
8. พฒนาโคดเกมสอกครง เพอใหตวละครสามารถวง, กระโดด, สไลด หลบอปสรรค และเกบไอ
เทมได ตามทอาจารยแนะน า
9. สรางฉากท2 และ 3 เพม
10. พฒนาโคดอกครง เพอเพมดานท 2 และ 3 และท าใหสามารถเกบไอเทมไดอยางสมบรณ
11. สรางสวนของ Interface เกมส
12. พฒนาโคด เพมสวนของเมนตางๆ เขาไป ไดเกมสทเสรจสมบรณ