element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
FPGA
  • Technologies
  • More
FPGA
Forum Retro FPGA game engine
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join FPGA to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Suggested Answer
  • Replies 3 replies
  • Answers 2 answers
  • Subscribers 559 subscribers
  • Views 955 views
  • Users 0 members are here
  • fpga
  • hdl
  • game
  • dma
Related

Retro FPGA game engine

yuricts
yuricts over 5 years ago

From an educational perspective:

 

Is it possible to create a complete game in FPGA (pure HDL)? I suppose it is, I know it is... ;-)

There are of course different levels of game... pong can be created without too much code, more complex games will need more effort.

I would like to create a list of things needed for a more complex game.

What are the skills needed for a retro game engine implemented on an FPGA board?

Which knowledge has to be acquired?

    How to draw on a screen, lots of VGA tutorials out there.

    How to draw lines, more theoretical, bresenham algorithms etc.

    Loading images/sprites from an SD card or via ethernet, getting more complicated...

    Swapping sprites in memory

    I am thinking of DMA for double screen buffering, video signals, HDMI, ...

Which are good learning resources?

Lots of VGA tutorials out there, but I don't have the impression there are many HDMI tutorials, is this so much more difficult?

 

Let's discuss what levels of knowledge are necessary and try to build up a structured set of skills one should develop step by step.

This could lead to a series of HDL tutorials for the intermediate to advanced learner...

 

Tell me what you think.

 

Message was edited by: Yuri Cauwerts to clarify a bit more the intention of this question.

  • Sign in to reply
  • Cancel

Top Replies

  • johnbeetem
    johnbeetem over 5 years ago +2 suggested
    Yes, it's certainly possible. In fact, there was a nifty board called the Gameduino which had a Xilinx XC3S200A FPGA and a VGA output. I never used a Gameduino myself, but I did lots of development on…
  • Fred27
    Fred27 over 5 years ago +1 suggested
    I started down this path, but didn't get too far: PragrammaBall - getting started on the Verilog This is a great example which I used for inspiration: Episode 353: Program Your Own FPGA Video Game
  • Fred27
    0 Fred27 over 5 years ago

    I started down this path, but didn't get too far: PragrammaBall - getting started on the Verilog

    This is a great example which I used for inspiration: Episode 353: Program Your Own FPGA Video Game

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
  • yuricts
    0 yuricts over 5 years ago in reply to Fred27

    andywest has indeed a very nice example!

    In the beginning of that video benheck says implementing HDMI is more complicated, could anyone elaborate on this?

    I have downloaded the HDMI 1.3 specs, I'll have a look in those...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • johnbeetem
    0 johnbeetem over 5 years ago

    Yes, it's certainly possible.  In fact, there was a nifty board called the Gameduino which had a Xilinx XC3S200A FPGA and a VGA output.  I never used a Gameduino myself, but I did lots of development on the Xilinx Spartan 3A and it's probably my favorite family since it has an excellent balance of capability and simplicity.  You could do amazing things with a 3S200A.  Alas, Spartan 3A is pretty much obsolete now and you're stuck with far more complex families now.

     

    There's a Gameduino 3 now, but it uses an FTDI FT800 Embedded Video Engine instead of an FPGA.

     

    It might be worth doing an internet search for Gameduino to see what resources are still out there.  For example, there may be Verilog or VHDL source code.  At least you can find out what Gameduino could do with a 3S200A.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • Verify Answer
    • Reject Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube