01.สร้างเกมด้วย dark basic professional...

61
สรางเกมดวย Dark Basic Professional จัดทําโดย วศิน ภิรมย ปริญญาโท วิศวกรรมคอมพิวเตอร จุฬาลงกรณมหาวิทยาลัย Webmaster (www.GamedevX.com) Email : [email protected] Tel 081-400-5759 แกไขลาสุดเมื่อป 2545

Upload: tonpor

Post on 27-Jul-2015

1.277 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional

จดทาโดย

วศน ภรมย

ปรญญาโท วศวกรรมคอมพวเตอร จฬาลงกรณมหาวทยาลย Webmaster (www.GamedevX.com)

Email : [email protected]

Tel 081-400-5759

แกไขลาสดเมอป 2545

Page 2: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 2

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

คมอการใชงานโปรแกรม DarkBASIC Professional

DarkBASIC Professional เปนเครองมอทสรางขนสาหรบชวยใหการสรางเกมสามมตเปนเรองงาย ไดอยางทคาดไมถง ดงคาขวญทวา “Write Increadible 3D Games, Applications and Presentations With Ease”

การตดตงโปรแกรม เมอใสแผนโปรแกรม DarkBASIC

Professional เขาไปใน CD-Drive จะพบกบ Setup Menu ปรากฏขนมา ใหคลกท Install

Dark Basic Professional เพอทาการตดตงโปรแกรม เมอตดตงเสรจจะพบกบไอคอนปรากฏบน Desktop ใหคลกทไอคอนเพอเขาใชโปรแกรม (Note : ถาเครองยงไมเคยลง DirectX หรอลงแลวแตเวอรชนตากวา 8.1 ขอใหทาการลง DirectX 8.1 โดยเลอก Install DirectX 8.1 กอน)

การใชงานโปรแกรม

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

Page 3: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 3

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

เมนของโปรแกรมถกแบงออกเปน 8 หวขอดงตอไปน

FILE Menu : NEW PROJECT : Starts a new project OPEN PROJECT : Opens an existing project OPEN SOURCE : Opens an existing DBA file for current project REOPEN : Opens a project previously worked on SAVE PROJECT : Save the current project SAVE PROJECT AS : Save project under a new name SAVE SOURCE : Save currently edited source code SAVE SOURCE AS : Save current source code under a new name SAVE ALL : Save all source code of current project CLOSE : Close window holding current source code CLOSE ALL : Close all windows containing source code PRINT : Print current source code to printer EXIT : Exit the editor

EDIT Menu : UNDO : Restore source code to previous state REDO : Reapply state prior to UNDO being used CUT : Copy and cut currently selected text to clipboard COPY : Copy currently selected text to clipboard PASTE : Paste contents of clipboard to source code cursor DELETE BLOCK : Deletes all text currently highlighted SELECT ALL : Selects all text in current source code window TOGGLE BREAKPOINT : Toggles breakpoint within source code SET BOOKMARK : Sets a bookmark at the current cursor position

SEARCH Menu : FIND : Finds a text match within the current source code FIND AGAIN : Uses text from previous search to find again SEARCH/REPLACE : Finds text and replaces it with alternative GO TO LINE : Jumps to a specified line number GO TO BOOKMARK : Jumps to a specified bookmark position

Page 4: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 4

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

VIEW Menu :

SHOW TOOL BAR : Shows/Hides the iconic shortcut toolbar SHOW PROJECT MANAGER : Shows/Hides the project settings TOOLBARS : Control toolbar visibility DISPLAY MODE : Controls editor mode FOLD ALL FUNCTIONS : Folds each function to a single line UNFOLD ALL FUNCTIONS : Unfolds all functions to normal

COMPILE Menu : CHECK SYNTAX/MAKE EXE : Compiles current project MAKE EXE/RUN : Compiles and runs current project RUN IN DEBUG MODE : Compiles and runs in debug mode RUN IN STEP-THROUGH MODE : Compiles and runs in step-through mode

TOOLS Menu SYSTEM OPTIONS : Shows system information

WINDOW Menu : CASCADE : Arranges windows in cascade order TILE HORIZONTALLY : Arranges windows in horizontal order TILE VERTICALLY : Arranges windows in vertical order

HELP Menu :

CONTENTS : Shows help at contents page LAST HELP FILE : Shows last help page viewed INDEX : Shows command index page CHECK FOR UPGRADES : Checks DarkBasic Website for Upgrades DARK BASIC PROFESSIONAL HOME : Go to Dark Basic Professional Website DARK BASIC DEVELOPER NETWORK : Go to DarkBASIC Developer Network Website DARK BASIC SOFTWARE HOME : Go to Dark Basic Software homepage ABOUT : Shows software about dialogue

Page 5: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 5

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

Editing area ในโปรแกรม DarkBASIC Professional

พนทวางขนาดใหญ คอ Editing area ทใชสาหรบเขยนโปรแกรมเกม

เราสามารถใสตวเลขเพอบอกบรรทดได ดวยการ

เลอกเมน Tool -> Systems Options คลกเลอก Show Line

Numbers แลวคลก Ok

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

Page 6: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 6

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การ RUN โปรแกรม ใหคลกท Editing area แลวพมพคาสงดงตอไปน PRINT "HELLO WORLD" WAIT KEY เมอตองการรนโปรแกรมใหกด F5 หรอคลกทไอคอน ผลลพธของคาสงน คอการแสดงผลคาวา HELLO WORLD บนจอคอมพวเตอร การใช Debugger ใหคลกท Editing area แลวพมพคาสงดงตอไปน DO T=T+1 PRINT T LOOP

ถาตองการตรวจสอบการทางาน

ของชดคาสง หรอการทางานของโปรแกรม ใหทาการ RUN โปรแกรมในสวนของ Debug Mode โดยกด F6 หรอคลกทไอคอนรปแมลง

เมอรนโปรแกรมในสวนของ Debug Mode แลว ผลลพธของโปรแกรม กจะเหมอนกบการรนธรรมดา แตเมอกดปม ESCAPE จะมตว Debuger ขนมาใหเราทาการตรวจเชคโปรแกรม โดยทเราสามารถเลอก Step Through Mode สาหรบทดสอบการทางานของชดคาสง ซงสามารถเชคทละบรรทด หรอใหโปรแกรมเชคใหดอยางชาๆ หรอจะเชคดวยความเรวแบบทรนปกตกได

Page 7: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 7

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

เมอทดสอบชดคาสงเสรจเรยบรอยแลว ถาตองการปดตว Debuger กใหคลกทไอคอน การศกษาวธการใชงานโปรแกรม โปรแกรม DarkBASIC Professional มระบบชวยเหลอทจดไดวาดเยยม เราสามารถเลอกระบบชวยเหลอดงกลาว ไดจากเมน Help ดงภาพ

ในส ว นขอ ง ร ะบบช ว ย เ ห ล อ จ ะประกอบไปดวย Introduction ทจะแนะนาใหรจกกบความสามารถ และความเปนมาของโปรแกรม, Getting Started จะบอกถงการลงโปรแกรม การใชงานโปรแกรมอยางละเอยด,

Principles จะบอกถงกฏเกณฑการใชงานคาสงในประเภทตางๆ

Command จะรวบรวมคาสงโดยแยกประเภทใหงายตอการคนหา, Examples จะเปนตวอยางการใชคาสงตางๆ ในการเขยนเปนโปรแกรมทมความซบซอนมากขน, Tutorials จะสอนการทาเกมแนว FPS อยางละเอยด, Index จะรวบรวมทกคาสงไวในหนาจอเดยว ใหงายตอการคนหา, Technical Documents จะแนะนาการใชงานโปรแกรมในระดบท Advance ยงขน

Page 8: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 8

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การใชงาน Project Panel เมอตองการจดการและควบคมหนาตาของโปรแกรมท เสรจสมบรณ เพอทจะเผยแพรหรอจะทาเปนสนคา ใหเราเลอก Project Panel ขนมาโดยเลอกเมน View -> Display Mode -> Use Project View Mode

ในสวนของ Project Summary เราสามารถทา Comment การเขยนโปรแกรม และสราง List งานทจะทาได ทาใหในครงตอไปเราสามารถเขยนโปรแกรมในสวนทเหลอตอได โดยทไมตองทบทวนวาไดทาไปถงไหนแลว นอกจากนยงมสวนอนๆอก เชน Functions จะลสชอฟงกชนทเราไดสรางขนมา และเมอเราดบเบลคลกทชอฟงกชน เรากจะไปยงบรรทดทฟงกชนนนอย, สวนของ Setting ใชสาหรบตงรปแบบการแสดงผล, Cursors ชวยใหเราสามารถใช Cursor ไดตามทตองการ, Icons ใชเปลยนรปไอคอนของโปรแกรมเราใหเปนไปตามทตองการ

Page 9: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 9

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

Spinning Cube Program หลงจากเราไดเรยนรองคประกอบตางๆ ของโปรแกรม DarkBASIC Professional กนบางแลว เราลองมาเขยนโปรแกรมงายๆ เชน การควบคมใหลกบาศกสามมตหมนอยางชาๆ รอบแกน Y สาหรบการสรางโปรแกรมดงกลาว ใหพมพคาสงดงตอไปนใน Editing area MAKE OBJECT CUBE 1,100 DO YROTATE OBJECT 1,OBJECT ANGLE Y(1)+0.1 LOOP เมอเรารนโปรแกรมจะไดลกบาศกหมนชาๆ รอบแกน Y

การทางานของโปรแกรมน มรายละเอยดดงตอไปน

1. MAKE OBJECT CUBE 1,100 ทเปนคาสงสรางวตถทรงลกบาศก ซงตวเลข 1 คอการกาหนดหมายเลขอางองใหกบวตถ และ 100 คอขนาดทกาหนดใหวตถ

2. คาสง Do..Loop เปนคาสงวนรอบ เมอใชคาสงนครอบระหวางชดคาสงอนๆนน โปรแกรมจะทางานชดคาสงนนๆ ไมมวนจบ

DO YROTATE OBJECT 1,OBJECT ANGLE Y(1)+0.1 LOOP

จากชดคาสงน โปรแกรมจะวนลปเปลยนคาใหกลองหมนรอบแกน Y ทละนดๆ กฏเกณฑในการใชคาสงของโปรแกรม DarkBASIC Professional

Page 10: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 10

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

จดประสงคของการนาเสนอกฏเกณฑการใชคาสงของโปรแกรม DarkBASIC Professional ทาขนเพอตองการใหผใชไดเรมตน และเขาใจถงกฏเกณฑตางๆ ไดอยางตรงกน การศกษาโครงสรางประโยคทถกตองตามหลกไวยากรณ หรอทเราเรยกกนวา Syntax เปนสงทสาคญมากในการเขยนโปรแกรม ดงนนเราจงควรเขาใจถงวธการเขยนโปรแกรมดวยภาษา BASIC และเมอเรารถงกฏเกณฑ และวธการเขยนโปรแกรมดวย DarkBASIC Professional ไดอยางถกตองแลว สงหนงทจะตามมา กคอ เราจะทราบไดเองวา จะเขยนและประยกตวธการเขยนโปรแกรมใหกบเกมของตวเองไดอยางไร - Data Types, Variables and Arrays DATA TYPES

ชนดของขอมล หรอทเรยกวา parameter(s). เปนสงทมความสาคญ เพราะในการใชคาสงตางๆ จะตองมการใหคาของขอมล ซงคาตางๆน จะมอยหลายแบบ แตสงทเราควรทราบนน คอ ขอมลชนดตวเลข ทเปนจานวนเตม (integer numbers), ขอมลชนดตวเลข ทเปนจานวนจรง (real

numbers), และขอมล ทเปนชดตวอกษร (String)

ขอมลชนดตวเลข ทเปนจานวนเตม (integer numbers) ขอมลประเภทน คอขอมลทเปนตวเลขจานวนเตม ทไมใชเศษสวน และสามารถมคาเปนลบ (negative) ได ซงสาหรบคาทเปนลบ เราสามารถใช เครองหมายลบ (hyphen symbol (-)) นาหนาขอมล เพอกาหนดใหเปนคาลบได ตวอยางตางๆ ของขอมลชนดตวเลข ทเปนจานวนเตม กเชน 45 12000 -243000 -150

ขอมลชนดตวเลข ทเปนจานวนจรง (real numbers)

Page 11: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 11

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ขอมลประเภทน คอขอมลทเปนตวเลขจานวนจรง ทาใหใชคาทเปนเศษสวน และสามารถมคาเปนลบ (negative) ได ซงสาหรบคาทเปนลบ เราสามารถใช เครองหมายลบ (hyphen symbol (-)) นาหนาขอมล เพอกาหนดใหเปนคาลบได ตวอยางตางๆ ของขอมลชนดตวเลข ทเปนจานวนจรง กเชน 23.0005 99.9 -5100.12 -9999.9992 ขอมล ทเปนชดตวอกษร (Strings) ขอมลประเภทน คอขอมลทไมใชขอมลตวเลข (non-numerical) ซงจะถกใชสาหรบขอมลทเปนชดตวอกษร และในการใชชดตวอกษรน ยงสามารถใชตวเลข และตวอกษรอนๆไดทงหมด แตมนจะถกตความเปนตวอกษร (treated as text) ทไมสามารถนาไปใชปฎบตการในเชงคณตศาสตรได ตวอยางตางๆ ของขอมล ทเปนชดตวอกษร กเชน "A" "Hello World" "Telephone" "I am 99 years old" "1.2.3.4.5.6.7.8.9" สาหรบการกาหนดขอมลตางๆ ใหเปนขอมลประเภทน เราสามารถกาหนดได โดยใหอยภายใตเครองหมาย "…" (double quotation marks) DATA TYPE RANGES

Page 12: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 12

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

แตละชนดขอมล จะมขนาดและขอบเขตของคาสงสด และคาตาสด (maximum and

minimum value) สาหรบใหใชงาน คอ INTEGER Range : –2,147,483,648 to 2,147,483,647 REAL Range : 3.4E +/- 38 (7 digits) BOOLEAN Range : 0 to 1 BYTE Range : 0 to 255 WORD Range : 0 to 65535 DWORD Range : 0 to 4,294,967,295 DOUBLE INTEGER Range : –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 DOUBLE FLOAT Range : 1.7E +/- 308 (15 digits) ในการใชงานชนดขอมล ควรเลอกใชเมอคาของขอมลเรา มขนาดเลกกวาชนดทเลอกใช VARIABLES ตวแปร(variable) คอสงทใชจดเกบคา (value) ตางๆ ทเราสามารถใชจดเกบขอมลชนดใดกได และสามารถใชไดมาก ตามทเราตองการ สาหรบตวอยางงายๆ ทจะใหเราเขาใจถงตวแปร เชน A = 3 + 4 PRINT A

ตว A คอตวแปรทจดเกบผลบวกระหวาง 3 กบ 4 สวนคาสง PRINT A กคอการแสดงคา A ใหออกบนจอ ซงกคอ 7 นนเอง ทนกจะมาทาความเขาใจกบตวแปร ทเราสามารถใชได เชน การกาหนดตวแปรทจดเกบคาขอมลทเปนจานวนเตม เราสามารถตงตวแปรไดโดยใชตวอกษร หรอคาทวไปมาเกบคาทเปนจานวนเตมไดเลย เชน A = 2 B = 8 C = A + B PRINT C ตว A คอตวแปรทจดเกบคา 2, ตว B คอตวแปรทจดเกบคา 8, ตว C คอผลบวกระหวางตวแปร A กบตวแปร B, สวนคาสง PRINT C คอการแสดงคา C ใหออกบนจอ ซงกคอ 10 การใชตวแปรจดเกบคาขอมลทเปนจานวนจรง เราจะใชเครองหมาย # ตามหลงตวแปร เชน mydata#=42.5

Page 13: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 13

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

PRINY mydata# ตว mydata# คอตวแปรทจดเกบคาจานวนจรง 42.5 สวนคาสง PRINT mydata# คอการแสดงคา mydata# ใหออกบนจอ ซงกคอ 42.5

และการใชตวแปรจดเกบขอมลทเปนชดตวอกษร เราจะใชเครองหมาย $ ตามหลงตวแปร เชน myname$="Lee" PRINT myname$ ตว myname$ คอตวแปรทจดเกบชอ “Lee” สวนคาสง PRINT myname$ คอการแสดงขอมล myname$ ใหออกบนจอ ซงกคอ “Lee” ตวแปรทเกบเปนชดตวอกษร ยงสามารถใชเครองหมายบวกในการเชอมตอชดตวอกษรได เชน a$="Hello" b$="World" c$=a$+b$ print c$

เมอเรารนโปรแกรม จะพบคาวา “HelloWorld” ขนมาบนหนาจอ … ทนเมอเราไดลองทาตามตวอยางทผานมา เรากจะสามารถรไดเองวา จะทาอยางไรใหระหวางคาวา “Hello” และคาวา “World” มชองวางคนระหวางกลาง เมอแสดงผลออกบนจอ ? ARRAYS อารเรย (array) เปนสงสาคญสาหรบการเขยนโปรแกรม เพราะถาเราตองการจดเกบขอมลจานวนหลายชด ในตวแปรเดยวกน เราอาจจะตองประกาศซาๆ เชน lottery1$="43,76,12,34,12,11" lottery2$="76,12,34,12,11,44" lottery3$="12,34,12,02,05,07" etc..

เราควรใชอารเรยมาชวยในกรณน โดยประกาศเปน DIM lottery$(52) lottery$(1)="43,76,12,34,12,11" lottery$(2)="76,12,34,12,11,44" lottery$(3)="12,34,12,02,05,07"

Page 14: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 14

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

etc.. คาสง DIM เปนคาสงทจะอนญาตให ตวแปรทตามหลงเปนอารเรย ซงจากคาสง DIM lottery$(52)เปนการประกาศใหตวแปร lottery$ ทเกบขอมลชดอกษร สามารถใชไดสงสด 52 ตว ดงนนจะเหนไดวา ถาขอมลเรามมากถง 52 ตว การทเราจะประกาศขอมลแบบธรรมดานน เวลาเราจะแสดงผล เราจะตองพมพคาสง PRINT lottery1$ PRINT lottery2$ PRINT lottery3$ etc..

โดยตองพมพ PRINT lottery52$ ถง 52 ครง หรอถาใชอารเรย เรากอาจพมพคาสง PRINT lottery$(1) PRINT lottery$(2) PRINT lottery$(3) etc.. กทาคลายกน โดยพมพถง PRINT lottery$(52) กได แตเรามวธทดกวาน ถาเราเขยนแบบวนลป เพอใหโปรแกรมพมพคา ออกทางหนาจอไดอยางอตโนมตจนครบ 52 ตว ดงน FOR T=1 TO 52 PRINT lottery$(T) NEXT T จะเหนไดวามนสะดวกกวาการใชตวแปรแบบธรรมดาเปนไหนๆ และเรายงสามารถประกาศใชอารเรยแบบสองมต เพอชวยสรางชดขอมล ทสามารถนาไปใชไดอยางสะดวกยงขน เชน DIM lottery(52,6) คาสง DIM lottery(52,6) ทประกาศขนเปนอารเรยแบบสองมต เพราะเราอาจตองการใชขอมลยอยในแตละชดขอมล เชน lottery(1,1)=43 lottery(1,2)=76 lottery(1,3)=12 lottery(1,4)=34 lottery(1,5)=12 lottery(1,6)=11 lottery(2,1)=76 lottery(2,2)=12

Page 15: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 15

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

lottery(2,3)=34 lottery(2,4)=12 lottery(2,5)=11 lottery(2,6)=44 etc.. เพยงเทาน เรากสามารถใชขอมลไดอยางเตมประสทธภาพ เพราะเราสามารถอางถงขอมลตางๆ ไดอยางรวดเรว USER DEFINED TYPES ถารปแบบของขอมลทไดเคยกลาวมานน ยงไมตรงกบความตองการ เรากสามารถสรางรปแบบขนเพอใชเองได โดยสรางใหเปนขอมลแบบของเราเอง (user-defined-types) ซงในการสรางนน เราจะตองประกาศขอมลชนดใหมไวสวนบนของโปรแกรม จงจะสามารถนาขอมลแบบใหมทเปนของเราเองไปใชได

เชน

TYPE MyType Fieldname1 Fieldname2 Fieldname3 ENDTYPE

หรอจะประกาศไวบรรทดเดยว คอ TYPE MyType Fieldname1 Fieldname2 Fieldname3 ENDTYPE แบบนกไดเชนกน สาหรบการใชขอมลแบบของเราเองนน ใหใชตวเชอม AS เชน MyVariable AS MyType

เพยงเทานตวแปร MyVariable กจะเปนตวแปรทเปนชนดขอมลแบบของเรา และจะสามารถเกบคาตางๆ ไวในตวแปรได ดงน MyVariable.Fieldname1 = 41 MyVariable.Fieldname2 = 42

Page 16: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 16

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

MyVariable.Fieldname3 = 43

ในทานองเดยวกน เราสามารถสรางรปแบบของเรา ทสามารถจดเกบชนดขอมลไดหลายแบบ

เชน TYPE AccountEntryType Number AS INTEGER Name AS STRING Amount AS FLOAT ENDTYPE

และสามารถนาไปใชได เชน DIM Accounts(100) AS AccountEntryType Accounts(1).Number=12345 Accounts(1).Name="Lee" Accounts(1).Amount=0.42

และทนาทงกวานน เราสามารถประกาศ ชนดซาซอนไดอยางซบซอนตามจนตนาการทเราคดเองได เพอสรางรปแบบขอมลทสามารถนาไปใชไดอยางมประสทธภาพสงสด เชน TYPE AmountsType CurrentBalance AS FLOAT SavingsBalance AS FLOAT CreditCardBalance AS FLOAT ENDTYPE TYPE AccountEntryType Number AS INTEGER Name AS STRING Amount AS AmountsType ENDTYPE DIM Accounts(100) AS AccountEntryType Accounts(1).Number=12345 Accounts(1).Name="Lee" Accounts(1).Amount.CurrentBalance=0.42 Accounts(1).Amount.SavingsBalance=100.0 Accounts(1).Amount.CreditCardBalance=-5000.0 ซงจะเหนไดวาใชงานงาย และทรงพลง และทสาคญ ชนดของขอมลรปแบบน ทาใหเราไมตองมนงง และอาจตองพบขอผดพลาด ถาใชชนดขอมลแบบธรรมดา มาจดเกบขอมลของเรา

Page 17: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 17

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

- Arithmetic, Relational and Boolean Operators ARITHMETIC OPERATORS ตวปฏบตการทางคณตศาสตร สามารถแทนดวย การใชเครองหมาย ตางๆ คอ เครองหมาย plus(+) ใชแทนการบวก ดงน 3 + 4 equals 7 A + B equals the value of B added to the value of A เครองหมาย minus(-) ใชแทนการลบ ดงน 3 - 4 equals -1 A - B equals the value of B subtracted from the value of A เครองหมาย asterix(*) ใชแทนการคร ดงน 3 * 4 equals 12 A * B equals the value of B multiplied by the value of A

เครองหมาย slash(/) ใชแทนการหาร ดงน

10 / 2 equals 5 A / B equals the value of A divided by the value of B ยงมตวปฏบตการทางคณตศาสตร อกตว ทใชสาหรบการหาคาเศษของผลหาร คอคาสง MOD

