FEB/24 Status Update

Important Notes

  • While I enjoy this, I will be working on it.
  • If I get busy with higher priority stuff or frustrated with the results, I will stop.
  • For fans of my previous homebrew tabletop play-by-post strategy games, they know I may stop for a time but it is never forever.
  • For this iteration, I’ve been recruiting people I played with years ago that I felt were good sources of feedback. I do this every time I start over and think I have something that I have high confidence in.
  • Ultimately, this hobby is going to need to pay for itself if I want to open it up to other GMs or large groups of players.
  • For the current playtest group size, I could run it forever but I kinda want to get to like 100 players or so. Real players are just better than NPCs run by AI.
  • Future guidance is aspirational and should be taken as something that is certain or even likely to happen. Plans change and I’m building in public so much of my planning is in these posts for stuff that may or may not happen.

Current Progress

Core Project

  • I’m primarily working on CityConflicts to get the first playtest ready.
  • Aiming for March 16, 2024

Related Projects that are planned

  • Build in Public Homepage
  • Automated dashboards that handle service status, error info, DAU, etc. are planned as well as a longer term thing when that stuff needs to be relevant beyond discussions in discord.
  • Automated deployment of this blog to up to 3 locations + related status/BI stuff that I want public
  • This eventually will just be for testing as if it goes down, my infra is down, and so status updates / blog posts about the status of the situation isn’t going to be helpful if the page you go to for this is down.
  • Similarly, since I’m going the “build in public route”, I kinda want to be upfront about my operating costs, server issues, who I am using, etc.
  • Something to convert Google Docs -> Markdown for blog posts
  • I tend to do all my write ups in google docs
  • Code Every Day
  • I’m working on Code-Every-Day stuff because it handles the public accountability bit that keeps me on track. It is going to be really, really simple though for now.
  • It also /kinda/ works as a PR tool for keeping the community informed that things are happening and stuff isn’t on hiatus. Maybe. Not really sure if people will look at it or just mute the thing.
  • Personal notification management
  • I’m working to a lesser degree on the notification workflows relevant to informing me of issues in a timely manner. Not that I can respond quickly on a regular basis since it's a hobby. But it is still important to get a phone notification saying “This is down” so I can cut something unimportant short.
  • This flows into the Build in Public Homepage stuff that I’ll eventually need for myself as a source of an overall project panel for budgeting purposes and to log for low priority notifications that I can check out when I have time.
  • I also may use it to automate a bunch of other stuff as I need to tbh.
  • I have experimented in the past with running these via guilded.gg and discord but really anything that doesn’t qualify as “high priority” triggering my phone tends to cause me to ignore basically all such things. Too much noise compared to useful notifications.
  • Low priority notifications I’ll still look at but when I’m busy I’ll just ignore them for a few days without worrying if something broke.
  • So this involves me shutting down my guilded.gg operations bot that I’ve been using and splitting stuff into appropriate categories. I still need all of it, I just only want some to end up on my phone or doing a push notification.
  • Commit linting, automated git/code commit QA, and changelog automation
  • This is really just making sure I’m not committing something with syntax errors, secrets I can’t have stored in git, or other obvious red flags in a commit for now.
  • Eventually, I don’t want to have to write patch notes by hand and push them into the workflow I have going on in git.
  • Just not sure the right way to do it since the current open source options for this rely heavily on some sort of issue/ticket tracking mechanism that would make it as much work as writing changelogs & release notes by hand.
  • It is also not something I need to deal with during playtests with a living game design document to explain stuff that I update by hand anyway. More of a way to handle the other projects so I’m not writing changelogs for every project.

This Blog

There are going to be 3 categories of posts on this blog:

  • Release Announcements and Release Notes for my projects (Games, Tooling)
  • Build In Public Posts
  • Monthly Posts about the direction I want to go in and where I’ve been (like this one)
  • Metrics on operating expenses, daily active users, etc.
  • My lifestyle, game dev, and software dev opinions

Ultimately, this is intended to be a largely anonymous blog with 1 writer (Abydon) as I don’t really plan for this to ever be a business. Or have permanent contributors to the operation beyond volunteer staff / pull requests / etc that will have a scope of work of “What they feel like spending time wise” and none of the management responsibilities for the project.

Idle Interactive in General

