Home / Developer  / Game Development  / Article for Gamer  / เส้นทางการเป็นนักพัฒนาเกม: ติดตั้ง DevC++ และ SDL เพื่อพัฒนาเกม

เส้นทางการเป็นนักพัฒนาเกม: ติดตั้ง DevC++ และ SDL เพื่อพัฒนาเกม

บทความนี้จะเป็นขั้นตอนการสร้าง Environment ในการเริ่มต้นที่จะพัฒนาเกมด้วยภาษา C/C++ กับ Library SDL หรือ Simple DirectMedia Layer ซึ่งเป็น Library สำหรับพัฒนาเกมและที่สำคุญเป็น Opensource มาเริ่มกันดีกว่าครับ

ติดตั้ง SDL กับ DEV C++

 

แรกเริ่มเลยต้องมี IDE ไว้สำหรับ Compile ภาษา C++ ครับซึ่งเราจะเลือกใ้ช้ Bloodshed Dev C++ ครับเพราะเป็น Freeware จะได้ไม่ต้องเสียค่าลิขสิทธิใดๆในการพัฒนาเกมให้เราไปดาวน์โหลดและติดตั้งผ่าน URL นี้ครับ

 

เมื่อทำการติดตั้งเสร็จเรียบร้อยและตั้งค่าเริ่มต้นของตัว Dev C++ เหมือนในรูปข้างบนแล้วก็ให้ไปดาวน์โหลด Library SDL ที่หน้าเว็บไซต์

ในเว็บไซต์ของ SDL จะมี Runtime Library และ Development Libraries ให้เลือกดาวน์โหลดเลือกดาวน์โหลดไฟล์ในหมวดของ Win32 Development Libraries สำหรับ Mingw32 เมื่อดาวน์โหลดเสร็จให้ unzip ไว้ในโฟล์เดอร์ C:SDL_LIB เพราะว่า DEV C++ นั้นใช้ Mingw32 คอมไพเลอร์ เลือกดาวน์โหลดดังภาพข้างล่าง

SDL website

โฟล์เดอร์สำคัญที่เราต้องใช้งานคือ

  • .bin
  • .include
  • .lib

ในโฟล์เดอร์ bin จะมีไฟล์ .DLL ที่เราจำเป็นต้องใช้ในขั้นตอนการรันโปรแกรมที่เราพัฒนาขึ้น ส่วนใน .include จะมี Header File ที่ต้องใช้ในขั้นตอนการคอมไพล์ รวมทั้ง .lib และ .a ในโฟล์เดอร์ .lib เป็นต้น ส่วนโฟล์เดอร์อื่น ๆ จะเป็นเอกสาร คู่มือ และไฟล์ตัวอย่างมากมายแถมมา

การกำหนดค่าใน Dev-C++

ส่วนสำคัญที่เราต้องใช้งาน ได้แก่โฟล์เดอร์ .inlcude และ .lib โดยเราจะต้องกำหนดให้ IDE สามารถเรียกใช้งานได้ กรณีที่ใช้ Dev-C++ เราต้องกำหนดค่าในเมนู Tools/Compiler Options โดยดูในส่วนของ Directories หัวข้อ Libraries, C Includes และ C++ Include ดังรูป

กำหนด Path ให้ทั้งสามส่วนดังนี้ (ตัวอย่าง: ในกรณีที่เราติดตั้ง SDL ไว้ที่ C:SDL_LIB)

  • ในส่วนของ Libraries กำหนด Path เพิ่มเป็น
    C:SDL_LIBSDL-1.2.13lib
  • ในส่วนของ C Includes กำหนด Path เพิ่มเป็น
    C:SDL_LIBSDL-1.2.13include
  • ในส่วนของ C++ Includes กำหนด Path เพิ่มเป็น
    C:SDL_LIBSDL-1.2.13include

 

 

 

 

ทดสอบ SDL

