คำถามติดแท็ก algorithm

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

2
มีวิธีในการสร้างประวัติศาสตร์ของโลกแบบเป็นขั้นตอนหรือไม่?
ฉันค่อนข้างทึ่งกับแผนภาพที่พบที่นี่ซึ่งแสดงถึงประวัติศาสตร์ทางวัฒนธรรมที่ยาวนานถึง 1,800 ปีในโลกจินตนาการที่ผู้ชายบางคนสร้างขึ้น สิ่งนี้ดูเหมือนว่าจะมีแอพพลิเคชั่นที่แข็งแกร่งสำหรับการพัฒนาเกมตราบเท่าที่การออกแบบระดับโลก ดูเหมือนว่าเขาทำแผนภาพนี้ด้วยมือ สิ่งที่ฉันสนใจคือการดูว่ามีวิธีในการสร้างแผนภาพประเภทนี้แบบเป็นโปรแกรมหรือไม่ หากคุณได้รับมอบหมายให้สร้างไดอะแกรมในรูปแบบข้างต้นจากค่าสุ่มคุณจะทำอย่างไร มีโครงสร้างข้อมูลหรืออัลกอริทึมเฉพาะที่คุณต้องการพิจารณาหรือไม่?

4
มีอัลกอริทึมในการตรวจจับ "แผ่นดินใหญ่" บนแผนที่ 2D หรือไม่?
บนแผนที่นี้ "แผ่นดินใหญ่" เป็นดินแดนทั้งหมดที่สามารถเชื่อมต่อกับศูนย์กลางของแผนที่ในสี่ทิศทางที่สำคัญ (เหนือ, ใต้, ตะวันออก, ตะวันตก - ไม่ใช่แนวทแยงมุม) ฉันต้องการตรวจจับแผ่นดินใหญ่และเติมเต็มหลุมในนั้น ฉันคิดถึงสามสิ่ง: ค้นหาในทุกเซลล์ที่ไม่ใช่น้ำ (เซลล์มืด) หากสามารถเชื่อมต่อกับศูนย์กลางของแผนที่โดยใช้อัลกอริทึมการค้นหาเส้นทาง แพงเกินไป! แต่มันสามารถใช้ได้กับเกาะต่างๆ แผ่นดินใหญ่เต็มไปด้วยถังสีเขียว แต่ละหลุมล้อมรอบด้วยสี ... ตอนนี้อะไรนะ? หากฉันตรวจสอบทุก ๆ จุดน้ำในแผ่นดินใหญ่ฉันจะลบคาบสมุทรและคุณลักษณะทางภูมิศาสตร์อื่น ๆ ที่แสดงบนชายฝั่ง การตรวจจับขอบบางชนิดเพื่อค้นหาแผ่นดินใหญ่ เก็บสิ่งที่อยู่ข้างในเติมถ้ามันเป็นน้ำเอาสิ่งที่อยู่ข้างนอกออก คอมเพล็กซ์? บางทีผู้พัฒนาเกมที่มีประสบการณ์บางคนสามารถช่วยฉันได้ด้วยสิ่งนี้อาจให้ชื่อฉันกับอัลกอริทึมหรือเทคนิคที่รู้จักกันบ้าง?
28 algorithm  maps 

