ThaiGameDevX - Thai Game Developers eXchange Forums
19 October 2017, 01:13:26 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: หากมาครั้งแรก เชิญอ่าน ประกาศเจตนารมณ์ของ ThaiGameDevX และ กติกา ข้อตกลงในการใช้เว็บบอร์ด ครับ
 
   Home   Help Search Calendar Login Register  
Pages: [1] 2   Go Down
  Print  
Author Topic: FAQ: อยากเริ่มเขียนเกม เริ่มยังไงดี  (Read 33502 times)
0 Members and 1 Guest are viewing this topic.
chanon
Administrator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +26/-1
Offline Offline

Posts: 738


« on: 26 August 2005, 11:36:26 AM »

คำถามหนึ่งที่พบบ่อยที่สุดใน Webboard ของ TGDX ตลอดมา ถ้าใครมีคำตอบดีๆ สำหรับคำถามนี้ ช่วยตอบตรงนี้เลยครับ
Logged
chanon
Administrator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +26/-1
Offline Offline

Posts: 738


« Reply #1 on: 31 August 2005, 11:59:32 AM »

ขอตอบคนแรกก่อนเลยแล้วกันครับ

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

สำหรับคนที่อยากลองเขียนเกมเพื่อความสนุก มีจุดมุ่งหมายคือการทำเกมแบบที่อยากทำ โดยไม่สนใจที่จะเรียนรู้เกี่ยวกับการทำเกมแบบลึกๆ และไม่เคยเขียนโปรแกรมมาก่อน ผมแนะนำให้หา engine มาใช้ ยิ่งง่ายยิ่งดีครับ engine อย่าง http://www.gamemaker.nl/ น่าจะเหมาะสมที่สุดในกรณีนี้ เพราะเป็น engine และเครื่องมือสร้างเกมที่ออกแบบมาสำหรับคนที่เขียนโปรแกรมไม่เป็นให้สามารถสร้างเกมได้ .. ในเส้นทางนี้คุณก็จะสามรถสร้างเกม 2d และ 3d แบบเล่นคนเดียวชนิดง่ายๆ ถึงขั้นซับซ้อนปานกลางได้ ..

ในกรณีถัดมา ถ้าหากคุณสนใจที่จะทำเกม 2d หรือ 3d โดยที่คุณไม่เคยเขียนโปรแกรมมาก่อน แต่คุณมีความอยากที่จะเรียนรู้เกี่ยวกับการเขียนโปรแกรมแบบง่ายๆ หรือคุณเคยเขียนโปรแกรมมาบ้าง แต่ไม่อยากเสียเวลาศึกษาอะไรแบบลึกๆ วุ่นวายๆ ผมขอแนะนำ engine ภาษา Basic อย่างเช่น http://www.blitzbasic.com/ หรือ DarkBasic (http://darkbasic.thegamecreators.com/) ซึ่งระหว่าง 2 ตัวนี้ จริงๆ ผมแนะนำ Blitz Basic มากกว่าครับ เพราะมี bug น้อยกว่า และเสถียรกว่า (จากที่ผมอ่านๆ มา) แต่ DarkBasic อาจจะหาข้อมูลภาษาไทยได้ง่ายกว่าครับ เพราะเป็นที่นิยมในหมู่นักทำเกมสมัครเล่นของไทยพอสมควร .. ด้วยเครื่องมือระดับนี้ คุณจะสามารถทำเกมที่ซับซ้อนมากขึ้น แต่มันก็ยังมีขีดจำกัดของมันอยู่ ซึ่งผมแนะนำว่า ก่อนที่คุณจะลงทุนลงเวลากับการศึกษาเครื่องมือเหล่านี้มากเกินไป คุณควรจะศึกษาถึงข้อจำกัดของมัน และจุดมุ่งหมายของตัวคุณเองให้ดีก่อน .. ประเด็นแรกๆ คือ engine เหล่านี้ใช้ภาษาคอมพิวเตอร์ที่เป็นรูปแบบเฉพาะของมัน ดังนั้นความรู้บางส่วนที่คุณเรียนรู้ตรงนี้ จะไม่สามารถนำไปใช้ได้ในการเขียนเกมบน platform อื่นๆ .. นอกจากนี้ การใช้ engine เหล่านี้ มันอาจจะง่ายจนกระทั่งคุณจะไม่ได้เรียนรู้สิ่งต่างๆ หลายอย่างที่เป็นพื้นฐานลึกๆ ของการเขียนเกม แต่อย่างไรก็ดี engine เหล่านี้ เหมาะสำหรับคนที่ไม่อยากทุ่มเทเวลาในการศึกษามากเกินไป และอยากได้เกมออกมาเป็นรูปเป็นร่างเร็วๆ เกมต้มยำกุ้ง ก็เป็นตัวอย่างหนึ่งของเกมที่ใช้ DarkBasic สร้าง

กรณีถัดมาอีก ถ้าหากคุณมีความใฝ่ฝันจะเป็นนักพัฒนาเกมมืออาชีพ เป็นโปรแกรมเมอร์มือเซียน ที่สามารถเขียนเกมเทียบชั้นกับเกมชั้นนำต่างๆ ของญี่ปุ่นหรือของอเมริกา ถึงแม้ตอนนี้คุณอาจจะตัวคนเดียว อาจจะไม่รู้อะไรเลย เขียนโปรแกรมไม่เป็นเลย ... แต่ผมขอบอกว่าจังหวะนี้ ตอนนี้แหละครับ ที่คุณควรจะฝึกฝน พัฒนาความรู้และฝีมือของตัวเองเตรียมไว้ให้พร้อม เมื่อถึงอนาคตที่โอกาสมาถึง คุณจะได้สามารถเข้าร่วมทีมพัฒนาเกมระดับแนวหน้าของประเทศได้ทันที ... ถ้าคุณคิดอย่างนี้ ฝันอย่างนี้ นั่นหมายความว่าคุณจะต้องพร้อมที่จะลงทุนเวลาของตัวเอง ทุ่มเทกับการหาข้อมูลในอินเตอร์เน็ต การหา text book ภาษาอังกฤษดีๆ มาอ่านและฝึกทำตามในยามว่าง ... แล้วในกรณีนี้คุณจะเริ่มต้นอย่างไรดี ?

อันดับแรก ถ้าคุณยังไม่ได้เข้ามหาวิทยาลัย พอถึงเวลา ผมขอแนะนำให้เลือกสายที่เกี่ยวข้องกับคอมพิวเตอร์ครับ ไม่ว่าจะเป็นวิศวะ หรือวิทยาศาตร์ หรือวิทยาการคอมพิวเตอร์ เพราะเมื่อคุณเข้าไปเรียน คุณจะได้รับทฤษฎีความรู้ต่างๆ เกี่ยวกับคอมพิวเตอร์ที่เป็นพื้นฐานที่จะช่วยคุณต่อไปได้มากในการพัฒนาเกม ... นอกจากนี้การทำเกมของคุณ ก็จะได้ประโยชน์เป็นการฝึกการเขียนโปรแกรมเพื่อการเรียนไปในตัวด้วย หรือคุณอาจจะทำโปรเจคจบเป็นหัวข้อเกี่ยวกับเกมหรือ 3d ด้วยก็ได้ เมื่อเรียนจบออกมา ถึงแม้ว่าอาจจะไปทำงานด้าน web application แต่ความรู้ต่างๆ ที่คุณได้จากการศึกษาด้านการพัฒนาเกม ก็จะทำให้คุณเป็นคนที่เข้าใจการเขียนโปรแกรมในเชิงลึกกว่าคนทั่วๆ ไปด้วย

แล้วในระหว่างนี้ที่ยังเรียนมัธยม หรือว่าถ้าเกิดว่าไม่ได้จบมาทางด้านคอม แต่อยากเป็นโปรแกรมเมอร์เขียนเกมเองล่ะ จะทำไง? ผมขอแนะนำว่าให้เริ่มศึกษาเกี่ยวกับการเขียนโปรแกรมโดยใช้ "a real programming language" (ภาษาโปรแกรมจริงๆ) ซักภาษา แนะนำว่า Java หรือ C++ จะเหมาะมาก เพราะเป็น 2 ภาษาที่มีการใช้มากที่สุด ทั้งในการเขียนเกม และการเขียนโปรแกรมอื่นๆ แต่ถ้าคุณใจสู้จริงๆ ผมแนะนำว่า C++ ไปเลยครับ ... ต้องลองหาหนังสือดีๆ มาอ่านซักเล่มครับ .. โดยที่การศึกษาภาษา C++ หรือ Java นี้ คุณต้องทำใจก่อนเลยว่าคุณคงจะไม่สามารถสร้างเกมออกมาได้เร็วๆ เท่าพวก DarkBasic แน่ๆ แต่สิ่งที่คุณจะได้คือความรู้ติดตัวที่ใช้ไปได้ตลอด

หลังจากที่เข้าใจ C++ ในระดับเบื้องต้น แนะนำว่าให้ทำความเข้าใจเกี่ยวกับ Data Structures พวก Linked Lists แล้วก็ศึกษาตัว STL ให้ดีด้วย เพราะมักจะต้องใช้บ่อยในการจัดการข้อมูลภายในของเกม

ถัดมาก็ให้ลองดูเกี่ยวกับ DirectX หรือ Graphics Library อย่างเช่น SDL .. ช่วงแรกให้ดู 2D ก่อนจะดีกว่าครับ ลองทำเกมง่ายๆ เริ่มจาก OX ต่อด้วย Pac Man แล้วก็ลองทำเกมแนว Shooting ง่ายๆ .. แน่นอนคุณอาจจะรู้สึกว่า โห เรียนรู้แทบตาย ทำได้แค่เกม 2D กระจอกๆ .. แต่ขอให้เข้าใจครับว่าถ้าอยากรู้จริง มันต้องเริ่มจากพื้นฐานมาก่อน มันไม่มีเส้นทางลัด โปรแกรมเมอร์เก่งๆ ทุกคนก็ต้องเริ่มจากพื้นฐานก่อนทั้งนั้น เพราะถ้าพื้นฐานไม่แน่น คุณจะต่อยอดไม่ได้เลย จะตันอยู่แค่นั้น

เมื่อผ่านเกมง่ายๆ แนว Shooting ได้ คราวนี้แนะนำให้ศึกษาเรื่องทางด้าน 3D อาจจะเป็น Direct3D หรือ OpenGL หรืออาจจะลองหา Engine 3D แบบ Open Source อย่างเช่น OGRE มาลองเล่นดู

ซึ่งพอถึงจุดนี้ เรื่องที่คุณจะสามารถศึกษาเรียนรู้ได้จะมีเยอะแยะมากมายหลายประเด็น ทั้ง 3d game engine architecture, AI, scripting, networking และอื่นๆ อีกมากมาย .. ข้อแนะนำของผมคือให้ตั้ง project ขึ้นมา แล้วพยายามทำให้เสร็จครับ เมื่อคุณตั้ง project เกมขึ้นมาเกมหนึ่ง คุณก็จะมองเห็นว่าในการทำเกมนั้นๆ ให้เสร็จ มันจะมีบางองค์ประกอบของเกมที่คุณรู้วิธีทำอยู่แล้วทำได้เลย และบางองค์ประกอบที่คุณยังไม่รู้วิธีทำ ต้องศึกษาเพิ่มเติมถึงจะทำได้ ซึ่งตรงนี้จะทำให้การศึกษาเรื่องใหม่ๆ ของคุณมีทิศทางและเป้าหมายที่ชัดเจน และในขณะเดียวกันเมื่อทำเกมนั้นๆ เสร็จคุณก็จะมีผลงานที่จะโชว์ด้วย .. มันเป็นการฝึกนิสัย "การทำเกมให้เสร็จ" ซึ่งมันดีกว่านิสัย "ทำไปหน่อยแล้วก็ทิ้ง"

ถ้าคุณศึกษานั่นศึกษานี่ไปเรื่อยเปื่อยโดยไม่มีเป้าหมายที่ชัดเจนว่าศึกษาไปเพื่อทำเกมอะไร หลายๆ ครั้งคุณอาจจะหลงทาง วกวน แล้วรู้สึกไม่ก้าวหน้า ไม่เกิดประโยชน์

เริ่มจากเกมเล็กๆ ก่อน แล้วค่อยทำเกมใหญ่ๆ ยากขึ้นครับ� และช่วงแรกๆ ทำ project แบบทำคนเดียวจบให้ได้ก่อนครับ

"Take the path less chosen."
« Last Edit: 31 August 2005, 12:09:44 PM by chanon » Logged
logic
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Gender: Male
Posts: 12



« Reply #2 on: 05 September 2005, 11:50:46 PM »

แล้วถ้าจะเริ่ม ศึกษา C++ นี่ เริ่มจากตรงไหนดี
 1. หาอ่านจากเว็บ ??
     - เว็บไหน
     - ebooks ??

2. หาอ่านจากหนังสือ ??
     - หนังสือไทย เล่มไหน ต้องเป็นหนังสือเฉพาะด้านเกมมั๊ย ?
     - Textbook  เล่มไหน คงมีหนังสือเฉพาะด้านเกมอยู่แล้ว
Logged

อยากจะบอกว่า ผมเขียนเกมไม่เป็นเลย
ถ้าถามซอกแซกจุกจิก หรือบางคำถามดูโง่ๆ ก็ขออภัยนะคร๊าบ
mak
Approved Member
Full Member
*

จำนวน ชม/ไม่พอใจ: +10/-1
Offline Offline

Gender: Male
Posts: 113



« Reply #3 on: 06 September 2005, 07:09:00 AM »

แล้วถ้าจะเริ่ม ศึกษา C++ นี่ เริ่มจากตรงไหนดี
 1. หาอ่านจากเว็บ ??
 - เว็บไหน
 - ebooks ??

2. หาอ่านจากหนังสือ ??
 - หนังสือไทย เล่มไหน ต้องเป็นหนังสือเฉพาะด้านเกมมั๊ย ?
 - Textbook เล่มไหน คงมีหนังสือเฉพาะด้านเกมอยู่แล้ว


ผมว่าถ้าจะศึกษา c++ น่าจะหาหนังสือ หรือไปเรียนคอร์สที่มันเน้นไปแค่ c++ อย่างเดียวดีกว่านะครับ จากนั้นค่อยไปอ่านที่เกี่ยวข้องกับเกม ถ้าปนกันทั้ง 2 อย่างตั้งแต่แรกแล้วอาจจะงงเอาได้

อาจทำให้บางคนแยกไม่ออกว่า อันไหนเป็นคำสั่งของภาษา อันไหนเป็นฟังก์ชันมาตรฐาน อันไหนเป็น API/Library เพิ่มเติมนอกเหนือมาตรฐาน และไปหาข้อมูลเพิ่มเติมไม่ถูกที่
« Last Edit: 06 September 2005, 07:12:12 AM by mak » Logged
logic
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Gender: Male
Posts: 12



« Reply #4 on: 10 September 2005, 12:34:44 AM »

งั้นก็หมายความว่า ถ้ายังไม่เข้าใจ C++ ดี ก็ยังไม่ควรอ่านหนังสือประเภทที่ว่า

"เขียนเกมกับ C++" อะไรแนวนี้ใช่มั๊ยครับ จะทำให้สติแตกได้
Logged

อยากจะบอกว่า ผมเขียนเกมไม่เป็นเลย
ถ้าถามซอกแซกจุกจิก หรือบางคำถามดูโง่ๆ ก็ขออภัยนะคร๊าบ
sun_tct
Approved Member
Jr. Member
*

จำนวน ชม/ไม่พอใจ: +5/-0
Offline Offline

Gender: Male
Posts: 56


ทำไม่ได้ หรือ ไม่ได้ทำ


WWW
« Reply #5 on: 10 September 2005, 05:11:07 AM »

ถูกต้องนะครับ บางทีฟังค์ชั่นบางอันมันมากจาก ไลบรารี่ มาตรฐานอ่ะ ถ้าเรามาถึงก็ เขียนเกมด้วย C++ เลยล่ะก็จะ พบว่าต้องกลับไปหาที่มาของฟังค์ชั่นบางอันในเรื่องของ เบสิค ยิ่งถ้าแอดวานซ์มากๆ ต้องไปเปิดดูเรื่องของ อัลกอริทึม ด้วยอ่ะเนี๊ยะ ฉะนั้น เริ่มต้นจากเบสิคแล้วค่อยๆไปจะดีกว่านะ Smiley
Logged

แมลงมันก็บินอยู่ทั่วไปหมด แต่เรารู้แค่ตัวที่อยู่ใกล้ๆหูเอง
<หลวงพี่เท่ง>
visualC++
Guest
« Reply #6 on: 18 October 2005, 04:02:27 AM »

