Hacker News new | comments | show | ask | jobs | submit login
Show HN: 2 Player Space Invaders (undiscoveredfeatures.com)
22 points by phamilton on Jan 3, 2012 | hide | past | web | favorite | 11 comments

Impressive project. How much of the time was spent writing the gameplay code as compared to the "engine". To put it another way, how much of the experience was writing the code to handle VGA and audio out as compared to the scoring system, movement, etc.?

Similarly, how much time was spent writing "code" that targets the PowerPC processor versus the FPGA module?

The VGA is a DMA controller built into the board, so all graphics were just modifying the framebuffer.

We spent 6 weeks getting the game to work (~10-15 hrs/ week). This was all in C targeting the PowerPC and included effective double buffering for graphics as well as all the game logic.

We then spent another 2 weeks getting interrupt driven sound to work. This was also in C, but was valuable because in order to understand the nature of the generated interrupts we had to understand the underlying bus architecture.

We had 3 weeks to do a basic hardware module (a slave on the peripheral bus that powered some 7-segment displays and generated interrupts when switches were pressed) and then to do the creative portion (which was another slave).

Finally, we built the Audio DMA controller, which took 4 weeks. The Audio DMA controller was by far the most challenging because the rebuild cycle was 20 minutes (terrible EDK) and debugging was difficult.

So I'd say about 50-50.

It was a pretty cool course. No homework, no final, no text books. Just the project and all the documentation we could get our hands on.

Thanks for the details, posts like this are definitely the main reason why I miss attending university.

Can you talk about your experience with those RF modules? I was trying to use those exact modules with a PIC24 microcontroller a few months ago but eventually gave up on them in favour of other modules because I was unable to get the sample code working (and google tells me a lot of people have problems with them).

We had a lot of trouble getting them to work at lower frequencies. As soon as we switched to 915Mhz though, it all worked like a charm. Our guess was antenna problems.

Once we had it set up and had interrupt driven code to handle sends and receives it all worked great.

Hmm, I wonder if that was my problem too. Thanks!

PS: I love your project, good work!

Amazing work! Was it written in VHDL or Verilog? And are you guys planning in publishing the source code and build instructions?

It'd be a nice introduction for other fpga and design logic students...

The main game engine was in C targeted to the PowerPC. The hardware additions were done in VHDL.

Nice project, congrats! I hope you don't receive a letter from Taito like I did:


I'd buy this as an iPhone game.

Congratulations, Peter. Impressive.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact