I just want to roll this one out real quick. This has been in my code vault for like ages. This was supposed to be a port in Python of Dave, a video game by John Romero (co-creator of the video game Doom). This is one of my projects that I haven't really been able to finish because my skills in Python programming are somewhat limited. You can actually play one level though, and see inside what makes the game tick.
Source code can be found here (fork me or request a pull):
https://github.com/ryesalvador/pyDave...
It makes use of the pygame library and it works out-of-the-box on the Raspberry Pi. Just download the source code and run it. I wrote this game basically, to learn about Richard Jones' TMX library, which is a tile map loader, and Al Sweigart's Pyganim, which is a library for animating sprites in pygame.
A little trivia and back story as to why I chose to port this game:
First of because it's relevant to the subject that I wanted to learn which was a 2D platformer game that makes use of tiles in a map with animated sprites; it just fits perfectly. Second is that, I admire John Romero for his talent in programming considering that he must have written it in pure assembly language. Lastly, to appease myself; to do justice to the game. Well, this is where the trivia part comes in. When I was still in grade school wayback in the sneaker net years, I lied to my classmates that I was the author of Dave. What a shame I know, but I'm not really sure if they even bought it. It became sort of like a technical debt to me.
I've always dreamed of being a computer programmer. Although, I didn't become one, I'm really happy I learned about the Raspberry Pi and all the programming modules that it teaches, not to mention that it also includes not only the software side of things but also of physical computing as well.
So finally, now that I've learned a little bit of video game programming in pygame, I thought of recreating Dave. It made me appreciate, that making a video game as simple as this 2D platformer, even with the use of modern tools is not an easy task.
If you like my work please support my channel by subscribing and liking my videos.