คือ การเริ่มเขียนเกม ด้วย VC++ with Direct x นั้น ขอแนะนำว่าให้ลองเล่นการเขียนเกมแบบ 2 มิติ ก่อน นะค่ะ จากนั้นเราค่อยไปเป็น 3 มิติ ค่ะ แต่ก่อนที่จะมา ทำเกมแบบ 2 มิติ นั้น เราก็ ควรจะศึกษาจากตัวช่วยเขียนเกมก่อนเช่นกัน เช่น CDX ค่ะ เพราะว่าเราเราไม่ต้องเข้าใจกับโค้ดมากนัก แต่ก่อนจะเล่น CDX นั้นให้ศึกษา ภาษา C++ ก่อนค่ะ ไม่ต้องอ่านมามากก็ได้ เอาแค่เข้าใจเรื่องของ class , การสืบทอด class , ตัวแปร ,การส่งค่ากลับคืน  ประมาณนี้ก็พอ ค่ะ

Basic VC++ -> CDX กับ VC++   ->   Directx 2 Dกับ VC ++   - >   Directx 3D กับ VC++ - >  GAME NETWORK ด้วย Dirext Play ค่ะ

เป็นขั้นตอนง่ายๆ สำหรับ คนหัดเขียมเกมด้วย VC++ กับ Directx ค่ะ  สำหรับตอนนี้ก็มาถึง Directx 9 แล้ว นะค่ะ หาศึกษากันได้
และตอนนี้หนูก็ยังอยู่แค่ระดับ Direct 3D กับ VC++ เอง ค่ะ
****  เรามาพยายามด้วยกันนะค่ะ *********   I- )

เออเกือบลืมไปสำหรับ  เว็ปที่สอนเขียนเกมด้วย CDX นั้น คือ www.thaidev.com ** สนับสนุนคนไทยค่ะ มีแผ่นการสอนขาย ราคาย่อมเยาค่ะ
ส่วนการเขียนโค้ดแบบเต็มๆ ด้วย VC++ ก็มีขายตามร้านค้า หรือเว็ปทั้วไปนะค่ะ
Logged
zuttiruck
Newbie
*

จำนวน ชม/ไม่พอใจ: +5/-0
Offline Offline

Posts: 29



« Reply #7 on: 18 October 2005, 09:17:17 AM »



ถ้าอยากทำเกม ผมแนะนำอยู่ 2 อย่าง เป็น Engine ซึ่ง Download มาใช้ฟรีทั้งคู่ คือ

1. GameMaker http://www.gamemaker.nl
2. ฺBlender http://www.blender3d.org

จากประสบกาณ์ ผมไม่เคยได้ไปยุ่งเกี่ยวกับภาษา C หรือ Basic เลยนะครับ

GameMaker ใช้ GML เป็นภาษา Script ของตนเอง ซึ่งมีแนวทางคล้ายกับ Pascal เนื่องจากตัวมันเองพัฒนาขึ้นจาก Delphi

ส่วน Blender นั้น เป็น Opensource ที่ใช้ Python Script ซึ่งมันดูลื่นไหล และเข้าใจง่าย

การทำเกมอย่างมือสมัครเล่น บางทีก็ไม่จำเป็นต้องคิดมาก มีอะไรที่สามารถเรียนรู้แล้วนำมาใช้ ทำเกม ได้ ก็นำมาใช้

http://www.nainoi.com/pongtorn

ไม่ได้ไปสอบเอา Certify Unreal Engine สักหน่อย ลองใช้ที่ผมแนะนำดูก่อน เห็นอะไรเป็นชิ้นเป็นอันที่สุดละ

Logged

นายตาหวาน (Mr.Tawan)
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +61/-36
Offline Offline

Gender: Male
Posts: 1,591


« Reply #8 on: 18 October 2005, 10:54:17 AM »

อา ผมอาจจะมีความเห็นแปลกประหลาดกว่าคนอื่นนิดหน่อยนะครับ 

อืม  เวลาที่จะหัดเพื่อเรียนรู้  คุณควรจะหัดด้วยการใช้ API มาตรฐาน เช่น OpenGL หรือ DirectX  แทนที่จะเป็น Engine สำเร็จ  เพราะว่าอย่าลืมว่าคุณกำลังเรียนรู้  ถ้าหากว่าคุณใช้ของสำเร็จหมด คุณก็จะไม่รู้ว่าในพื้นฐานว่ามันทำงานอย่างไร เช่น จะทำ Skybox ก็สั่ง Skybox ใส่รูปหกใบ เสร็จ  แต่ Skybox คืออะไร  คุณหาคำตอบไม่ได้ (ทั้ง ๆ ที่จริง ๆ มันก็เป็นแค่กล่องที่เอาหน้าหันเข้าข้างในเท่านั้นเอง)

แต่ถ้าอยู่ในขั้น Production ซึ่งแน่ล่ะกว่าจะมาถึงขั้นนี้อย่างน้อยคุณต้องมีความรู้พื้นฐานพอตัวแล้ว  ไอ้ครั้นจะไปเขียนอะไรเดิม ๆ ซ้ำ ๆ ก็ออกจะทำให้ช้าเสียเวลา เราก็อาจจะไปใช้ Engine สำเร็จซึ่่งย่นระยะการทำงานได้มากกว่า  เวลาทำ Skybox ก็แค่ว่าสั่งทำ Skybox แล้วใส่รูปไปหกใบ (หรือใบเดียว) แล้วก็จบ  แทนที่จะต้องมาเขียนกล่องหันหน้าเข้ากล้องใหม่ทุกครั้ง

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

สรุป : ผมไม่ได้ anti engine แต่  ถ้าหากว่าความรู้พื้นฐานด้าน 3D ไม่มี  กรุณาอย่าเพิ่งใช้ครับ  เสร็จเร็วก็จริงแต่ก็จะไม่รู้เืรื่องอะไรเลย (อย่างที่ผมเคยเป็นตอนใช้ TrueVision3D)

คนเรา ก่อนจะหัดขี่มอเตอร์ไซค์  ก็มักจะหัดขี่จักรยานก่อน ถูกมั้ยครับ  เพื่อให้รู้ว่าพื้นฐานการขี่ภาหนะสองล้อมันเป็นยังไง Cheesy
Logged

Are you feeling fine?
眠れない夜には君の幻が...
She said, "Loving you made me happy everyday"
mak
Approved Member
Full Member
*

จำนวน ชม/ไม่พอใจ: +10/-1
Offline Offline

Gender: Male
Posts: 113



« Reply #9 on: 19 October 2005, 10:24:03 AM »

ต่างคนต่างความคิดครับ บางคนก็ไม่อยากสร้างล้อขึ้นมาใหม่ หรือบางทีก็อาจคิดว่า API update ถี่เกินไปหน่อย หากจะทำเกมอยากจะเริ่มที่ level สูงขึ้นมาในระดับ API-independent หาก API มีการเปลี่ยน version ก็รอให้ engine เปลี่ยนไปใช้ API version ใหม่ แต่ code ที่เขียนใน level สูงกว่าไม่ต้องเปลี่ยนแปลงหรือเปลี่ยนไม่มาก แล้ว focus ไปที่ algorithm ของเกมแทนที่จะ focus ไปที่วิธีใช้คำสั่ง API บางคนอยากเริ่มตั้งแต่ระดับ API เพื่อที่จะสามารถควบคุมและใช้ประโยชน์ได้สูงสุด

สำหรับการใช้ engine (ใน level ที่ไม่สูงเกินไป เช่น engine ในระดับ graphics engine (ogre, irrlicht)) ทำให้สามารถศึกษาการ design ที่มีการพัฒนามาแล้วได้ อาจตั้งคำถามว่าทำไมเค้าถึงทำแบบนี้ล่ะ หรือทำไมไม่ทำแบบนั่นล่ะ เช่น ทำไม graphics engine ส่วนใหญ่(ที่ผมเห็น) ถึงใช้ scene graph เป็น scene management?

ซึ่งต่างกับในระดับ game engine ซึ่งบางตัวง่ายถึงขนาดแค่สร้างฉากกับ model ตัวละครก็เอาไปใส่เป็นเกมได้แล้ว (engine ในระดับนี้ทำให้ผู้พัฒนา focus ไปที่ game algorithm, ai มากกว่า algorithm สำหรับ data structure, math, physics, ...)
Logged
KennyHass
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Gender: Male
Posts: 15


ThaiGameDevX สวัสดีค่ะ


WWW
« Reply #10 on: 27 January 2006, 01:14:36 AM »

C++ กับ VC++ ต่างกันยังไงครับ

แล้วเราควรเรียนVBด้วยหรือเปล่า
Logged

kingkong
Approved Member
Full Member
*

จำนวน ชม/ไม่พอใจ: +6/-1
Offline Offline

Posts: 122


« Reply #11 on: 27 January 2006, 02:11:54 AM »

Quote from: KennyHass
C++ กับ VC++ ต่างกันยังไงครับ

แล้วเราควรเรียนVBด้วยหรือเปล่า

^_^' แฮะๆ ผมว่าควรจะทำความเข้าใจก่อนนะครับว่า C++ เป็นภาษาคอมพิวเตอร์ ส่วน VC++ เป็น IDE (Integrated Development Environment) เป็นเครื่องมืออำนวยความสดวกในการเขียนภาษาC++ ไม่ใช่ภาษาที่ใช้ในการเขียนโปรแกรมนะครับผม

ส่วนที่ถามว่า ควรจะเรียน VB(Visual Basic) ด้วยรึปล่าว ผมว่าถ้าเขียน C++ ได้ Basic ก็ไม่จำเป็นครับ เพราะ C++ จะยืดหยุ่นกว่า Basic แต่ว่า ถ้ายังไม่เคยเรียนหรือเขียนโปรแกรมมาเลยแล้วก็อยากจะใช้ C++ ก็น่าจะเรื่มที่ C ก่อนนะครับให้เข้าใจพื้นธฐานของโปรแกรมภาษา แล้วค่อยต่อยอด เป็น C++ ครับ

ปล. C กับ C++ เป็นพี่น้องกันครับ ^_^ ใช้รวมกันได้
Logged
zitt
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-2
Offline Offline

Posts: 12


« Reply #12 on: 27 January 2006, 03:17:13 AM »

แฮรี่ พอตเตอร์ สนุกเพราะเนื้อหา ไม่ใช่ภาษาที่แปล แปลเป็นไทยคนอ่านก็สนุกได้ไม่แพ้ภาษาอังกฤษ
เขียนโปรแกรม ก็เช่นกันครับ เราวัดกันที่ algorithm ไม่ใช่ภาษา แต่ถ้ามีเครืิ้องมือดีๆ เช่น ใช้ visual c
c++ builder ก็ช่วยให้ชีวิตง่ายขึ้นครับ
Logged
yod
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +150/-15
Offline Offline

Posts: 3,240


WWW
« Reply #13 on: 27 January 2006, 09:59:38 AM »

ถ้าจะเล่น basic ให้ได้แนวคิด แนะนำให้เล่นพวกโปรแกรม basic เก่าๆ ที่ยังมีเลขบรรทัดน่ะครับ แล้วก็ใช้ goto อย่างเดียว ไม่ต้องใช้ gosub แล้วลองสร้างเกมดู� Wink ผมชอบโค๊ดแบบสปาเก็ตติ้ เวลากระโดดข้ามความยุ่งเหยิงของ for loop หรือ if เยอะๆ .. มันเป็นวิธีลัดสั้น และ สนุกดี� Grin
Logged

