如何制作一个成功的交互式游戏?
交互游戏是怎么实现的?
(一)需要使用客户端与服务端建立长链接的方式进行通讯,目前使用Netty通讯,实现长链接。Netty自己开发一个server,根据入参数返回一个json字符串。
写好这个server需要了解:
(1)TCP协议:三次握手、四次挥手、tcp如何保证包的可靠性传输(ack,seq,超时重传),流量控制(滑动窗口,拥堵控制)等
(2)IO通信的几种方式,阻塞IO,非阻塞IO,多路复用IO,信号量IO通信,异步IO。目前tomcat支持阻塞IO,多路复用IO,Netty编程都支持,看程序员自己的实现
(3)非阻塞IO原始API比较复杂,后来出现REACTOR方式的NIO,目前Netty可以支持这种开发
(二)算法,paceman的算法就是最优路径,一般可以使用图的深度优先遍历算法
ghost使用动态规划的算法,计算下一步
(三)环境,可以使用docker进行打镜像使环境统一部署