การพัฒนาเกม

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

1
ฉันจะสร้างโครงร่าง shader เช่น“ Life is Strange” ได้อย่างไร?
ฉันต้องการทำให้ภาพร่างมีรูปร่างเหมือนชีวิตแปลก ๆ shader มีสองส่วน: 1. เส้นประกำกับ 2. โครงร่างที่มีเสียงดัง ฉันชอบที่จะรู้ว่าฉันจะทำให้ร่างมีเสียงดัง ดูโครงร่างของวัตถุ ก่อนอื่นฉันพยายามทำโครงร่างโดยการคัดลอกข้อมูลจุดยอดที่เข้ามาและปรับขนาดตามทิศทางปกติจากนั้น Cull Back.but แต่ฉันคิดว่ามันคล้ายกับเอฟเฟ็กต์ภาพเพราะบางครั้งร่างเคลื่อนที่ไปด้านในวัตถุ ต่อไปฉันจะขอบคุณถ้ามีคนช่วยฉันในการใช้ Shader นี้ :) สิ่งที่ฉันพยายาม ฉันใช้การตรวจจับขอบและทำให้เคลื่อนไหวได้ด้วยเครื่องปรับจุดสุดยอด แต่สิ่งนี้ไม่ดีเหมือน gifs ด้านบน
13 unity  shaders  hlsl 

1
วิธีการทดสอบเกมอัตโนมัติ
ฉันยังใหม่กับการทดสอบนี้ ฉันเพิ่งพัฒนาเกมพื้นฐานโดยใช้เอ็นจิ้น Unity แต่ฉันต้องการทดสอบ ฉันได้ตรวจสอบกับซีลีเนียม แต่ฉันไม่รู้วิธีรับค่าที่ส่งคืนซึ่งมีข้อมูลของการกระทำที่กำลังดำเนินการในเกม หากฉันสามารถรับค่าได้ฉันจะสามารถดำเนินการที่จำเป็นตามนั้นได้
13 unity  testing 

3
ฉันจะย้ายกล้องในช่วงพิกเซลเต็มได้อย่างไร
โดยทั่วไปฉันต้องการหยุดกล้องไม่ให้เคลื่อนไหวในรูปแบบย่อยเนื่องจากฉันคิดว่าสิ่งนี้นำไปสู่การสไปรต์ที่เปลี่ยนขนาดได้อย่างชัดเจนถ้าเพียงเล็กน้อยเท่านั้น (มีคำศัพท์ที่ดีกว่านี้หรือไม่) โปรดทราบว่านี่เป็นเกมภาพพิกเซลที่ฉันต้องการให้มีกราฟิกพิกเซลที่คมชัด นี่คือ gif ที่แสดงปัญหา: ตอนนี้สิ่งที่ฉันลองทำคือ: ย้ายกล้องฉายตำแหน่งปัจจุบัน (ดังนั้นจึงเป็นพิกัดของหน้าจอ) จากนั้นปัดหรือเหวี่ยงเป็น int หลังจากนั้นแปลงให้เป็นพิกัดโลกและใช้เป็นตำแหน่งกล้องใหม่ เท่าที่ฉันรู้สิ่งนี้ควรล็อคกล้องเป็นพิกัดหน้าจอจริงไม่ใช่เศษส่วน อย่างไรก็ตามด้วยเหตุผลบางอย่างyค่าของตำแหน่งใหม่ก็จะระเบิดออก 334756315000ในเรื่องของการวินาทีมันจะเพิ่มเพื่อสิ่งที่ต้องการ นี่คือ SSCCE (หรือ MCVE) ตามรหัสใน LibGDX wiki : import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.utils.viewport.ExtendViewport; import …
13 libgdx  pixel 