..
AAG_th4
Approved Member
Hero Member
*

จำนวน ชม/ไม่พอใจ: +42/-7
Offline Offline

Gender: Male
Posts: 601


Fighter/Attack Pilot


WWW
« Reply #14 on: 27 January 2006, 10:39:00 PM »

ถึงผมจะชอบ Pasta พวก Spaghetti แต่ผมไม่ชอบ Spaghetti Code ครับ
MS QBasic ตัวนี้เป็นตัวแรกที่ผมจับการเขียนProgram พอๆกับ Borland Turbo Pascal ครับ
Code:

10 PRINT 2+3
20 END
« Last Edit: 27 January 2006, 10:41:43 PM by AAG_th4 » Logged

ประเทศไทยขณะนี้ต้องการผู้เสียสละ มิใช่ผู้ที่จะคอยตักตวงผลประโยชน์

"Rig for Sillent Running"
numnumonline
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Posts: 3


« Reply #15 on: 15 February 2006, 04:57:38 AM »

ผมพอรู้เรื่อง c++ มาบ้างและพอเขียนได้บ้างแล้ว  แต่อยากเขียนเกมส์ซึ่งไม่เคยใช้ c++ กะ directX เขียนมาก่อน เลยอยากขอคำแนะนำในการเริ่มต้นการเขียนด้วยอ่ะคับ  คือเริ่มได้ทันทีไม่ต้องสร้างพื้นฐานการเขียน c++ อ่ะคับ อยากทราบ concept ของการเขียนแบบ step by step  พร้อมมี sourcecode ตัวอย่างให้ได้ศึกษาด้วย หากใครมีความรู้หรือมีแหล่งข้อมูลช่วยแนะนำด้วยคับ   ขอบคุณคับ
Logged
นายตาหวาน (Mr.Tawan)
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +61/-36
Offline Offline

Gender: Male
Posts: 1,591


« Reply #16 on: 15 February 2006, 11:28:33 AM »

ผมพอรู้เรื่อง c++ มาบ้างและพอเขียนได้บ้างแล้ว  แต่อยากเขียนเกมส์ซึ่งไม่เคยใช้ c++ กะ directX เขียนมาก่อน เลยอยากขอคำแนะนำในการเริ่มต้นการเขียนด้วยอ่ะคับ  คือเริ่มได้ทันทีไม่ต้องสร้างพื้นฐานการเขียน c++ อ่ะคับ อยากทราบ concept ของการเขียนแบบ step by step  พร้อมมี sourcecode ตัวอย่างให้ได้ศึกษาด้วย หากใครมีความรู้หรือมีแหล่งข้อมูลช่วยแนะนำด้วยคับ   ขอบคุณคับ

จะเอาคอนเซพท์หรือจะเอาซอร์สโค๊ดล่ะครับ ^^
Logged

Are you feeling fine?
眠れない夜には君の幻が...
She said, "Loving you made me happy everyday"
numnumonline
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Posts: 3


« Reply #17 on: 15 February 2006, 08:39:11 PM »

ให้ได้ทั้ง คอนเซ็พ แล้วก็ ซอร์สโค้ด  ทั้ง 2 อย่างเลยก็ดีคับ  จะได้ทำได้ด้วยอ่ะคับ
Logged
AAG_th4
Approved Member
Hero Member
*

จำนวน ชม/ไม่พอใจ: +42/-7
Offline Offline

Gender: Male
Posts: 601


Fighter/Attack Pilot


WWW
« Reply #18 on: 15 February 2006, 10:03:40 PM »

พื้นฐานการเขียน game ก็จะคล้ายกับ Program ทั่วๆครับคือเริ่มจากการ "การประยุกต์การแก้ไขปัญหาทางคณิตศาสตร์และฟิสิกส์"
ซึ่งที่ Gameจะใช้บ่อยก็พวกการคำนวนทางฟิสิกส์ ระยะทางความเร็ว ความเร่ง แรง มวล รวมถึงพวก ตรีโกณมิติ และ Matrix� เป็นต้นครับ
เช่นการเขียนการตรวจจับการชนและการค้นหาเส้นทางพวกนี้จะใข้สูตรการคำนวนทางคณิตศาสตร์ในการหาระยะกระจัด ความเร็วการเคลื่อนที่ มุมตกกระทบเป็นต้น
เขียนมาตรงนี้อาจจะมองภาพไม่ออกลองยกตัวอย่างโจทย์ง่ายๆดูนะครับ

รถถังคันหนึ่งมีน้ำหนัก48ตันแล่นด้วยความเร็ว 20กิโลเมตรต่อชั่วโมง
และเริ่มยิงปืนใหญ่ซึ่งลูกกระสุนมีน้ำหนัก50กิโลกรัมและมีความเร็วต้นกระสุน 1200เมตรต่อวินาที
โดยความเร่งของกระสุนจะตกลงเฉลี่ย -5m/s2 ใส่เป้าซ้อมนิ่งซึ่งห่างจากรถถัง 500เมตร
จงคำนวนหามุมยิงของปืนใหญ่รถถังที่จะยิงถูกเป้าหมายเมื่อรถถังวิ่งเข้าหาเป้าในระยะ
500เมตร 250เมตร และ 100เมตร ตามลำดับ
Logged

ประเทศไทยขณะนี้ต้องการผู้เสียสละ มิใช่ผู้ที่จะคอยตักตวงผลประโยชน์

"Rig for Sillent Running"
นายตาหวาน (Mr.Tawan)
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +61/-36
Offline Offline

Gender: Male
Posts: 1,591