4
ขั้นตอนการสร้างแม่น้ำหรือถนนเพื่อภูมิประเทศที่ไม่มีที่สิ้นสุด
ฉันควรจะบอกว่าเส้นทางไม่ใช่ถนนอย่างที่ฉันคิดในยุคกลาง ยังไม่ได้มองหาสัจนิยม คำตอบที่ฉันกำลังมองหาจะเหมาะกับแม่พิมพ์ที่ฉันอธิบายมากกว่าความสมจริง ฉันกำลังมองหาวิธีในการสร้างถนน / แม่น้ำตามขั้นตอนในแบบโค้ง แต่ฉันต้องการทำเช่นนั้นสำหรับระบบภูมิประเทศแบบไม่ จำกัด เช่นเดียวกับที่เสียงเพอร์ลินสร้าง blobs ฉันต้องการสร้างเซ็กเมนต์ความยาวแบบสุ่ม (อาจเป็นความยาวไม่ จำกัด ) ฉันรู้กลยุทธ์ต่าง ๆ เช่นคำตอบที่แนะนำที่นี่แต่ขึ้นอยู่กับจุดเริ่มต้นและจุดสิ้นสุดที่ระบุในการทำงานฉันไม่มีจุดเริ่มต้นและจุดสิ้นสุดที่ระบุ ฉันต้องการที่จะสามารถเรียกใช้ฟังก์ชั่นโดยใช้พิกัดโดยพลการและมันกลับมาว่าพิกัดที่เฉพาะเจาะจงเป็นส่วนหนึ่งของแม่น้ำ / ถนน ฉันไม่ต้องการที่จะต้องสร้างภูมิประเทศล่วงหน้า ที่มีความสูง (เช่นใช้สำหรับการจำลองปริมาณน้ำฝนหรือคล้ายกัน) ฉันไม่ต้องการจุดเริ่มต้น / สิ้นสุด มีอัลกอริธึมดังกล่าวหรือปรับแต่งอัลกอริธึมเสียงรบกวนที่บางคนอาจรู้เพื่อบรรลุสิ่งที่ฉันพยายามอธิบายหรือไม่ ที่ใกล้ที่สุดที่ฉันเคยไปคือเศษส่วนหลายรอยถ้าฉันใช้ชื่ออย่างถูกต้อง ฉันแค่เอาค่าสัมบูรณ์ของสัญญาณรบกวนค่า (สมมติว่ามันถูกปรับเป็น -1 ถึง +1) และตั้งค่าขีด จำกัด ปัญหาหลักของฉันคือเส้นทับซ้อนกันบ่อยเกินไปส่วนใหญ่เป็นวงกลมบางครั้งมาบรรจบกันเป็นทะเลสาบขนาดใหญ่ที่เรียบร้อย แต่ไม่พึงประสงค์และบ่อยครั้งที่ความหนาของเส้นแตกต่างกันมากเกินไป นี่คือภาพสิ่งที่ฉันมีในแบบ 2D แต่มีความถี่สูงมากเพื่อแสดงรายละเอียดเพิ่มเติม:

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

1
วิธีการสร้างแผนที่
ฉันต้องการสร้างแผนที่ที่เรียบง่าย "สุ่ม" ที่สร้างขึ้นสำหรับเกมเล็ก ๆ เกมดังกล่าวประกอบด้วยมุมมองจากบนลงล่างของโลกที่มีพื้นที่ขนาดใหญ่และพื้นที่มหาสมุทร ลองนึกภาพแผนที่แบบง่าย ๆ ของโลกตัวอย่างเช่น สิ่งที่ใกล้เคียงที่สุดที่ฉันคิดว่าฉันเคยเห็นมาก่อนคือเครื่องสร้างเลเวลสำหรับเกมSimCityเก่าหรือซีรีส์Civที่คุณสามารถตั้งค่าสำหรับทวีปเดียวเมื่อเทียบกับหลาย ๆ เกาะ ฯลฯ อัลกอริทึมแบบไหนที่เหมาะสม? แผนที่จะต้องสามารถซูมได้ในระดับปานกลางดังนั้นฉันจึงสามารถมีมุมมอง "ทั้งโลก" และมุมมองภายในที่ซูมเข้าได้มากขึ้น แต่ฉันคิดว่าฉันจะเรียงลำดับนั้นในภายหลัง ตอนแรกฉันไม่ต้องการแนวคิดเรื่องความสูงเพียงแค่สองด้าน - ทั้งทางบกและทางทะเลถึงแม้ว่าฉันจะขยายมันในภายหลัง
27 algorithm 



