-
Game Programming
เริ่มต้นกับ Unity
Unity Game Engine
Unity เป็นซอฟต์แวร์ที่ทำให้สามารถสร้างวิดีโอเกมได้โดยที่ผู้ใช้งานไม่จำเป็นต้องมีความรู้พื้นฐานและเทคโนโลยีบางส่วนในการพัฒนาเกม
ดังนั้นเมื่อทำการสร้างเกมด้วยเกมเอ็นจิน ผู้ใช้งานไม่จำเป็นต้องเข้าใจว่าเกมที่สร้างขึ้นจะมีการแสดงผลของเกมโดยอาศัยทฤษฎีทางคอมพิวเตอร์กราฟิกส์อย่างไรหรือจะเขียนโปรแกรมติดต่อกับการ์ดแสดงผลเพื่อเพิ่มความเร็วได้อย่างไร เนื่องจากเกมเอนจินจะเป็นผู้จัดการสิ่งเหล่านี้ให้เอง
แต่หากต้องการให้เกมมีประสิทธิภาพหรือมีความซับซ้อนมากขึ้น นักพัฒนาจำเป็นต้องให้ความสำคัญกับกลไกเกมและวิธีการใช้งาน Game Engine ในระดับสูงโดยใช้ภาษาโปรแกรมและสคริปต์ที่มีให้ใน Unity เช่น C # หรือ JavaScriptทำให้การพัฒนาเกมเป็นไปได้รวดเร็ว เนื่องจากผู้สร้างเกมจะมุ่งเน้นไปที่กลไกการทำงานของเกมแต่เพียงอย่างเดียว เนื่องจากตัวเกมเอนจินมีคำสั่งและเครื่องมือช่วยเหลือในการสร้างเกม ทำให้นักพัฒนาไม่ไม่จำเป็นต้องสร้างใหม่ตั้งแต่ต้น ทำให้โปรแกรมเมอร์สามารถใช้งานได้ทันทีและประหยัดเวลา (เช่นส่วนของ GUI หรือการใช้งานปัญญาประดิษฐ์ภายในเกมเป็นต้น)
มีการใช้งาน Integrated Development Environment (IDE) : ซึ่งอาจมีภายในตัวเกมเอนจินเองหรืออาศัยตัว IDE จากภายนอก เพื่อช่วยในการสร้าง คอมไพล์ และจัดการโค้ด นอกจากนี้ยังมีการรวบรวมเครื่องมือที่มีประโยชน์ที่ทำให้การพัฒนาและการดีบักมีประสิทธิภาพมากขึ้นGraphical User Interface (GUI): ในขณะที่เกมเอ็นจินในยุคแรก ๆ จะมีลักษณะเป็นเพียงแค่ไลบรารีช่วยเหลือในการสร้างเกม เช่น DirectX SDK แต่เกมเอ็นจินส่วนใหญ่ในปัจจุบันทำให้ผู้ใช้สามารถสร้างวัตถุต่าง ๆ ในเกมได้อย่างง่ายดาย เช่น การเปลี่ยนพื้นผิวของวัตถุ การเปลี่ยนแปลงตำแหน่ง การหมุน การย่อขยายวัตถุ ผ่านคุณสมบัติการลากและวาง ข้อดีอีกประการของเกมเอนจินดังกล่าวคือ ผู้สร้างเกมสามารถเข้าใจและมองเห็นว่าเกมจะมีลักษณะอย่างไรโดยไม่ต้องทำการคอมไพล์โค้ด
สามารถนำไปใช้งานได้หลายแพลตฟอร์ม: เกมเอนจินทั่วสามารถส่งออกเกมที่สร้างขึ้นไปยังหลายแพลตฟอร์มได้ด้วยการเลือกแพลตฟอร์มที่เกมเอนจินรองรับ เช่นสำหรับเว็บ iOS หรือ Android โดยผู้สร้างเกมไม่จำเป็นต้องสร้างเกมใหม่อีกสำหรับแต่ละแพลตฟอร์มในปัจจุบันมีเกมเอนจินให้ใช้งานอยู่เป็นจำนวนมากซึ่งหนึ่งในเกมเอนจินที่มีความนิยมในการใช้งานสูงในนั้นคือ Unity
ใน Unity เราสามารถสร้างเกมทั้งสองมิติและสามมิติ และเกมในประเภทต่าง ๆ เช่น
- First-Person Shooters (FPS)
- Massive Multiplayer Online Role Playing Games (MMORPG)
- Casual games
- Adventure games ฯลฯ
มีความสามารถในการสร้างเกมคุณภาพสูงด้วยอินเทอร์เฟซที่ใช้งานง่าย
Unity ยังสามารถสร้างเกมไปยังแพลตฟอร์มที่หลากหลายเช่น Android, iOS, Windows Phone 8, Mac, Linux, PS3, PS4, Xbox360 หรือ Xbox One เป็นต้นUnity มีเครื่องมือที่จำเป็นทั้งหมดที่จำเป็นในการสร้างเกมที่ยอดเยี่ยมและยังช่วยลดความยุ่งยากในการประยุกต์ใช้เทคนิคที่มีประโยชน์เพื่อปรับปรุงคุณภาพของเกม ตัวอย่าง เช่น การใช้งานร่วมกับ Visual Studio หรือ Mono ซึ่งเป็น IDE ที่จะช่วยให้เขียนโค้ดได้เร็วขึ้น การมีโมดูลปัญญาประดิษฐ์ (AI) ในตัว (เช่นการนำทางด้วยการใช้ navmesh) ที่สามารถใช้โดยไม่ต้องมีความรู้เกี่ยวกับ AI, ไฟ, วัตถุพื้นฐาน หรือ finite state machine ที่สามารถนำไปใช้กับตัวละครสำหรับพฤติกรรมที่กำหนดเองได้
ในการควบคุมการทำงานในเกม เราสามารถใช้การเขียนโปรแกรมระดับสูงและภาษาสคริปต์ เช่น C # หรือ JavaScript ซึ่งมีประโยชน์สำหรับผู้ที่เคยใช้งานกับภาษาเหล่านี้มาก่อน เพื่อนำไปใช้ในการเขียนคำสั่งควบคุมการทำงานของเกมใน Unity นอกจากนี้ยังให้โปรแกรมเมอร์มีทางเลือกขึ้นอยู่กับระดับความชำนาญ ตัวอย่างเช่นผู้เริ่มต้นอาจต้องการ JavaScript ในขณะที่ผู้ที่เคยมีประสบการณ์ในการเขียนโปรแกรมเชิงวัตถุมาก่อนอาจเลือกใช้ C #
-
C++
บทที่ 8. ไลบรารีและฟังก์ชันพื้นฐานใน C/C++
ฟังก์ชัน (Function) จะถือว่าเป็นโปรแกรมย่อย (Sub program) ถูกสร้างขึ้นมาเพื่อลดความซับซ้อน ทำให้โปรแกรมมีใน C และ C++ เราสามารถแบ่งฟังก์ชันได้ออกเป็นสองลักษณะได้แก่
- ฟังก์ชันมาตรฐานของตัวภาษาเอง โดยมีการเรียกใช้จากไลบรารีพื้นฐานของ C และ C++ เช่นคำสั่ง printf(), rand(), pow(), sqrt() เป็นต้น
- ฟังก์ชันที่โปรแกรมเมอร์เขียนขึ้นมาใช้งานเองซึ่งเป็นการรวมกลุ่มกันของคำสั่งพื้นฐานต่าง ๆ ของ C++ มาประกอบขึ้นใหม่เพื่อให้ทำงานอย่างใดอย่างหนึ่ง โดยเฉพาะอย่างยิ่งหากงานนั้นมีการเรียกใช้งานซ้ำมากกว่าหนึ่งครั้ง ซึ่งฟังก์ชัน main() ก็ถือเป็นฟังก์ชันประเภทนี้ด้วยเช่นกัน
-
Other
การแก้ปัญหา ไม่สามารถ Remove External Harddrive ได้
โดยปรกติเมื่อใช้งาน External Harddrive หรือ Thumb drive ก่อนจะทำการถอดอุปกรณ์เหล่านั้นออกเราควรเลือกใช้คำสั่งจากเมนู "Safely remove hardware and eject media" เพื่อป้องกันความเสียหายของอุปกรณ์และข้อมูลที่อยู่ภายใน แต่จะทำอย่างไรเมื่อไม่สามารถถอดอุปกรณ์เหล่านี้ได้จากเมนู "Safely remove hardware and eject media" ของวินโดวส์ บทความนี้จะนำเสนอวิธีแก้ปัญหาดังกล่าวโดยไม่ใช้โปรแกรมเสิรมใดๆ










General Programming

การหลีกเลี่ยงข้อผิดพลาดจากการแจ้งเตือน MSVCR100.dll, MSVCP100D.dll หรือ MSVCR100D.dll is missing
เมื่อทำการเขียนโปรแกรมด้วย Microsoft Visual Studio จนได้ Execute file หรือไฟล์ exe ของโปรเจกต์แล้วเมื่อต้องการนำไปทดสอบการทำงานบนเครื่องอื่นที่ไม่ได้ติดตั้ง Visual Studio หรือได้ทำการติดตั้งไว้แต่เป็นคนละเวอร์ชันกัน มักจะพบปัญหาการแจ้งเตือนข้อผิดพลาด MSVCR100.dll หรือ MSVCP100D.dll หรือ MSVCR100D.dll อยู่เสมอ ถึงแม้ได้ทำการ Build โปรเจกต์ในโหมด Release แล้วก็ตาม บทความนี้ได้นำเสนอวิธีแก้ปัญหาและทำความเข้าใจกับข้อผิดพลาดที่เกิดขึ้นซึ่งมีรายละเอียดต่อไปนี้

ดาวน์โหลด Visual Studio ฟรี
การ Install Delphi 7 บน Windows 7 พื้นฐานที่ควรรู้ของหน่วยความจำในการเขียนโปรแกรม .C++