เพื่อทดสอบการติดตั้ง และกำหนดค่าเริ่มต้นเพื่อใช้งาน SDL บน Dev-C++ เราจะสร้าง SDL โปรแกรมแรก โดยจะสร้างเป็น Windows Application ให้เปิดหน้าต่าง SDL กำหนดขนาดแสดงผลเป็น 320 x 240 pixel แล้วกำหนด Titlebar จากนั้นจะหน่วงเวลาประมาณ 8 วินาที แล้วปิดโปรแกรมไป

ให้เปิด Dev-C++ สร้างโปรเจคใหม่ เลือกเป็น Empty Project ตั้งชื่อโปรเจคเป็น daydev และกำหนดให้เป็น C Project ดังรูป

หลังจาก Save Project ไว้ในโฟล์เดอร์ที่ต้องการแล้ว ให้สร้างไฟล์ใหม่ในโปรเจค โดยคลิกขวาที่ชื่อโปรเจค แล้วเลือกคำสั่ง New File เพื่อเขียนโค้ด จากนั้น Save File โดยใช้ชื่อ test.c แล้วเริ่มเขียนโค้ดคำสั่ง

วิเคราะห์โจทย์

จากโจทย์ที่ตั้งไว้ เราจะเริ่มเขียนโปรแกรมโดย include ไฟล์ SDL.h จากโฟล์เดอร์ ./include/SDL/เข้ามาในโปรเจค แล้วสร้างฟังค์ชั่น main() จากนั้นจะเรียกฟังค์ชั่น SDL_Init() เพื่อเริ่มใช้งาน SDL หากมีข้อผิดพลาด เราจะจบการทำงานโดย return ค่า 1 กลับมายังโปรแกรมที่เรียก

จากนั้นให้บันทึกไฟล์ไว้ เตรียมขั้นตอนการคอมไพล์และลิงค์ เพื่อสร้างโปรแกรม

การกำหนดค่าสำหรับขั้นตอนการ Link

ในขั้นตอนการสร้างโปรแกรม หลังจากการคอมไพล์แล้วจะต้องทำการลิงค์ออปเจ็คไฟล์ที่ได้รวมเข้ากับไลบรารี่ ในขั้นตอนนี้เราต้องกำหนดให้ IDE ทำการลิงค์กับไลบรารี่ต่าง ๆ ที่เราใช้งาน โดยจะกำหนดใน Project Options

ให้คลิกขวาที่ชื่อโปรเจค แล้วเลือกคำสั่ง Project Options เพื่อกำหนดให้ลิงค์รวมกับ SDL ไลบรารี่ ดังรูป

เลือกหมวด Parameters ในช่อง Linker ให้ใส่ -lmingw32 -lSDLmain -lSDL เพื่อกำหนดให้มีการ Link กับ SDL Library

จากนั้นให้คอมไพล์ โดยเลือกจากเมนู Execute หรือกดปุ่ม Ctrl-F9 หรือกดปุ่มบน Toolbar แบบในรูป หากไม่มีข้อผิดพลาดจะได้ไฟล์ Project1.exe ในโฟล์เดอร์ของโปรเจค

ในขั้นตอนการรันโปรแกรมที่ใช้ SDL ไลบรารี่ จะต้องมีไฟล์ SDL.dll อยู่ในระบบ วิธีการที่แนะนำคือ ให้คัดลอกไฟล์ *.dll ที่ต้องการใช้งานมาเก็บไว้ในโฟล์เดอร์เดียวกับโปรแกรม (เพื่อไม่ให้เกิดปัญหาการใช้งานไลบรารี่ต่าง Version กัน)

ผลจากการรันโปรแกรม

จะเปิดหน้าต่างแสดงผลหน้าจอสีดำขนาด 320 x 240 pixel โดยแสดงคำว่า Hello World ที่ Titlebar จากนั้นแสดงผล 8 วินาที แล้วปิดหน้าต่างจบโปรแกรม

Comments

daydevthailand@gmail.com

<p>อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)</p>

Review overview
NO COMMENTS

POST A COMMENT