2
ต้นไม้รูปสี่เหลี่ยมเทียบกับการตรวจจับการชนกันของระบบกริด
ฉันกำลังสร้างเกมประเภทผู้เล่นร่วม 4 คนและฉันกำลังจะใช้รหัสตรวจจับการชนกัน ฉันได้อ่านบทความและสิ่งต่าง ๆ มากมายเกี่ยวกับวิธีจัดการกับการตรวจจับการชน แต่ฉันมีเวลายากที่จะทราบว่าจะไปกับอะไร ดูเหมือนว่าต้นไม้รูปสี่เหลี่ยมเป็นวิธีที่พบได้บ่อยที่สุด แต่ในทรัพยากรบางอย่างพวกเขาพูดถึงวิธีแก้ปัญหาแบบกริด สำหรับการใช้กริดสำหรับการตรวจจับในเกมก่อนหน้าฉันพอใจกับมัน แต่จริงๆแล้วมันดีกว่าต้นไม้รูปสี่เหลี่ยมหรือไม่? ฉันไม่แน่ใจว่าสิ่งใดที่ให้ประสิทธิภาพที่ดีที่สุดและฉันก็ใช้มาตรฐานเล็กน้อยด้วยเช่นกันไม่แตกต่างกันมากนัก ดีกว่าอีกไหม? หรือสง่างามมากขึ้น? ฉันไม่แน่ใจว่าฉันควรใช้อันไหน คำแนะนำใด ๆ ยินดีต้อนรับ ขอบคุณ

3
ทีมป้องกันการเขียนทับทำงานในไฟล์ต้นฉบับได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว มันเป็นไปได้สำหรับฉันที่มีหลายคนที่กำลังทำงานอยู่ในขณะเดียวกันเช่นเอ็นจิ้นเกม สมมติว่านักพัฒนาคนหนึ่งกำลังทำงานAudio.cppและนักพัฒนาที่สองก็กำลังทำงานอยู่Audio.cppสิ่งนี้จัดการโดยทั่วไปในทีมขนาดใหญ่เพื่อต่อสู้กับการเขียนทับได้อย่างไร (ในคำอื่น ๆ ที่จะหยุดสองนักพัฒนาจากการเปิดไฟล์จนกว่านักพัฒนาคนหนึ่งจะเสร็จสิ้น)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

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

2
ฉันจะสุ่มแบบ "สนุกสนาน" ได้อย่างไรเมื่อเทียบกับการสุ่มหลอก?
ฉันกำลังสร้างเกมที่แสดงปริศนาต่าง ๆ ตามลำดับ ฉันเลือกตัวต่อแต่ละตัวพร้อมหมายเลขหลอกเทียม สำหรับแต่ละตัวต่อจะมีหลากหลายรูปแบบ ฉันเลือกรูปแบบที่มีหมายเลขสุ่มเทียมอื่น และอื่น ๆ ในขณะที่สิ่งนี้ก่อให้เกิดการสุ่มแบบใกล้เคียงจริงนี่ไม่ใช่สิ่งที่ผู้เล่นต้องการ โดยทั่วไปผู้เล่นต้องการสิ่งที่พวกเขารับรู้และระบุว่าสุ่ม ดังนั้นไม่สุ่มจริงๆ คาดเดาไม่ได้ ให้ความคิดฉันสามารถจินตนาการวิธีแฮ็คในการทำมัน ตัวอย่างเช่นการกำจัดตัวเลือก N ล่าสุดจากชุดของความเป็นไปได้ชั่วคราวเมื่อเลือกตัวเลือกใหม่ หรือกำหนดความน่าจะเป็นที่เท่าเทียมกันทุกตัวเลือกลดความน่าจะเป็นของตัวเลือกให้เป็นศูนย์ในการเลือกจากนั้นเพิ่มความน่าจะเป็นทั้งหมดให้ช้าลงด้วยการเลือกแต่ละครั้ง ฉันคิดว่ามีวิธีการที่กำหนดไว้แล้ว แต่ฉันก็ไม่รู้คำศัพท์ดังนั้นฉันไม่สามารถหามันได้ ใครรู้บ้าง หรือมีใครแก้ปัญหานี้ด้วยวิธีที่ถูกใจ?
26 algorithm  random 

