17 พฤษภาคม 2568

วิธี Compile เกม Vulture จากไฟล์ Source Code (Windows)

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

Vulture คืออะไร??

ความจริงแล้วควรเรียกเป็น "NetHack คืออะไร??" เพราะตัว Vulture จริงๆ แล้ว เป็นแค่ฉบับอัปเกรดกราฟิกของ NetHack เท่านั้นเอง... (NetHack ตัวต้นฉบับจะใช้กราฟิกแบบ ASCII และตาราง 8-บิต)


NetHack คือเกมแนว Roguelike แบบดั้งเดิมขนานแท้ ซึ่งจะต่างจากเกมแนวเดียวกันหลายๆ เกม ตรงที่เกมพวกนั้นมักจะหยิบเอาแค่จุดเด่น "บางส่วน" ของเกมแนวนี้มาเท่านั้น หลักๆ คือ ฉากแบบสุ่ม กับ ตายแบบถาวร (ตายแล้วเซฟหาย) แต่เกมนี้จะมีครบทุกอย่างที่ Roguelike มีเลย ทั้งรูปแบบการเล่นแบบ Turn-based, กราฟิกแบบตาราง และการตลุยดันเจียนตลอดเกม (Dungeon crawling)

จุดเด่นของเกมนี้คือ มีความลับให้ค้นหาเยอะมาก และเกมค่อนข้างซับซ้อนมากพอสมควร เหมาะสำหรับผู้ที่เก่งภาษาอังกฤษเท่านั้น เพราะเกมนี้ใช้ภาษาในเกมเล่นค่อนข้างเยอะ หากเล่นติดตรงไหน จำเป็นอย่างยิ่งที่ต้องศึกษาข้อมูลจากวิกิของเกมนี้ https://nethackwiki.com/wiki/Main_Page

แต่เมื่อเล่นจนชำนาญแล้ว ท่านจะนั่งติดหน้าจอได้มากกว่า 3 ชั่วโมงโดยไม่ลุกไปไหนได้เลยล่ะ ขอบอก!! 😊

ปัจจุบัน Vulture for NetHack เป็นเกมที่วางขาย(เสียเงิน)อยู่ใน Steam แต่ทางผู้พัฒนาได้มีการเผยแพร่ Source Code ผ่านทางเว็บไซต์ของตน ทำให้ใครที่อยากลองเล่นดูก่อน (หรือไม่อยากซื้อด้วยเหตุผลอะไรก็ตาม) ก็สามารถทำการ Compile จากไฟล์ต้นฉบับดิบๆ ได้ โดยที่ไม่ต้องเสียเงินซื้อได้ด้วยนั่นเอง





หมายเหตุ

หากใครไม่อยาก Compile สามารถดาวน์โหลดเกมตัวเต็มได้ที่นี่ครับ เล่นได้เลยไม่ต้อง Compile
แต่เป็นเวอร์ชั่นเก่ากว่าตัว Source Code นะ

https://web.archive.org/web/20140223123530/http://download.darkarts.co.za/vulture/vulture-nethack-2.3.67-1_win32.exe

ซึ่งเวอร์ชั่น 2.3.67 เป็นเวอร์ชั่นสุดท้ายที่ทางผู้พัฒนาได้ปล่อยฟรี ก่อนที่จะเปลี่ยนเป็นเกมเสียเงินตั้งแต่ 2.4 เป็นต้นมา (ฟรีเฉพาะ Source Code)

NetHack ภาคต้นฉบับ
https://www.nethack.org/v343/downloads.html

(มือใหม่แนะนำเวอร์ชั่น 3.4.3 เพราะเล่นค่อนข้างง่ายกว่าเวอร์ชั่นล่าสุดพอสมควร และ Vulture ใช้ตัวเกม NetHack 3.4.3 เป็นพื้นฐานในการพัฒนาอีกด้วย)


วิธี Compile เกม Vulture เวอร์ชั่น 2.4 จากไฟล์ Source Code

1. ดาวน์โหลดไฟล์ Source ของตัวเกม และแตกไฟล์ออกมา
https://github.com/Smasherr/vulture-msys2/archive/refs/heads/master.zip

2. ดาวน์โหลดและติดตั้ง MSYS2
https://www.msys2.org/

3. เมื่อติดตั้งเสร็จ หน้าต่างโปรแกรม MSYS2 จะถูกเปิดขึ้นมาเอง ให้พิมพ์คำสั่งตามนี้ทีละบรรทัด ตอบ Y หากถูกถามให้ยืนยัน

pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-libpng
pacman -S mingw-w64-x86_64-SDL_ttf
pacman -S mingw-w64-x86_64-SDL_mixer
pacman -S mingw-w64-x86_64-libtheora
pacman -S mingw-w64-x86_64-smpeg
pacman -S mingw-w64-x86_64-zziplib
pacman -S mingw-w64-x86_64-OpenSceneGraph
pacman -S bison
pacman -S flex


4. เสร็จแล้วปิด MSYS2 จากนั้นไปที่โฟลเดอร์ vulture-msys2-master\sys\winnt แล้วรัน nhsetup.bat

5. ไปที่โฟลเดอร์ vulture-msys2-master\src แล้วกด Shift ค้าง+คลิกขวาที่พื้นว่าง จากนั้นเลือก Open in terminal

6. พิมพ์คำสั่งตามลำดับนี้ ทีละบรรทัด เพื่อเริ่มการ Compile

set PATH=%PATH%;c:\msys64\mingw64\bin
mingw32-make -f Makefile.gcc install


7. เมื่อเสร็จแล้ว (ขึ้น Done ในหน้า Terminal) ให้ปิด Terminal จากนั้นไปที่ C:\msys64\mingw64\bin แล้วก็อปปี้ไฟล์ DLL ต่อไปนี้ลงในโฟลเดอร์เกม
(vulture-msys2-master\binary)

libbrotlicommon.dll
libbrotlidec.dll
libbrotlienc.dll
libbz2-1.dll
libfreetype-6.dll
libglib-2.0-0.dll
libgraphite2.dll
libharfbuzz-0.dll
libharfbuzz-gobject-0.dll
libharfbuzz-subset-0.dll
libiconv-2.dll
libintl-8.dll
libmad-0.dll
libogg-0.dll
libopenal-1.dll
libpng16-16.dll
libSDL_mixer-1-2-0.dll
libtheora-0.dll
libtheoradec-1.dll
libtheoraenc-1.dll
libvorbis-0.dll
libvorbisenc-2.dll
libvorbisfile-3.dll
SDL.dll
SDL_ttf.dll
zlib1.dll


8. รัน Vulture-NetHack.exe เพื่อเริ่มเกมได้เลย


ขอให้หัวร้อน เอ้ย! สนุกกับเกมครับผม (*^_^*)