Programming World
Group Blog
 
All Blogs
 

เขียนเกมต้องรู้อะไรบ้าง?

หลังจากดอง 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.  


นรกกินใจ
Location :


[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 1 คน [?]


ผู้ติดตามบล็อก : 1 คน [?]




Friends' blogs
[Add นรกกินใจ's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.