|
เขียนเกมต้องรู้อะไรบ้าง?
หลังจากดอง blog มานานมากเนื่องจากว่าผมติดภารกิจต้องไปรับปริญญา + วันคริสมาสตร์ ปีใหม่ และ ความขี้เกียจ เลยทำให้หายหน้าหายตาไปนาน
เข้าเรื่องเลยนะครับ
การเขียนเกม เนี่ย จะต้องมีความรู้หลายๆด้านเลยครับประมาณนี้ครับ โดยสังเขป
Programming ก็แน่นอนครับ เกม ก็คือ โปรแกรมคอมพิวเตอร์ประเภทหนึ่ง ดังนั้นถ้าอยากสร้างสรรค์เกมออกมาให้มีหน้ามีตาได้ก็คงหนีไม่พ้น การ Coding อยู่แล้ว
Math/Physis คณิตศาสตร์และัฟิสิกส์เป็นอะไรที่สำคัญมากในการเขียนเกมครับ ง่ายๆ คือ การกระโดด การโจมตี การที่ศัตรูเดินมาหาเรา ต้องใช้ ศาสตร์เหล่านี้ทั้งสิ้น....เป็นอะไรที่้ท้าทายมาก
Graphics กาำรเขียนเกมสมัยก่อน grahpic นั้นไม่ต้องไปยุ่งเลย เพราะเกมจะเป็น text mode(ตัวหนังสือ) แต่พอพัฒนามาเรื่อยๆ ก็จะเห็นว่า Graphic นั้นเป็นอะไรที่ทำให้ผู้เล่นให้ความสนใจอันดับต้นๆเลย
Sound เป็นที่รู้ๆกันว่า เวลาเราปิดเสียงเล่นเกมมันขาดอรรถรสขนาดไหน ฉะนั้น เเสียงก็เป็นเรื่องสำคัญครับ
Network อันนี้จะสำคัญมากครับสำหรับเกม online ซึ่งอนาคตคงจะมีแทบทุกเกมเลย
Database เนื่องจากว่าการทำเกม online นั้นต้องมีการเก็บข้อมูลต่างๆของผู้เล่น ดังนั้นการใช้ระบบฐานข้อมูล ก็หนีไม่พ้นครับ
... ยังไม่ได้เข้า Code จริงๆ ซักที เืนื่องจากว่าผมขี้เกียจ :D
Create Date : 15 มกราคม 2550 | | |
Last Update : 15 มกราคม 2550 1:21:33 น. |
Counter : 388 Pageviews. |
| |
|
|
|
|
เริ่มต้นกับ VC++ 7(VC++.NET2003)
หลายๆท่านอาจจะเคยซื้อหนังสือเขียนโปรแกรมด้วย C++ มาแล้วพอเอาลองเขียนปรากฏว่า มัน Compile ไม่ผ่านบ้างในบางครั้ง เนื่องจากว่า Compiler ที่เป็นรุ่น DOS หรืออะไรก็ได้ที่ออกก่อนปี 98 ครับ เช่น Turbo C++ v.3 นั้น จะใช้มาตรฐานเก่าครับ
ซึ่งในปี 1998 นั้นทาง ANSI-ISO ได้ประกาศมาตรฐานใหม่ของภาษา C++ ขึ้นมาใหม่โดยได้แบ่งตัวภาษาเป็น 2 ส่วนครับ 1. Core Languages ซึ่งจะเป็นส่วนของ Syntax ของภาษา C++ 2. Standard Template Library(STL) ส่วนนี้จะเป็นพวก Utility Tools, Class ที่ช่วยให้เขียนโปรแกรมได้ง่ายขึ้นครับ เช่นพวก vector, list
พูดถึง VC++.NET2003 เนื่องจากว่า Tool ตัวนี้มันออกมาปี 2002 แน่นอนครับ มันจึงรองรับมาตรฐาน ANSI-ISO ด้วย แต่....ยังไม่พอครับ ยังมีมาตรฐานที่ Microsoft ยัดมาให้เราอีกเพียบ
 ซึ่งคงไม่กล่าวถึงหรอกครับ เพราะมันเยอะ - -"