บทที่ 14. องค์ประกอบหลักของการเขียนโปรแกรมเชิงวัตถุ
ในการเขียนโปรแกรมเชิงวัตถุจะมีการทำงานที่เกี่ยวข้องกับคลาสและออบเจ็กต์อย่างหลีกเลี่ยงไม่ได้ ซึ่งมีหลักการที่ใช้ในการออกแบบการทำงานของคลาสดังต่อไปนี้
- Abstraction เป็นการคัดเลือกเอาเฉพาะองค์ประกอบของข้อมูลที่จำเป็นในการแก้ปัญหามาใช้ในการออกแบบคลาส
- Encapsulation การซ่อนข้อมูลของคลาสโดยการกำหนดสิทธิในการเข้าถึงข้อมูลเพื่อความชัดเจนและง่ายในการใช้งานในการใช้งานของคลาส
- Inheritance เป็นการสืบทอดคุณสมบัติของคลาสเพื่อช่วยให้สามารถนำเอาฟังก์ชันการทำงานต่าง ๆ กลับมาใช้ใหม่รวมไปถึงการทำให้โค้ดอ่านได้ง่ายขึ้น
- Polymorphism เป็นการพูดถึงฟังก์ชันการทำงานในคลาสที่มีชื่อเดียวกันแต่มีพฤติกรรมการทำงานที่แตกต่างกัน
ในตำราบางเล่มอาจเพิ่มการดักจับข้อผิดพลาด ( Exception Handling) เป็นปัจจัยที่ห้าในองค์ประกอบหลักของการเขียนโปรแกรมเชิงวัตถุเช่นกัน