5
วิธีการคำนวณพื้นที่การมองเห็นในเกมแบบสองมิติได้อย่างรวดเร็ว
ฉันมีเมทริกซ์ของแผ่นกระเบื้องบนบางแผ่นที่มีวัตถุ ฉันต้องการคำนวณผู้เล่นที่สามารถมองเห็นไทล์และไม่ได้และฉันต้องทำอย่างมีประสิทธิภาพ (ดังนั้นมันจะคำนวณเร็วพอแม้ว่าฉันจะมีเมทริกซ์ขนาดใหญ่ (100x100) และวัตถุจำนวนมาก ฉันพยายามทำด้วยอัลกอริทึมของ Bresenhamแต่มันช้า นอกจากนี้ยังทำให้ฉันมีข้อผิดพลาด: ----XXX- ----X**- ----XXX- -@------ -@------ -@------ ----XXX- ----X**- ----XXX- (raw version) (Besenham) (correct, since tunnel walls are still visible at distance) (@ is the player, X is obstacle, * is invisible, - is visible) ฉันแน่ใจว่าสิ่งนี้สามารถทำได้ - หลังจากทั้งหมดเรามี NetHack, Zangband และพวกเขาทั้งหมดจัดการกับปัญหานี้อย่างใด :) คุณสามารถแนะนำอัลกอริทึมสำหรับสิ่งนี้ได้อย่างไร …

1
กำหนดตำแหน่งขององค์ประกอบที่หมุนได้ใน Tetris
Tetris-Tiles ถูกเก็บไว้เป็น matrix 4x4 แบบบูล แต่ละขั้นตอนการหมุนมีเมทริกซ์เป็นของตัวเองการเป็นตัวแทนของT -Block จะมีลักษณะเช่นนี้: [ 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, …

2
อัลกอริทึมสำหรับการแพร่กระจายฉลากในวิธีที่ดึงดูดสายตาและใช้งานง่าย
เวอร์ชั่นสั้น มีรูปแบบการออกแบบสำหรับการกระจายฉลากยานพาหนะในแบบที่ไม่ทับซ้อนกันวางไว้ใกล้กับยานพาหนะที่พวกเขาอ้างถึงมากที่สุดหรือไม่? ถ้าไม่มีวิธีใดที่ฉันแนะนำให้ปฏิบัติได้? คุณจะใช้สิ่งนี้ด้วยตนเองอย่างไร? รุ่นขยาย ในเกมที่ฉันเขียนฉันมีวิสัยทัศน์ที่ชัดเจนจากยานพาหนะทางอากาศของฉัน ฉันมีป้ายเล็ก ๆ ติดกับคีย์ข้อมูลเกี่ยวกับยานพาหนะแต่ละคันด้วย นี่เป็นภาพหน้าจอจริง: ตอนนี้เนื่องจากยานพาหนะสามารถบินในระดับความสูงที่แตกต่างกันไอคอนของพวกเขาอาจทับซ้อนกัน อย่างไรก็ตามฉันไม่ต้องการให้ป้ายกำกับของพวกเขาซ้อนทับกัน (หรือป้ายกำกับจากยานพาหนะ 'A' ทับไอคอนรถถัง 'B') ขณะนี้ฉันสามารถตรวจสอบการชนกันระหว่างสไปรท์และผมก็ผลักดันออกไปป้ายที่กระทำผิดในทิศทางตรงข้ามกับผีสางมิฉะนั้นการที่คาบเกี่ยวกัน สิ่งนี้ใช้ได้ในสถานการณ์ส่วนใหญ่ แต่เมื่อน่านฟ้าหนาแน่นผู้คนสามารถขับป้ายได้ไกลจากยานพาหนะแม้ว่าจะมีทางเลือก "ฉลาด" ทางเลือก ตัวอย่างเช่นฉันได้รับ: B - label A -----------label C - label มันจะดีกว่า (= ฉลากใกล้กับยานพาหนะ) เพื่อรับ: B - label label - A C - label แก้ไข:มันจะต้องได้รับการพิจารณาว่าข้างตัวถังรถที่ทับซ้อนกันอาจจะมีการกำหนดค่าอื่น ๆ ที่labellab'labelสามารถทับซ้อนกัน (ตัวอย่าง ASCII-art แสดงตัวอย่างรถสามคันที่อยู่ใกล้กันมากซึ่งฉลากของAจะทับไอคอนของBและC) ฉันมีสองแนวคิดเกี่ยวกับวิธีการปรับปรุงสถานการณ์ปัจจุบัน …

11
อัญมณีเฉพาะเกมที่คุณชอบคืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันจะเริ่มด้วยJohn Carmack'sรูทสแควร์รูทแบบเร็วใน Quake III: float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; i = 0x5f3759df - ( i >> 1 …
24 algorithm 

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