-
Re: Retro FPGA game engine
Fred27 May 7, 2020 5:42 AM (in response to yuricts)1 of 1 people found this helpfulI 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
-
Re: Retro FPGA game engine
yuricts May 7, 2020 8:30 AM (in response 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...
-
-
Re: Retro FPGA game engine
John BeetemMay 11, 2020 12:23 PM (in response to yuricts)
1 of 1 people found this helpfulYes, 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.
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.