การพัฒนาเกม

คำถาม & คำตอบสำหรับนักพัฒนาเกมมืออาชีพและเป็นอิสระ

2
สถานะภาพเคลื่อนไหวที่ขับเคลื่อนด้วยข้อมูล
แก้ไข: เพื่อให้ชัดเจนว่าคำถามของฉันคืออะไร: นี่เป็นวิธีที่ดีในการจัดการภาพเคลื่อนไหว / สถานะภาพเคลื่อนไหวในเอ็นจิ้นเกมด้วยตาการสร้าง / การจัดการเนื้อหาหรือไม่ อะไรคือข้อบกพร่องในการทำเช่นนี้และสิ่งที่จะเป็นทางเลือกในการทำเช่นนั้น? - แม้ว่าคำตอบของฉันจะได้รับคำตอบบางส่วนในความคิดเห็นเพราะมันเป็นหนทางไป ฉันพยายามจัดการกับอนิเมชั่นในโปรเจ็กต์เกมเอนจิ้น 2Dโดยไม่ต้องเข้ารหัสให้ยุ่งยาก สถานะภาพเคลื่อนไหวที่เข้ารหัสยากดูเหมือนว่าจะเป็นปรากฏการณ์ธรรมดา แต่แปลกมากสำหรับฉัน พื้นหลังเล็กน้อย: ฉันกำลังทำงานกับระบบเอนทิตีที่ส่วนประกอบคือถุงของข้อมูลและระบบย่อยทำหน้าที่แทนพวกเขา ฉันเลือกที่จะใช้ระบบการลงคะแนนเพื่ออัพเดทสถานะภาพเคลื่อนไหว ด้วยสถานะภาพเคลื่อนไหวฉันหมายถึง: "walking_left", "running_left", "walking_right", "shooting", ... ความคิดของฉันเพื่อภาพเคลื่อนไหวที่จับคือการออกแบบเป็นรูปแบบข้อมูลที่ขับเคลื่อนด้วย ข้อมูลสามารถเก็บไว้ในไฟล์ xml, rdbms, ... และสามารถโหลดได้ตั้งแต่เริ่มเกม / ระดับ / ... วิธีนี้คุณสามารถแก้ไขภาพเคลื่อนไหวและช่วงการเปลี่ยนภาพได้อย่างง่ายดายโดยไม่ต้องเปลี่ยนรหัสทุกที่ในตัวคุณ เกม. ตัวอย่างเช่นฉันสร้างร่าง xml ของคำจำกัดความข้อมูลที่ฉันมีอยู่ในใจ ชิ้นหนึ่งที่สำคัญมากของข้อมูลก็จะเป็นรายละเอียดของภาพเคลื่อนไหว ภาพเคลื่อนไหวจะมีรหัสเฉพาะ (ชื่อที่สื่อความหมาย) มันจะถือ id อ้างอิงไปยังภาพ (แผ่นงานสไปรท์ที่ใช้เพราะภาพเคลื่อนไหวที่แตกต่างกันอาจใช้แผ่นงานสไปรต์ที่แตกต่างกัน) เฟรมต่อวินาทีเพื่อเปิดภาพเคลื่อนไหว "เล่นซ้ำ" ที่นี่กำหนดว่าควรจะเรียกใช้ภาพเคลื่อนไหวหนึ่งครั้งหรือไม่สิ้นสุด จากนั้นฉันกำหนดรายการสี่เหลี่ยมเป็นเฟรม <animation …
14 animation  state  fsm 

3
ทำไมจึงมีเส้นคั่นระหว่างกระเบื้องของฉัน
ฉันกำลังสร้างเกมบน XNA แผนที่ถูกสร้างขึ้นโดยไทล์ ปัญหาที่ฉันสังเกตเห็นเมื่อเร็ว ๆ นี้คือ 'เส้นตาราง' ของเส้นแบ่งระหว่างแผ่นกระเบื้อง มันจะปรากฏขึ้นบางครั้งเท่านั้นและขึ้นอยู่กับตำแหน่งของกล้อง ฉันปล่อยให้ XNA จัดการตำแหน่งทำไมเส้นเหล่านี้ถึงปรากฏขึ้น นี่คือภาพที่มีเส้น: อย่างไรก็ตามหลังจากที่ขยับกล้องของฉันไปเพียงเล็กน้อยมันน่าอัศจรรย์ที่จะกลับไปสู่ลักษณะที่ควรจะปรากฏขึ้น: ขอบคุณสำหรับความช่วยเหลือใด ๆ ! แก้ไข: นี่คือสิ่งที่ดีที่สุดที่ฉันสามารถทำได้สำหรับซอร์สโค้ดนี่เป็นโครงการขนาดใหญ่มากและการเรนเดอร์มันทำได้หลายด้าน: Main Render Loop สำหรับองค์ประกอบแบบไดนามิกเช่นไทล์: spriteBatch.Begin(SpriteSortMode.Deferred, Nothing, SamplerState.LinearClamp, Nothing, Nothing, Nothing, Matrix.CreateTranslation(CameraX, CameraY, 0)) Mode.Render(spriteBatch, False) For Each j As [Delegate] In DynamicInjectionList j.DynamicInvoke(spriteBatch) Next DynamicInjectionList.Clear() spriteBatch.End() Mode.Render: For x As Integer …

7
วิธีจัดการข้อมูลนักออกแบบที่เปลี่ยนแปลงไปพร้อมกับการเปลี่ยนข้อมูลผู้เล่น
ฉันมีเกมออนไลน์ที่ผู้เล่นสามารถทำให้โลกเป็นรูปร่างในทางใดทางหนึ่งเช่น ที่อยู่อาศัยของ Ultima Online ที่ซึ่งคุณสามารถสร้างบ้านของคุณได้โดยตรงบนบางส่วนของแผนที่โลก สิ่งเหล่านี้คือการเปลี่ยนแปลงที่ควรมีอยู่ตลอดเวลาซึ่งเป็นส่วนหนึ่งของโลกที่ยังคงอยู่ ในขณะเดียวกันทีมออกแบบกำลังเพิ่มเนื้อหาใหม่และแก้ไขเนื้อหาเก่าเพื่อปรับปรุงและขยายเกมสำหรับผู้เล่นใหม่ พวกเขาจะทำสิ่งนี้บนเซิร์ฟเวอร์การพัฒนาก่อนในระหว่างการทดสอบและหลังจากนั้นจะต้องรวมงานของพวกเขาเข้ากับการทำงานของผู้เล่นบนเซิร์ฟเวอร์สด สมมติว่าเราแก้ไขปัญหาการออกแบบเกม - เช่น ผู้เล่นสามารถสร้างได้เฉพาะในพื้นที่ที่กำหนดเท่านั้นดังนั้นพวกเขาจึงไม่เคยขัดแย้งกับการแก้ไขนักออกแบบ - วิธีใดที่ดีในการจัดการข้อมูลหรือจัดโครงสร้างข้อมูลเพื่อหลีกเลี่ยงความขัดแย้งเมื่อข้อมูลนักออกแบบใหม่ถูกรวมเข้ากับข้อมูลเครื่องเล่นใหม่ ตัวอย่างที่ 1: ผู้เล่นสร้างไอเท็มชนิดใหม่และเกมกำหนด ID 123456 ให้กับมัน อินสแตนซ์ของไอเท็มนั้นอ้างอิงกลับไปที่ 123456 ตอนนี้ลองนึกภาพว่านักออกแบบเกมมีระบบที่คล้ายกันและผู้ออกแบบสร้างรายการใหม่ด้วยหมายเลข 123456 สิ่งนี้สามารถหลีกเลี่ยงได้อย่างไร ตัวอย่างที่ 2: ใครบางคนสร้าง mod ที่เป็นที่นิยมซึ่งทำให้มังกรของคุณเน้นเสียงภาษาฝรั่งเศส มันมีสคริปต์ที่มีวัตถุใหม่ที่เรียกว่าassignFrenchAccentพวกเขาใช้ในการกำหนดสินทรัพย์เสียงใหม่ให้กับวัตถุมังกรแต่ละ แต่คุณกำลังจะปรับใช้ DLC "Napoleon vs Smaug" ของคุณซึ่งมีชื่อเดียวกัน - คุณจะทำสิ่งนี้ได้อย่างไรโดยไม่มีปัญหาการบริการลูกค้ามากมาย? ฉันคิดถึงกลยุทธ์ต่อไปนี้: คุณสามารถใช้ไฟล์ / ไดเร็กตอรี่ / ฐานข้อมูลแยกกัน 2 ตัว แต่การอ่านของคุณนั้นซับซ้อนอย่างมาก "แสดงรายการทั้งหมด" จะต้องอ่านหนึ่งรายการในฐานข้อมูลผู้ออกแบบและอีกหนึ่งรายการที่อ่านบนฐานข้อมูลผู้เล่น …

4
จะค้นหาเอนทิตีทั้งหมดภายในรัศมีได้อย่างมีประสิทธิภาพได้อย่างไร
ฉันมีเอนทิตีจำนวนมาก (หน่วย) ในแต่ละขั้นตอนแต่ละหน่วยจำเป็นต้องทราบตำแหน่งของหน่วยทั้งหมดที่อยู่ใกล้กับมัน (ระยะทางน้อยกว่าเมื่อกำหนดค่าคงที่R ) ทุกหน่วยเคลื่อนที่อย่างต่อเนื่อง นี่เป็นแบบ 3 มิติ โดยเฉลี่ยจะมี 1% ของจำนวนหน่วยทั้งหมดที่อยู่ใกล้กับหน่วยอื่น ๆ ที่มีข้อ จำกัด ที่กำหนด ฉันจะทำสิ่งนี้ได้อย่างมีประสิทธิภาพโดยปราศจากการหักห้ามใจ?

7
ไปยัง Canvas หรือไม่ไปยัง Canvas เมื่อสร้างเกมที่ใช้เบราว์เซอร์
ที่มา: ฉันมีพื้นฐานการพัฒนาที่กว้างขวาง แต่ครั้งสุดท้ายที่ฉันเขียนเกมเมื่อหลายปีก่อน ทักษะ Javascript ของฉันค่อนข้าง จำกัด และฉันตั้งใจที่จะปรับปรุงพวกเขาโดยการสร้างเกมง่ายๆ - Tetris, Pac-man หรืออะไรบางอย่างในระดับความซับซ้อนนั้น คำถาม: สำหรับตัวเลือกพื้นฐานที่ฉันจำเป็นต้องทำคือดูเหมือนว่าฉันควรแสดง<canvas>องค์ประกอบหรือไม่ ด้วยผืนผ้าใบฉันมีเครื่องมือพื้นฐานสำหรับการเรนเดอร์จุดเส้นและสิ่งที่ซับซ้อนกว่านั้น สันนิษฐานว่ามีหรือจะมีกรอบต่าง ๆ เพื่อช่วยในเรื่องนี้ หากไม่มีผ้าใบฉันสามารถเก็บวัตถุของฉันไว้ในต้นไม้ DOM ได้เช่นเดียวกับหน้าเว็บทั่วไปที่ค่อนข้างซับซ้อนมีองค์ประกอบที่ทับซ้อนกันมากมาย วิธีการหนึ่งดีกว่าวิธีอื่นหรือไม่? พวกเขาเป็นพิเศษร่วมกัน? ฉันจะรู้ได้อย่างไรว่าควรเลือกแบบไหน

5
ฉันจะจัดการกับสไปรต์ชีตที่มีขนาดสไปรต์ที่ไม่ใช่แบบฟอร์มได้อย่างไร
สำหรับชุดสไปรต์ที่มีขนาดสไปรต์ที่ไม่สม่ำเสมอฉันจะหารูปสี่เหลี่ยมมุมฉากสำหรับสไปรต์แต่ละตัวได้อย่างไร (เช่นกล่องสีน้ำเงินในภาพต่อไปนี้ / ฉันวาดตัวอย่างเพียงไม่กี่ชิ้น)? สิ่งที่ฉันต้องการตรวจสอบคือ: offset_x, offset_y, width, height จนถึงตอนนี้ฉันได้ใช้ Spriteheets ที่ Sprite ทั้งหมดมีขนาดเท่ากัน ในกรณีนั้นเราต้องการเพียงระบุ x และ y-offset เพื่อรับ sprite เฉพาะ อย่างไรก็ตามสำหรับสไปรต์ของชุดที่มีขนาดไม่เท่ากันก็ไม่สามารถใช้งานได้ แก้ไข: หลังจากอ่านความคิดเห็นและคำตอบแล้วฉันได้ปรับปรุงคำถามของฉันอีกครั้งเพื่อให้มีความครอบคลุมมากขึ้น กระบวนการจริงของการใช้สไปรต์แผ่นชีทในเกม ก่อนหน้านี้คำถามมีประเด็นที่ว่าทำไมผู้คนถึงผลิตสไปรต์แบบแผ่นขนาดไม่เท่ากันและฉันจะจัดการกับเรื่องนั้นได้อย่างไร

3
ฉันจะใช้กล้องที่มีพื้นฐานเป็น quaternion ได้อย่างไร
อัพเดทข้อผิดพลาดที่นี่เป็นเรื่องง่าย ฉันพลาดเรเดียนถึงการแปลงองศา ไม่จำเป็นต้องอ่านทุกอย่างถ้าคุณมีปัญหาอื่น ฉันดูบทเรียนหลายอย่างเกี่ยวกับเรื่องนี้และเมื่อฉันคิดว่าฉันเข้าใจฉันพยายามที่จะใช้กล้องที่เป็น quaternion ปัญหาคือมันทำงานไม่ถูกต้องหลังจากหมุนไปประมาณ 10 องศากระโดดกลับไปที่ -10 องศา ฉันไม่รู้ว่าเกิดอะไรขึ้น ฉันใช้ openTK และมีคลาส quaternion อยู่แล้ว ฉันเป็น noob ที่ opengl ฉันกำลังทำเพื่อความสนุกและไม่เข้าใจ quaternions ดังนั้นฉันอาจจะทำอะไรโง่ ๆ ที่นี่ นี่คือรหัสบางส่วน: (จริงๆแล้วเกือบทั้งหมดรหัสยกเว้นวิธีการที่โหลดและวาด vbo (มันถูกนำมาจากตัวอย่าง OpenTK ที่แสดงให้เห็นถึง vbo-s)) ฉันโหลดลูกบาศก์ลงใน vbo และเริ่มต้น quaternion สำหรับกล้อง protected override void OnLoad(EventArgs e) { base.OnLoad(e); cameraPos = new Vector3(0, 0, 7); …

4
เหตุใดไฟล์ PNG บางส่วนที่แยกจากเกมจึงแสดงไม่ถูกต้อง
ฉันสังเกตเห็นการแยก PNG จากไฟล์เกมบางไฟล์ที่ภาพผิดเพี้ยนไปมา ตัวอย่างเช่นต่อไปนี้เป็น PNG สองสามตัวที่แยกจากไฟล์พื้นผิวใน Skyrim: นี่เป็นรูปแบบที่ผิดปกติบางอย่างในรูปแบบ PNG หรือไม่ ฉันต้องแก้ไขอะไรเพื่อดู PNG อย่างถูกต้อง

3
มีรูปแบบการเขียนเซิร์ฟเวอร์แบบเทิร์นเบสที่สื่อสารกับไคลเอนต์ n ผ่านซ็อกเก็ตหรือไม่?
ฉันกำลังทำงานกับเซิร์ฟเวอร์เกมทั่วไปที่จัดการเกมให้กับไคลเอนต์เครือข่ายซ็อกเก็ต TCP จำนวนหนึ่งที่เล่นเกม ฉันมี 'การออกแบบ' ที่แฮ็คพร้อมกับเทปพันสายไฟที่ใช้งานได้ แต่ดูเหมือนว่าทั้งบอบบางและไม่ยืดหยุ่น มีรูปแบบที่ดีขึ้นสำหรับวิธีการเขียนการสื่อสารลูกค้า / เซิร์ฟเวอร์ที่แข็งแกร่งและยืดหยุ่นหรือไม่? (ถ้าไม่คุณจะปรับปรุงสิ่งที่ฉันมีด้านล่างได้อย่างไร) ประมาณฉันมีสิ่งนี้: ในขณะที่ตั้งค่าเกมเซิร์ฟเวอร์จะมีหนึ่งเธรดสำหรับแต่ละซ็อกเก็ตผู้เล่นที่จัดการคำขอที่ซิงโครนัสจากไคลเอนต์และการตอบสนองจากเซิร์ฟเวอร์ อย่างไรก็ตามเมื่อเกมดำเนินไปเธรดทั้งหมดยกเว้นหนึ่งสลีปและเธรดจะวนไปตามผู้เล่นทุกคนทีละครั้งเพื่อสื่อสารเกี่ยวกับการเคลื่อนไหวของพวกเขา (ในการตอบกลับคำร้องขอ) นี่คือแผนภาพของสิ่งที่ฉันมีอยู่ในปัจจุบัน; คลิกเพื่อดู / รุ่นที่สามารถอ่านได้ที่มีขนาดใหญ่หรือ66kB รูปแบบไฟล์ PDF ปัญหา: มันต้องการให้ผู้เล่นตอบกลับอย่างแม่นยำด้วยข้อความที่ถูกต้อง (ฉันคิดว่าฉันสามารถให้ผู้เล่นแต่ละคนตอบสนองด้วยอึแบบสุ่มและย้ายต่อเมื่อพวกเขาให้การเคลื่อนไหวที่ถูกต้องแก่ฉัน) ไม่อนุญาตให้ผู้เล่นคุยกับเซิร์ฟเวอร์เว้นแต่จะเป็นตาของพวกเขา (ฉันอาจให้เซิร์ฟเวอร์ส่งการอัปเดตเกี่ยวกับผู้เล่นอื่น แต่ไม่สามารถดำเนินการตามคำขอแบบอะซิงโครนัสได้) ข้อกำหนดขั้นสุดท้าย: ประสิทธิภาพไม่สำคัญยิ่ง ส่วนใหญ่จะใช้สำหรับเกมที่ไม่ใช่เรียลไทม์และส่วนใหญ่สำหรับการเจาะ AIs ต่อกันไม่ใช่มนุษย์ที่กระตุก การเล่นเกมจะเป็นแบบเทิร์นเบสเสมอ (แม้ว่าจะมีความละเอียดสูงมาก) ผู้เล่นแต่ละคนจะได้รับการดำเนินการหนึ่งครั้งก่อนที่ผู้เล่นอื่นจะได้รับการเปิด การนำเซิร์ฟเวอร์ไปใช้จะเกิดขึ้นใน Ruby หากสร้างความแตกต่าง

1
มีบริการเกมเทิร์นเบส (เช่น GKTurnBasedMatch บน iOS) สำหรับเดสก์ท็อปหรือไม่?
GKTurnBasedMatch ของ Game Center ดูเหมือนจะให้บริการที่มีประสิทธิภาพในการจัดการเกมเทิร์นเบสและ OpenFeint ดูเหมือนจะมีบางสิ่งที่คล้ายคลึงกัน ปัญหาคือฉันต้องการบางอย่างเช่นนี้สำหรับเดสก์ทอป ฉันกำลังคิดที่จะกลิ้งบริการที่ใช้ REST ของฉันเองบน Rails แต่หลังจากดูที่เอกสารของ GameKit ฉันรู้ว่ามันใช้เวลานานกว่าที่ฉันต้องการจะทำให้มันมั่นคง ฉันไม่คิดว่ามีสิ่งนี้มีอยู่แล้วที่ฉันพลาดในการค้นหา

2
ฉันจะจัดการการตรวจจับการชนกันของวัตถุได้อย่างไรเพื่อไม่ให้วัตถุที่รวดเร็วผ่านผนัง
ฉันกำลังสร้างนักแม่นปืน 2d และฉันมีปัญหาเล็กน้อยกับการตรวจจับการชนกันของกระสุน ทุกอย่างรวมถึงสัญลักษณ์แสดงหัวข้อย่อยเป็นวัตถุที่มีวิธีการหลายเหลี่ยม / ปรับปรุงของตัวเอง ปัญหาคือกระสุนปืนไปอย่างรวดเร็วและที่ 60 เฟรมต่อวินาที (เกมทำงานที่) กระสุนมักจะข้ามผ่านกำแพง - เนื่องจากมันเคลื่อนที่มากกว่าความกว้างของกำแพงในช่วงเวลาการอัพเดท - และ ดำเนินต่อไปอย่างมีความสุขในทางเนื่องจากรูปหลายเหลี่ยมจะไม่ทับซ้อนกันจริง ฉันจะทำอะไรเกี่ยวกับเรื่องนี้? สิ่งเดียวที่ฉันทำได้คือการลากเส้นจากตำแหน่งเดิมไปยังตำแหน่งใหม่และทำการตรวจจับการชนกันของข้อมูลนั้น ฉันจะแก้ปัญหานี้ได้อย่างไร

3
สิทธิประโยชน์ที่จับต้องได้เพื่อเข้ารหัสโครงการเกมส่วนบุคคลของคุณอย่างรวดเร็ว
ฉันสังเกตเห็นโปรแกรมเมอร์สองสามคนที่ตั้งความท้าทายด้านเวลาสำหรับตัวเองโดยปกติจะอยู่ในพื้นที่ของ "เกมเขียนประเภท X ในระยะเวลา Y" หรือ "เขียนจำนวนเกม X ที่ให้เวลา Y แต่ละครั้งเท่านั้น" ประโยชน์ที่จับต้องได้สำหรับการตั้งค่าเวิร์กโฟลว์ของคุณในลักษณะนี้เป็นโค้ดความเร็วชั่วขณะหนึ่งคืออะไร? รู้สึกเหมือนคุณต้องแลกรหัสที่มีประสิทธิภาพเพื่อให้สิ่งที่ทำเสร็จอย่างรวดเร็ว และฉันคิดว่าการเพิ่มเลเยอร์สุดท้ายของการขัดไม่ได้เป็นสิ่งสำคัญในความท้าทายเหล่านี้ดังนั้นจึงไม่เป็นไรที่จะใช้โปรแกรมเมอร์ ฉันได้สร้างนักกีฬาเลื่อน 2D และเกมปริศนาง่ายๆเมื่อไม่กี่ปีที่ผ่านมาและจากความโง่เขลาฉันได้ลบรหัสส่วนใหญ่ของฉัน ดังนั้นตอนนี้ฉันอยากรู้เกี่ยวกับการใช้วิธีการเข้ารหัสความเร็วเพื่อทำสิ่งที่เรียบง่ายสองสามครั้งอีกครั้งและทำให้ตัวเองเข้าสู่ตรรกะของเกมมากขึ้น

3
มีกฎง่ายๆในการขยายสภาพแวดล้อม 33% หรือไม่?
ฉันกำลังอ่านบทความเกี่ยวกับ Gamasutra ที่เรียกว่าA Rational Approach ในการออกแบบลู่แข่งเกมและฉันพบสิ่งต่อไปนี้: กฎที่ยอมรับกันโดยทั่วไปสำหรับเกมบุคคลที่สามคือสภาพแวดล้อมควรมีขนาดประมาณ 33 เปอร์เซ็นต์ (หน้า 2) ฉันแค่อยากรู้อยากเห็น: มีคนอื่นได้ยินกฎดังกล่าวและถ้าเป็นเช่นนั้นฉันจะหาข้อมูลอ้างอิงได้จากที่ไหน

2
ทรัพยากรของการจำลองน้ำที่เหมือนจริง?
ฉันต้องการศึกษาการจำลองน้ำด้วยการสาธิตด้วยรหัสแหล่งที่มาซึ่งใช้วิธีการทางกายภาพ (วิธีการของออยเลอร์หรือวิธีลากรองจ์) ฉันจะรับตัวอย่างได้อย่างไร

3
ระบบอัปเดตเกมพีซี [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเล่นเกม PC จนจบแล้ว (ฉันจะเปิดเกมในวันหรือสองวัน) ฉันต้องการวิธีที่จะปล่อยแพทช์ได้อย่างง่ายดายบนเน็ตในกรณีที่ฉันพบข้อบกพร่องในเกมทันทีหลังจากที่วางจำหน่ายหรือในกรณีที่ฉันต้องการเพิ่มคุณสมบัติในภายหลัง ฉันใช้InstallJammerเป็นระบบติดตั้งของฉัน มีโปรแกรมอัปเดต / โปรแกรมแก้ไขที่ดี (ฟรี) ซึ่งสามารถตรวจสอบและส่งการอัปเดตไปยังผู้เล่นทางอินเทอร์เน็ตได้หรือไม่? ตัวอย่างเช่นหากผู้เล่นเปิดเกมของฉันเกมจะเริ่มโปรแกรมอัพเดทที่ตรวจสอบการอัปเดตก่อน หากมีการอัปเดตพร้อมใช้งานผู้ใช้จะทราบว่าจะรับได้ที่ไหน ฉันสามารถแก้ไขซอร์สโค้ดเป็นเอ็นจิ้นเกมที่ฉันเป็นเจ้าของ แต่ฉันไม่ต้องการคิดค้นวงล้อใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.