找回密码
 注册
关于网站域名变更的通知
查看: 232|回复: 1
打印 上一主题 下一主题

基于 FPGA 的飞机大战游戏系统设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-7-24 20:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
6 e( [2 s+ b+ T: I1 E

3 Z. I: C0 z" L! A1 u$ Z

2 u7 @, p2 }' W7 Q
' G: l, l! `5 d& _

4 D; a) D. n& q3 f( p7 N
第一部分 设计概述

+ h! D$ [2 a$ Y4 h8 G6 j: ^. V* a
" a2 g6 R( _% h3 D6 G; ?1 c. Z- e. L9 F4 o$ d% r2 P
1.1 设计目的
) x; \; B' ^# w) Z) u4 y) l
3 R2 `7 x" b. h) F; }

     我们设计了一款基于 FPGA 的SEA开发板 的飞机大战游戏。飞机大战游戏是一款休闲益智类游戏,既简单又耐玩。在初始界面,我们有开始游戏、重新开始、皮肤选择和结束游戏四个选项。开始游戏后,玩家可以用游戏手柄方便的控制飞机在屏幕上向任意方向移动,通过躲避子弹和射击敌机得分,在屏幕左上角可以看到当前生命和得分。


7 W- {! z7 w) ]4 V" t9 u

1.2 应用领域

4 b. N- D4 h& h! O
) n' e; u' e* V* X) G* _) W- F
0 n8 G) l. h+ t' K6 l9 E

     最近的一些复古游戏网上商店吸引了许多喜欢老式电子游戏的买家。一些爱好者一直在收集复古游戏产品,一些普通玩家也开始收集旧式磁带和CD,还有小时候玩过的游戏机。

  i. |  b5 j+ P: `  r

     虽然复古游戏只占全球 1090 亿美金游戏行业的一小部分,但确是非常有吸引力的缝隙市场。该游戏平台可以作为一个复古游戏机使用,经过后期加工改良,可以将游戏移植到专用游戏机或手机等设备上,供玩家使用。这款飞机大战游戏,可以放松心情,释放压力,提高反应能力。


" D! p7 \' C, E1 U: j6 K/ b! C+ }

1.3 主要技术特点

5 H* ]. y& J" n$ s2 X  F

" k. `  b& `) ]5 J
; `) P. i! c& Z+ \+ A

(1) 在 BRAM 资源较少的情况下,采用了图片压缩编码的方式,以较少的数据量来表示原来的像素矩阵。

(2) 我们编写了游戏的主菜单和控制逻辑,游戏功能丰富,界面美观。

(3) 我们外接了自制游戏手柄,可以直插在开发板上,方便地控制游戏。

6 W) P3 |% o8 A$ ]

1.4 关键性能指标

$ j2 U% z4 k" r# S
( Z6 a  X3 t4 [9 J

! R5 J6 o/ u) u$ X/ q$ q2 J

(1) 游戏界面美观,飞机图标清晰,游戏动画显示流畅。

(2) 游戏手柄上的摇杆与按键灵敏度高、指令延迟小。


6 B& S# I) V8 Z8 Q5 v

1.5 主要创新点

, b$ f9 b- [8 K4 q, J; k) u/ S+ }

2 }, ]; ]* J" t

8 k6 T+ p; r+ s" w- h

(1) 使用了自制游戏手柄,相比普通按键,能更方便地控制游戏,提升用户体验。

(2) 在板载 BRAM,资源较少的情况下,采用了图片压缩编码的方式,以较少的数据量来表示原来的像素矩阵。


; ?1 ?9 v" ^$ H* L6 v% o. i( D

第二部分 系统组成及功能说明
# N3 E6 g& b1 R" O# ~- p

& @# `3 k( |0 ^6 P( M% f$ j+ \+ F( K0 i4 ~. ]3 m* p
2.1 整体介绍
  ]9 V6 @/ T! v3 b, ~3 |6 X
0 _% G- z) m( G% x) y

' x! o( \: Y+ O1 l0 m' Z2 C

     系统硬件由 SEA 开发板(型号 xc7s25ftgb196-1)、游戏手柄拓展板和 HDMI 显示屏组成。FPGA 读取按键和摇杆的状态,来控制游戏显示的内容, 其中,FPGA 通过 IIC 方式来读取摇杆的状态。游戏总体控制模块分为按键 功能控制、主菜单控制、游戏逻辑控制和文字图片信息显示控制四个方面。根据玩家不同的指令,HDMI 屏上显示相应的内容。


$ E6 C2 W, w' t7 I( D


" @9 n3 Z6 L# |+ G( M% m

/ }- G& z* N7 z. x& h

2.2 各模块介绍
. W2 W! x! D& v( F. X

; ?1 C" [4 s" b& D" l" o
+ a  |- X2 [2 x

根据总体系统框图,给出各模块的具体设计说明。


1 U7 X* i: y. s; Y* g; ?4 I% @

(1) 游戏总体控制模块

3 w$ x  ?3 Y$ J! c$ _

按键功能控制:不同的按键对应不同的指令,该模块主要负责按键消抖与指令转化。


" _2 h* f  b; K+ Z) R5 U

主菜单控制:游戏初始界面的主菜单有开始游戏、重新开始、皮肤选择和结束游戏四个选项。可以通过按键上下移动光标,选择不同功能。


9 D2 d# i. I1 z1 s1 D

游戏逻辑控制:该模块主要进行了游戏规则的设计。

7 y0 Y- k2 q% ?; Y  S+ q% t! m

显示模块:主要负责文字显示和飞机图标、子弹显示。

$ B: L4 ]9 a, `# {. O1 C/ O  Q

(2) HDMI 显示驱动模块:驱动 HDMI 屏,在屏上流畅的显示游戏界面。

(3) 游戏手柄驱动模块:驱动手柄上的 PCF8591 芯片,输出摇杆的位置状态。

(4) IIC 通信模块:实现游戏手柄和 FPGA 的通信,FPGA 读取 PCF8591 输出的数据。

6 a0 s5 W0 H7 I  o

, p# q/ @- p) b: C

第三部分 完成情况及性能参数

' f) k* E4 v- r+ S6 N

  `) h& p& Y- t) b% T

: r3 Y2 u/ C9 P; J. \2 U( G

     显示的菜单如图 3 所示,可以上下移动光标选择相应的功能。游戏界面如图 4 所示,实现了摇杆控制飞机朝任意方面移动。图片清晰,画面显示流畅,指令延时小,并且游戏规则正确,可以给玩家良好的游戏体验感。

( I' g7 W2 t: A9 O. E: V

( h3 Q' g9 G( S* |1 O/ k' M& p


  |( |( W1 |9 e8 V/ n1 {8 N


3 v! w: A) J4 ~) j% |3 }

, ~! y7 ?$ P; |1 k


% G* X2 n. d* R4 K

' m( R/ \4 T" I. O

4 D8 }( K* h- F+ Z0 P5 z% q/ [
第四部分 总结可扩展之处

9 }4 q: l/ V# O0 K2 G

' h5 C/ D6 M) ?' q
* R/ y4 G* \) ?7 k" ^

A.利用板载的 esp32 模块,实现脱机下载。

B.可以存储一些其他游戏,设计个游戏选择菜单。

C.利用板载的蓝牙模块,实现联机游戏。

D.增加游戏音乐部分。


. h$ i, T% K  M* O6 B

该用户从未签到

2#
发表于 2024-7-25 18:28 | 只看该作者
FPGA现在是主流,功能也很强大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-4 21:45 , Processed in 0.125000 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表