คำถามติดแท็ก node.js

1
ผู้เล่นหลายคน HTML5, Node.js, Socket.IO [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันพยายามสร้างผู้เล่นหลายคนแบบง่าย ๆ ด้วย HTML5 Canvas, JavaScript (เช่นกันโดยใช้ไลบรารี Inheritance ง่าย ๆ ของ John Resig) และ Node.js ด้วย Socket.IO รหัสลูกค้าของฉัน: var canvas = document.getElementById ('เกม'); var context = canvas.getContext ('2d'); var socket = new io.Socket ('127.0.0.1', {พอร์ต: 8080}); ผู้เล่น var = null; var UP = …

3
หลักการออกแบบเกมสำหรับผู้เล่นหลายคนแบบเรียลไทม์สำหรับ Node.js
ฉันได้อ่านวาล์วบทความเกี่ยวกับเครือข่ายผู้เล่นหลายที่ได้รับการดัดแปลงมาจาก Yahn เนียกระดาษ 2001 เรียกว่าแฝงชดเชยวิธีการในไคลเอ็นต์ / เซิร์ฟเวอร์ในเกมการออกแบบโปรโตคอลและการเพิ่มประสิทธิภาพ ฉันกำลังสร้างเกมผู้เล่นหลายคนเรียลไทม์โดยใช้เซิร์ฟเวอร์ node.js ที่เชื่อมต่อกับลูกค้าผ่าน socket.io และฉันมีคำถามสองสามข้อเกี่ยวกับหลักการที่อธิบายไว้ด้านล่าง: การแก้ไขเอนทิตี [การแก้ไข] ป้องกันการเคลื่อนไหวที่กระวนกระวายใจซึ่งสิ่งนี้มักจะนำไปสู่โดยการอัพเดทเซิร์ฟเวอร์บัฟเฟอร์จากนั้นเล่นกลับด้วยช่องว่างที่สอดแทรกอย่างราบรื่นระหว่าง นอกจากนี้ยังสามารถป้องกันข้อบกพร่องที่เกิดจากการสูญเสียต การทำนายฝั่งไคลเอ็นต์ การทำนายคือแนวคิดของลูกค้าที่ทำนายผลกระทบของการกระทำของผู้เล่นท้องถิ่นโดยไม่ต้องรอให้เซิร์ฟเวอร์ยืนยัน สถานะที่คาดการณ์ของเอนทิตีถูกทดสอบกับคำสั่งเซิร์ฟเวอร์เมื่อมาถึงจนกว่าจะตรวจจับคู่หรือจับคู่ผิด การชดเชยความล่าช้า การชดเชยความล่าช้าคือแนวคิดของเซิร์ฟเวอร์โดยใช้เวลาแฝงของผู้เล่นในการย้อนเวลาเมื่อประมวลผล [ผู้ใช้งาน] เพื่อดูว่าผู้เล่นเห็นอะไรเมื่อคำสั่งถูกส่ง เมื่อใช้ร่วมกับการคาดการณ์การชดเชยความล่าช้าจะช่วยต่อสู้กับเวลาแฝงของเครือข่ายจนถึงจุดที่เกือบกำจัดมันออกจากมุมมองของผู้โจมตี หลักการใช้กับ TCP เช่นเดียวกับที่ทำกับ UDP และจะมีความแตกต่างในการนำไปใช้หรือไม่? ฉันเห็นว่าการแก้ไขเอนทิตีไม่จำเป็นต้องป้องกันการสูญหายของแพ็คเก็ต แต่ก็เกี่ยวกับมัน ฉันสามารถสื่อสารระหว่างเซิร์ฟเวอร์กับเว็บเบราว์เซอร์และกลับกันโดยใช้ UDP และ Node.js ได้หรือไม่ เนื่องจากกระดาษมีอายุเกินหนึ่งทศวรรษหลักการเหล่านี้ยังคงใช้งานอยู่หรือมีเทคโนโลยีอื่นปรากฏขึ้นมา? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก

3
ฉันจะสร้างตาข่ายนำทางแบบ 2d ในสภาพแวดล้อมแบบไดนามิกที่รันไทม์ได้อย่างไร
ดังนั้นฉันจึงเข้าใจวิธีใช้ A * สำหรับการค้นหาเส้นทางและฉันสามารถใช้ในตารางได้ อย่างไรก็ตามโลกของเกมของฉันมีขนาดใหญ่มากและฉันมีศัตรูมากมายที่เคลื่อนเข้าหาผู้เล่นซึ่งเป็นเป้าหมายที่เคลื่อนที่ดังนั้นระบบกริดจึงช้าเกินไปสำหรับการค้นหาเส้นทาง ฉันต้องการทำให้กราฟโหนดของฉันง่ายขึ้นโดยใช้ mesh navigational ฉันเข้าใจแนวคิดของ "วิธี" ตาข่ายทำงาน (ค้นหาเส้นทางผ่านโหนดบนจุดยอดและ / หรือศูนย์กลางของขอบของรูปหลายเหลี่ยม) เกมของฉันใช้สิ่งกีดขวางแบบไดนามิกที่สร้างขึ้นตอนรันไทม์ ฉันไม่สามารถคาดศีรษะได้ว่าจะต้องใช้เครื่องบินที่มีสิ่งกีดขวางมากมายและแบ่งพื้นที่ที่สามารถเดินได้ให้เป็นรูปหลายเหลี่ยมสำหรับตาข่ายนำทางเช่นเดียวกับภาพต่อไปนี้ ฉันจะเริ่มที่ไหน ฉันจะรู้ได้อย่างไรว่าเมื่อเซ็กเมนต์ของพื้นที่ที่สามารถเดินได้หรือที่แย่กว่านั้นเมื่อฉันรู้ว่าฉันต้องแบ่งพื้นที่ที่สามารถเดินได้ที่กำหนดไว้ก่อนหน้านี้เป็นอัลกอริทึม "เดิน" ผ่านแผนที่ ฉันใช้จาวาสคริปต์ใน nodejs ถ้ามันสำคัญ

3
บ่อยแค่ไหนที่จะบันทึกสถานะของผู้เล่นในเกมออนไลน์แบบถาวร?
ในเกมออนไลน์คนต้องการเข้าสู่ระบบและออกทุกครั้งที่พวกเขาต้องการ โดยปกติแล้วความสำเร็จของเกมของพวกเขาจะถูกบันทึกไว้อย่างราบรื่นบนเซิร์ฟเวอร์ นั่นไม่ใช่เรื่องยากที่จะประสบความสำเร็จ แต่ฉันสงสัยว่าจะสามารถทำได้ในวิธีที่มีประสิทธิภาพที่เหมาะสมและจะเพิ่มขนาด มันเหมาะสมหรือไม่ที่จะบันทึกพิกัดและสถานะของผู้เล่นทุกครั้งที่ส่ง เซิร์ฟเวอร์node.jsของฉันสามารถทำได้อย่างง่ายดายโดยไม่ต้องปิดกั้นการตอบสนองและฉันต้องการใช้ฐานข้อมูล Mongo แต่อาจเหมาะสมกว่าถ้าทำครั้งที่สองและในเหตุการณ์ทั่วทั้งเซิร์ฟเวอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.