« Reply #19 on: 16 February 2006, 03:05:31 AM »

ง่า ....
นั่นยังไม่เชิงเป็นพื้นฐานหรอกครับ ^^' เกมที่มันไม่มีเรื่องแบบนั้นมีอยู่อีกเยอะ
Logged

Are you feeling fine?
眠れない夜には君の幻が...
She said, "Loving you made me happy everyday"
AAG_th4
Approved Member
Hero Member
*

จำนวน ชม/ไม่พอใจ: +42/-7
Offline Offline

Gender: Male
Posts: 601


Fighter/Attack Pilot


WWW
« Reply #20 on: 17 February 2006, 07:09:15 AM »

ก็ถูกครับ
แต่เรื่องง่ายๆอย่าการหาเส้นทางและตรวจสอบการชนนี้ก็ต้องใช้สูตรการคำนวนระยะการกระจัดนะครับ
Logged

ประเทศไทยขณะนี้ต้องการผู้เสียสละ มิใช่ผู้ที่จะคอยตักตวงผลประโยชน์

"Rig for Sillent Running"
kgame
Newbie
*

จำนวน ชม/ไม่พอใจ: +1/-0
Offline Offline

Posts: 6


« Reply #21 on: 08 September 2007, 10:53:11 PM »

แก้ไขๆ :� Smiley เนื่องจากตอนแรกเขียนเชียร์ให้ใช้ Game Maker แต่ไม่ครอบคลุมครับ comment ข้างล่างจะหมายถึงข้อความเก่าของผมนะครับ
เอาเป็นว่า

ตามความคิดผม
ถ้าจะเขียนเกมแบบไม่รู้อะไรเลย อยากให้ลอง Game Maker ก่อนนะครับ เพราะว่า Program จะมีโครงให้
คุณจะได้เรียนรู้เรื่อง รูปภาพ การกำหนดต่างๆในเกม score การชนกัน และอื่นๆในแบบพื้นฐาน
สิ่งที่คุณจะได้รับจากตรงนี้คือ เกมในแบบง่ายๆ การจัดการ การเตรียม Rescorce และอื่นๆ
และสามารถลองได้ด้วยว่า idea คุณน่ะ คิดกับทำ มันยากกว่ากันยังไงบ้าง
ซึ่งจะเป็นจุดเริ่มต้นที่ดี แต่ต้องย้ำว่า เริ่มต้น นะครับ

เพราะหลังจากที่คุณเริ่มเขียนได้แล้ว(ถ้าคุณยังไม่หมดไฟ) แน่นอนว่ามันจะมีข้อจำกัดมากมายโผล่มา
แต่ก็แล้วแต่ ถ้าคุณพอใจกับผลตรงนั้น และคิดว่ามันพอแล้วที่จะทำเป็นงานอดิเรกก็ตามสบายครับ  Smiley
ซึ่งตรงจุดนี้แหล่ะจะทำให้คุณรู้แล้วว่าพวก Engine ไม่พอสำหรับคุณ
เนื่องจากอะไร ก็ความยืดหยุ่น? หยุ่นยังไงต้องไปลอง  ความเร็ว AI การแสดงผล ความซับซ้อนที่สามารถทำได้ และอืนๆมากมาย
ซึ่งถ้าคุณมาถึงตรงนี้แล้วก็ โชโย

จากนั้นก็เริ่มเลยครับ C++ DirectX ..... แล้วก็ต่อไปเรื่อยๆ
พวกพี่ๆใน board นี้จะช่วยได้เยอะเลยครับ
« Last Edit: 10 September 2007, 08:39:07 PM by kgame » Logged
yod
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +150/-15
Offline Offline

Posts: 3,240


WWW
« Reply #22 on: 08 September 2007, 11:12:35 PM »

ไม่เห็นด้วยนะครับ

เกมที่วางขายทั่วโลกส่วนใหญ่สร้างโดยใช้ C++ ไม่ใช่ Game Maker
นี่ล่ะที่ต่าง
Logged

..
นายตาหวาน (Mr.Tawan)
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +61/-36
Offline Offline

Gender: Male
Posts: 1,591


« Reply #23 on: 08 September 2007, 11:37:50 PM »

เกมบน Wii ก็เขียนด้วย C++ นะครับ

ทำสนุก ๆ Game Maker อาจจะใช้ได้
แต่ถ้าจะทำจริง ๆ จัง ๆ ... C++ หรือภาษาที่เป็นภาษาเขียนโปรแกรมจริง ๆ ดีกว่าครับ

ปล. ... ผมใช้ Python เขียนเกมล่ะ ใครจะทำไม ?
Logged

Are you feeling fine?
眠れない夜には君の幻が...
She said, "Loving you made me happy everyday"
โหมด
Approved Member
Sr. Member
*

จำนวน ชม/ไม่พอใจ: +16/-1
Offline Offline

Gender: Male
Posts: 304


นาน ๆ โพสต์กระทู้ที - - (จริง?)


« Reply #24 on: 09 September 2007, 06:03:54 AM »

ทำเกมด้วย game maker ง่ายกว่าทำด้วย c++ แต่ก็มีข้อจำกัดมากกว่าเช่นกัน ก็แล้วแต่ชอบน่ะครับ ขอให้ทำแล้วเล่นสนุกละกัน
สำหรับมือใหม่ที่กำลังเรียน c++ แล้วรู้สึกว่ายาก ก็ขอบอกว่าเขียนเกมนั้นยากกว่าหลายเท่าครับ

ปล. (มั่ง) ... ผมใช้ C ธรรมดาเขียนเกมล่ะ ใครจะทำไม ? (มีแต่ส่วน interface ไฟล์เดียวที่เป็น C++ อ่ะ Tongue)
Logged

