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

การแสดงภาพของภูมิภาคทางภูมิศาสตร์โดยแสดงลักษณะทางกายภาพ

3
แผนที่จากบนลงล่าง 2d: การทำให้เป็นมาตรฐานหรือไม่?
ฉันเป็นผู้เริ่มต้นที่สมบูรณ์แบบด้วยการเขียนโปรแกรมเกมคำถามนี้ควรมีรูปแบบไม่ดีโปรดระวังว่ามันไม่เลอะเทอะข้างๆ แต่ยังขาดประสบการณ์การเขียนโปรแกรมเกม เกมที่ฉันวางแผนจะใช้รหัสจะใช้แผนที่ 2D จากบนลงล่างเป็น "โลก" โลกอาจใหญ่กว่าหน้าต่าง (หน้าต่างสามารถซูมเข้าหรือออก) และยานพาหนะสามารถอยู่ที่จุดใดของโลก (= ไม่ใช่แผนที่ปูกระเบื้องพื้นที่คือ "ต่อเนื่อง") หากต้องการอธิบายด้วยตัวอย่าง: หากโลกเป็นภูมิประเทศ 1,000x1000 เมตรยานพาหนะอาจอยู่ในตำแหน่ง (327.31, 720.4) เมตร คำถามของฉันคือ: วิธีที่สะดวกที่สุดในการเป็นตัวแทนของโลกภายในคืออะไร? ฉันคิดว่าความเป็นไปได้เหล่านี้: ไม่ทำอะไรเลยและใช้มิเตอร์เหมือนกับว่าฉันกำลังทำงานกับวัตถุทางกายภาพ ปรับขนาดเป็นพิกเซลที่กำหนดขนาดโลกเป็นจำนวนพิกเซลสำหรับการแสดงผล 1,000 เมตรที่การซูมสูงสุด ปรับมาตรฐานให้เป็น 1 เพื่อกำหนดคำเป็นสี่เหลี่ยมจัตุรัสขนาด 1 ... แต่ฉันแน่ใจว่าอาจมีบางคน / ของฉันบางคนอาจไม่มีเหตุผล เป็นเพียงเกมแรกของฉันที่ฉันไม่มีภาพที่ชัดเจนของปัญหาที่เกิดขึ้นข้างหน้าของฉันและฉันต้องการคำแนะนำบางอย่างในการตัดสินใจเลือกที่ถูกต้องอย่างสมเหตุสมผล ขอขอบคุณสำหรับเวลาของคุณ.
11 2d  maps 

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

3
RTS บนแผนที่ 3 มิติเช่นโลก
คุณจะ 'สร้าง' โลก 3 มิติได้อย่างไรถ้างานศิลปะและแผนที่ที่มีอยู่ของคุณเป็นกริด 2D ง่าย ๆ ? มีวิธีการที่สามารถนำผลงานศิลปะกลับมาใช้ใหม่ได้หรือไม่?
11 3d  maps 

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

