overclockzonefanpage  overclockzoneth  TV  
Results 1 to 15 of 15

Thread: อธิบายความหมายของคำว่า game engine หน่อย

  1. #1
    OverclockZone Member motionman's Avatar
    Join Date
    13 Jul 2008
    Location
    Bangkok

    Default อธิบายความหมายของคำว่า game engine หน่อย

    คำผมรู้ว่ามันคืออะไรประมาณไหนเเต่อยากรู้ลึกครับว่ามันเป็นยังไง

  2. #2
    OverclockZone Member NiNeMarK's Avatar
    Join Date
    8 Oct 2008
    Location
    Loei,Thailand

    Default

    Enging ตามตัวเลยมันคือเครื่องยนต์ครับ เป็นที่ทำงานอยู่ในตัวโปรแกรม คอยจัดการกับตัวระบบปฏิบัติการ แทนที่จะต้องมาคอยควบคุมเรื่องกราฟฟิค เสียง หรือการควบคุม ก็ยกหน้าที่ไปที่ตัวเอ็นจิ้น เพื่อนให้การพัฒนาเกมเป็นไปได้ง่ายขึ้น

    เขียนเองก็งงเอง....ลองนึกถึงเครื่องยนต์ของรถเอาละกัน

  3. #3

    Join Date
    5 Jul 2008
    Location
    Thailand

    Default

    มันคือโปรแกรมสร้างเกมส์อย่างนึง เหมือนพวก 3D MAX ไรพวกนี้อ่ะมั๊ง แต่สูงกว่าโคตรๆ - -

  4. #4
    OverclockZone Member stroumphs's Avatar
    Join Date
    12 May 2008

    Default

    มานมีพื้นฐานมาจากภาษา C++ ใช่ปะครับ

    อย่างงี้ java ก้อเขียนเกมได้เหมือนกันใช่มะครับ พอดีเพิ่งเริ่มเรียนน่ะครับ ^^

  5. #5
    OverclockZone Member OHM_DGO's Avatar
    Join Date
    30 Mar 2008

    Default

    ถ้าคุณต้องการสร้างรถซักคัน Engine เทียบง่าย ๆ ก็คือเครื่องยนต์ของรถคันนึง ถ้าไม่อยากเสียเวลาในการพัฒนาเครื่องยนต์ เราก็ทำส่วนอื่นไป เครื่องยนต์เราก็ซื้อมาใส่ แต่งองค์ทรงเครื่องซักหน่อยก็ออกมาวิ่งได้แล้ว ฝีมือดีรถก็ออกมาดี ( เช่น BioShock ใช้ Unreal 3.0 ) ห่วยก็ออกมาแย่ ( Turok ใช้ Unreal 3.0 เช่นกัน ) Java ก็เขียนเกมได้ครับ แต่เห็นมันรุ่งกับพวกโทรศัพท์มากกว่า Symbian เบิกทางให้แล้ว

  6. #6
    OverclockZone Member Freekickgundam's Avatar
    Join Date
    17 Sep 2006
    Location
    ที่ว่างในใจเธอ

    Default

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

  7. #7
    OverclockZone Member motionman's Avatar
    Join Date
    13 Jul 2008
    Location
    Bangkok

    Default

    งงหนักกว่าเดิม

    - -

    เเสดงว่าผมเข้าใจผิดเเต่เเรก

    คิดว่ามันเป็นรูปแบบของโพลีกอนสำเร็จรูป - -

    ออกทะเลเลย~~~~~~~~~~~~~~~

  8. #8
    OverclockZone Member composure's Avatar
    Join Date
    9 Jan 2008

    Default

    Quote Originally Posted by OHM_DGO View Post
    ถ้าคุณต้องการสร้างรถซักคัน Engine เทียบง่าย ๆ ก็คือเครื่องยนต์ของรถคันนึง ถ้าไม่อยากเสียเวลาในการพัฒนาเครื่องยนต์ เราก็ทำส่วนอื่นไป เครื่องยนต์เราก็ซื้อมาใส่ แต่งองค์ทรงเครื่องซักหน่อยก็ออกมาวิ่งได้แล้ว ฝีมือดีรถก็ออกมาดี ( เช่น BioShock ใช้ Unreal 3.0 ) ห่วยก็ออกมาแย่ ( Turok ใช้ Unreal 3.0 เช่นกัน ) Java ก็เขียนเกมได้ครับ แต่เห็นมันรุ่งกับพวกโทรศัพท์มากกว่า Symbian เบิกทางให้แล้ว
    ประมาณนี้ ผมเห็นภาพครับ
    ผมเข้าใจว่า
    Car engine ก็คือ ตัวเครื่องยนต์ทำให้รถเคลื่อนที่ได้
    Game Engine ก็เช่นเดียวกัน ทำให้เกมถูกเล่นได้
    ตัวอย่าง ก็เช่น Unreal engine 3.0
    เกม BioShock และ Turok ก็ใช้ Unreal engine 3.0 ทั้งคู่
    จะเห็นได้ว่าลักษณะ แสงเงา รูปร่างตัวละคร ลักษณะการปีนบรรได ลักษณะการใช้อาวุธ จะคล้าย ๆ กัน
    ต่างกันก็ที่เนื้อหาเกม และการใช้ประโยชน์สูงสุดจาก engine (เช่น บางฉากกิน CPU VGA มากเพราะไม่เขียน script ให้ดี)
    ถ้าเปรียบกับรถยนต์ก็เหมือนเครื่องที่มีแรงม้า 300 แล้วทำในรถยนต์ 2 คัน
    ก็จะวิ่งได้้ความเร็วใกล้เคียงกัน ประหยัดน้ำมันใกล้เคียงกัน
    ต่างกันที่รูปลักษณ์ภายนอก ความนุ่มนวลในการขับขี่ เพราะขึ้นอยู่กับการปรับปรุงของแต่บริษัท



    ปล. ความเห็นนึงผิดขออภัย

  9. #9
    OverclockZone Member NiNeMarK's Avatar
    Join Date
    8 Oct 2008
    Location
    Loei,Thailand

    Default

    555....คำตอบแรกของผมคงจะไม่ออกทะเลนะครับ

  10. #10
    battlecruiser's Avatar
    Join Date
    16 Sep 2006
    Location
    ชมรมโคราชรักหมาแดกแมว

    Default

    ก็โครงสร้างหลักของเกมสแหละ จะเอาไปใช้ทำอะไร ก็แต่หน้าทาปากนิดหน่อย มันก็กลายเป้นสิ่งที่ต้องการ

    บ้างก็ มีเสิมเติมแต่ประยุกค์ใช้ แบบโคตรพิสดาร ไม่เหลือเค้าเดิม

    แต่ถึงอย่างไร ภาพก็ค้ลายกันมาก

    จะยกตัวอย่างเกมส์ที่ใช้ engine เดียวกัน



    Source Engine = HL2 - Counterstrike source - Team fortress2

    SAGE Engine = Generals - Command 3 - Lotr battle for middle earth

    id Tech 4 /Doom 3 engine = Doom3 - Quake 4 - Prey -enemy territory

  11. #11
    Moderator Gearhead's Avatar
    Join Date
    18 Sep 2006

    Default

    ว่ากันง่ายๆ มันคือ โปรแกรมสำเร็จรูปสำหรับสร้างเกมส์ครับ คุณแค่เลือกหรือ อาจจะสร้างขึ้นมาอีกนิดหน่อยครับ

    ประมาณนี้ครับ






  12. #12
    OverclockZone Member reconnang's Avatar
    Join Date
    8 Sep 2007
    Location
    Bangkok

    Default

    ข้างบนชัดเจนและแน่นอน คราฟฟฟฟฟ

  13. #13
    OverclockZone Member
    Join Date
    14 Mar 2007

    Default

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

    กลับมาที่ Game Engine ดีกว่า
    บางคนสงสัยว่า DirectX เป็น Game Engine หรือไม่ อันนี้ก็ขึ้นอยู่กับมุมมองครับ
    ถ้าในสมัยก่อน หมายถึงบน Dos น่ะ เราต้องเขียนคำสั่งจัดการกับ Card จอโดยตรง ปรับแต่งอีกนิดมันก็จะกลายเป็นว่าเราสร้าง Driver ให้ระบบปฏิบัติการได้แล้วละครับ คือเขียนติดต่อการ์ดจอเมื่อก่อนมันยากมาก ต้องใช้คำสั่ง Interrupt ใน C จัดการ ต้องจัดการกับ Register เอง แล้วที่เขียนมานะครับใช่ว่าจะติดต่อได้กับทุกการ์ดแสดงผล มาหลังๆจึงได้มี DirectX และ OpenGL ออกมา ซึ่งได้ทำการวางมาตรฐานของการ์ดแสดงผล ว่าจะต้องประกอบไปด้วยส่วนใดบ้าง มีการเรียกใช้งานอย่างไร ผ่านทาง driver ของอุปกรณ์ตัวนั้น
    ดังนั้นในสมัยก่อนเราจะมองว่า DirectX และ OpenGL เป็น Game Engine ครับ (ปัจจุบันถูกจัดเป็น Game Engine ในระดับล่าง คือ Game Engine ทุกตัวจะต้องอาศัยตัวใดตัวหนึ่งหรือทั้งสองตัวนี้เป็นพื้นฐาน) สำหรับ OpenGL นั้นถ้าจะเรียกให้ถูกเราจะเรียกว่า Graphics Engine เพราะจัดการแต่การแสดงผลอย่างเดียว ไม่เหมือนกับ DirectX

    ขออธิบายเพิ่มเติม
    สาเหตุที่คนสมัยก่อนมอง DirectX และ OpenGL เป็น Game Engine นั้นเพราะทั้งสองตัวนี้เป็นตัวเชื่อมการทำงานระหว่างเกมที่เขียนขึ้น กับ Driver ของฮาร์ดแวร์นั่นเอง

    สมัยก่อน (บนดอส)
    Hardware
    ^
    |
    Driver
    ^
    |
    DirectX/Open GL
    ^
    |
    Game

    ปัจจุบัน
    Hardware
    ^
    |
    Driver
    ^
    |
    DirectX/Open GL
    ^
    |
    Game Engine (หมายเหตุ)
    ^
    |
    Game
    หมายเหตุ
    ในปัจจุบัน Game Engine นอกจากติดต่อกับฮาร์ดแวร์ผ่านทาง DirectX และ OpenGL หรือ API อื่นๆพื้นฐานแล้วยังเพิ่มความสามารถต่างๆเข้าไปอีก เช่น
    AI Engine
    Script Engine
    Physics Engine
    Network Engine
    เครื่องมือในการสร้างโมเดล หรือ ฉากภายในเกมเป็นต้น เหมือนที่ข้างบนๆ ว่าไว้

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

  14. #14
    OverclockZone Member nikolaas's Avatar
    Join Date
    17 Oct 2008
    Location
    The Milky Way Galaxy

    Default

    เอแล้วยังงี้ PhysicX ของ Nvidia นี้จะอยู่ส่วนไหนของการรันเกมส์อยู่
    ประเภทเดียวกับพวก AI Engine / Script Engine หรือเปล่า
    เพราะงงว่าบางเกมส์ มี Physics Engine มาในตัว แต่ปัจจุบันนี้
    มี PhysicX ของ Nvidia ออกมา ซัพพอร์ตเกมส์ใหม่ๆแล้วมันจะอยู่ส่วนไหน?
    อีกอย่างการ์ดฝั่ง Ati จะทำไง

  15. #15
    OverclockZone Member
    Join Date
    14 Mar 2007

    Default

    จัดเป็น Physics Engine ที่ทำงานในระดับล่างครับ มันเป็น Option ครับ โดยปรกติจะตรวจสอบก่อนว่า ในเครื่องของผู้เล่นสนับสนุนการทำงานของ PhysicsX หรือเปล่า ถ้ามีก็ใช้การประมวลผลจากตัวฮาร์ดแวร์เลย ถ้าไม่มีจะใช้ Software ของ PhysicsX มาประมวลผลแทน (ในกรณีนี้จะจัดเป็น Engine ระดับสูงไป เนื่องจากไม่ได้ติดต่อกับฮาร์ดแวร์โดยตรง แต่ใช้ CPU คำนวณเพียวๆ)

    ในสมัยก่อน Game Engine จะสร้าง Physics Engine ของตัวเองมาใช้เองซึ่งต้องใช้ CPU เพียวๆ ทำให้ CPU ทำงานหนักขึ้นเกมอาจจะหน่วงหากต้องการให้เร็วขึ้นต้องอาศัยการเขียนแบบ Multithread เอาครับคือทำงานหลายๆงานได้พร้อมกัน แสดงผลด้วย พร้อมกับคำนวณฟิสิกส์ไปด้วย (Multithread จริงๆเป็นการซอยงานหลักออกเป็นส่วนเล็กๆแล้วทำการสลับการทำงานไปมาในช่วงเวลาสั้นๆ จึงดูเสมือนว่าทำงานพร้อมกัน แต่ถ้าไม่เป็นแบบ Multithread จะต้องคอยให้งานหนึ่งๆเสร็จก่อนแล้วจึงค่อยทำงานอื่นต่อไป เช่นคอยให้แสดงผลเสร็จก่อน แล้วค่อยคำนวณฟิสิกส์ต่อเป็นต้น สำหรับ Game Engine แพงๆ ได้ออกแบบการทำงานส่วนนี้ไว้ให้โปรแกรมเมอร์แล้วส่วนหนึ่งทำให้ไม่ต้องปวดหัวกับการจัดการกับ Thread ภายในเกม)

    พูดง่ายๆที่ปัจจุบันเอา Physics Engine มาใส่ในการ์ดแสดงผล เพื่อกลยุทธ์ทางการตลาดเพิ่มมูลค่าในการตลาด ซึ่งเคยเกิดมาแล้วกับ directx 8.1a และ b ที่ครั้งแรก microsoft เน้นสนับสนุนความสามารถทาง vertex shader ของ ATI เป็นหลักใน directx8.1a มากกว่าของ Nvidia ทำให้ต้องออก 8.1b ตามมาแก้ปัญหา (ไม่แน่ใจว่าผมจำยี่ห้อสลับกันหรือเปล่า)
    สำหรับระบบ PhysicsX ผมมองว่า ATI คงหาวิธีทางการตลาดมาแข่งแน่ครับหรือไม่ก็ขอซื้อมาใช้ใส่ในการ์ดตัวเองไปเลย แต่สุดท้ายก็คงจะเป็น Microsoft เข้ามาจัดวางมาตรฐานอีกทีนึง เพื่อให้ตัวเองสามารถควบคุมแนวทางในการพัฒนาได้เพื่อผลดีทางการตลาดของ Microsoft เองด้วย รวยได้เพราะพยามจัดระเบียบคู่แข่ง และ คู่ค้า
    Last edited by attapong5; 18 Oct 2008 at 13:13:34.


Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •