Read the Twitter feed of anyone in comedy at the moment and somewhere in there is someone going "I asked AI to make jokes and they were shit - not out of a job yet."
Anyway, of course I've sat there making AI make jokes too, and I found them a little bit funny, occasionally at the level of "this is what a robot finds funny."
So I thought I'd present them as being told by robot doing stand up - and I made sure the generator was set up with stuff like "write jokes about humans from the point of view of a superior robot intelligence"
SO HOW DOES ALL THIS WORK?
First I asked GPT-4 to write jokes with prompts like "tell me 10 jokes about humans from the point of view of a superior robot." I've done a simple human pass on these and threw out maybe two thirds of them leaving 100 or so jokes.
I then uses the BING version of DALL-E to make some images with prompts like "small robot telling a joke at a stand up comedy night" and occasionally "killer robot telling a joke at a stand up comedy night" and threw away about 1/4 of them probably for being to messed up.
So how can I glue this together - I asked GPT-4 again - this needed a much more sophisticated prompt and I'll only give you the initial one here and not the endless backwards and forwards to coax it into working:
Create an HTML web app called “Bots Write Jokes”.
Make the app responsive so it works on both mobiles and desktops.
The app should have large text that fills most of the visible page.
The app should have three main area, from top to bottom: the title, the robot image, the button.
The title should be at the top of the page.
The robot image section should display an image of a robot and be prepared for an overlay two parts of a joke. At the top the setup of the joke and the bottom, the punchline of the joke.
The robot image section should display a random image of a robot. It picks a image from a const like robotImages = ['_ff0d9c6f-1cf2-40fd-acdb-969368dc41a7.jpeg','_1e4d4f5f-a18d-4082-b583-6f81676b35fc.jpeg']
It should expect this image to be square.
Beneath the image is a button, which says 'Show Punchline' which will work by clicking it or anywhere on the page.
The app will now pick a random joke from the following variable
const jokes = [
{setup: "Why did the human cross the road?", punchline: "To look for a power outlet to charge their phone."},
{setup: "How can you tell when a human is in a hurry?", punchline: "They forget to close 50% of their browser tabs."}]
It'll display this setup line over the top of the image, each word in turn, so that the text area increases. Each word takes 0.1 seconds to display. And the text box is no wider than the image. But the text can go onto two or more lines if needed.
Now the app waits for the user to press the button 'Show Punchline' which will work by clicking it or anywhere on the page.
Pressing this button displays the punchline, over the image at the bottom, again each word coming in turn, with the same timing, as the text box enlargens covering up a small amount of the image.
When this process finishes, the button changes text so that it says "Next Joke" and pressing this button repeats the process,
The order of the jokes is random but they shouldn't be repeated until the user has seen them all.
The order of the robot images is random but they shouldn't be repeated until the user has seen them all.
There should be sensible twitter card and facebook metatags given the nature of the project.Create this as three files, HTML, CSS and Javascript.
So here we have it: Bots Write Jokes - go click the web version to see 100 or so jokes. Maybe you’ll be entertained.
https://b3ta.com/botswritejokes
The idea could be massive extended with both using robot speech, a button to change the the robot to the next comedian, and even a live link to DALL-E and GPT-4 APIs so that there was infinite content. However I'm not doing that today.
But if nothing else I've amused myself in guiding this AI technology to make something that made me laugh, a little bit, a couple of times.
And here’s the link again if you want to play with it yourself: https://b3ta.com/botswritejokes
And remember - it’s more fun to play with this technology than it is to sit on the sidelines worrying that everything is fucked. Have fun, life is short etc.
Is the next step to book this on an open mic might and get it to learn which jokes work?
Oh boy, these are harsh, and I’m laughing. What have I become?