wandering cartographer


vectorpoem
@vectorpoem

One of my most complex bots is now on cohost, and you can follow it at @wadbot: one totally random Doom level a day, pulled from almost 30 years (πŸ’€ me) of modding history!

Posts simply link to the tumblr original post, which embeds nicely here, and are generated by a "reposter" script I created recently to fill the void left by the death of twitter's API.

For those interested, here's a summary of how WADbot posts screenshots from random Doom levels, from the readme:

  1. I periodically grab the latest from the idgames archive of user-created levels, and run a script that adds them to a big index of every valid level in the archive - 57,871 by the current count.
  2. I run the bot itself, which opens a random level from the index in GZDoom, running a ZScript mod that visits every sector in the level, finds the "most interesting"1 spots, and takes screenshots.
  3. The bot then uploads the top 3 shots + map description to Tumblr as a draft post. I do this for a few weeks' worth of posts in a batch, review them2, then queue them all up for posting, one a day at 6:30pm PST. The whole process takes about 10 minutes every 2-3 weeks, it's sort of a Sunday ritual for me at this point.
  4. At 6:56pm PST every day, the reposter script runs and grabs the latest tumblr post. If it hasn't been reposted yet3, the script generates the Mastodon and cohost reposts.

Enjoy! If at some point cohost adds the ability to queue up posts, I'd consider moving it here from Tumblr.


  1. a combination of highest detail and highest number of unique textures and sprite objects.

  2. I rarely make any changes to or reject a draft post; sometimes weird map scripting will result in a black or blank wall screenshot, which I delete, and very rarely the map name or content will be some juvenile slur type crap. I've let stuff from the themes/x-rated/i_am_old_enough_to_look_at_this/ folder through, generally.

  3. This only happens if I let the queue get empty.


You must log in to comment.

in reply to @vectorpoem's post:

a combination of highest detail and highest number of unique textures and sprite objects.

oh wow that's pretty clever! i wonder how you actually calculate number of unique textures and sprites, though