ซงตองใชกบคาทเปนจานวนเตม (integer)

เครองหมาย MOD ใชแทนการหาคาเศษของผลหาร ดงน 11 MOD 2 equals 1 A MOD B equals the remainder of the division between A and B RELATIONAL OPERATORS

Page 18: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 18

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตวปฏบตการรปแบบน เปนการใชเครองหมาย เทากบ(=) มากกวา(>) นอยกวา(<) มากวาเทากบ(>=) นอยกวาเทากบ(<=) และไมเทากบ(<>) สาหรบตรวจเชควา คาทอยระหวางเครองหมายดงกลาว ถกตองตามทเครองหมายบงบอกรเปลา ถาไมถกจะสงคา 0 (ไมจรง) แตถาถกจะสงคา 1 (จรง)

ซงการใชตวปฏบตการน นยมใชในการตรวจสอบเงอนไข แตในทนเราจะมาดตวอยางความสมพนธของขอมลกน ดงน 10 = 9 results in 0 because 10 is not the same as 9 10 = 10 results in 1 because 10 is the same as 10 10 > 9 results in 1 because 10 is greater than 9 100 >= 100 results in 1 because 100 is greater or equal to 100 สาหรบการใชความสมพนธรปแบบน สามารถใชไดกบขอมลชนดจานวนจรง (real) และขอมลชนดชดขอมล (String) ไดเชนเดยวกน BOOLEAN OPERATORS โปรแกรม Dark Basic Professional นนสามารถใช AND, OR, XOR และ NOT จดการกบขอมลของเราได ซงการใชจะเปนดงตอไปน การใช AND ในการเปรยบเทยบขอเทจจรง จะมกฏทวไป ดงน 0 AND 0 = 0 (เทจ และ เทจ ได เทจ) 0 AND 1 = 0 (เทจ และ จรง ได เทจ) 1 AND 0 = 0 (จรง และ เทจ ได เทจ) 1 AND 1 = 1 (จรง และ จรง ได จรง)

คราวนกจะมาดตวอยางกนวา คาทไดจะเทากบเทาไร เชน A=5 B=25 (A > 10) AND (B > 20) so what is the resulting value?

ความสมพนธระหวาง (A > 10) เปน เทจ(0) และ (B > 20) เปน จรง(1) ทาให (A > 10) AND (B > 20) เปน เทจ (0)

ซงสามารถแสดงใหชดเจนยงขนไดดงน (A > 10) results in 0 because 5 is not greater than 10 (B > 20) results in 1 because 25 is greater than 20

Page 19: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 19

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

และทาให (0) AND (1) results in 0 as our table shows 0 AND 1 = 0

การใช OR ในการเปรยบเทยบขอเทจจรง จะมกฏทวไป ดงน

0 OR 0 = 0 (เทจ หรอ เทจ ได เทจ) 0 OR 1 = 1 (เทจ หรอ จรง ได จรง) 1 OR 0 = 1 (จรง หรอ เทจ ได จรง) 1 OR 1 = 1 (จรง หรอ จรง ได จรง)

และการใช NOT จะมกฏทวไป ดงน

NOT 0 = 1 NOT 1 = 0 BITWISE OPERATORS จะใชแตกตางกบแบบ BOOLEAN OPERATORS ดงน BITWISE LEFT SHIFT signified by the symbol << will shift all bits one space to the left. %0111 << 1 becomes %1110. BITWISE RIGHT SHIFT signified by the symbol >> will shift all bits one space to the right. %0111 >> 1 becomes %0011. BITWISE AND signified by the symbol && will AND all bits of one value with another. %1111 && %0011 becomes %0011. BITWISE OR signified by the symbol || will OR all bits of one value with another. %1111 || %0011 becomes %1111. BITWISE XOR signified by the symbol ~~ will XOR all bits of one value with another. %1111 ~~ %0011 becomes %1100. BITWISE NOT signified by the symbol .. will NOT all bits of the right value. %1111 .. %1010 becomes %0101. เมอเราเขาใจในการใชตวปฏบตการตางๆ แลว เราจะมความเขาใจ และจะสามารถเขยนโปรแกรมทมความซบซอน ไดอยางมประสทธภาพยงขน - Common Statements

Page 20: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 20

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ASSIGNMENT STATEMENTS การประกาศคาใหกบตวแปร สามารถทาไดโดยใชเครองหมาย เทากบ (Equal Symbol) =

ซงสามารถรบคาไดทงแบบ ตวแปร(variable) หรอ อารเรย(array) ดงตอไปน a=42 a#=99.9 a$="HELLO" lottery(1,1)=49 DATA AND READ STATEMENTS เราสามารถเกบขอมลเหตการณ ดวยการเกบไวเปนขอมล (data) ในโปรแกรม โดยใชคาสง DATA และ READ ดงเชน

DATA 9,"NINE",9.9 READ a,a$,a# การใชคาสง DATA เราสามารถใสขอมล โดยสามารถใช เครองหมายคอมมา ( , ) เปนการแบงขอมลออกเปนแตละตว ดงตวอยางขางบน เราจะเหนวา จานวนเตม 9 นนเปนขอมลตวแรก ขอความ “NINE” เปนขอมลตวทสอง และตวสดทาย เปนจานวนจรง 9.9 การใชคาสง READ เปนการเรยกขอมลจากคาสง DATA มาเกบไวในตวแปร ซงเราจะตองคานงถงชนดขอมลดวย เชน ตวแปร a เปนชนดจานวนเตม ไวเกบคา 9, ตวแปร a$ เปนชนดชดขอมล ไวเกบขอความ “NINE” และ ตวแปร a# เปนชนดจานวนจรง ไวเกบคา 9.9 RESTORE STATEMENTS ถาเรามกลมขอมลสองอน คอ lotterydata กบ ticketdata ซงเขยนไวทายโปรแกรม ดงน lotterydata: DATA 12,23,34,45,56,67 DATA 23,34,45,56,67,11 DATA 34,45,56,67,33,22 ticketdata: DATA 01,02,03,04,05,06 DATA 21,32,43,24,13,22 เราสามารถใชคาสง Restore ไปชกลมขอมลของเรา เพอนาขอมลดงกลาวมาใชงานได ดงเชนถาตองการนาขอมล lotterydata มาใช สามารถเขยนไดเปน

RESTORE lotterydata READ a,b,c,d,e,f

Page 21: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 21

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

PRINT "LOTTERY ",a,b,c,d,e,f และถาตองการนาขอมล ticketdata มาใช กสามารถเขยนไดเปน RESTORE ticketdata READ a,b,c,d,e,f PRINT "TICKET ",a,b,c,d,e,f สาหรบการนาขอมลถดไปใน DATA มาใชแทน กใหวนลปงายๆ ในการเรยกใชขอมล BRANCH STATEMENTS เปนการขาม (Jump) ไปทางานในสวนยอยของโปรแกรม ท เราไดแบงสวนไว และในสวนยอยๆนน จะตองมคาสง RETURN เพอใหโปรแกรมกลบไปทางานตอในโปรแกรมหลก PRINT "Hello" GOSUB MySubroutine END MySubroutine: PRINT "World" RETURN คาสง GOTO ใชสาหรบควบคมการทางานของโปรแกรม ใหเปนไปในทศทางทเราตองการได เชน ถาเราใชคาสงน เรยกวนจดอางองของมนเอง MyLabel: PRINT "Hello World "; GOTO MyLabel จะมผลลพธเชนเดยวกบ การใชคาสง DO..LOOP ดงน DO PRINT "Hello World "; LOOP FOR NEXT Statements

Page 22: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 22

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

คาสงนเปนการวนลป แบบทเรยกวา ลปจากด (a finite loop) ซงเราสามารถควบคมจานวนครงทจะใหมนทางานได เชน FOR T=1 TO 5 PRINT T;" "; NEXT T PRINT "Done" เมอรนแลวจะไดผลลพธ ออกทหนาจอ คอ 1 2 3 4 5

ทงนเรายงสามารถใชคาสงน ผสมกนได (nest loops) แบบลปซอนลป เชน FOR A=1 TO 5 PRINT "MAIN A=";A FOR B=1 TO 10 PRINT "LITTLE B=";B NEXT B NEXT A

และเรายงสามารถกาหนด การเพมคาในการวนลปได โดยใชคาสง STEP เชน FOR week=1 TO 52 STEP 4 PRINT "LOTTERY NUMBER FOR WEEK ";week; " ARE "; FOR index=1 to 6 PRINT lottery(week,index);" "; NEXT index NEXT week IF THEN Statements คาสงนใชสาหรบกาหนดเงอนไข ใหกบโปรแกรมของเรา เชน INPUT "Enter Your Age>",age IF age>=16 THEN PRINT "You can buy a lottery ticket"

Page 23: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 23

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

คาสงขางตนน กาหนดเงอนไขวา ถาอายทปอนนน มากกวา หรอเทากบ 16 กสามารถซอ lottery ticket ได สาหรบการกาหนดเงอนไขทจะใชกบ คาสง IF..THEN นน จะตองเปนเงอนไขทเราดแลวรสกวาสามารถใชการได (make sense) เชน IF A THEN PRINT "ok" IF A = B THEN PRINT "ok" IF A > (B - 5) THEN PRINT "ok" IF A = (B + (A * 2)) THEN PRINT "ok" IF A=1 AND B=2 THEN PRINT "ok" IF NAME$="FRED" AND SURNAME$="BLOGGS" THEN PRINT "ok" IF A#=1.5 OR LOTTERY(10,2)=20 THEN PRINT "ok" สวนเงอนไขทดแลวไมสามารถใชการไดแนๆ (not make sense) เชน IF A = B = THEN PRINT "not ok" IF > A = B THEN PRINT "not ok" IF A B THEN PRINT "not ok" IF AND A THEN PRINT "not ok" IF B OR THEN PRINT "not ok" ในการใชคาสง IF..THEN นน สามารถเขยนได 2 ลกษณะ คอ IF A = B THEN PRINT "Hello A and B!" หรอ IF A = B PRINT "Hello A and B!" ENDIF

ซงในการเขยนแบบท 2 ทใช IF..ENDIF นจะมประโยชนมาก คอ เราสามารถทาหลายคาสงไดในเงอนไขเดยวกน เชน IF A = B PRINT "Hello A!" PRINT "Hello B!" PRINT "Hello A and B!" PRINT "Hello B and A!" PRINT "Hello Everything!" ENDIF

Page 24: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 24

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

กรณสดทาย เราสามาถใชคาสง ELSE มากากบใหสามารถแสดงผล ถาเงอนไข เปน False

IF A = B PRINT "The values are the same! ELSE PRINT "The values are different!" ENDIF PRINT Statements คาสงนใชสาหรบแสดงผล ออกสจอภาพ เชน ถาตองการแสดงผลคาวา “Hello World” บนจอภาพ สามารถใชคาสงแสดงผลได ดงน PRINT "Hello World" เราสามารถแสดงผลคา และคาของตวแปรไปพรอมๆกนได โดยใชเครองหมาย ; และ , คนระหวางกนได เชน PRINT "My name is ";name$, " and I am ";age;" years old." จากคาสงขางบน เราอาจเขยนไดอก 2 แบบ คอ PRINT "My name is ",name$, " and I am ",age," years old." และ PRINT "My name is ";name$; " and I am ";age;" years old." จะเหนวาสามารถใช เครองหมาย ; และ , แทนกนได ซงกใหผลออกทางจอเหมอนกน ทงนยงสามารถกาหนดตาแหนงทจะแสดงผลทางหนาจอได โดยใชคาสง SET CURSOR เชน

SET CURSOR 20,20

Page 25: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 25

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

PRINT "TEXT"

และยงสามารถใชคาสงสมการแสดงตาแหนงได เชน DO SET CURSOR RND(640),RND(480) PRINT "TEXT" LOOP INPUT Statements นานๆครง ถาเราตองการใหผใช (User) ใสคาใหกบโปรแกรมของเรา เราสามารถทาได โดยใชคาสง INPUT เชน INPUT a$ จากคาสงขางบน ผใชตองใสคาชดขอมล ใหกบตวแปร a$ ซงเปนตวแปรชนด String ทงนถาเราตองการใหผใชทราบวาจะตองใสคาอะไร เรากสามารถบอกใหผใชทราบวาจะตองกรอกขอมลอะไรลงไป เชน INPUT "What is your password? ",password$ END and BREAK Statements คาสง END นนใชสาหรบการสนสดโปรแกรม และกลบเขามาสวนโดว สวนคาสง BREAK จะไมทาใหเกดการสนสดโปรแกรม แตจะเปนการตดเขาส Command Line Interface (CLI) เมอเรารนในสวนของ debug Mode - Common and User Functions COMMON FUNCTIONS ในโปรแกรม Dark Basic Professional จะมฟงกชนพนฐานใหใชมากมาย เชน arithmetic

functions, string functions, command specific functions

Page 26: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 26

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

สาหรบตวอยางของ arithmetic function เชน ฟงกชน ABS ใชทาใหคาลบ กลายเปนบวก เชน PRINT ABS(-100)

ทาใหผลลพธทแสดงทางหนาจอเปน 100 หรอจะนาไปใชกบการคานวณ

เชน A = B + ABS(-100)

หรอจะนาไปใชกบตวแปร เชน A = ABS( B )

หรอจะนาไปใชกบการตรวจสอบเงอนไขกได เชน IF ABS( A ) > 180 THEN PRINT "ok"

USER DEFINED FUNCTIONS เราสามารถสรางฟงกชนของตวเองขนมาใชงานได ซงคณสมบตของฟงกชนนน จะสามารถเรยกใชตวเอง (recursive) ได และเปนการทางานทอยตางหาก (isolated task) ไดดวย

การสรางฟงกชน นนจะใชคาสง FUNCTION…ENDFUNCTION เชน FUNCTION halfvalue(value) value=value/2 ENDFUNCTION value จากตวอยางขางบน เปนการสรางฟงกชนทใชหาคาทเปนจานวนครงหนง ของคาทใสไป ทนเราลองมาดตวอยางการใชฟงกชน เชน ถาเราตองการสรางคาสงทใชพมพขอความแสดงผลลพธออกทางจอภาพ โดยสามารถเซตคาตาแหนงได กสามารถทาไดดงตวอยางขางลาง REM Start of program BetterPrint(10, 10, "Hello world") END FUNCTION BetterPrint(x, y, t$) SET CURSOR x,y PRINT t$ ENDFUNCTION

Page 27: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 27

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

พนฐานการทาโปรแกรมคอมพวเตอร

ขนตอนในการพฒนาโปรแกรม มดงน

1. ศกษาและกาหนดขอบเขตของปญหา (Problem and Requirement analysis)

2. ศกษาความเปนไปไดในการเลอกระบบคอมพวเตอรมาใช (Feasibility study) 3. กาหนดรปแบบของขอมลเขาและผลลพธ (Solution outlining) 4. กาหนดขนตอนของโปรแกรม 5. เขยนโปรแกรมตามกฎเกณฑของภาษานน 6. ตรวจสอบขอผดพลาดของโปรแกรมและการทางาน 7. การทดสอบโปรแกรม 8. การจดทาเอกสาร

การกาหนดขนตอนการทางานของโปรแกรม มดงน

1. ผงงาน (Flowchart) ซงใชสญลกษณในการแสดงขนตอนตางๆของโปรแกรม

Page 28: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 28

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

2. คาสงเทยม (Pseudo code) เปนคาอธบายทเขยนโดยไมมรปแบบเฉพาะเจาะจง เพอบอกถงขนตอนของการเขยนโปรแกรมทออกแบบไว