Ultimately, this might be something I include in my work portfolio as my official github next time I need to look for a job. I’m not sure mixing my hobbies with work is ideal, especially when there is the chance people manage to include NSFW stuff (Religion, Politics, Violence, etc) via their prompting of AI LLMs or just handwritten roleplays.

The fact I can’t do “Facebook” or “Twitter” levels of moderation is just a reality of this sort of project which is why I require people to be 18+ and have a certain level of maturity that reflects that.

Unmoderated, public user generated content is legal but I’d still like to take affordable precautions to discourage people who lack the age/maturity level to handle sensitive topics appropriately.

So there will be a few of “tech demo” type projects I’m going to maintain that are related to my existing workflow.

That said, this is not something I plan to announce on LinkedIn or consider part of my normal career. This is just a hobby I might link to on a resume for my link to the github since that is still a thing people look at sometimes and I don’t have the time to maintain multiple identities.

Build In Public Homepage

Basically this will be a project dashboard for everything IdleInteractive related. Tracking user engagement with our projects. Github issues. Relevant news. Status of my services.

Basically, something that I can keep an eye on at a glance of the overall status of my projects and also keep myself informed of relevant news/social media content.

This would also trigger notifications (via webhooks) that don’t interrupt the workflow.

  • https://github.com/adnanh/webhook  <- something like this self hosted most likely
  • some related monitoring/tracking stuff to track ping/pongs to make sure the webhook service is running on both ends
  • Probably 3 servers involved:
  • Production and/or Dev (Source of Hooks)
  • Webhook Server (Destination of hooks)
  • Build in Public Homepage + Monitoring of the first 2 to confirm they are operating

Anything truly critical would go to someplace like Discord via EMERGENCY priority.

Probably some overlap with a paid product [ https://statusgator.com/  ] for tracking services I depend on plus my own.

My Code QA, Git Commit Linting, and Changelog Automation Stack

Code quality matters (to a point) so I’d like to include some basic code quality stuff I use for these sorts of projects as sort of a starting point for people who want to heavily automate their own development process.

Some of these are going to require private infrastructure (Gitea) or GitHub as I use them for CI/CD portions of the process.

This will require installations of various open source software since no one has time to build and maintain this whole process by themselves. That is the beauty of open source but also a bit of a burden on the user to find tools that work correctly since these projects don’t have marketing budgets since they are free.

Basically, it’ll be a combination of stuff like pre-commit, various git hooks, and Gitea/Github actions.

I need to come up with a name for this later as well.

This probably will be some sort of static site on a domain explaining my process with a link to github.

Code-Every-Day

While this will not be the final name if I decide to share it publicly, it is a simple collection of scripts for programmers who want to automate accountability and building in public.

The basic concept is you have some daily goals (such as at least 1 commit) and monthly goals (such as just having met your goal hours for the month on hobby projects / coding / etc).

It then automates the posting to places like Discord, GetMakerLog with stuff like reminders that you have been X days without a daily goal completed. It would also post your success to show your community that you are actually working on the projects even if they are not seeing it happen in real time.

Obviously, hiatuses will happen but they should be planned and people should be aware of them rather than just randomly not working for months.

This probably will be some sort of static site on a domain explaining my process with a link to github and II.

Idle Interactive’s Grand Strategy Game Plan

Goal Setting

  1. Build a fun grand strategy roleplay game (or games) as a hobby.
  2. Do so in a way I can support it long term. Or, even better players cover the costs if I end up unemployed so we are not relying on me paying every month.
  3. Scale the player count in the public games to the point it feels truly epic for every game.
  4. Provide a way for other GMs to run the same mechanical rules in their own settings with custom prompts for the AI as well as just ways to hand-write their own stuff for when the AI doesn’t give them what they want.
  5. Provide a way to roleplay (in-character) via the game/website and mechanisms to encourage it. I want more of a tabletop roleplay feel than a video game as a final goal. This will require human moderation (but all communities need these, even if I just only had the discord) as well as automated mechanisms. That said, I want actual roleplay to occur in these games for the players that like that sort of thing. So its not 100% mandatory, but there will be reasonable rewards to encourage it.
  6. This is not meant to be a business. Ultimately, it is a hobby and trying to make noticeable amounts of profit ($1000+ MRR over expenses) is not something I’m interested in as it would be like having a second job. I work enough as it is.
  7. If I think I can get a realistically productive amount of contributions, I’ll open source the games themselves but as this style of game is more “vanity project” it is unlikely that will happen and there would be a steep hill to climb for me to become convinced that would change.
  1. Operating a game with per-request bandwidth/API call fees (such as OpenAI or the other offerings) comes with real financial risk so it's not really something I’d be comfortable with a random non-technical person running who gets surprised by $1000 in a monthly bill because of the wrong configuration settings.
  1. https://news.ycombinator.com/item?id=39520776  <- $104k bill that got waived due to bad PR is not a reliable safety net.
  2. Similar issues exist with many popular cloud services.
  1. So for me, it is really an ethical concern of not wanting to feel responsible for my own mental health that I enabled harm because I don’t have time to handhold users setting up their own versions of this.

Sustainability, Player Caps, and Private Game Offerings

The basic plan was always to use this to run games I enjoy with as many players I could afford/enjoy without exceeding my personal budget for hobby projects like this one. This, however, based on my estimations of operating costs is going to limit me to 10-20 players for a fast game (3 turns/day, 30 days) or 30-60 players for a slow game (1 turn/day, 90 days).

That is a very large scale game for a 1 GM Grand Strategy Roleplay.

However, I’d like the option of allowing more people into these games if budget and player interest allows as my ultimate goal is something that feels truly epic in scale.

Part of that plan is to allow people to run their own online versions of the game, in their own settings, with their friends. However, that requires me to either provide some sort of installation process and customer service to potentially non-technical people trying to set up their own versions. They’d also deal with the security concerns I can’t really save them from if they put in the wrong settings (such as abuse of AI Text Generation APIs that run up their bill).

I may still open source the game at a future date if I think it is productive with appropriate warnings about potential problems with OpenAI not properly shutting off when you hit your monthly cap.

One of many examples of the potential issue: https://community.openai.com/t/api-charged-300-above-spending-hard-limit/104341

So, the solution in mind is donations via Patreon (or Gumroad or a similar service). They would handle the fraud and chargebacks and all the other security concerns about taking payments. People would be able to get some digital benefits after a seasoning period (probably just a time-based delay to allow for chargebacks/anti-fraud measures) so I can avoid handing out benefits that I don’t get paid for since AI LLMs and servers cost me money to operate.

  • Free Tier
  • Max 1 game at a time
  • Limited slots based on my budget with AI narration running
  • May or may not allow people to turn off AI narration for their turns to expand the total slot number as probably 90% of the per-user cost is gonna be AI-related.
  • I’m currently estimating I’ll have 20 of these slots when I’ve got the money.
  • Bring Your Own API Key
  • This is basically banned by all the big providers.
  • So you’d need to figure out some way for me to do this without us violating the TOS of the provider you are using and/or I am using.
  • We’d also need the API to be OpenAI compatible (i.e. ollama2 being self-hosted by you) so that I don’t need to do bespoke development work for you. I may do it if I’ve got enough requests since my goal is just to keep my hobby cheap enough that I can ignore the budget item on my end.
  • Early Adopter Tier
  • The ability to ignore the player cap on the public game I’m running.
  • Once things are more stable in terms of mechanics/design, I’m probably going to move to 1 turn a day and 90 day game lengths so I can offer 10-20 “Early Adopter” spots + 20 public slots.
  • It should be noted this is going to be my “beta versions” of the game intended for testing so there will be bugs/balance issues.
  • Being rotated into the GM spot for my public game budget when I’m busy so they can GM a game without needing to pay.
  • Discord role for Patreon channel access
  • The ability to vote on standard game features.
  • Contributor Tier
  • This is for people who are contributing to the game’s development, documentation, art, and so forth on a voluntary basis.
  • I’m going to be looking for people to help me edit and update static tables for NPC template messages, news messages, etc. As well as the AI prompts and what not.
  • I’m going to be looking for people to keep the official new player guides up to date.
  • Anything art related I might need would be helpful.
  • This is going to have some requirements in terms of quantity of accepted contributions. Details will happen later.
  • The ability to ignore the player cap on the public game I’m running.
  • Once things are more stable in terms of mechanics/design, I’m probably going to move to 1 turn a day and 90 day game lengths so I can offer 10-20 “Early Adopter” spots + 20 public slots.
  • It should be noted this is going to be my “beta versions” of the game intended for testing so there will be bugs/balance issues.
  • Being rotated into the GM spot for my public game budget when I’m busy so they can GM a game without needing to pay.
  • Discord role for Patreon channel access
  • Discord role for Contributor channel access.
  • This provides access to me for game development related stuff.
  • The ability to vote on standard game features.
  • Champion tier
  • The lowest priced tier that is basically allowing me to run a larger game.
  • The goal here is basically to cover operating expenses for the AI narration and web server.
  • Quality of Life benefits. (i.e. Saving more turns and/or some automation options)
  • Discord role for Patreon channel access
  • The ability to vote on standard game features.
  • The ability to ignore the player cap on the public game I’m running.
  • GM tiers that allows people to run 1 private game at a time with a player cap.
  • A dollar / token quota for the game that allows AI narration.
  • A way to turn off AI narration to save money for certain activities.
  • Turning off all  AI narration for private GM-ran games  will greatly increase the player cap for the game but blocks them being turned back on.
  • GM panel that allows custom prompts to customize the setting.
  • Some fluff / mechanic tweaks that I have no idea how they’d work atm.
  • The ability to vote on GM panel features.
  • The ability to vote on standard game features.
  • Quality of Life benefits.
  • Discord role for Patreon channel access
  • Elite tiers that allow people to join X games at a time without using up a GM’s player cap.
  • They would use their own token quota for the game(s) they are in.
  • They would have to accept the GM’s settings on AI narration since allowing players to turn off stuff other players are seeing is problematic imo. So the player would need to trust the GM to be reasonable. But since there is a number of free slots in the game at the same price point, presumably, it would be fair.
  • The ability to vote on standard game features.
  • Quality of Life benefits.
  • Discord role for Patreon channel access

Building in Public

Good Examples

Why it might fail to work now

Communities

There are obviously more options but frankly, my users (grand strategy gamers, tabletop gamers, progression fantasy, and lit rpg enjoyers) are on Reddit. The startup-centric communities have very few such people and no one really advertises their gaming projects in such spaces.

I’m time limited, so it is best to focus on fewer locations with dense populations of potential users.

For marketing purposes, I’d extend beyond my core communities but that is a separate thing to PR/Accountability projects like a Build in Public journaling thing would be.

Thoughts

  • Building in public is not a particularly popular approach for what I’m doing (B2C -> Gaming)
  • Writing blog posts to update people, participating in communities, and doing the build in public process is time consuming and takes away from building the product itself.
  • It is not effective at building an audience unless you are unusually well endowed in terms of luck and/or skill.
  • The people that read this are other startup founder / entrepreneur types which generally are not the ones you will be selling to if you are B2C (gaming) like me.
  • It is embarrassing to fail, and you will fail the majority of the time.
  • Part of why I use an alias is to get past that. The more distant RL and a project are from each other, the easy it is to quit and accept failure. And you will fail 90% of the time.
  • My grand strategy tabletop homebrews and quests and other hobby projects fail (for various reasons, I do try to learn from the process) 90% of the time.
  • The important thing is failure does not affect your financial, mental, or physical health. It is gonna happen from time to time. It isn’t like school or regular employment where the odds of failure are lower. People still fail in their careers, in getting degrees, and so on. It is just not the 90-99% of attempts at side projects like this one.
  • There is also issues if you were trying to run a serious for-profit business
  • Ultimately, my goal is to channel people into the discord community for my projects.
  • One way to do that is traditional guerilla marketing strategies
  • Another way is referral-based strategies (but there aren’t good reward loops for this for me since providing “free game slots with AI narration” is gonna cost me money and I have a $0 budget beyond core expenses for a small # of players.)
  • Building in Public is a mix of PR and personal accountability to keep me motivated.
  • Motivation is a big problem with a hobby that costs money and feels sometimes like working at a day job.
  • Yeah there are highs but there are also lows. And it is never going to be priority #1
  • Providing public accountability and knowing my users are aware of the productivity in a way that isn’t just “I am happy with new feature X” or whatever the end product is, is useful to me (I think) for motivation. I haven’t done this before so I could be wrong.