เกมจะเสร็จไว ถ้าไม่ขี้เกียจน่อ
kgame
Newbie
*

จำนวน ชม/ไม่พอใจ: +1/-0
Offline Offline

Posts: 6


« Reply #25 on: 10 September 2007, 08:06:03 AM »

เอ่ออ ถ้าเข้าใจผิดขอโทษด้วยนะครับ แต่เห็นหัวข้อกระทู้ว่า..
อยาก <--- เริ่ม <--- เขียนเกม

ถ้าคำถามถามว่า
อยาก <--- มีอาชีพเป็น <--- นักเขียนเกม
ผมก็คงตอบว่า C++ เหมือนกัน แฮะๆ

แค่คำว่าอยากเริ่มคงไม่ได้เขียนเกมระดับโลกออกมาในครั้งเดียวเน๊อะ จะเขียนเสร็จหรือเปล่ายังไม่รู้เลย <-- ประสบการ์ณตรง
ผมเชื่อว่าคนที่เข้ามาอ่านกระทู้นี้มากกว่าครึ่งน่าจะเขียนเกมไม่เสร็จนะถ้าเริ่มที่ c++ <-- เหมือนผม -_-a
กว่าจะเข้าใจตัวภาษา กว่าจะเลือก กว่าจะ.... คงอีกนานอ่ะครับผมก็เลยตอบอย่างนั้นไป� Roll Eyes
« Last Edit: 10 September 2007, 08:43:07 PM by kgame » Logged
นายตาหวาน (Mr.Tawan)
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +61/-36
Offline Offline

Gender: Male
Posts: 1,591


« Reply #26 on: 10 September 2007, 08:37:21 AM »

ภาษา C++ เป็นภาษาที่ง่ายที่สุดแล้วล่ะครับ ที่จะใช้หัดเขียนโปรแกรม

ถ้าหากว่าไปภาษาอื่นอาจจะโดนความง่ายของภาษษหลอกเอาน่ะครับ

คิดว่านะ หัดเขียนโปรแกรมด้วย C++ ให้เป็นก่อน แล้วค่อยไปลองเขียนเกมด้วยภาษาอื่นดีกว่าครับ
Logged

Are you feeling fine?
眠れない夜には君の幻が...
She said, "Loving you made me happy everyday"
yod
Global Moderator
Hero Member
*****

จำนวน ชม/ไม่พอใจ: +150/-15
Offline Offline

Posts: 3,240


WWW
« Reply #27 on: 10 September 2007, 09:26:56 AM »

ที่เขียนแบบนี้ ผมไม่อยากให้ เกมมันดูแย่ มันพังเพราะ tools นะครับ
ถ้าคนไม่รู้เรื่องมาอ่าน จะเข้าใจว่า game maker ก็ทำเกมได้ แต่ถ้าใช้ c++ จะทำไม่เสร็จ
หรือใช้ game maker ได้เกมเร็วกว่า ง่ายกว่า

ถ้าเป็นแบบนี้ ประเทศเราจะได้คนขี้เกียจ ที่ฝันอยากทำเกม แบบง่ายๆ สบายๆ เพิ่มมาอีกสองสามโหล
เวลาติดปัญหา ก็ไม่รู้จักการแก้ไขด้วยตัวเอง

อยากจะบอกว่า result ที่ออกมาจาก game maker, flash,� c++� (รวมไปถึง programming lang. อื่นๆ)
มันไม่เหมือนกันนะครับ ถึงจะเป็นเกมหรือใกล้เคียงกับเกม

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

ผมเข้าใจความหวังดีของคุณ kgame เมื่ออ่าน reply ต่อมาครับ อันนั้นเห็นด้วยนะครับ
ถ้ามือใหม่อยากเริ่มลองใช้อะไรได้ก็ทำไปก่อนครับ
ผมไม่ลบข้อความอะไรนะ เพราะรับผิดชอบกับที่เขียนไปอยู่แล้ว
 Smiley
Logged

..
eddie
Newbie
*

จำนวน ชม/ไม่พอใจ: +0/-0
Offline Offline

Posts: 2


« Reply #28 on: 06 October 2007, 11:16:54 AM »

สรุปถ้าผมไม่มีความรู้ด้านคอมพิวเตอร์เลย หรืออาจจะมีนิดหน่อยแต่มีความต้องการ
อยากจะทำเกม(อย่างจริงจัง) ควรจะเริ่มจากการเรียน ภาษาC ใช่มั้ยครับ หรือเริ่มจากทางไหนก่อน
ถ้าไม่ต้องการแบบเครื่องมือสร้างสำเร็จรูป
Logged
AAG_th4
Approved Member
Hero Member
*

จำนวน ชม/ไม่พอใจ: +42/-7
Offline Offline

Gender: Male
Posts: 601


Fighter/Attack Pilot


WWW
« Reply #29 on: 06 October 2007, 08:21:09 PM »

คุณจำเป็นที่จะต้องทำความเข้าใจก่อนครับว่า Computer มีระบบการทำงานอย่างไรและจะสั่งการมันได้อย่างไร
ผมแนะนำให้หาหนังสือเรียนชื่อ "หลักการเขียนโปรแกรม" มาอ่านก่อนที่จะเริ่มจับภาษาใดภาษาหนึ่งนะครับ
เนื้อหาในหนังสือจะครอบคุมพื้นฐานเบื้องต้นสำหรับการเขียน Program ซึ่งสามารถนำมาใช้กับภาษาใดก็ได้ในขั้นสูงขึ้นครับ
Logged

ประเทศไทยขณะนี้ต้องการผู้เสียสละ มิใช่ผู้ที่จะคอยตักตวงผลประโยชน์

"Rig for Sillent Running"
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!