2
วิธีการจัดการการพึ่งพาระหว่างแผนที่ย่อยและหน่วย
ฉันมีกลยุทธ์แบบกระเบื้องสองมิติในการทำงาน ฉันหลงทางเกี่ยวกับการจัดการความสัมพันธ์ระหว่างแผนที่และหน่วยบนแผนที่ ถ้ามีพิกัดของกระเบื้องฉันจะต้องสามารถทำให้ยูนิตนั้นยืนอยู่ได้ถ้ามี ในเวลาเดียวกันหากได้รับหน่วยฉันจะต้องการได้รับการประสานงานของหน่วย ฉันเห็นวิธีแก้ไขปัญหาสองข้อนี้แล้ว วิธีแก้ปัญหาแรกคือการให้หน่วยจัดเก็บพิกัดและหน่วยเก็บแผนที่อ้างอิงในแผ่นกระเบื้อง สิ่งนี้สร้างการพึ่งพาแบบวนรอบระหว่างแผนที่และหน่วย ฉันต้องตรวจสอบให้แน่ใจว่าแผนที่ของหน่วยใด ๆ ได้รับการซิงค์หากหน่วยเคลื่อนที่ วิธีที่สองคือให้หน่วยติดตามพิกัดเท่านั้น หากต้องการทราบว่าไทล์ประกอบด้วยหน่วยหนึ่งและรับหน่วยนั้นหรือไม่ฉันจะวนซ้ำทั้งชุดหน่วยที่ฉันค้นหาด้วยการจับคู่พิกัด ที่ได้รับ rids ของการพึ่งพาแบบวนรอบ แต่มันจะสูญเสียคุณสมบัติ O (1) วิธีแก้ปัญหาแรกสำหรับการค้นหาหน่วยจากแผนที่ สิ่งนี้อาจเพิ่มขึ้นตามที่ฉันต้องการเพื่อสแกนแผนที่เป็นประจำสำหรับสิ่งต่าง ๆ เช่นการค้นหาเส้นทางการกำหนดช่วงการเคลื่อนไหวและการค้นหาเป้าหมายที่ถูกต้องสำหรับหน่วยที่กำหนด ฉันยังไม่สามารถเก็บหน่วยไว้ในแผนที่ได้ (หรือฉันสามารถทำได้) หน่วยที่เกี่ยวข้องกับ "กองทัพ" ผู้เล่นหรือ AI กองทัพควรสามารถเข้าถึงได้ง่ายและย้ำทุกหน่วยของมัน เนื่องจากสิ่งนี้ดูเหมือนจะเป็นปัญหาที่พบบ่อยในเกมวางกลยุทธ์มีรูปแบบอื่นนอกเหนือจากที่ฉันอธิบายไว้สำหรับการจัดการความสัมพันธ์ของหน่วย / แผนที่หรือไม่
11 tiles  maps  character 

2
รูปแบบทั่วไปเพื่อขยาย“ หน่วยจริง” เป็นพิกเซล?
นี่คือคำถามที่ติดตามเพื่อคนอื่น ๆ นี้ ฉันต้องการทราบว่ามีรูปแบบทั่วไป / ทั่วไป / ดีที่สุดในการขยายการเป็นตัวแทนของโลก (ปัจจุบัน 160Kmx160Km) เพื่อให้พอดีกับพื้นที่วาดรูป (ปัจจุบันคือ 800x600 พิกเซล) ฉันสามารถคิดถึงวิธีที่แตกต่างกันอย่างน้อยสี่วิธี: หนึ่งเดียว (วิธีที่ฉันทำจนถึงตอนนี้) ฉันใช้งานฟังก์ชั่นระดับโลกsc(vector)ซึ่งจะคืนค่าสำเนาเวกเตอร์ที่ลดขนาดลงซึ่งแน่นอนว่าใช้ได้ผล แต่ฉันต้องเขียนโค้ดเช่น: drawCircle(sc(radius), sc(position)) ฟังก์ชั่นการตัดคำ ฉันสามารถกำหนดฟังก์ชั่นได้หลายอย่างแต่ละอันห่อมิดเดิลแวร์ดั้งเดิมไว้ ตัวอย่างเช่นฉันสามารถกำหนดได้myDrawCircleว่าจะปรับขนาดอาร์กิวเมนต์ที่จำเป็นต้องปรับขนาดก่อนแล้วจึงเรียกdrawCircleใช้ตัวหลัง นี่อาจทำให้โค้ดของฉันอ่านง่ายขึ้นและง่ายต่อการบำรุงรักษา แต่ฉันควรเขียนฟังก์ชั่นการพันซึ่งฟังดูงี่เง่า มัณฑนากรฟังก์ชั่น ฉันก็สามารถตกแต่งฟังก์ชั่นมิดเดิลแวร์ที่มีอยู่ให้ปรับอัตโนมัติสำหรับพารามิเตอร์ทั้งหมดที่เป็น instantiation ของชั้นVector3Dแต่ปัญหาก็คือว่าฟังก์ชั่นเหล่านั้นยังทำงานร่วมกับพารามิเตอร์เดียวกันเป็นlistหรือVector2Dเกินไปและมัณฑนากรจะมีวิธีที่จะรู้ว่าไม่มี รายการใดที่ต้องปรับขนาด (รัศมีเช่น) และไม่ (ค่า RGB) initialisation พื้นผิว เมื่อกำหนดพื้นผิวที่ฉันกำลังจะวาดฉันสามารถกำหนดปัจจัยการปรับ (เพื่อที่ฉันจะใช้เมตรและไม่พิกเซลเป็นพารามิเตอร์) สิ่งนี้จะทำงานได้อย่างโปร่งใสสำหรับฉันและจะเป็นทางเลือกของฉัน แต่แน่นอนว่าควรใช้ในมิดเดิลแวร์ดังนั้นจึงไม่ใช่ตัวเลือกที่แท้จริง ... แต่อย่างใด: เนื่องจากนี่เป็นปัญหาที่พบบ่อยมากฉันสงสัยว่ามีรูปแบบที่จัดตั้งขึ้นซึ่งแก้ปัญหาที่ฉันไม่สามารถหาได้อย่างสง่างาม PS: สำหรับโครงการนี้ฉันใช้ python (กับpygame ) แต่ถึงแม้ว่าคำตอบเฉพาะของไพ …

2
ฉันจะหมุนโครงสร้างของแผ่นกระเบื้องหกเหลี่ยมบนตารางหกเหลี่ยมได้อย่างไร
เกมสามมิติแบบสามมิติของฉันใช้แผนที่กริดหกเหลี่ยม จากภาพด้านล่างฉันจะหมุนโครงสร้างหกเหลี่ยมสีฟ้าอ่อนได้ 60 องศารอบ ๆ รูปหกเหลี่ยมสีชมพูได้อย่างไร แก้ไข: เลขฐานสิบหกหลักคือ (0,0) Hexes อื่น ๆ คือ children การนับจะคงที่ ฉันจะกำหนดตำแหน่งเดียวเท่านั้น (ในกรณีนี้คือด้านขวา) และคำนวณทิศทางอื่น ๆ หากจำเป็น (ซ้ายล่าง, ขวา - botom, ขวาบน, ซ้ายบนและซ้าย) เลขฐานสิบหกอื่น ๆ ที่มีการกำหนดเช่น: Package.Add (-1,0), Package.Add (-2,0) และอื่น ๆ switch(Direction) { case DirRightDown: if(Number.Y % 2 && Point.X % 2) Number.X += 1; Number.Y …

3
แสงสว่างในโลก Minecraftian
Minecraft เป็นเกมที่มีพื้นฐานมาจากความสูงและใช้ข้อมูล heigtmap เพื่อทำให้โลกสว่าง จากความเข้าใจของฉันจุดสูงสุดในแผนผังความสูงคือจุดสิ้นสุดของพื้นที่ที่ได้รับผลกระทบจากแสงแดด ทุกสิ่งที่อยู่ด้านบนนั้นสว่างไสวด้วยแสงแดดทุกอย่างด้านล่างที่เพิ่งได้รับอิทธิพลจากแสงใกล้เคียงในรัศมี 8 ช่วงตึก ดังนั้นหากคุณมีเกาะลอยอยู่ด้านบนของโลกของคุณทุกอย่างด้านล่างที่จะถูกมองว่าเป็นถ้ำ เมื่อแสงสองดวงมีอิทธิพลต่อจุดเดียวกันแสงที่สว่างกว่าจะเป็นฝ่ายชนะ (ไม่แน่ใจเกี่ยวกับเรื่องนั้น) ทั้งสองวิธีมีปัญหาสองสามอย่างเกี่ยวกับรูปแบบการจัดแสง minecrafts: อย่างแรกเลยถ้าโลกของคุณไม่มีแผนผังความสูงมันจะยากกว่าที่จะคิดออกว่าควรจะปล่อยแสงแดดออกมาอย่างไร วิธีง่าย ๆ คือสมมติว่าโลกนี้ (ในกรณีของฉัน) เป็นหินลอยและจากนั้นสำรวจแต่ละแกนจากทั้งสองทิศทางและหาจุดที่หินเริ่มต้นและสิ้นสุด แต่สิ่งนี้ไม่ได้ขจัดปัญหาอย่างเต็มที่เนื่องจากรอยบุบในหินไม่ควรอยู่ในความมืด Minecraft นั้นจะทำการแคชข้อมูลแสงในส่วนของมันพร้อมกับข้อมูลเกี่ยวกับเนื้อหาของบล็อก ดังนั้นถ้าโลกมีการปรับเปลี่ยนแสงจะต้องมีการปรับปรุง น่าเสียดายที่กระบวนการยังค่อนข้างช้าในการอัปเดตและเมื่อมีการเปลี่ยนแปลงของแสงอย่างรวดเร็วคุณจะเห็นความล่าช้าของแสงด้านหลัง โดยเฉพาะอย่างยิ่งหากมีการเปลี่ยนแปลงบล็อกจำนวนมาก (ภายหลังพระอาทิตย์ตก ฯลฯ ) และคุณไม่ได้ใช้คอมพิวเตอร์ที่เร็วที่สุด (หรือ Java บน Mac) จากความเข้าใจที่ จำกัด ของฉันเกี่ยวกับแสงกราฟิก 3D โลกอย่าง Minecraft ไม่ควรเป็นปัญหาที่ใหญ่ที่สุด คุณจะจัดการกับปัญหาอย่างไร ฉันคิดว่าข้อกำหนดขั้นพื้นฐานสำหรับการให้แสงในโลก voxel น่าจะเป็น อัปเดตเร็วพอที่จะเกิดขึ้นในเฟรมเดียว หนึ่งอาจทำแสงสว่างในอุปกรณ์กราฟิกและดาวน์โหลดข้อมูลแสงที่เปลี่ยนแปลงไปยัง RAM หลัก ข้อมูลแสงจะต้องพร้อมใช้งานอย่างรวดเร็วสำหรับตรรกะของเกมหลักดังนั้นจึงไม่ได้ขึ้นอยู่กับอุปกรณ์กราฟิกทั้งหมด: การให้เหตุผล: …
10 opengl  maps  lighting 

2
'Zoning' พื้นที่บนแผนที่ขนาดใหญ่เช่นเดียวกับดันเจี้ยน
เกมของฉันมีแผนที่เหมือนของ Minecraft ในลักษณะที่เป็น pseudoinfinite และสร้างแบบสุ่ม และใหญ่ สมมติว่าผู้ใช้สำรวจโซน 1000x1000 (2D ที่นี่) นั่นคือ 1,000,000 แผ่น เห็นได้ชัดว่าฉันจะไม่สามารถเก็บมันไว้ในความทรงจำได้ และฉันไม่ต้องการเพิกเฉยทุกอย่างออกจากไพ่ 10 ใบหรือรัศมีใด ๆ - ทั้งคู่จะไม่มีอะไรอัปเดต (NPC ทั้งหมดอาจเป็นกระเบื้องปฏิกิริยา) และฉันจะต้องทำงานกับตำแหน่งที่น่าอึดอัดใจเช่น 1382,12918 ดังนั้นถ้าฉันจะแบ่งมันออกเป็นชิ้น ๆ หรือโซนหรืออะไรก็ตามที่บอกว่าเป็น 64x64 แผ่นฉันจะต้องเก็บแต่ละตำแหน่งของวัตถุและวัตถุเช่น: ก้อน a, b ตำแหน่ง x, y แต่ถ้าฉันต้องการดันเจี้ยนและสิ่งที่คล้ายในแผนที่ของฉัน กระเบื้องเดี่ยวที่อาจนำไปสู่ดันเจี้ยน 40 ชั้นแต่ละอันมีพื้นที่ 40x40 ฉันไม่สามารถเก็บพวกมันไว้ในแผนที่เดียวกันได้ และมีด้านความจำ ฉันสามารถเก็บหน่วยความจำในเวลาเดียวกันได้มากเท่าไหร่ ฉันสามารถเรียงต่อกันตาม ID ได้อย่างง่ายดายและมีอาร์เรย์ 2D ปกติอยู่ที่นั่น หรืออีกครั้งมีวิธีแก้ปัญหาที่มีประสิทธิภาพมากกว่าการมีไฟล์ข้อมูลประเภทไทล์หรือไม่ ดังนั้นสำหรับ …

1
ถนนโค้ง 2 มิติที่สร้างตามขั้นตอนบนแผนที่
ฉันกำลังทดลองกับอัลกอริทึมเพื่อสร้างแผนที่ถนนสำหรับเกมที่ฉันกำลังทำอยู่โดยอัตโนมัติ ฉันใช้เกม " Kingdom Rush " เป็นจุดอ้างอิงเนื่องจากมีแผนที่ที่สวยงาม ฉันใหม่สำหรับการสร้างเนื้อหาขั้นตอนและสงสัยว่าใครที่นี่มีตัวชี้ใด ๆ ฉันได้ทดลองสร้างโทโพโลยีของถนนแบบสุ่มเช่นโหนดทางเข้า / แหล่งที่มาไม่กี่โหนดด้านในหลายจุด (ทางแยกและผสาน) และโหนดตัวซิงค์ทางออกบางส่วนจากนั้นใช้อัลกอริธึมแบบกราฟเพื่อสร้างแผนที่ถนนจริงตามข้อมูลนี้ นี่คือตัวอย่างหนึ่งที่ใช้อัลกอริทึมของ Fruchterman-Reingoldสำหรับรูปแบบถนน: กราฟสีน้ำเงินใช้จุดควบคุมเบเซเยร์ที่สร้างขึ้นแบบสุ่มเพื่อให้ขอบดูตรงน้อยลง นี่คืออีกตัวอย่างที่สร้างขึ้นโดยใช้อัลกอริทึมเดียวกัน แต่ตัวเลขสุ่มต่างกัน: ปัญหาคือผลลัพธ์ส่วนใหญ่ดูเหมือนจะคล้ายกันมากและฉันไม่แน่ใจว่ากฎใดที่ฉันสามารถเพิ่มเพื่อปรับปรุงความสามารถในการควบคุมและความหลากหลายของแผนที่ที่สร้างขึ้นโดยกระบวนการ คำแนะนำใด ๆ ชื่นชม

5
เพิ่มความน่าจะเป็นสำหรับไพ่ที่คล้ายกันเพื่อสร้างถัดจากกันและกัน
ฉันกำลังทำงานกับระบบแผนที่ย่อยซึ่งตราบเท่าที่มีลักษณะเช่นนี้ (สีเขียวคือหญ้าอากาศเป็นสีขาวหินเป็นสีเทาและสีน้ำเงินคือน้ำ): มันใช้ตัวสร้างตัวเลขสุ่มอย่างง่ายเพื่อให้มีโอกาส 45% ของกระเบื้องที่เป็นหญ้าโอกาส 30% ของการเป็นน้ำและโอกาส 25% ที่จะเป็นหิน มีอยู่แล้วฉันสามารถเพิ่มแนวโน้มสำหรับบล็อกหญ้า / ก้อนหินให้รวมตัวกันเพื่อก่อให้เกิดมวลบกและทำให้บล็อกน้ำก่อตัวในมหาสมุทร
9 java  algorithm  tiles  maps  lwjgl 

2
.PNG เรียงต่อไปยังแผนที่. PNG
ฉันสงสัยว่าฉันจะได้รับแผ่นแผนที่ขนาด 110+ .png ของฉันอย่างสะดวกในแผนที่ขนาดอัตราส่วนพิกเซล 1: 1 ฉันเลื่อนผ่าน google และเช่นนี้และฟอรัมของเกมฟรีแวร์ที่ฉัน modding แต่แอพ im ใช้รู้จักไฟล์. png เท่านั้นและฉันต้องการมากกว่า 1% ของแผนที่ หากพวกคุณรู้จักโปรแกรมฉันจะขอบคุณมาก
9 tiles  maps 

2
คาดว่าจะมีสภาพแวดล้อมแบบใดในพื้นที่ร้อนและสูง
ฉันกำลังสร้างเกม "การสำรวจ" ที่แผนที่ทางตรงข้ามจะถูกสร้างแบบสุ่ม biomes ถูกสร้างขึ้นโดยใช้ข้อมูลที่ได้รับจาก "แผนที่อุณหภูมิ", "แผนที่ความชื้น" และแผนที่ระดับความสูงเช่น: เย็น + ความชื้น = หิมะ, ร้อน + ความชื้น = ป่า ฯลฯ ปัญหาที่ฉันทิ้งไว้คือ เพื่อจัดการกับโซนที่สูงขึ้นในภูมิอากาศร้อน ตอนนี้มันถูกตั้งค่าเป็น biome "เปล่า" (พื้นที่สีเทาในรูปต่อไปนี้) ซึ่งฉันคิดว่าควรจะหมายถึง "ดินแดนร้างร้าง" ในอีกทางหนึ่งโซนที่ยกระดับด้วยอุณหภูมิที่เย็นกว่าจะถูกตั้งค่าเป็นหิมะ (สีขาว) ซึ่งก็โอเค ดังนั้นฉันจะจัดการกับโซนที่สูงในสภาพอากาศหนาวเย็นได้อย่างไร ฉันมีความคิดหลายอย่าง แต่ฉันรู้สึกว่าไม่มีใครทำงาน: 1) ตั้งให้เป็นหิมะเช่นกัน แต่ฉันคิดว่ามันจะรู้สึกแปลก ๆ 2) ตั้งเป็น "เปลือย" แต่ฉันไม่ได้ '

2
วิธีการจัดเก็บและแสดงแผนที่ย่อยบนเว็บได้อย่างมีประสิทธิภาพ
เกี่ยวกับ อันนี้เป็นคำถามสองข้อในข้อเดียว ก่อนอื่นฉันกำลังมองหาวิธีในการจัดเก็บข้อมูลจำนวนมากอย่างมีประสิทธิภาพ อีกแง่มุมหนึ่งเกี่ยวข้องกับการสอบถามชุดข้อมูลและการแสดงไทล์ ให้ฉันให้พื้นหลังบางอย่างก่อน เรากำลังสร้างเกมผู้ประกอบการหลายคนที่ใช้เบราว์เซอร์โดยใช้ห้องสมุด CraftyJS เพื่อแสดงผลเป็น Canvas ในพื้นหลังของ GUI เราใช้งาน Yii Framework บน PHP และทุกอย่างเชื่อมต่อกับเครื่องสร้างแผนที่แบบ Python และเครื่องมือสร้างเกม นี่คือลักษณะที่แสดงแผนที่คร่าวๆเป็นครั้งแรก: http://i.imgur.com/khAXtl.png กำลังจัดเก็บข้อมูลแผนที่ โลกของเกมจะถูกสร้างแบบสุ่มทุกครั้งที่เริ่มเกม ขนาดคือไพ่หกเหลี่ยม 100x100 สำหรับผู้เล่นแต่ละคน นั่นหมายความว่าสำหรับเกมผู้เล่นสามคนมีการสร้างไทล์ 90,000 แผ่น ขณะนี้ฉันเพิ่งสร้างอาร์เรย์ JavaScript ที่ฉันแสดงแผนที่ วิธีนี้ใช้งานได้ดีสำหรับการเรนเดอร์ แต่สำหรับการโต้ตอบใด ๆ กับแผนที่เราจำเป็นต้องเก็บผู้เล่นที่เป็นเจ้าของไทล์โครงสร้างประเภทใดที่สร้างอยู่ด้านบนสุดของมันราคาปัจจุบันและอื่น ๆ ในตอนแรกอย่างน้อยสำหรับต้นแบบเราต้องการใช้ MySQL แต่หลังจากการทดสอบบางอย่างมันไม่เร็วอย่างที่ฉันต้องการ บางทีที่เก็บวัตถุอย่าง MongoDB น่าจะเหมาะกว่าสำหรับเก็บข้อมูลไทล์แทนตาราง SQL หรืออาจเป็นอย่างอื่น? แสดงแผนที่ ปัญหาอื่นที่ฉันเห็นคือการเคลื่อนที่ไปรอบ ๆ แผนที่ ขณะนี้ฉันกำลังสร้างเอนทิตีที่มีฝีมือสำหรับแต่ละไทล์แม้ว่าจะไม่ได้อยู่ในวิวพอร์ต …

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

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