2
การเคลื่อนไหวนั้นขึ้นอยู่กับอัตราเฟรมแม้จะใช้ Time.deltaTime
ฉันมีรหัสต่อไปนี้เพื่อคำนวณการแปลที่จำเป็นในการย้ายวัตถุเกมใน Unity ซึ่งเรียกว่าLateUpdateมา จากสิ่งที่ฉันเข้าใจการใช้งานของฉันTime.deltaTimeควรจะทำให้เป็นอิสระแปลสุดท้ายอัตราเฟรม (โปรดทราบCollisionDetection.Move()เป็นเพียงการแสดง raycasts) public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; model.CurrentSpeed = accelerateSpeed(model.CurrentSpeed, targetSpeed, model.Accel); if (model.IsJumping) { model.AmountToMove = new Vector3(model.AmountToMove.x, model.AmountToMove.y); } else if (CollisionDetection.OnGround) { model.AmountToMove = new Vector3(model.AmountToMove.x, 0); } model.FlipAnim = flipAnimation(targetSpeed); // If …

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

1
เมื่อใดจึงต้องใช้การผสมผสานต้นไม้กับเครื่องรัฐสำหรับภาพเคลื่อนไหว
ฉันเป็นนักพัฒนาเกมที่มีประสบการณ์ทำให้เกมแรกของฉันมีตัวละครภาพเคลื่อนไหว 3 มิติ (เป็นเอกภาพ) และฉันกำลังดิ้นรนที่จะคิดว่าเมื่อใดควรใช้ต้นไม้ผสมกับเครื่องแสดงสถานะภาพเคลื่อนไหว ฉันเข้าใจทั้งแนวความคิด แต่ได้เห็นทั้งต้นไม้ผสมและเครื่องแสดงสถานะภาพเคลื่อนไหวที่ใช้สำหรับแอนิเมชั่นตัวละครในแบบฝึกหัดทั้งจาก Unity และจากแหล่งอื่น ๆ ฉันไม่แน่ใจว่าเมื่อใด / ทำไมคนหนึ่งถึงดีกว่าคนอื่น ๆ หวังว่าจะมีใครบางคนชี้ให้ฉันในทิศทางที่ถูกต้อง เกมของฉันคือแอคชั่นคนที่ 3 rpg a'la WoW หรือ KOTOR หรือ Mass Effect (ระบบต่าง ๆ ที่ฉันรู้จัก แต่มุมมองและสไตล์การต่อสู้นั้นใกล้เคียงกันในระดับสูง) ฉันมีอนิเมชั่นมากมายสำหรับการโจมตีบล็อกแสร้งทำเป็นตายเดินวิ่งกระโดดยิง ฯลฯ แต่ฉันไม่ชัดเจนว่าจะเรียงลำดับพวกมันเข้าด้วยกันได้อย่างไร ฉันได้เห็นต้นไม้ผสมผสานที่ใช้สำหรับการเคลื่อนไหวซึ่งทำให้ฉันรู้สึกเมื่อพยายามเก็บตัวอักษรเคลื่อนไหว แต่ฉันไม่เข้าใจว่าจะไปจากต้นไม้ที่ผสมผสานไปสู่สถานะการโจมตีได้อย่างไรและไม่มีอะไรที่ฉันเคยเห็นมาก่อนเลย ฯลฯ ) ฉันต้องทำให้ต้นไม้ผสมผสานจากสถานะการเคลื่อนไหวของฉันไปยังสถานะการโจมตี / ความตาย / การหลบหลีกหรือไม่? ฉันสามารถควบคุมได้มากขึ้นโดยใช้เพียงเครื่องจักรของรัฐ? ฉันค่อนข้างระมัดระวังเกี่ยวกับกลไกของรัฐเนื่องจากการเปลี่ยนแปลงช่วงที่เป็นเรื่องธรรมดากับพวกเขาและเพราะฉันสงสัยว่ามันมีศักยภาพที่มากขึ้นสำหรับการเรียงลำดับภาพเคลื่อนไหวแบบไร้สาระโดยไม่ต้องผสม ฉันวางแผนที่จะใช้ตัวควบคุม Unity อักขระและเขียนสคริปต์ตรรกะของตัวเองเพื่อขับมัน สำหรับ AI ฉันจะใช้ตัวแทน nav …

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

