top of page
Search

Nintendo Kirby! Real-Time Video Game

  • Writer: Ziwei Zhu
    Ziwei Zhu
  • Apr 11, 2018
  • 2 min read

Updated: Jan 17, 2019


GitHub Link: https://github.com/ziwei-zhu/Project-FPGA.git


Me during the programming

The original Nintendo game, Kirny

Introduction

Our project is a kirby game action adventure 2D game. The game content contains two stages: A normal stage that have three enemies and multiple platforms, and the second stage that contains a boss. The game involves main character actions including jump, attack, running and flying. Enimies would hurt kirby and reduce its health points. If kirby kills enimies they would also gain scores. The moving of kirby applys our gravity system. The image is loaded by both on-chip memory and SRAM with color palette. The image graphics are all designed and drawn by us. In the second stage we designed a AI for our boss which would track and chase our kirby. The control system includes keyboard and mouse which is able to equally manipulate our kirby. The background music starts playing after the game starts. Finally the game includes a speed up function button and a restart button. The whole games includes 12 FSM, three driver interfaces and multiple graphic mapper function.

Design process

Game Description

Our goal is to make a game that is like kirby in GBA platform. A adventure action game from Nintendo. We plan to clone most of its features and make a small version using our FPGA board. Below is one of the stage in Kirby.

Our game supports following functions: --The character kirby in our game is able to walk, jump, fly and attack.

Finite State Machine of the Animation

--The scene of the game includes the ground and several floating clouds. The boarder of the screen is restricted too. --The gravity system enable kirby to jump and fly in the air for a period of time. The kirby would fell from the floating clouds. --There are two stages in the game. First stage is a normal adventure. Second stage is the boss fight. --Kirby have three health point. If Kirby loss all points it would die. --Kirby can attack the enimies by inhaling. The enemies would disappeared.


Image processing

Sprits & fix function

Most of our game image comes from sprits. The kirby, clouds, enimies, boss, buttons, score and HP points. We draw these image and put them into one canvas that have width 256. We select 256 particularly because we could use shift operation to access each spirits during the calculation. For instance, if we need to find a kirby image, we could use the following formula:

address = (DrawY - Xposition) * 256 + DrawY + Yposition

But since width is 256, we could transform into the following formula:

address = (DrawY - Xposition) << 8 + DrawY + Yposition



Figure Library

 
 
 

留言


Blog: Blog2

Subscribe

5106960262

©2019 by Ziwei Zhu. Proudly created with Wix.com

bottom of page