基于ARM和WinSock的多人对战游戏平台设计
游戏不仅能开发人的智力,使人头脑反应灵敏,还能满足人的精神需求(如冒险、创造力、情感等),极具娱乐性和趣味性,深受人们的喜爱。随着消费类电子产业的蓬勃发展,越来越多的嵌入式电子产品走进了千家万户,催生出了诸如GBA(Game Boy Advance)、PSP(Play-Station Portabk)以及最近才在我国上市的iPad等一大批专业的并且销量惊人的明星级移动娱乐游戏设备。
然而上述游戏平台通常造价昂贵,且不具有开放性。例如备受推崇的PSP,开发授权问题和昂贵的专用开发套件(软硬件)使得PSP游戏的开发门槛很高。这在很大程度上限制了这些游戏平台的普及。如果利用通用的处理器和常用的嵌入式操作系统(如WinCE、Linux等)构建一种基于以太网或者无线以太网的便携式的游戏机。则可以吸引大量熟悉C/C++嵌入式编程的工程师或发烧友制作出各种精彩的游戏,这必将极大地推动这种游戏平台的普及。而且将平台进行功能裁剪和批量生产后成本较低,对于中低收入人群来说将是极佳选择,市场潜力无穷。
本文详述了这种游戏平台的硬件构建、互联对战游戏开发框架和流程,以及从Win32到WinCE进行代码移植的整个开发过程,并记录了开发过程中积累的经验,具有很高的借鉴价值。
1 硬件平台
硬件平台架构如图1所示。
S3C2410是Samsung公司推出的16/32位RISC处理器,为手持设备和一般类型应用提供了低价格、低功耗、高性能小型微控制器的解决方案。
S3C2410采用了ARM920T内核,0.18μm工艺的CMOS标准宏单元和存储器单元。它的低功耗、精简和出色的全静态设计特别适用于对低成本和功耗敏感的应用。ARM920T实现了MMU,AMBA BUS和Harvard高速缓冲体系结构。这一结构具有独立的16 kB的指令Cache和16 kB数据Cache,每个都由8字长的行构成。
2 套接字编程
2.1 WinSock基础
WinSock是Windows Sockets的缩写,是Windows环境下广泛应用的、开放的、支持多种协议的网络编程接口规范。这里主要使用TCP/IP协议族实现通信。
基于TCP/IP的套接字有流式套接字(SOCK_STREAM)、数据报式套接字(SOCK_DGRAM)、原始式套接字(SOCK_RAW)3种类型,如图2所示。
TCP协议是面向连接的网络协议,它的连接步骤较多,而且当检测到数据包丢失或错误时,会要求发送端重新发送,这样一来就不可避免地引起了传输延时。
UDP协议面向无连接服务,每个分组都携带有完整的目的地址,操作简单,且无传输延迟,比较适合要求不高的游戏通信。它的通信时序如图3所示。
相关文章
- 2024-07-02开孔板孔形参数的弹性优化及材料选择
- 2024-05-14电节点压力表在热网补水系统中的应用及控制电路改进
- 2024-08-14冰箱压缩机P-V指示图测试平台的开发
- 2024-03-15地埋卧式金属罐检定装置的研制
- 2022-12-19精密焊接在继电器制造中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。