3
ฉันจะต้องใส่เครดิตที่ไหน?
ครั้งแรกของทั้งหมดนี้ไม่ได้สนทนาสำหรับการที่ดีที่สุดที่จะนำหน่วยกิต แต่ที่มันได้รับอนุญาต ตัวอย่างเช่นมันใช้ได้หรือไม่ถ้าฉันเพิ่งรวมไฟล์ credit.txt ในไดเรกทอรีการติดตั้งหรือฉันต้องสร้างที่ในเกมที่คุณสามารถอ่านได้ และมีกฎทั่วไปหรือไม่หรือขึ้นอยู่กับบุคคลที่ต้องการเครดิต
13 assets  business 

2
ฉันจะสร้างหน้าต่างแบบผุดขึ้นด้วย Scene2D ได้อย่างไร
ฉันมีหน้าจอเมนูหลักพร้อมโลโก้และปุ่มต่างๆ เมื่อกดปุ่มเข้าสู่ระบบฉันจะปรากฏกล่องโต้ตอบถามชื่อผู้ใช้และรหัสผ่าน ใช้งานได้ดีนอกเหนือจาก "popping up" ในขณะนี้กล่องโต้ตอบใหม่จะเปลี่ยนทุกอย่าง แต่ฉันต้องการวางตำแหน่งไว้เหนือฉากปัจจุบัน ฉันแค่เรียนรู้ Scene2D
13 java  libgdx  menu  scene2d 

1
วิธีที่มีประสิทธิภาพในการคำนวณ "กรวยการมองเห็น" บนแผนที่ย่อยแบบ 2D หรือไม่
ฉันกำลังพยายามคำนวณว่าหน่วยใดหน่วยหนึ่งสามารถ "เห็น" ถ้าหันหน้าไปทางทิศทางหนึ่งบนแผนที่ย่อย (ภายในช่วงและมุมที่หันหน้าไป) วิธีที่ง่ายที่สุดคือการดึงกระเบื้องจำนวนหนึ่งออกไปด้านนอกและ raycast ไปยังแต่ละแผ่น อย่างไรก็ตามฉันหวังว่าจะมีประสิทธิภาพมากกว่านี้เล็กน้อย รูปภาพบอกหนึ่งพันคำ: จุดสีแดงคือหน่วย (ผู้ที่หันขึ้นด้านบน) เป้าหมายของฉันคือการคำนวณกระเบื้องสีเหลือง บล็อกสีเขียวเป็นผนัง (ผนังอยู่ระหว่างแผ่นกระเบื้องและง่ายต่อการตรวจสอบว่าคุณสามารถผ่านระหว่างสองแผ่นได้หรือไม่) เส้นสีน้ำเงินแสดงถึงวิธีการ "raycasting" ที่ฉันพูดถึง แต่ฉันไม่ต้องการทำเช่นนี้ แก้ไข: หน่วยสามารถหันหน้าไปทางเหนือ / ใต้ / ตะวันออก / ตะวันตก (0, 90, 180 หรือ 270 องศา) และ FoV อยู่ที่ 90 องศาเสมอ ควรทำให้การคำนวณง่ายขึ้น ฉันคิดว่ามีอัลกอริทึมแบบเรียกซ้ำ - ish / stack-based / queue-based แต่ฉันไม่สามารถเข้าใจได้ ขอบคุณ!
13 2d  algorithm  tilemap 

