Design of Aircraft Battle Game System Based on FPGA
Global electronic component supplier AMPHEO PTY LTD: Rich inventory for one-stop shopping. Inquire easily, and receive fast, customized solutions and quotes.
Part One. Design Overview
1.1 Design Purpose
We have designed an aircraft battle game based on FPGA SEA development board. Airplane Battle Game is a casual puzzle game that is both simple and enjoyable to play. In the initial interface, we have four options: start the game, restart, skin selection, and end the game. After starting the game, players can easily control the aircraft to move in any direction on the screen using the game controller, score by dodging bullets and shooting enemy planes, and see the current life and score in the upper left corner of the screen.
1.2 Application Fields
Recently, some retro game online stores have attracted many buyers who love old-fashioned electronic games. Some enthusiasts have been collecting retro gaming products, and some ordinary players have also started collecting old-fashioned cassette tapes and CDs, as well as game consoles they played as children.
Although retro games only account for a small portion of the global $109 billion gaming industry, they are still a very attractive niche market. This gaming platform can be used as a retro gaming console, and after post-processing and improvement, games can be ported to dedicated gaming consoles or mobile devices for players to use. This airplane battle game can relax the mind, release stress, and improve reaction ability.
1.3 Main Technical Features
(1) In the case of limited BRAM resources, image compression encoding was adopted to represent the original pixel matrix with a smaller amount of data.
(2) We have developed the main menu and control logic for the game, which is rich in features and has a beautiful interface.
(3) We have attached a homemade game controller that can be plugged into the development board for easy game control.
1.4 Key Performance Indicators
(1) The game interface is beautiful, the airplane icon is clear, and the game animation is displayed smoothly.
(2) The joystick and buttons on the game controller have high sensitivity and low command delay.
1.5 Main Innovation Points
(1) Using a self-made game controller, compared to ordinary buttons, it can more conveniently control the game and enhance the user experience.
(2) In the case of limited resources in onboard BRAM, image compression encoding is adopted to represent the original pixel matrix with a smaller amount of data.
Part 2. System Composition and Function Description
2.1 Overall Introduction
The system hardware consists of SEA development board (model xc7s25ftgb196-1), game controller expansion board, and HDMI display screen. FPGA reads the status of buttons and joysticks to control the content displayed in the game, where FPGA reads the status of the joystick through IIC method. The overall control module of the game is divided into four aspects: button function control, main menu control, game logic control, and text and image information display control. According to different instructions from players, corresponding content is displayed on the HDMI screen.
2.2 Introduction to each module
Provide specific design specifications for each module based on the overall system diagram.
(1) Overall game control module
- Key function control: Different keys correspond to different instructions, and this module is mainly responsible for key stabilization and instruction conversion.
- Main menu control: The main menu of the game's initial interface has four options: start game, restart, skin selection, and end game. You can move the cursor up and down by pressing the keys to select different functions.
- Game logic control: This module mainly designs game rules.
- Display module: mainly responsible for text display, aircraft icon, and bullet display.
(2) HDMI display driver module: Drivers HDMI screens to smoothly display game interfaces on the screen.
(3) Game controller driver module: drives the PCF8591 chip on the controller to output the position status of the joystick.
(4) IIC communication module: Implement communication between the game controller and FPGA, where FPGA reads data output from PCF8591.
Part Three. Completion Status and Performance Parameters
The displayed menu is shown in Figure 3, and the cursor can be moved up and down to select the corresponding function. The game interface, as shown in Figure 4, implements joystick control to move the aircraft in any direction. The pictures are clear, the display is smooth, the command delay is small, and the game rules are correct, which can give players a good gaming experience.
Part Four: Summary of Scalability
A. Utilize the onboard ESP32 module to achieve offline downloading.
B. You can store some other games and design a game selection menu.
C. Utilize the onboard Bluetooth module to achieve online gaming.
D. Add a music section to the game.