สาหรบการทาความเขาใจหลกการเขยนโปรแกรม การเขยนฝงงาน (Flow Chart) เราจะไดทา Work Shop ภายในคอส 3D Game Developer

Page 29: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 29

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

สญญลกษณของผงงาน (สาหรบเขยน Flow Chart)

Process

Star

]---

Terminal Start/Stop

Processing Operation

Manual of clerical operation

Predefined procedure

Decision

Output

Connector

Direction

Comment

Page 30: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 30

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

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

START

Output V

END

1. เรมการทางาน รบคารศม เกบในตวแปร r

2. รบคาความสง เกบในตวแปร h

3. คานวณปรมาตร เกบไวในตวแปร v

4. แสดงผลลพธปรมาตร นนคอคาของตวแปร v

5. จบการทางาน

Input r

Input h

hr pi v 2 ××=

Page 31: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 31

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

Start

InputLastNumber

sum=0

Counter = 1

Counter<=LastNumber

sum=sum+counter

Counter=Counter+2

outputsum

Stop

รบขอมลคาสดทาย

กาหนดคาเรมตนของผลบวก = 0

กาหนดคาเรมตนตวนบ=1

ตรวจสอบวาตวนบมคานอยกวาหรอเทากบ คาสดทายหรอไม

ทาการบวกคา

เพมคาตวนบครงละ 2

แสดงผลลพธ

Page 32: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 32

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

START

sum = 0

set I=1 to 100

sum = sum+1

I=100

Mean=sum/100

STOP

outputMean

N

Y

กาหนดคาเรมตนของผลบวก =0

กาหนดให I มคาตงแต 1 ถง100

ทาการบวกคาเพม

ตรวจสอบคา I วา เทากบ 100 หรอไม

คานวณคาเฉลย

แสดงคาเฉลย

Page 33: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 33

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ขนตอนการพฒนาเกม

ขนตอนในการพฒนาเกม เปนเรองทมความยงยากซบซอนอยพอสมควร ดงนนจงควรทาความเขาใจลกษณะและวธการตางๆ ใหเขาใจเสยกอน ลกษณะทวไปของการพฒนาเกม มดงน

1. สรางทมงานสาหรบพฒนาเกม : Team (Development)

2. ชวยกนหาแนวคดสาหรบการทาเกม : Brainstorming 3. ออกแบบเนอเรอง และระบบของเกม : Design/Storyboard/System 4. ดเสยงตอบรบ สาหรบเนอเรองและระบบของเกมทออกแบบไว กอนทจะลงมอพฒนาจรง

: Feedback (Does the game sound fun?) 5. พฒนาเกมตามทไดออกแบบไว : Implementation (Development) 6. ทดสอบการทางาน และหาขอผดพลาดของโปรแกรม : DEBUGGING 7. ทดลองออกเปนเวอรชนอลฟา เบตา ใหผเลนทดลองเลนกน เพอตรวจสอบหาขอผดพลาด

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

ในการพฒนาเกมจะตองมการศกษาเรองตอไปนควบคไปดวย คอ

1. ศกษาวธการวจยตลาด : Marketing Research

2. ศกษาการสราง และการบรหารทมงาน : Team Creation and Management

3. เขาใจการออกแบบ และรลาดบขนตอนการพฒนา : Design & Development 4. เรองอนๆ ทเกยวกบการบรหารธรกจ

4.1 การตลาด : Marketing 4.2 การบรหารงานบคคล : Team Management

4.3 การบรหารเวลา : Scheduling/Time Management 4.4 การบรหารการเงน : Budgeting 4.5 การโฆษณา : Publicity 4.6 ขอกฎหมายตางๆ : Legal Issues

Page 34: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 34

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

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

ปญหาสาหรบคนไทยอยางเรา เพราะในระบบการศกษากสอนใหคนเกงคณตศาสตร และฟสกสอยแลว ความรทางดานฟสกสทจาเปน คอ

1. เขาใจคาจากดความของสงเหลาน : Basic Terms

1.1 Mass (m) 1.2 Time (t) 1.3 Position (s) 1.4 Velocity (v) 1.5 Acceleration (a) 1.6 Force (f) 1.7 Momentum

2. เขาใจวธการของสงเหลาน : Concepts

2.1 Gravity 2.2 Collision/Bounce 2.3 Vector Reflection 2.4 Friction 2.5 Kinetics 2.6 Particle 2.7 Projectile

ความรทางดานคณตศาสตรทจาเปน คอ

1. Trigometry 2. Geometry 3. Matrix 4. Vectors 5. Discrete Structures/Boolean Operation

Page 35: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 35

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

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

1. การออกแบบเกม ถอเปนสงทมความสาคญมากทสดในการทาเกม 2. ถาเราออกแบบมาไมสนก กอยาหวงวาเกมนนจะสนกไปได 3. ไอเดยหลกสาหรบการทาเกม จะตองเปนสงททกคนในทมรวมกนแสดงความคดเหน

และเมอทกฝายรสกพอใจแลว กจะมอบหมายงานใหฝายออกแบบนาไปคดเพม และเมอฝายออกแบบไดงานออกมา (Game Design Document) กจะตองมการปรกษาหารอจนกระทงทกฝายเหนพองตองกน จงจะผานขนตอนการออกแบบไปสการพฒนาจรงได

ขนตอนและวธการในการออกแบบเกม มดงน

1. โครงการเกมทจะพฒนา ตองมบางแนวคดทใหม ไมเหมอนใคร : Planning something new

2. การทาใหเกดแนวความคดใหมๆ : having an idea

2.1 มแรงบนดาลใจ หรอสงดลใจททาใหคดได : Inspiration

2.2 สงเคราะหเปนความคดใหม จากการรวมตวกนของหลายๆ ความคด : Synthesis (combination of ideas)

2.3 การระดมความคดทคลายคลงกน : Synergy of Ideas

2.4 การหาจดรวมของแนวความคด : Convergence

3. Shaping the Idea

3.1 Dramatic Effect 3.2 Style 3.3 Plot 3.4 Character 3.5 Setting 3.6 Theme

Page 36: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 36

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การตรวจสอบและประเมนคาการออกแบบ มดงน

1. Analysis 2. Evaluation 3. Justification 4. Feasibility Study

4.1 Commercial 4.2 Technologicial

5. Documentation 6. Prototyping

ตองคนหาหวใจของเกมทจะพฒนา ดงน

1. อะไรเปนจดมงหมายของเกมทจะทา 2. ผเลนตองทาอยางไร ถงจะสามารถบรรลถงเปาหมายของเกมได 3. มเกมอะไรทเหมอนกบเกมของเรา และเกมนนเลนอยางไร 4. อะไรคอกฏทอยในเกมของเรา

ทมงานสาหรบทาเกมโดยทวไป มดงน

• Planning and Direction: • Producer • Director • Planner (Game Designer) • Writing (Scenario Writing)

• Design

• Background Designer • Character Designer • 3D Modeling Designer • Texture Designer • Motion Designer (Animator) • Effect Designer • Movie Designer

Page 37: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 37

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

• Program • System Engineer (Analyst) • Chief Programmer • Assistant Programmer • Sound Programmer • Tool/Utility Programmer

• Sound

• Music Composer • Sound Effect Designer • Sound Engineer

• Other

• Test Player (Debugger) • Marketing • Etc.

สาหรบทานทตองการสรางเกมจรงๆ เราจะไดทา Work Shop ทาเกมกน ในหลกสตรการสรางเกมสามมต 3D Game Developer ทสถาบน NetDesign ครบ ตดตอสอบถามไดทโทร 02-642-1100 หรอท www.NetDesign.ac.th ครบ

Page 38: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 38

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตวอยางการดาเนนงานสรางเกมไทยสามมต “อจฉรยะปราบผ” เกมไทยสามมตอจฉรยะปราบผ ไดสรางขนในชวงปลายป พ.ศ. 2544 มรายละเอยดในการออกแบบและการสรางดงน การออกแบบเนอเรอง เนอเรองของเกมเปนหวใจหลกทจะทาใหเกมมความสนก ถาหากมการออกแบบเนอเรองใหมความนาสนใจ ชวนตดตาม กจะสงผลใหเกมเปนทถกใจของผเลน โดยในโครงงานเกมไทยสามมต "อจฉรยะปราบผ" ใชวธการออกแบบเนอเรองของเกมดงน การออกแบบเนอเรองโดยรวม การออกแบบเนอเรองโดยรวม เปนสงแรกทควรไดรบการออกแบบ เพราะจะทาใหการสรางเกมมเปาหมายทชดเจน ซงเมอทราบเปาหมายแลว จะทาใหการลาดบขนตอนการทางานในขนตอนอนๆ เปนไปไดงายและสะดวกรวดเรวขน โดยในสวนของเนอเรองโดยรวม ทโครงงานเกมไทยสามมต "อจฉรยะปราบผ" ไดทาการออกแบบไว แยกเปนสวนของสถานท ,สถานการณ ,เปาหมาย และอปสรรค เปนดงตารางท 1 ตารางท 1 การออกแบบเนอเรองโดยรวมของเกมไทยสามมต "อจฉรยะปราบผ" ฉากท สถานท สถานการณ เปาหมาย อปสรรค 1 หมบานไตรนมต

ณ สยามประเทศ เตรยมความพรอมกอนเดนทางไปปราบผ

อาวธวเศษ -

2 ปาชานอกเมอง เจดยอฐโกส ออนพลงในการควบคมอานาจผ

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

ผกระสอ / ผเดก / ผหวขาด / วญญาณเรรอน

Page 39: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 39

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตารางท 1 การออกแบบเนอเรองโดยรวมของเกมไทยสามมต "อจฉรยะปราบผ" (ตอ) ฉากท สถานท สถานการณ เปาหมาย อปสรรค 3 วดเกานอกเมอง เจดยทองโปส และเจดย

ปนโอส ออนพลงในการ ควบคมอานาจผ

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

ผโครงกระดก / ผเดก / ผเปรต / ผตายโหง/ วญญาณเรรอน

การเพมรายละเอยดของเรอง

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

เนอเรองโดยรวม

เพมรายละเอยดของเรอง

เนอเรองทสมบรณ

Page 40: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 40

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตารางท 2 แสดงการเพมรายละเอยดของเกมไทยสามมต "อจฉรยะปราบผ" ฉากท บทบาทของผเลน ความเปนมาของเรอง 1

ผเลนเขาไปรบอาวธวเศษทประกอบไปดวย ขาวสารเสก และกรชศกดสทธจากผเฒาประจาหมบาน และรบฟงคาชแจงจากผ เฒ าท านนน ถงกลว ธในการหยดยงการกระทาอนชวรายของเหลาผไทยทเทยวออกมาอาละวาด

2 ปราบผไทยทปาชานอกเมอง ทมาคอยขดขวาง เพอไมใหผเลนสามารถบรรลเปาหมายได

3 ปราบผไทยทวดเกานอกเมอง ทมาคอยขดขวาง เพอไมใหผเลนสามารถบรรลเปาหมายได

เมอหลายเดอนกอนมโจรทมาจากหมบานอน ไดขโมยลกนมตทบทม ลกนมตมรกต และลกนมตไพลนจากเจดยอฐโกส เจดยทองโปส และเจดยปนโอสตามลาดบ ทาใหสมดลของพลงทถวงดลอานาจของผไทย ในบรเวณปาชานอกเมอง และวดเกานอกเมองเสอมลง ส ง ผลให ม ผ ไทยจ านวนหน ง ออกมาอาละวาด เทยวหลอกหลอนชาวบานในละแวกนน ทาให นายสน แหงหมบานไตรนมต ตองออกมารบอาสาในการนาลกนมตทงสาม กลบไปไวยงทเดม เพอความสงบสขของชาวบานทกคน ณ สยามประเทศ

การออกแบบวธการเลน การออกแบบวธการเลนเปนองคประกอบทสาคญอยางหนงของการสรางเกม เพราะการออกแบบวธการเลนไวลวงหนานน เปนสงสาคญทจะชวยเพมอรรถรสใหกบผเลนมากขน โดยการแบงสวนของการออกแบบวธการเลนนน แบงได 2 สวนคอ สวนรบขอมล (Input) และสวนแสดงผลขอมล (Output)

1. สวนรบขอมล (Input) เปนการออกแบบในสวนของการรบขอมลจากผเลน เชน แปนพมพ (Keyboard) เมาส (Mouse) เปนตน 2. สวนแสดงผลขอมล (Output) เปนการออกแบบในสวนของการแสดงผลขอมล เชน จอคอมพวเตอร (Monitor)

ซงในการออกแบบทงสองสวนน จะตองทาการออกแบบใหมความสมพนธกน

Page 41: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 41

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ควบคมดวยมอซาย ควบคมดวยมอขวา เลข แทน ความหมาย เลข แทน ความหมาย 3 Up-Key เดนลกเขาไปในฉาก 1 Left -Click ยงขาวสารเสก 4 Left-Key เลอนตาแหนงมาดานซาย 2 Right-Click ยงกรชศกดสทธ 5 Down-Key เดนออกมาจากฉาก * ตวเมาส ควบคมทศทางการมอง 6 Right-Key เลอนตาแหนงมาดานขวา 7 Ctrl-Key กระโดด

แผนภาพการออกแบบวธการเลน

เมาส (Mouse) แปนพมพ (Keyboard)

จอคอมพวเตอร (Monitor)

ซาย ขวา

ลกเขาไป

ใกลผเลน

เดนลกเขาไปในฉาก เดนออกมาจากฉาก

*

Page 42: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 42

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

จะสงเกตไดวา เมอมการออกแบบวธการเลน จะทาใหทราบถงแนวเกมทจะทาการสรางขนมา โดยในทนเกมทจะสรางเปนเกมไทยสามมต แนวเกมยง มมมองบคคลท 1 และสงสาคญอกอยางหนงในการออกแบบวธการเลน จะตองคานงถงสรระของผเลน โดยตองจดวางตาแหนงของสวนรบขอมล ใหอยในตาแหนงทสามารถควบคมไดงาย และสะดวกในการเลน ซงปจจบนเราอาจเหนไดวา เกมแนวมมมองบคคลท 1 อยาง Doom, Counter จะมการใชปม W, A, S, D ในการควบคมการเคลอนทของตวละคร ซงเราอาจใชตาแหนงนในเกมเราไดเชนกน

การออกแบบฉาก

การออกแบบฉาก ตองอาศยความรทางดานสถาปตยกรรมพอสมควร จงจะทาใหฉากทไดม

ความสอดคลองลงตวกนพอด ซงถาหากไมคานงถงจดนแลว จะทาใหฉากทไดนนไมมความสมจรง เชน คนตวใหญกวาบาน ดวงอาทตยอยในระดบเดยวกบสายตาผเลน เปนตนโดยวธการออกแบบฉากสามารถเขยนเปนแผนภาพไดดงรป

องคประกอบรวม

องคประกอบ 1 องคประกอบ 2

องคประกอบ N

…….

จดองคประกอบของฉาก

ฉากทออกแบบได

Page 43: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 43

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

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

รปท 3.4 ฉากหมบานไตรนมตทออกแบบไว

ฉากหมบานไตรนมตทออกแบบไว

รปท 3.5 ฉากเจดยอฐโกสทออกแบบไว

ฉากเจดยอฐโกสทออกแบบไว

Page 44: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 44

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ฉากเจดยทองโปสทออกแบบไว

ฉากเจดยปนโอสทออกแบบไว

Page 45: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 45

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การออกแบบกราฟฟคสามมต

วธการออกแบบกราฟฟคสามมตนนมรายละเอยดมาก สวนหนงไดอาศยโปรแกรม 3-D Studio

Max ในการชวยออกแบบเพอทาการสรางองคประกอบของฉาก เชน เจดย ตนไม เปนตน สวนตวละครผนนกอาศยโปรแกรม Poser ในการสราง โปรแกรมชวยออกแบบตวละคร

ดวยความสามารถของโปรแกรม Poser สามารถลดระยะเวลาการออกแบบตวละครสามมตไดเปนอยางมาก เพราะโปรแกรมนมรปทรงพนฐานเปนมนษย จงทาใหสะดวกในการปรบแตง และสรางตวละครผไทยสามมต โดยปรบแตงหนาตา ทรงผม ลกษณะทาทาง และสผว กจะทาใหไดผไทยทแตกตางกนดงรป

ตวละครผเปรต

Page 46: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 46

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตวละครผเดก

ตวละครนาผ

Page 47: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 47

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตวละครผหวขาด

ตวละครผกระสอ

Page 48: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 48

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ในเบองตนเราทาการสรางผไทยตางๆดวยโปรแกรม Poser และทาการ Export ไฟลเปนนามสกลของ 3D Studio (.3ds) เพอใหสามารถแปลงเปนไฟล .x สาหรบใชในเกมได แตกเกดปญหาทวาตวละครททาการ Export จากโปรแกรม Poser นนเมอแปลงเปนไฟล .x จะไดสผดไปจากเดมททาไว จงตองนามา Import เขาสโปรแกรม 3D Studio Max เพอใช Material Editor แตงสและ Export

เปนไฟล .3ds อกครงหนงเพอนาไปแปลงเปนไฟล .x กจะไดสของโมเดลสามมตตามทตองการ โปรแกรมชวยออกแบบวตถสามมตประกอบฉาก

เนองจากความสามารถของโปรแกรม Poser 4 จากดเฉพาะการสรางวตถรปทรงบางอยางเทานน

จงไมสามารถนาไปประยกตสรางวตถตางๆ เชน บาน ,ตนไม และเจดยไมได จงตองอาศยความสามารถของโปรแกรม 3D Studio Max ในการสรางวตถดงกลาว ซงมวธการออกแบบดงน การสรางเจดย

การสรางเจดยดวยโปรแกรม 3D Studio max นน สามารถทาไดโดยการนาวตถอยางงายเชน

วงกลม ทรงกระบอก ทรงกรวย นามาเชอมตอกนดงรป ซงจากรปจะเหนวากราฟฟกสามมตทไดนนมรปทรงเหมอนเจดยมาก

เจดยทสรางจากโปรแกรม 3-D Studio Max

Page 49: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 49

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การสรางกาแพงเมอง

การสรางกาแพงเมองดวยโปรแกรม 3D Studio max นน สามารถทาไดโดยการนาวตถอยางงาย เชน ลกบาศก และทรงร มาวางซอน และนามาเชอมตอดงรป ซงจากรปจะเหนวากราฟฟกสามมตทไดนนมรปทรงเหมอนกาแพงเมองโบราณมาก

กาแพงเมองทสรางจากโปรแกรม 3-D Studio Max

รปกาแพงเมองท Render จากโปรแกรม 3-D Studio Max

Page 50: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 50

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

การสรางตนไม

ในการสรางตนไมดวยโปรแกรม 3D Studio max นน สามารถทาไดโดยการนาวตถอยางงาย เชน ทรงกลม และทรงกระบอก มาวางซอนกนดงรป ซงจากรปจะเหนไดวากราฟฟกสามมตทไดนนมรปทรงเหมอนตนไมมาก

ตนไมทสรางจากโปรแกรม 3-D Studio Max

ตนกลวยทสรางจากโปรแกรม 3-D Studio Max

Page 51: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 51

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตนกลวยจากโปรแกรม 3-D Studio Max สรางโดยใชฟงกชน Bend ทาการดดใบกลวยใหมการโคงงอลงมา ซงเมอ Render แลวจะเปนดงรป

รปตนกลวยท Render จากโปรแกรม 3-D Studio Max

การสรางบาน

ในการสรางบานดวยโปรแกรม 3D Studio max นน สามารถทาไดโดยการนาวตถอยางงาย เชน ทรงกระบอกมาวางซอนกนดงรป ซงจากรปจะเหนไดวากราฟฟกสามมตทไดนนมรปทรงเหมอนบานมาก

บานทสรางจากโปรแกรม 3-D Studio Max

Page 52: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 52

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปบานท Render จากโปรแกรม 3-D Studio Max

การออกแบบเสยง

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

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

Page 53: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 53

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

ตวอยางการออกแบบเกมน แสดงใหเหนวาการทาเกม มขนตอนมากมาย ซงในสวนของเกมไทยสามมตอจฉรยะปราบผน ไดใชเวลาประมาณ 2-3 เดอน ในทกขนตอน และเมอเสรจแลวกจะไดเกมดงน เกมไทยสามมต "อจฉรยะปราบผ" เมอพฒนาเสรจ เมอเขาสเกมไทยสามมต "อจฉรยะปราบผ" จะพบเมนของเกมดงรปท 1 และเมอเขาสเกม จะพบกบหนากาลงโหลดเกมดงรปท 2 และเมอโหลดเกมเสรจ ผเลนจะเขาสเกมในฉากของหมบานไตรนมตดงรปท 3 ในฉากหมบานไตรนมตน ผเลนมเปาหมายทสาคญคอตองเดนทางไปยงบานของทานผเฒา เพอเอาอาวธวเศษไปปราบผดงรปท 4ในขณะทอยในฉากของหมบานไตรนมตจะไดพบกบบรรยากาศสมจรงแบบสามมตดงรปท 5 และเมอพบผเฒาแลว ทานผเฒากจะมอบอาวธวเศษ คอกรชศกดสทธ และขาวสารเสก อกทงแนะนาวธในการปราบผใหกบผเลนดงรปท 6 เมอรบอาวธแลวผเลนจะตองเดนทางไปปราบผทกาลงอาละวาดดงรปท 7 ผเลนสามารถปราบผโดยโยนอาวธใสผไดดงรปท 8 และในระหวางการเดนทางเพอนาลกนมตทงสามไปไวยงเจดยอฐโกสเจดยทองโปส และเจดยปนโอส ผเลนจะไดสมผสกบบรรยากาศสมจรงแบบสามมตของปาชาและวดนอกเมองดงรปท 9

รปท 1 เมนของเกมไทยสามมต "อจฉรยะปราบผ"

Page 54: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 54

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 2 ขณะกาลงโหลดเกมไทยสามมต "อจฉรยะปราบผ"

รปท 3 เมอเขาสเกมไทยสามมต "อจฉรยะปราบผ"

Page 55: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 55

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 4 ผเลนกาลงเดนไปยงบานของทานผเฒา

Page 56: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 56

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 5 บรรยากาศสมจรงแบบสามมตของหมบานไตรนมต

Page 57: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 57

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 6 ผเลนเขาพบทานผเฒา

Page 58: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 58

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 7 ผทออกอาละวาด

Page 59: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 59

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 8 ผเลนโยนอาวธเขาตอสกบผ

Page 60: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 60

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

รปท 9 บรรยากาศสมจรงแบบสามมตของปาชาและวดนอกเมอง

Page 61: 01.สร้างเกมด้วย Dark Basic Professional (บทความโดยวศิน ภิรมย์ webmaster@GamedevX.com)

สรางเกมดวย Dark Basic Professional - หนาท 61

Version 1.0 จดทาโดย วศน ภรมย / Email : [email protected]

เมอผเลนสามารถนาลกนมตทงสามไปไวยงเจดยอฐโกส เจดยทองโปส และเจดยปนโอส ไดสาเรจแลว กจะพบกบฉากจบของปาชาและวดนอกเมองทมพลงอานาจในการปกปองคมครองบานเมองกลบคนสสภาพปกต ทาใหเมองไตรนมตและสยามประเทศ กลบมาสงบสขอกครงหนงดงรปท 10

รปท 10 สยามประเทศกลบสความสงบสขอกครงหนง