나는 퀴즈와 같은 자바 스크립트 게임을 가지고 있으며 빠르게 진행될 것으로 예상됩니다. 사용자는 짧은 시간 내에 최대한 많은 질문에 답변해야합니다. 그는 예/아니오 질문을 제시하고 답변을 서버에 보내고 거기에서 유효성을 검증하고 피드백 (정확/부적합)을 표시합니다. 나는 자바 스크립트와 AJAX를 사용한다.자바 스크립트 게임/서버 통신/응답 확인
문제는 서버에서 확인 작업이 진행되어 두 개의 연속 질문 사이에 지연이 발생한다는 것입니다. 질문은 서로 독립적입니다 (결과는 다음 질문을 변경하지 않습니다). 나는 사용자가 대답 한 직후에 피드백을 받고 다음 질문 만보기를 원합니다.
현재 응답이 서버 측에서 유효성 검사를받는 동안 클라이언트 측에서 시계를 멈추고 다음 질문과 함께 피드백이 도착하면 다시 시작합니다. 또한 서버 측에서 게임 세션이 허용 된 시간과 네트워크 지연에 대한 합리적인 여유 시간을 초과하지 않도록 확인합니다.
내가 지연을 없애기 위해 생각할 수있는 유일하고 분명한 해결책은 클라이언트에게 답변과 함께 일련의 질문을 보내고 클라이언트 측에서 확인하는 것입니다. 이렇게하면 서버와의 통신을 최소화하고 (세션 당 한 번) 매끄러운 게임 환경을 제공합니다. 분명히 들어오는 메시지를 읽을 수있는 사용자는 자동으로 재생되고 완벽하게 재생되는 스크립트를 만들 수 있습니다. 클라이언트 코드와 대답을 난독 화하는 것은 약간의 도움이 될 수 있으며 그러한 악성 스크립트를 작성하는 데 드는 비용을 증가시킬 수 있지만 결정된 사용자가 자신의 스크립트를 만들지는 않습니다.
제 질문은 두 가지입니다. 첫째, 나는 큰 실수를하지 않고 나쁜 의도로 사용자를 완벽하게 처리하는이 문제에 대한 분명한 해결책을 놓치지 않기를 바란다. 나는 이론적으로 그런 해결책을 제시하는 것이 불가능하다고 생각하지만 여기에 증명을 적어 둘만한 충분한 공간이 없다 (!).
둘째, 게임이 끝날 때 돈이 없다는 점을 감안할 때, 지루한 코더가 내 작은 게임을 엉망으로 만들 것이라고 기대하지 않습니다. 그러나 더 심각한 경우에는 귀하의 의견과 귀하의 전략을 듣고 싶습니다.
질문을 일괄 적으로 보내지는 않지만 서버 측에서 유효성 검증을 유지하거나, 다음 질문이 제기 된 후 잠시 또는 퀴즈가 끝날 때까지 올바른 응답을 지연하십시오 ? – bobince
일반적으로 그렇습니다. 그러나 다른 이유로, 내 게임에 교육적인 부분이 있습니다. 피드백은 즉각적이어야하며 다음 질문이 제시되기 전에해야합니다. 플레이어는 그가 플레이하는 동안 어떻게 플레이하는지 배웁니다. 질문 프리젠 테이션과 피드백 프리젠 테이션을 비동기로 만들면 그는 배울 수 없습니다. –