บทที่ 13. เริ่มต้นกับการเขียนโปรแกรมเชิงวัตถุ
บทที่ 12. โครงสร้างข้อมูล บทที่ 11. ตัวชี้ (Pointer) บทที่ 10. อาร์เรย์ (Array) .Web development

การปรับขนาดความกว้างสูงสุดของภาพด้วย JQuery
ในปัจจุบันการสร้างเว็บไซต์เพื่อตอบสนองการแสดงผลบนอุปกรณ์หลากหลายประเภท เป็นปัจจัยสำคัญประการหนึ่งที่ทำให้นักพัฒนาต้องคำนึงถึง โดยเฉพาะเว็บไซต์ที่เน้นเนื้อหาเป็นหลัก ต้องคำนึงถึงการจัดวางของเนื้อหาให้ผู้อ่าน อ่านง่ายและสบายตา โดยไม่จำเป็นต้องอาศัยการเลื่อนเนื้อหาออกไปทางด้านซ้ายและขวาไปมา

การสร้าง CSS Style sheet ให้ใช้งานเฉพาะ Internet Explorer เท่านั้น
การเพิ่มปุ่มถูกใจของ Facebook บน Dynamic Url มาซ่อนโค้ด JavaScript กันเถอะ พื้นฐานการสร้าง PLUGIN สำหรับ JQUERY .Other

การแก้ปัญหา ไม่สามารถ Remove External Harddrive ได้
โดยปรกติเมื่อใช้งาน External Harddrive หรือ Thumb drive ก่อนจะทำการถอดอุปกรณ์เหล่านั้นออกเราควรเลือกใช้คำสั่งจากเมนู "Safely remove hardware and eject media" เพื่อป้องกันความเสียหายของอุปกรณ์และข้อมูลที่อยู่ภายใน แต่จะทำอย่างไรเมื่อไม่สามารถถอดอุปกรณ์เหล่านี้ได้จากเมนู "Safely remove hardware and eject media" ของวินโดวส์ บทความนี้จะนำเสนอวิธีแก้ปัญหาดังกล่าวโดยไม่ใช้โปรแกรมเสิรมใดๆ

การ Forward port
.Graphics

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

ซอฟต์แวร์กราฟิกส์ฟรีสำหรับนักพัฒนาเกม
การสร้างภาพเอนิเมชันจาก Photoshop .Game Programming

สร้างเกม Flappy Bird ด้วย Unity
Flappy Bird เป็นเกมมือถือสำหรับระบบปฏิบัติการ android และ iOS ซึ่งถูกพัฒนาโดยนักพัฒนาเกมอินดี้ชาวเวียดนามชื่อ Dong Nguyen ซึ่งถูกปล่อยออกมาในวันที่ 24 เดือนพฤษภาคม ปี ค.ศ. 2013 และถูกดึงออกจากสโตร์โดยผู้พัฒนาในเดือนกุมภาพันธ์ปี 2014
รูปแบบการเล่นของเกมไม่มีอะไรซับซ้อน ผู้เล่นทำหน้าที่ในการควบคุมตัว Faby (นกในเกม) ซึ่งเคลื่อนที่ไปเป็นด้านหน้าตลอดเวลา ผู้เล่นต้องทำการป้องกันไม่ให้ตัวนกชนกับท่อที่โผล่ออกมา เมื่อผ่านท่อแต่ละอันจะได้คะแนนเพิ่มขึ้น ซึ่งผู้พัฒนาเกมนี้ (Dong Nguyen) ใช้เวลาในการพัฒนาเพียง 3 วันเท่านั้น

เริ่มต้นกับ Unity
พื้นฐานการทำงานของฮาร์ดแวร์แสดงผล การฉายภาพของมอนิเตอร์ .