4
ผู้เล่นล้าสำหรับแท็บเล็ต?
ฉันกำลังคิดที่จะสร้างเกมสำหรับแท็บเล็ต มาจากพื้นหลัง PC / Console ฉันตระหนักถึงความแตกต่างอย่างมากในส่วนต่อประสานผู้ใช้และฉันต้องออกแบบด้วยแพลตฟอร์มเป้าหมายในใจ แง่มุมหนึ่งที่ผมกังวลเกี่ยวกับการเป็นผู้เล่นความเมื่อยล้า อุปกรณ์อินพุตที่ใช้กับพีซีและคอนโซล - คีย์บอร์ดและตัวควบคุมเกม - ได้รับการปรับให้เหมาะสมสำหรับการเล่นที่ยาวนานขึ้นและมีการออกแบบตามหลักสรีรศาสตร์ที่เป็นผู้ใหญ่ ผู้เล่นที่มีประสบการณ์ส่วนใหญ่สามารถใช้งานได้อย่างง่ายดายเป็นเวลาหนึ่งชั่วโมงโดยกดปุ่ม / ปุ่มหลายพันครั้งโดยไม่ต้องเหนื่อยล้า นักออกแบบสามารถขึ้นเกี่ยวกับเรื่องนี้เมื่อมีการออกแบบประสบการณ์การใช้งานที่มีผลกระทบตั้งแต่ขนาด / ความยาวของระดับ , ขั้นตอนที่จำเป็นเพื่อรันคำสั่ง , จังหวะของเกมและอื่น ๆ อีกมากมาย แล้วแท็บเล็ตหน้าจอสัมผัสล่ะ? ผู้เล่นเริ่มเหนื่อยล้าเร็วขึ้นหรือไม่สามารถใช้งานก๊อก / การปัดจำนวนครั้งต่อหน่วยของเวลาได้หรือไม่? ถ้าเป็นเช่นนั้นมีทรัพยากรหรือแนวทางเกี่ยวกับเรื่องนี้หรือไม่?

5
ฉันจะรันหลายแพลตฟอร์มโดยใช้เอ็นจิ้นที่กำหนดเองได้อย่างไร
เอ็นจิ้นเกมเช่น Unity และ Unreal สามารถทำงานบนแพลตฟอร์มที่หลากหลายได้ ฉันสงสัยว่าพวกเขาทำอย่างไร ฉันใช้ C ++ และ OpenGL มาระยะหนึ่งแล้วและสิ่งที่ฉันกำลังมองหาคือทรัพยากรที่จะรวมบางสิ่งที่จะทำให้ฉันสามารถทำงานบนแพลตฟอร์มที่แตกต่างกันโดยไม่ต้องเขียนใหม่ อย่าง LibGDX ที่คุณเขียนโค้ดโดยใช้ API พื้นฐานจากนั้น API จะแปลงเป็น HTML, Android, iOS และอื่น ๆ ฉันรู้ว่าฉันสามารถใช้เครื่องมืออื่นแทนการเขียนของฉันเอง แต่ฉันสนใจในประสบการณ์การเรียนรู้

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

3
ระดับ“ ญาติ” ที่ใหญ่ที่สุดที่ฉันสามารถใช้ในการลอยคืออะไร
เช่นเดียวกับที่แสดงให้เห็นด้วยเกมอย่าง dungeon siege และ KSP ระดับที่มากพอที่จะเริ่มมีข้อบกพร่องเนื่องจากวิธีการทำงานของ floating point คุณไม่สามารถเพิ่ม 1e-20 ถึง 1e20 โดยไม่สูญเสียความแม่นยำ หากฉันเลือกที่จะ จำกัด ขนาดของระดับฉันจะคำนวณความเร็วต่ำสุดที่วัตถุของฉันสามารถเคลื่อนที่ได้จนกว่าจะเริ่มขาด ๆ หาย ๆ ได้อย่างไร

4
หลีกเลี่ยงการบีบอัดทรัพยากรสองเท่า
ฉันใช้.pngs สำหรับพื้นผิวของฉันและใช้ระบบไฟล์เสมือนใน.zipไฟล์สำหรับโครงการเกมของฉัน ซึ่งหมายความว่าพื้นผิวของฉันถูกบีบอัดและแตกสองครั้ง การแก้ไขปัญหาการบีบอัดสองครั้งนี้มีอะไรบ้าง ทางออกหนึ่งที่ฉันเคยได้ยินคือใช้.tgaพื้นผิว แต่ดูเหมือนว่านานมาแล้วตั้งแต่ฉันเคยได้ยินเรื่องนี้ อีกวิธีหนึ่งคือใช้การคลายการบีบอัดที่GPUและเนื่องจากรวดเร็วให้ลืมค่าใช้จ่าย

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