Malcolm Anderson
The future of @gptupaguy, and my plans for summer 2021
2021-05-27

It's sure been one heck of a year for me so far! The Twitter bots I launched have done very well, and this summer I started an internship that's been a lot of fun. In this post I'd like to talk about what's happened, and what my plans are going forward.

Twitter bots

In January (okay, technically it was in December), I launched the Twitter bot @gptupaguy, which very quickly became my most widespread project to date. In February, I launched @HD2DGenerator, which also grew quite quickly. And a few weeks ago, I kicked off my third bot, @everymacOS, which aims to help Apple by posting a title card for a version of their desktop operating system named after every place in California. In order to make managing these bots easier, I created my own local Twitter bot system, called Tweetinator, learning a ton about Flask, MongoDB databases, and Raspberry Pis along the way.

The popularity of my bots has been really uplifting. As I'm writing this blog post, @gptupaguy has over 8,700 followers, and @HD2DGenerator has almost 4,000 followers. Getting to see people enjoying the weird stuff the bots post is extremely rewarding (even if said stuff is not actually made by me, haha).

Farewell, @gptupaguy (but not for a few months still!)

The @gptupaguy account was my first-ever dip into the world of machine learning, and it produced some really bizarre and amusing results. Here are a few of my favorite safe-for-work ones:

It's been quite the ride, but for now, I think I'm done generating new posts for the @gptupaguy account. The last few times I've tried to create new GPT-2 models for the account, the results have turned out poorly. Either:

  • the model is undertrained, and the results aren't interesting,
  • or the model is overtrained, and it just spits out verbatim posts from the training data.

I haven't been able to create a new model that has the same "magic" as the models from the early days of the bot. The gradual end of the account actually started, back in late May - I don't think I ever saw anyone take note of it, but posts moved from being every 30 minutes to every hour.

I want to stress, though, that the bot isn't going away any time soon! The last time I generated a new collection of "guys" for the bot, I generated a lot of them. There are over 2,000 Tweets queued up on the account as of right now, which places the last Tweet somewhere in late August 2021. So there's still plenty of content yet to come from the bot! And keep in mind that this decision isn't necessarily final; if I'm able to figure out how to train models more effectively, and/or get a nice new set of training data, I may decide to continue the bot. From where I am right now, though, I feel like this is likely to be the end for it.

I may also post my trained models online, so that others can use them to generate their own guys. Please let me know if this is something that'd interest you!

@HD2DGenerator's future

My second bot, @HD2DGenerator, aims to replicate the titles in Square Enix's HD-2D series of games, which currently consists of Octopath Traveler and Project Triangle Strategy), by taking two random nouns from an English dictionary and putting them together. The results have also been interesting to say the least:

Around the same time that I mass-generated posts for [@gptupaguy](https://twitter.com/gptupaguy), I did the same for the [@HD2DGenerator](https://twitter.com/HD2DGenerator) account, and right now it's got enough posts on it to make it to late July 2021. The simplicity of making posts for this account makes it much easier to generate a bunch at once without worrying about filtering them out, but it also means there's a lot more "nonsense" posts.

On a few occasions, I've taken requests for manual posts to the account, as well as made my own when I had an idea I really liked. Given that the "bot-ness" isn't nearly as an integral part of its identity as it is for @gptupaguy, I'm going to start taking post requests via DMs on the @HD2DGenerator account! The randomly-generated posts will continue, but will be interspersed with submissions, depending on how many I receive. This'll be my first time taking requests for an account, and I've got a lot of other stuff on my plate as well right now, so it may take a bit of time to get up to speed. I'll do the best I can!

Future bots

I've got a few ideas for Twitter bots that I may put into motion in the coming months, if/when I have time to. Several months ago, I started experimenting with GPT-2 models trained on the Twitter account @KidsWriteJokes, and got some pretty good results:

what do you call an elephant with two goatees?

french cows

what did one pigeon say to the other pigeon?

I hope you're ready for all the milk you're gonna drink

what did the cat say when it bumped into the wall

WAIT A SECOND

I don't feel like I have enough posts generated yet to give myself a good buffer, so I'm going to wait on kicking that account off officially until I can dedicate a bit more time to it. When I have more news to share regarding this project, or any other projects, I'll be sure to post about them!

Sneaksters

It's hard to believe it's been nearly three years since I started working on Sneaksters. Without a doubt, the game is my longest-running project, and probably the one I'm most proud of.

An old screenshot of Sneaksters A new screenshot of Sneaksters; a guard is chasing the player
2018 versus 2021. It's come so far!

Versions v0.4.6 and v0.4.7 of the pre-alpha released a few days ago with some nifty bug fixes improving support for the Xbox Wireless Controller and PlayStation DualShock 4 controller.

There are some ideas for new features and game mechanics I'd like to implement one day, but first I'd like to make sure that what's already there is (reasonably) bug-free, so I'm not building on top of a crumbling foundation. Between that, and not having a lot of time to work on projects due to my full-time internship, I'm going to be taking a little bit of a hiatus from the game for now. I'll still be active on the SneakHub Discord server and will try to respond to questions and feedback, but I won't be attempting to add any big new features until I'm more confident the game is ready for them.

Other projects

As I stated previously, with my internship this summer, I don't have a lot of time to dedicate to personal projects. I'm hoping to dedicate more time to my creative writing projects, including a heavily Ace Attorney- and Encyclopedia Brown-inspired visual novel script and a sci-fi/fantasy novel that I've been slowly building in my head for many years. There are also a few mobile and web app ideas I've been thinking about that I may take a stab at realizing later this summer, depending on how things go. If I have anything cool to show off, I'll be sure to do so, both here on my blog and on my Twitter account.

Conclusion

This summer looks like it's going to be quite busy for me, and definitely different than I was originally expecting - but still hopefully a lot of fun. I'm looking forward to learning a lot at my internship, and using it to make cool stuff in the future. Thanks for the support, and I hope to be able to share more things with you soon!

© 2024 Malcolm Anderson