Initial commit: HPR Knowledge Base MCP Server

- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Lee Hanken
2025-10-26 10:54:13 +00:00
commit 7c8efd2228
4494 changed files with 1705541 additions and 0 deletions

149
hpr_transcripts/hpr0549.txt Normal file
View File

@@ -0,0 +1,149 @@
Episode: 549
Title: HPR0549: Interview with Richard Jones
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0549/hpr0549.mp3
Transcribed: 2025-10-07 22:52:59
---
How many seconds is this?
A little bit of Python Episode 10, an interview with Richard Jones of the Piwi Game Programming
Contest. I'm Andrew Kuschling.
So I'm talking to Richard Jones about the Piwike contest.
So Richard, what exactly is Piwike?
It's a programming challenge in which you are challenged to write a game from scratch in a week using Python.
So what sort of games do people write?
There's a variety of games that people write. Most people end up writing some sort of little action game.
There's a lot of shoot-em-up or platforming type games.
Having said that, there can be quite a lot of variation. We've had text adventures.
We've had 3D first-person adventure games. We've had old-school 2D adventure games like in the style of Monkey Island.
So it's pretty much as broad as games get.
There's also been quite a few experimental games as well.
Quite interesting gameplay.
Oh, what's the word? Invented during the challenge.
I see. It's sort of like novel gaming interfaces.
Yeah. So the challenge is always set to a theme. Each challenge has a different theme.
And sometimes people can get quite inspired by the theme, a particular theme that's set.
What are the themes like? Are they an adventure game or 2D platformer?
No, they're quite abstract, actually. The themes are actually chosen from a set.
There's an actual voting process that happens for a week before the actual challenge starts.
And at the start of that voting process, everyone's presented with basically five mostly random, very abstract sort of themes.
They choose the one that they think is most interesting.
So for example, the theme for the last challenge ended up being feather.
Just the word feather.
Unfortunately, I've had a bit of a site redesign of the Pi Week site lately.
And it looks like I've lost the ability to look up the previous polls in the process.
So what sort of games did people write using feather as the theme?
Well, that's again, that pretty much comes down to the individuals get inspired in their own different ways.
So there was a lot of games involving birds.
Although less than I guess I probably would have expected, there was a lot of games where a feather ended up being kind of an object in the game that was important.
The game that I wrote, which revolved around a Phoenix and the Phoenix was the protector of the land and somebody had stolen the Phoenix away.
But some of its feathers had been left behind.
And if you found the feathers, they gave you magic powers and you could defeat the evil queen and save the Phoenix.
There was another game which involved a fallen angel and there were feathers that you could pick up the kind of somehow gave you clues about the story of the fallen angel.
I think there was one game which involved using a feather to fan a barbecue.
Yeah, so there was quite a variety of games that came out of that.
I'll just give you an idea. The other theme suggestions for that challenge were reception, scissors, flagging and what big eyes you have.
Out of those five, everyone chose feather.
Yeah, it's usually a pretty clear poll. It usually comes out pretty clearly clear which one is the favorite.
And I show all of the stats and everything for the polling and everyone, nobody seems to complain too much. I mean, there's always a bunch of people who gripe about, oh my god, I've no idea what to do, but it usually works out okay.
What was your inspiration to start a game contest?
Seven years ago, I actually started participating in a different game challenge, a game programming challenge called the Ludum Dare 48 hour challenge.
So the idea there is to write a game from scratch in 48 hours.
So basically it's run over a weekend and I actually ended up running that a couple of times as well.
I enjoyed it, but I had a by the time I kind of got been in it for a couple of years.
Some of the aspects of the challenge started bugging me.
In particular, it had a really strict rule about being able to use prior art.
So games written for that challenge have to be entirely constructed during a challenge.
So all of the art, all of the musical, all of the sound effects, everything has to be created during a challenge.
And also you have to work alone. It's a completely solo challenge.
And I thought that it might be a little bit more fun to be able to work with other people.
And also to optionally work with other people and also to be able to use existing creative commons art.
Even though at the time creative commons really wasn't known, I probably not even invented I think five years ago, maybe hazy on that.
But there was still certainly content out there which people were making available, even if it wasn't called creative commons.
The reason the challenge runs over a week is because there's less stress to get things going that the shorter length challenges tend to have.
So over a weekend, over a 48 hour challenge, you pretty much have to be working the whole 48 hours to get out the game that's going to be good.
Whereas over a week, you can actually just work, you know, if you finish the day or you're when you're commuting or even if you've got a long commute where you're on a train or something, you can write your game during that during that time.
You don't have to spend the entire week writing the game.
And certainly I've I generally don't even take any time off during py week to actually write my game. I have been known to, but I've also found that I take some of the time to go off and see do other things.
Yeah, it's a much more it's a very relaxed length of time to write a game and we even have people sometimes who they finish the game that they're working on when they start the challenge and they think up of a new idea.
And you know, even if there's only a couple of days left, it really doesn't take very long to write a game.
So, you know, they'll knock something together in a few hours and sign up a new entry and submit the game under a new entry.
And I also have a particular thing for Python. And so I, you know, set up the rules for the public challenge based on those things that, you know, were important to me.
And as it turns out, you know, that's a fairly popular idea on a broader sense.
Given that people have written text adventures, presumably using pygame isn't a requirement or is it?
Absolutely not. You can basically use any library that's available for Python or in fact, none. I don't think he probably didn't use any libraries.
So yes, there's no requirement to use pygame. I'd say the bulk of the games that are written during the challenge use either pygame or piglet.
And then we'll get maybe a smattering of other other entries submitted using some of the lesser known libraries like Panda or, I mean, we've even had some people writing games in Django.
So, you know, it's, there's no rules about what libraries you cannot, cannot, cannot use.
The only real rule is that you're allowed to use something that would be deemed to be a game engine.
So you couldn't take civilization, for example, civilization for and write a module for that and call that your game submission.
I'm pretty flexible about these things, but there seems to be a certain line at which you're not really writing much of a game.
So how is the winner of the contest decided?
So after a week of writing your game, you submit it to the website and that's a whole other story.
There's been some technical fun around that. And then you have to submit your source and also you can submit, you know, executables or whatever.
And then over the next two weeks, everybody who actually submitted a final entry gets to play all of the entries and rate them on a number of scales.
And then whoever gets the highest rating wins and there's a winner in both individual and team entries.
The actual scales that are used were kind of inspired by the LD48 challenge, but somewhat simplified as well.
So basically out of one to five, the games are rated in fun, innovation, production and just kind of an overall rating.
Yeah, so we ended up with games ranging between almost zero to almost five, you know, whoever comes out on top wins.
And there's no prize. It's just done for the fun.
So are the games that win usually the ones that are most complete or the ones that have the best art or the ones that have the most interesting gameplay or is there no trend?
It's a pretty much a combination of all three.
Yeah, it's rare for a game that's not terribly complete to get a very high rating.
Although I still encourage anyone who's written even a partial entry to submit it at the end of the challenge, because then they'll get good feedback from the other participants to help them perhaps in the next time that they they enter the challenge.
It certainly pretty artwork does help, but it's not everything. We've had people who have won with very, very simple artwork.
And certainly I'm no artist and yet I've come first in the individual category once.
It can depend really on how inspired people are by your game personally.
Earlier you mentioned Pi game and piglet as two of the libraries that people often use. What's the difference between those two?
Pi game is a library that's been around for a very long time and it's built on top of really solid mature C library called STL.
Actually, it's a suite of C libraries, but they all fall under the banner of STL. It's as I say, it's been around for a very, very long time.
So it's very mature and very solid. The piglet library on the other hand has only been around for about three years or so.
And it's not built on top of a C library, but it does use C libraries that uses the new C types facility that was built into Python 2.5 to access basically operating system features
that let you write games. So you don't need to install any libraries. You don't need to compile anything.
You can just use use the library and it will use whatever is available on your on your computer already.
So the dependency requirement is much lower.
It also has a slightly different philosophy in terms of its API, which some people find more appealing than than Pi game, which is built on some older ideas about APIs and about game programming.
Where should people go to learn more about Pi Week and about Pi game or piglet?
Pi Week is run on a website called PiWeek.org and there's plenty of information on there about what Pi Week is.
And there's also a bunch of information that I've collated over the few years about, you know, kind of hints about how to go about entering and what you should probably do.
Both before Pi Week starts and during Pi Week. And on the help page, there's also some references to libraries that you might like to look into.
And there's at least one reference there to a list of libraries that's available on the Pi game website, which is PiGame.org, where there's quite an extensive list of both libraries that you could use to help you create your library.
And also to help you create your game, but also art resources that you could use while you're creating a game.
And then there's piglet, which is available at piglet.org, and that's PiG-L-E-T.org.
So they all start with Pi, so it's quite easy to remember.
And when is the contest starting this year?
This year, the challenge runs between the 28th of March and the 4th of April.
So that's in about a week's time from now.
Oh, actually, I don't even know when you're going to be running this podcast. So as soon as possible.
We're going to try to get it out before the contest, at least the programming portion starts.
The challenge kind of unofficially starts a week before that when the theme voting starts.
So theme voting runs for a week before the challenge.
And that basically gives people an opportunity to jump on and just get fired up about the challenge again.
And you can sign up at any time during that week. You can sign up during the challenge. You can sign up after the challenge is started.
You just can't sign up after the challenge is finished.
There's plenty of time left to jump in. And as a theme voting runs for a week,
but you can vote at the last minute, that's not a problem.
The only thing that you can't do is, generally speaking, you can't submit your game at the last minute.
And that's where I was referring to before about technical issues.
The website doesn't have a huge capacity.
And if everybody submits their game at the last minute, then it tends to fall about laughing.
Which is why I've actually instituted kind of a very, because we can be very relaxed.
There's no prizes. We can be quite relaxed about how the challenges run.
Actually, just give people a day after the end of the challenge to upload their game.
That gives people plenty of opportunity to not overload the website.
And even if they run into, you know, if they find that somebody has found a critical bug in their game that's really easy to fix,
then they can even submit, you know, a fixed version so that people have something that'll actually work.
And of course, I end up with people asking me, so what's the definition of a critical bug?
You know, it's just don't cheat.
Don't try and push it. I don't really care, but, you know, other people might.
Thank you very much for talking to me about the contest Richard.
Thank you, Andrew.
This has been a little bit of Python Episode 10, an interview with Richard Jones.
Please send your comments and suggestions to the email address all at a bit of python.com.
Our theme is Track 11 from the Headroom Projects Helping Python, available on the magazine.
Thank you for listening to Hack Republic Radio.
HBR is sponsored by Pharaoh.net.
So head on over to C-A-R-O dot E-C for all of their savings.
.
.
.