การพัฒนาเกม

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

5
วิธีการหลีกเลี่ยงการตกเลือดในพื้นผิวแผนที่?
ในเกมของฉันมีภูมิประเทศที่เหมือน Minecraft ทำจากก้อน ฉันสร้างบัฟเฟอร์จุดสุดยอดจากข้อมูล voxel และใช้แผนที่พื้นผิวสำหรับลักษณะของบล็อกที่แตกต่างกัน: ปัญหาคือพื้นผิวของลูกบาศก์ที่อยู่ห่างไกลสอดแทรกด้วยกระเบื้องที่อยู่ติดกันในแผนที่พื้นผิว ผลลัพธ์ในบรรทัดของสีที่ไม่ถูกต้องระหว่างคิวบ์ (คุณอาจต้องดูภาพหน้าจอด้านล่างในขนาดเต็มเพื่อดูข้อบกพร่องกราฟิก): ตอนนี้ฉันใช้การตั้งค่าการแก้ไขเหล่านี้ แต่ฉันลองทุกชุดรวมกันและแม้GL_NEARESTไม่มีการแมปแมปก็ไม่ได้ผลลัพธ์ที่ดี glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); ฉันได้ลองเพิ่มออฟเซ็ตในพิกัดพื้นผิวเพื่อเลือกพื้นที่เล็ก ๆ ของกระเบื้อง แต่เนื่องจากเอฟเฟกต์ที่ไม่ต้องการขึ้นอยู่กับระยะห่างจากกล้องจึงไม่สามารถแก้ปัญหาได้อย่างสมบูรณ์ ในระยะทางไกล ฉันจะแก้ไขการตกเลือดนี้ได้อย่างไร เนื่องจากการใช้แผนที่พื้นผิวเป็นเทคนิคที่นิยมอาจมีวิธีการทั่วไป น่าเศร้าด้วยเหตุผลบางอย่างที่อธิบายในความคิดเห็นฉันไม่สามารถเปลี่ยนเป็นพื้นผิวหรืออาร์เรย์พื้นผิวที่แตกต่างกันได้

1
คำหลักเข้า / ออกใน GLSL
ฉันไม่เข้าใจวิธีใช้in/ outคีย์เวิร์ดใน GLSL และ google ก็ไม่ได้ช่วยอะไรมากมาย พวกเขาทำอะไรกันแน่ ตัวอย่างเช่นฉันจะใช้มันได้อย่างไรถ้าฉันต้องการส่งชุดตัวแปรที่แตกต่างกันต่อยอดไปยังส่วนที่แตกต่างกัน? แท้จริงทุกบทช่วยสอนที่ฉันพบใช้varying/ attributeคำหลักและนั่นไม่เป็นประโยชน์
46 opengl  glsl 

3
จะสร้างระดับสุ่มจากเมล็ดได้อย่างไร [ปิด]
ฉันจะใช้เมล็ดพันธุ์แบบสุ่มเพื่อสร้างระดับเกมได้อย่างไร เมล็ดเดียวกันควรสร้างระดับเดียวกันแน่นอนเสมอ สำหรับตัวอย่างนี้มันจะเป็นระดับสไตล์Worms ดังนั้นแต่ละระดับจะมีธีม (ทุ่งหญ้าหิมะ ฯลฯ ) ภูมิประเทศพื้นฐานวัตถุต่าง ๆ เช่นต้นไม้ ดังนั้นฉันจะเริ่มสร้างตัวสร้างระดับนี้ได้ที่ไหน สิ่งที่จะมีส่วนร่วม? แนวคิดนี้ใช้อะไร? คะแนนโบนัสสำหรับการเชื่อมโยงใด ๆ ที่ดีใด ๆ ( โบนัสคะแนนโบนัสสำหรับสิ่งที่เกี่ยวข้องกับวิธีการที่จะได้ทำในเวิร์มหรือคล้ายกัน) ขอบคุณ

7
การจัดการแมปข้อความในอาเรย์แบบสองมิติบนภาพวาด HTML5 Canvas
ดังนั้นฉันกำลังสร้าง HTML5 RPG เพื่อความสนุก แผนที่คือ<canvas>(ความกว้าง 512px สูง 352px | 16 แผ่นข้าม, 11 แผ่นจากบนลงล่าง) ฉันต้องการทราบว่ามีวิธีการทาสีที่มีประสิทธิภาพมากกว่า<canvas>นี้หรือไม่ นี่คือวิธีที่ฉันมีตอนนี้ วิธีการโหลดและวาดภาพบนแผนที่ แผนที่จะถูกวาดด้วยกระเบื้อง (32x32) โดยใช้Image()ชิ้นส่วน ไฟล์ภาพจะถูกโหลดผ่านง่ายforห่วงและใส่ลงในอาร์เรย์ที่เรียกว่าจะทาสีเกี่ยวกับการใช้tiles[]drawImage() ก่อนอื่นเราโหลดไพ่ ... และนี่คือวิธีที่จะทำ: // SET UP THE & DRAW THE MAP TILES tiles = []; var loadedImagesCount = 0; for (x = 0; x <= NUM_OF_TILES; x++) { var imageObj …

4
ลูกบอลกระทบมุมมันจะเบี่ยงเบนไปจากไหน
ฉันต้องการแปรงตรีโกณมิติของฉันและหวังว่าคุณจะสามารถช่วยได้ที่นี่ด้วยแบบจำลองทางคณิตศาสตร์อย่างง่าย นี่คือแบบจำลองของฉันในภาพที่แนบมา ฉันทราบว่าภาพเคลื่อนไหวเฟรมมีปัญหาอื่น ๆ เมื่อลูกบอลเคลื่อนที่เร็วมาก แต่ตอนนี้ฉันแค่ต้องคำนวณ ballDx และ ballDy เป็นไปได้ว่า ballDx = 0 (การเคลื่อนที่ในแนวดิ่งเท่านั้น) แต่เมื่อลูกบอลเบี่ยงเบน ballDx อาจได้รับค่าที่แตกต่าง

3
ทำไมตัวอย่างของพื้นผิวเกมจึงมักแสดงในแบบจำลองทรงกลม
ฉันเพิ่งเริ่มทำงานกับ Unity และกำลังมองหาพื้นผิวสำหรับพื้นหลัง (กำแพงปราสาทและชิ้นส่วนต่าง ๆ ) ในเกมที่ฉันกำลังคิดเกี่ยวกับการสร้างในที่สุด ฉันสังเกตุว่าพื้นผิวนั้นมักจะถูกนำมาแสดงเป็นรูปลูกบอลเช่นในภาพตัวอย่างนี้ที่นี่: ตัวอย่างเช่นเหตุใดรูปแบบพื้นผิวจึงไม่แสดงเป็นสี่เหลี่ยมจตุรัสเรียบ ฉันเดาว่ามีเหตุผลเบื้องหลังสิ่งนี้ที่เกี่ยวข้องกับการทำแผนที่กับพื้นผิว 3 มิติ แต่ฉันไม่แน่ใจดังนั้นฉันจึงต้องการตรวจสอบที่นี่ เหตุใดพื้นผิวจึงมีรูปร่างเป็นทรงกลมในตัวอย่างและตัวอย่าง
45 textures 

2
กลยุทธ์การตลาดที่มีประสิทธิภาพสำหรับโครงการเกมอิสระ [ปิด]
ฉันอยากจะได้ยินว่าที่ปรึกษาอิสระคนอื่น ๆ ทำการตลาดเกมของพวกเขาด้วยทรัพยากรที่มี จำกัด ฉันรู้ว่าการตลาดที่สำคัญนั้นเป็นอย่างไรตั้งแต่ฉันได้เห็นมันมาก่อนในหลาย ๆ ด้าน ฉันเป็นส่วนหนึ่งของทีมที่ไม่ได้นำการตลาดมาสู่โครงการของพวกเขาและไม่ใกล้เคียงกับความคาดหวัง ฉันได้ทุ่มเทเวลามากมายในการเยี่ยมชมฟอรัมเพื่อหารือเกี่ยวกับชื่อก่อนหน้าของเราซึ่งทำให้เกิดการกระแทกเล็กน้อยเมื่อเวลาผ่านไป ฉันคิดว่าWolfireกำลังทำการตลาดระดับรากหญ้าที่น่าทึ่งด้วยวิธีที่พวกเขาจัดการชุมชนของพวกเขารอบบล็อกของพวกเขา พวกเขาได้รวบรวมสิ่งต่อไปนี้ที่ยินดีจ่าย (ล่วงหน้า) สำหรับเกมก่อนที่จะเสร็จสิ้นเพื่อช่วยสนับสนุนพวกเขา ที่น่ากลัว. แต่มีกี่คนที่เต็มใจเปิดเผยข้อมูลดังกล่าวตั้งแต่ต้น ควรกังวลไหม? ฉันควรเริ่มพูดคุยเกี่ยวกับโปรเจ็กต์ต่อไปของฉันก่อนที่ฉันจะทำอะไรได้บ้าง คุณทำงานอะไร ฉันสนใจโดยเฉพาะอย่างยิ่งที่จะได้ยินว่าผู้คนเข้าถึง iTunes Store ของ Apple ได้อย่างไร ฉันเชื่อว่าเรากำลังดูเกมประมาณ 33,000 เกมในสโตร์
45 marketing 

1
ในฐานะลูกค้าพยายามรับ coder / โปรแกรมเมอร์เพื่อพัฒนาความคิดของฉันให้เป็นโปรแกรมที่ใช้งานได้ฉันควรให้อะไรกับนักพัฒนาซอฟต์แวร์ของฉัน
ฉันเป็นผู้อำนวยการกลุ่มพัฒนาเกมเริ่มต้น (ฉันพูดว่า "กลุ่ม" เพราะยังไม่เป็น บริษัท อย่างเป็นทางการ) เมื่อเร็ว ๆ นี้ฉันได้รับความเต็มใจของผู้เขียนโค้ดจำนวนไม่กี่คนที่ยินดีช่วยเหลือฉันในโครงการนี้ แต่พวกเขากำลังขอเอกสาร ฉันเข้าใจความจำเป็นในการจัดทำเอกสารและฉันมีความคิดมากมายในเอกสารที่แตกต่างกันเล็กน้อย แต่ฉันคิดว่าฉันจะต้องการจัดระเบียบด้วยวิธีการที่นักพัฒนาสามารถเข้าใจเป็นรายบุคคลและเรียกรวมกัน มีอะไรบ้างที่ฉันควรปล่อยให้จากเอกสารดังกล่าว ถ้าเป็นเช่นนั้นสิ่งที่ชนิดของ? มีแม่แบบที่เหมาะสมสำหรับเอกสารประเภทนี้หรือไม่ ถ้าใช่ฉันจะหาได้ที่ไหน มีอะไรอีกบ้างที่ฉันควรรู้ที่จะเสนอโคเดอร์ก่อนที่จะเริ่มทำงาน? ฉันรู้ว่าฉันมีคำถามมากมายที่ถูกถามที่นี่ ฉันหวังว่าจะไม่มีปัญหา ขอบคุณล่วงหน้าสำหรับคำแนะนำใด ๆ !

4
วิธีการทำให้อนุภาค 2D เป็นของเหลว?
สมมติว่าคุณมีวิธีที่ดีในการเคลื่อนย้ายอนุภาค 2 มิติของคุณเพื่อจำลองของเหลว (เช่นน้ำ) มีความคิดเห็นเกี่ยวกับวิธีการแสดงผลหรือไม่ นี้สำหรับเกม 2D ที่มุมมองจากด้านข้างเช่นนี้ น้ำจะถูกบรรจุในกล่องที่สามารถแตกได้เพื่อให้มันตกลงมาและมีปฏิสัมพันธ์กับวัตถุอื่น วิธีที่ง่ายที่สุดที่อยู่ในใจของฉันคือการใช้ภาพขนาดเล็กสำหรับแต่ละอนุภาค ฉันสนใจที่จะได้ยินวิธีเพิ่มน้ำ
45 2d  particles  water 

2
วิธีที่จะทำให้น้ำแข็งที่เหมือนจริง?
ฉันกำลังพยายามเขียน ice shader ใน Unity ที่ดูดีและอย่างน้อยกึ่งจริง หากภาพต่อไปนี้ ( พบใน Google ) คือ CG สิ่งที่รวมไว้ในภาพนี้คืออะไร (ถ้ำเบื้องหน้า) ฉันอาจจะผิด แต่ดูเหมือนว่ามันจะมีรูปแบบแสงที่แตกต่างจากการกระจายแสงเริ่มต้น

8
พวกเขาจะทำอย่างไร: กระเบื้องนับล้านใน Terraria
ฉันได้สร้างเอ็นจิ้นเกมคล้ายกับTerrariaซึ่งส่วนใหญ่เป็นสิ่งที่ท้าทายและในขณะที่ฉันคิดว่าส่วนใหญ่แล้วฉันไม่สามารถคาดเดาได้ว่าพวกเขาจัดการกับกระเบื้องที่สามารถโต้ตอบ / เก็บเกี่ยวได้นับล้าน เกมมีในครั้งเดียว การสร้างไทล์ประมาณ 500,000 แผ่นนั่นคือ 1 ใน 20 ของสิ่งที่เป็นไปได้ในTerrariaในเครื่องยนต์ของฉันทำให้อัตราเฟรมลดลงจาก 60 เหลือประมาณ 20 ถึงแม้ว่าฉันจะยังคงแสดงเฉพาะไพ่ในมุมมองเท่านั้น ใจคุณฉันไม่ได้ทำอะไรกับกระเบื้องเพียงแค่ทำให้พวกเขาอยู่ในความทรงจำ อัปเดต : รหัสถูกเพิ่มเพื่อแสดงว่าฉันทำสิ่งต่าง ๆ อย่างไร นี่เป็นส่วนหนึ่งของชั้นเรียนที่จัดการกับกระเบื้องและดึงพวกเขา ฉันเดาว่าผู้ร้ายคือส่วน "foreach" ซึ่งวนซ้ำทุกอย่างแม้แต่ดัชนีที่ว่างเปล่า ... public void Draw(SpriteBatch spriteBatch, GameTime gameTime) { foreach (Tile tile in this.Tiles) { if (tile != null) { if (tile.Position.X < -this.Offset.X + 32) …

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

7
เกม 8-bit และ 16-bit ได้รับการพัฒนาอย่างไร [ปิด]
เรามีข้อมูลมากมายเกี่ยวกับอินเทอร์เน็ตในเอ็นจิ้นมากมาย SDKs ไอดีแฟนซี ฯลฯ แต่คนเราจัดการพัฒนาเกมได้อย่างไรในอดีต? มีเครื่องมือ 'ที่มีชื่อเสียง' หรือไม่? ภาษาการเขียนโปรแกรมที่ใช้มากที่สุดคืออะไร พวกเขานำไปใช้กับตลับหมึกอย่างไร

12
คนจะรู้ได้อย่างไรว่าเอ็นจิ้นเกมใช้อะไรโดยอิงจากกราฟิกของมัน?
ในหลาย ๆ เกมคุณสามารถพูดว่า "โอ้นั่นคือUnreal Engineแน่นอน" หรือ "สิ่งนี้ถูกสร้างขึ้นด้วยRockstar Advanced Engine ที่อัพเกรดแล้ว" เรามักจะรู้จักเครื่องยนต์ที่ใช้สำหรับเกมเพียงแค่มองที่กราฟิก ทำไมนี้ เอ็นจิ้นเกมทั้งหมดใช้เทคโนโลยีการเรนเดอร์ 3D แบบเดียวกับที่เราใช้และเกมต่าง ๆ มักมีสไตล์ศิลปะที่แตกต่างกัน มีอะไรเหลือให้จดจำ?
45 3d  graphics 

16
ฉันจะทำให้เกมการศึกษามีส่วนร่วมไม่น่าเบื่อได้อย่างไร
เราสร้างเกมการศึกษาสำหรับเด็กนักเรียนอายุ 7-18 ปี เราไม่สามารถมีความรุนแรงหรือเลือดในพวกเขา ฉันได้ทดลองใช้ Google Play และ YouTube เพื่อเป็นตัวอย่างที่ดีของเกมการศึกษา จนถึงตอนนี้ฉันพบเกมคณิตศาสตร์นี้แล้ว ไฟปืนใหญ่ที่หมายเลขศัตรูที่จะทำคะแนนผู้เล่นจะต้องนำค่าของพวกเขาไปยังศูนย์ตรง เมื่อระดับเพิ่มขึ้นจำนวนที่มากขึ้นจะเกิดขึ้น - 10, 20, 30 และอื่น ๆ ทำไมการสร้างเกมการศึกษาที่ไม่น่าเบื่อจึงเป็นเรื่องยาก ดูเหมือนว่าความรุนแรงเป็นสิ่งที่ดึงดูดคนหนุ่มสาวส่วนใหญ่ในปัจจุบัน! ข้อยกเว้นใหญ่อย่างหนึ่งอาจเป็นปริศนา

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