This blog post is the second in a short series about the @archaeogameideabot (which is comprised of a crowd-sourcing thing on top of a generator which spits ideas out through a twitter bot) which I made one glorious Thursday afternoon when the office was empty and my coffee-cup was more than half-full. This post will quickly explore how I went about creating the bot.



SO! The last post that I created on the @archaeogamingideabot detailed why it was made: namely, because coming up with ideas for how archaeology can be used outside of the generic *stick in in a different temporal era* is quite difficult and requires a lot of discussion and development and experimenting. The way which I figured I would go about this would be twofold – scraping data and manually sorting it and then crowd sourcing additional ideas. The question then becomes: how do you get people to give you ideas? And how do you automate the entire process so that you can sit back, put your feet up and watch the archaeogame generation happen? – this blog post will deal with the second part of this…

Prototype 1:

The first prototype for the bot used a google form and involved me manually having to copy-paste and move data around. Now, I am a horrifically lazy person (if there is a way to automate something then I simply cannot understand why I would do it manually) and thus I set about investigating how JSON might be used to feed directly from a spreadsheet into the generator.


As it turns out this is not only possible but reasonably easy to achieve (ill put a code repository up some day when I have tidied it to the point that I am not outright shamed by how untidy it is). These would then be copied as a string into a tweet. Now, this worked ok… to a point… but twitter has a character limit right? So game ideas were hugely restricted by this, and I don’t like restrictions much… So to get more information into a tweet I was going to have to use pictures.


Problem was that I knew how to create bots which tweeted words, but pictures from my own hardrive… that was another story. Thus in the first prototype this was a manual process – but, given how lazy I am, I soon figured out that I would lose interest in screen-shotting 5 images a day, saving them, opening up the twitter account and uploading them to send. At this point the workflow for the bot looked something like this:


  • Scrape blogs [automated]
  • Input scraped data [manual]
  • Get inputs [crowd sourced]
  • Spit out a string [partially automated]
  • Print-screen string [manual]
  • Upload images to twitter [manual]


As you can see… there are some sticking points towards the end which needed some work.



Prototype 2:

To overcome this manual labour issue I decided to institute two things: a canvas function which runs locally five times a day, pulling screenshots from the generator and saving them to a file and a python script which would randomly fire twice-ish a day to pull an image from the designated folder and post it to twitter. Ill go into the finer details of this at another point but basically, through some coding magicks I automated the entire process – to a point. Now the  workflow looks something like this:

  • Scrape blogs [automated]
  • Input scraped data [manual]
  • Get inputs [crowd sourced]
  • Spit out a string [partially automated]
  • Print-screen string [automated]
  • Upload images to twitter [automated]
  • Minor Twitter interactions [automated]


Where to from here:

So two key issues still remain: how do I get the bot to tweet a combination of new and old ideas, and how do I make sure that similar ideas are not tweeted in succession? The first one is being pseudo handled at the moment using some really bad code that forcibly selects a random image between a sequence at each run. This method *mostly works* but I have noticed that it creates a recognisable pattern (though I’m not actually sure anyone but me really cares about this). With regards to the second issue: this is an ongoing issue… because of my choice to store things as an image through a canvas capture I am not sure how to gain this meta data and use it effectively. If you have ideas, please do tell me, otherwise I will work on this in the coming days!


In the next post about the bot I will go into how people have been contributing and what we can learn from the ideas the bot has spat out so far! Until then: contribute for yourself HERE and explore the wonders of the bots ideas online HERE and on Twitter HERE.