需求:
现场使用大屏幕,玩家现场用手机连入进行比赛(人数有限制,后续玩家需要排队),人数不会太多,并发压力不大,不会超过1000。开发周期短,两周左右。
我的解决方案:
手机端和大屏幕都用js+html实现,另外还有用于控制比赛进程的control页面。游戏本身用WebService实现,使用static数据存储玩家信息。玩家不维持长连接,仅仅依据登陆时由服务器分配的号码,进行每一次操作的WebService调用。
比赛中,玩家输入的数据暂时存储于服务器端,由大屏幕的网页定时向服务器请求,然后在大屏幕上展示。比赛胜负由大屏幕端网页计算,再反馈给服务器,玩家手机端会在WebService请求中得到游戏结束的消息。
我已经意识到的一些问题:
1、游戏结果由大屏幕计算,这是个错误。应该由服务器计算,大屏幕只有显示功能。
2、安全性没有保障(当然这种一次性的项目也基本不存在这个问题)。网页由js和html完成,如果有心,是可以修改网页内容来搞乱游戏流程的。
3、因为不能跨域,手机端、大屏端、control页面和WebService在一个域名内。同样是安全问题。
4、游戏容错性不够(这个基本是因为没时间),一旦流程出错除重启外很大可能性不能恢复。
5、网页中有比较多的计时器。尤其当需要游戏流程完全自动进行时,还要有control页面的计时器一起工作才能实现。感觉上,WebService自动运行会很麻烦,虽然现在想来也并非做不到。这个我没想到合适的解决方案。
6、和上一个问题相关,就是control页面的存在。我想不到什么方式可以取消这个控制方式。
7、从一开始方向可能就有偏差。如果不用网页+WebService,用什么方式可以快速开发一个满足客户需求的系统呢?
8、这个是我自己的问题了。不会用框架,手机端完全是从零开始写的。。。
希望各位能指出一些方向,我好继续学习下去,谢谢。
--
FROM 116.247.98.*