example เล็กๆ เรื่องข้อแตกต่างระหว่าง syntax ของ C++ version ก่อน 1998 กับ มาตรฐาน ANSI-ISO ครับ
old version
#include int main() { cout << "Sawasdee, Thailand"; return 0; }
|
ANSI-ISO
#include int main() { std::cout << "Sawasdee, Thailand"; return 0; }
|
จะเห็นว่า ANSI-ISO นั้นจะ ต้องมี std:: เพื่อบอกขอบเขตของคำัสั่ง cout ด้วย ทั้งนี้และทั้งนั้น เนื่องจากว่าเพื่อรองรับโปรแกรมที่ใหญ่ขึ้น และสามารถเรียกใช้งาน Function ต่างๆได้ถูกต้องง่ายขึ้นครับ
ปล.. std ก็คือ namespace นั่นเอง
คำศัพท์ ANSI-ISO เป็นองค์กรที่กำหนดมาตรฐานต่างๆ namespace เป็นหนึ่งในความสามารถของ C++ ซึ่งจะกล่าวต่อไป
บทต่อไปจะเข้า Core แล้วคร๊าบบบบบบ....
Create Date : 13 ธันวาคม 2549 | | |
Last Update : 15 มกราคม 2550 1:05:11 น. |
Counter : 376 Pageviews. |
| |
|
|
|
|
เกริ่นกันหน่อยกับการเขียนโปรแกรม
สวัสดีครับ ทุกๆท่านที่ติดตาม blog ผม(มีมั้ยเนี่ย - -") วันนี้เราจะมาพูดถึงการเขียนโปรแกรม หรือว่า programming กันครับ
จาก Pro Gamer สู่ Programmer สำหรับผมเนี่ยโดยส่วนตัวก็ชอบเล่นเกมมากอยู่แล้ว ก็เลยต้องมีความคิดที่จะเขียนเกมตามจินตนาการของตัวเอง นั่นคือจุดเริ่มต้นเข้าสู่ชีวิต โปรแกรมเมอร์ ของผม
วิวัฒนาการณ์ของการเขียนโปรแกรม สำหรับการเขียนโปรแกรม หรือ ทับศัพท์ว่า Programming นั้น เปรียบได้กับว่าเป็นเหมือนกรรกรแรงงานเลยครับ ถ้าเปรียบกับการสร้างบ้านซักหลังนึง โปรแกรมเมอร์ก็คือคนงานก่อสร้าง ซึ่งต้องคอยต่ออิฐ ฉาบปูน ซึ่งสำหรับโปรแกรมหรือซอร์ฟแวร์ก็คือการใส่คำั่สั่งต่างๆ ลงไปให้คอมพิวเตอร์นั่นเอง
การเขียนโปรแกรมนั้นได้มีวิวัฒนาการมานานแล้วตั้งแต่ยุคสมัยที่เป็นภาษาเครื่อง ก็คือ เลข 0,1 นั้น ซึ่งคงมีแต่ระดับเทพที่เข้าใจ ก็เลยมีการพัฒนามาเป็นภาษา แอแซมบลี ซึ่งมนุษย์(ระดับเทพ) พอจะอ่านออกได้บ้าง แต่มันก็ยังไม่พอหรอกครับ เพราะมันก็เข้าใจยากอยู่ีดี จึงได้พัฒนาการเขียนโปรแกรมมาอีกระดับนึง ซึ่งเรียกว่า Hi-Level Languages หรือ ภาษาระดับสูง ซึ่งในยุคแรกๆของภาษาระดับนี้ที่ดังๆ หน่อย ก็จะมี C, Pascal, Basic, Fortan
และเมื่องานหลายๆอย่างเริ่มซับซ้อนมากขึ้น ภาษาเหล่านี้ที่เคยใช้กันได้ ก็เริ่มใช้งานได้ยากขึ้น จึงได้มีแนวคิดที่นำโค๊ดโปรแกรมเก่ามาใช้ให้ได้มากที่สุด ซึ่งทำให้เกิดแนวคิดการเขียนโปรแกรมเชิงวัตถุ หรือ OOP ขึ้น โดนภาษาที่รองรับ OOP ในปัจจุบันก็มีมากมายครับ ที่ดังๆในบ้านเราก็ C++, Java, C#, VB.NET, PHP5, Flash Action script 2.0 ซึ่งเจ้า OOP นี้ล่ะครับ ที่ทำให้การเขียนโปรแกรมระบบใหญ่สามารถพัฒนาได้ง่ายขึ้น
มาดูที่ C/C++ กันครับ
Q : ทำไมต้องเขียนเป็น C/C++ เขียนเป็น C หรือ C++ อย่างเดียวไม่ได้เหรอ?
A : ต้องเข้าใจการครับว่าภาษา C++ นั้นพัฒนาจากภาษา C โดยที่เรื่องหลักๆนั้นคือเรื่องการเขียนแบบ OOP ซึ่งโดยปกติแล้วภาษา C จะเขียนแบบ Procedural (รายละเอียดจะกล่าวทีหลังนะครับ สำหรับ Object Oreinted Programming(OOP) กับ Procedural) ดังนั้นถ้าเราใช้ C++ ก็สามารถเขียนโปรแกรมแบบ Procedural ซึ่งเป็นแบบเดิมของภาษา C ได้ ฉะนั้นถ้าเห็นว่าพูดถึง C/C++ แสดงว่าจะเป็นการเขียนแบบภาษา C มากกว่า ทั้งนี้และทั้งนั้นก็คือว่า ปัจจุบันเราจะเห็นว่าโปรแกรมที่เอาไว้ใช้เขียน ภาษา C และ C++ เนี่ยมันจะเป็นโปรแกรมที่มีแต่ชื่อ C++ เช่น VC++, borland C++, dev c++ ซึ่งบางคนคิดว่ามันเอามาเขียนกับภาษา C เฉยๆไม่ได้ ซึ่่งจริงๆแล้วมันเขียนได้ครับผม 
ใน blog ผมจะใช้โปรแกรม Visual Studio .NET 2003 ในการเขียนโปรแกรมนะครับ ถ้าใช้ Tool ตัวอื่นบางทีอาจจะไม่เหมือนกันก็ได้...^________^
ปล..ไม่อธิบายการใช้ Tool นะครับ จะเน้น Code เลย
Create Date : 09 ธันวาคม 2549 | | |
Last Update : 9 ธันวาคม 2549 2:26:42 น. |
Counter : 309 Pageviews. |
| |
|
|
|
|
| |
|
|