Categories
Monocategorized

Creating things is fun

Happy 100th post!

So I have been working on a “TTRPG” project for a while now—since 1997 in fact. I have talked about the “Joe the Elf” problem last fall and how I have mostly solved the problem for myself. As a result of “The Difficult Times™” and “hey everyone is playing Dungeons and Dragons now” I decided I would spend some time to modernize my tool from a win32 C++ app into a modern day web application.

I started promoting my web app on the Twitters and now that we have some pretty cool tables, I have been working on my marketing skills a little. Judging by how few nickels I am getting from Linking Random Stuff On Amazon as a Clearly Promoted Item, I still have some work to do.

I am now up to 300 followers and have tens of thousands of impressions with some single digit percentage of engagements. I don’t know what is a good number yet for those, but I have seen some of my random tweets get up to 20% so I know there is some room for improvement.

The product itself generates strings of text to assist storytellers and game designers. This stuff does not quite sell itself. I am making the product very frictionless and very free in order to build an audience and presently that is slow going.

So today I want to show what I am doing to make promotional content for derfdice.

Here is a sample of some output from a derfdice table:

  • Caer Gorom, a decaying Church, overlooking the ruins of a destroyed city.
  • Cael Crevil, a doomed Abbey, shrouded in dark clouds.
  • Dol Ithskull, a crumbling Hermitage built on the ruins of a Motte and Bailey, blackened with scorch marks from eldritch fire.
  • Dol Gorith, an ancient Synagogue, emerging from the face of a cliff.
  • Morth Nevthad, a decaying Hermitage built on the ruins of a Keep, in the heart of a decaying forest.
  • Amon Morthad, a damaged Synagogue, emerging from the face of a cliff.
  • Caer Crevskull, an ominous Convent built on the ruins of a Armory
  • Tyrn Guul, a dreadful Cathedral, sunk into the ground.
  • Caer Ithgul, a damaged Shrine
  • Amon Sheld, a giant sized Bastion, where Overlord Arianerath the Passionate fell in battle.
  • Helm’s Harg, a crumbling Bastion, surrounded by overwhelming dread.

Each of these is a cool, random location that can be used by a DM if they need an urgent random encounter. This describes about fifty percent of “John is just making it up as he goes along” DMing.

How do we go about making this interesting for Twitter?

Let’s take the first ominous fantasy building, which just happens to be my pinned tweet.

After a few attempts at taking pictures of strings with a variety of different formats, I stumbled across starryai. I set up an account and started feeding the string outputs into the site to generate random images.

Here is the one for my pinned tweet:

Caer Gorom, a decaying Church, overlooking the ruins of a destroyed city.

I post one of these to Facebook and Twitter every day.

A few of the DMs on the site are getting deeper into making tables. We got a cool table for tavern meals, and a cool table for tavern drinks.

It stands to reason that the next step was to make… Tavern menus!

One of the very first tables I made for myself was a random tavern generator. I have added the full tavern menu to it to add some considerable flavor to a random location in a tabletop game. The result is pretty awesome.

In order to promote these, I take the headline from the tavern and run it through starryai, and I get a pretty cool custom piece of artwork. In order to elevate the presentation to the next level, I then put the text through a homebrew formatting generator, and append a screenshot of the text to the tavern image.

The end result is, as they say, chef kiss.

This does not have anything to do with career growth or managing teams. This is me talking about a small side project I built with a little help from my friends.

Now that I have updated the framework to work on my phone and run in a browser, the itch to use it myself has increased tremendously. At some point in the not-so-distant-future I am going to get back to running a weekly tabletop game.

I would normally send you off with a scorching final thought. Today I just want to ask a question:

Do you have a creative hobby you would like to talk about?

Categories
Monocategorized

Negotiation Education

Negotiating is hard. There are many books on the subject such as “Getting to Yes” (disclaimer: I git payed if you buy this book). Some of these books will help teach you to be a better negotiator. Today I want to talk about one of the things I learned about negotiating… from negotiating: How to learn your counterpart’s position through negotiation.

When you are negotiating, you are always operating with imperfect information. You do not know your counterpart’s primary desires nor do you know where they are flexible. You can do things in your negotiation process to help understand what is necessary to come to a final agreement.

For example: If you are negotiating a work contract, you do not know if there is flexibility on the feature set or the budget. When I am faced with this situation, I generally break down a project into several optional milestones. This is a good practice for a couple of reasons. For the purposes of this discussion, when you break things down according to feature sets or phases, you have a rough idea what your counterpart is looking for and how much money they have to spend.

When negotiating with startup companies, I find they are generally more cost-conscious and will likely trim additional features or extra platform support in favor of a slimmed-down agreement. Other companies, especially larger ones, might be interested in all of the bells and whistles.

The response to a proposed list of optional milestones will tell you whether features or budget is more important to a potential business partner.

Unrelated to features or cost, you might also learn that time is important. If they urgently need to see something, you should make sure that you are getting a premium for making something urgent. If you need to dedicate extra time and energy towards shipping something as quickly as possible, that constitutes risk.

Another important thing to learn when you are negotiating a project is whether or not this is a part of a longer term relationship with additional projects in the pipeline.

When I am forming a new business relationship, I often want to understand the risks they are taking as well as the rewards. I am very happy to assume some level of risk in exchange for some of the reward. I am not afraid to ask for equity, or revenue sharing on the back end, for a project if I believe in the people I am working with or the project they are working on.

I have an hourly rate for cash-and-carry projects. I also have a discounted rate that I propose if there is an advisory role or stock consideration for getting involved. I do not offer this to every potential business partner.

When do you decide to trade off cash-in-hand for equity or revenue share? That is a great question. I will admit I discounted a large number of projects early in my career for upside. About three quarters of them were mistakes. If the only reason you are going to give them a discount on the work for equity is that it is out of their budget, you probably should not do the project. This is a good example of something that you can learn during negotiation.

The things I look for today in an equity-based relationship:

  • They have proven product-market fit. They have some traction and customers use their product.
  • They have strong financial backing. They have already raised some money from a source where they are likely to raise follow-on investment after accomplishing a specific goal.
  • The leadership team has a strong track record. Whether they have managed large projects or brands in the past, or they have an impressive pedigree, I look for the founding team’s experience and how much I believe in their vision and ability to do something amazing.

Once you have established your counterparts’ flexibility on negotiation and you are close to a deal, you might find that there is still a gap between what they are asking and what you can deliver.

I sometimes bridge this gap through IP ownership. I am willing to discount some of the work that I do in exchange for ownership. I am happy to give a discount on a project if I am just sublicensing it, and I can exploit the IP on my own terms. I will give a company a six month or one year window to exercise a purchase on reasonable terms, generally after they have completed a milestone or raised funds to cover the cost of purchasing the final product.

If you are negotiating a project where there is a limited budget, and no willingness to be flexible on any of these points, there is something you can learn here too. You can learn to just say “No thank you” and get on with your life.

I also learned something else in a different kind of negotiation. This happened when I was working at a startup that was struggling to pivot. We were in conversations with investors and wanted to get some feedback on what we should do about controlling costs and headcount.  When you ask them questions like this, you would expect them to say “we support whatever decision you make”. You can phrase your question in a way that will give you some clarity about what to expect from them in the future.

For example, we had to make some cuts to staffing to get to the next milestone. We asked our investors if they wanted us to make two levels of cuts, one now, and one later, or if we should do a bigger cut all at once. We were told very quickly that we should cut to the bone and do the bigger one. This was a really important piece of information.

If we were told that we could stagger cuts and get to the next milestone that would tell you that they have institutional support and willingness to write another check depending on what gets learned.

When you get told to do one big cut and that you should cut to the bone, that is a sign that you are likely not going to get another bridge note from your investor.

It was an educational moment for myself and for the rest of the management team and we planned accordingly.

I have gotten into the habit of being very thoughtful about my negotiating over the years and asking myself “What do I need to learn in order to deliver the best results for everyone?”

I would love to learn what kinds of things you learned from your own negotiations!

Thanks again for reading along. I know it is summer time. I know you have TikTokToes to watch or possibly New-Show-On-Streaming. In order to compete, I implore you to return here so I may emblazon your eyeballs with molten hot blasts of extreme thinkiness! Satisfaction one hundred percent guaranteed!*

*not an actual guarantee

Categories
Monocategorized

My way is the wrong way

So I spent a few weeks talking about things that I learned from my dad that were awesome. I want to take this week to reflect on one thing that I think he could have improved on.

Growing up on the farm, there were two ways to do things: My father’s way, and the wrong way.

We all immensely disliked doing things his way. It should not be a surprise to anyone that I have seen this pattern manifest itself in engineering teams.

One of the challenges with leadership is trying to set the direction for your team and giving them enough freedom to make their own decisions along the way.

The reason you might have a particular idea for how to build out a software system is that you have encountered a similar problem in the past and have built up some patterns that you like to apply.

The challenge is that if you provide too much direction and guidance, then the team building your platform may not go through those same mental transformations and growth, and they might greatly dislike the process along the way.

There is a fine line between giving people enough direction and support to get to the business goal and giving them too much guidance which might smothering the joy out of their work.

There will come a point in your career where you will be confronted with this problem. You will have a software system to build, and you have a particular approach that has worked for you in the past. You will also have several engineers working with you who might not have relevant experience and you will need to coach them to get it built.

The more senior the development team you work with, the better they are at dealing with ambiguity and creating their own systems.

You will also have an engineer or two who, while just not quite ready, believes they understand the issues well enough that they should have considerable freedom on the project.

The most successful leaders can tell the difference between the previous two groups of engineers. They will let their best people build software unimpeded and check in to give them mild directional feedback and some suggestions on changes to make that will be beneficial.

For the latter engineers, who are not quite there, it is important to find a piece of software for them to build that is relatively low risk and give them a chance to deliver a successful finished product. There is a decent likelihood they will miss the mark and that is okay.

Setting up small parts of the project for people to have an opportunity to ship a piece of software will let your team have the freedom to build things the way that they want, and for you to give them some feedback on how to improve it in flight.

It takes a few years to figure out the right balance of testing people’s limits and knowing when you have a member on your team who you can trust to drive a project to completion.

With all due respect to my father, there is often precisely one wrong way to build software: Your way.

Leaders who try to push their ideas or solutions onto a team often fail. The worst of them will appeal to their role or title as a means to get engineers to build things the way they want. “You will do this because I said so and I am the boss” is not written on a fortune cookie for a reason.

The best leaders will show everyone where the goal is, give them some patterns that they have used in the past as examples, and step in to provide minor course corrections along the way.

Will your team ship perfect software? I doubt it. You probably did not either early on in your career.

Will they learn from the experience? Absolutely. And this is the most important thing for you to manage as a leader in a software development organization.

I am reminded of an interesting quote I heard by another engineering leader. “The best software architects create software architects”.

I think that is very true.

There is nothing more satisfying than working with a team of people who grow professionally and are able to build great pieces of software on their own terms.

I take that back. Perhaps the one thing that is more satisfying to me is when I see someone who has mastered their craft and is ready to mentor and coach the next generation of engineering leaders by letting go of the steering wheel and telling someone on their team “here, you drive.”

Thank you for reading along! It is another short post this week. If you find my ideas wrong or disdainful, then here, enjoy some ironic merchandise from The Office. I implore you to buy this clearly promoted fine Amazon product. After all, if you will not profit from my noise-making, then perhaps maybe I should!

See you next week!

Categories
Monocategorized

College stuffs

I had an epiphany on Father’s Day when I was talking with my son about college courses. We were talking about how some of the classes he took were supposed to be easy and they wound up being hard. I recalled having similar conversations about classes when I was still in school. The difference was generally the instructor. Some instructors created an easy classroom experience and some instructors created a hard one.

This is also true of your bosses and managers. Some of them make it easy and some of them make it hard.

This is important because there is a popular truism that “people do not leave jobs, they leave managers”. I do not know who said it, and I do not feel like Googling it.

It is just one more random thing that you learn in college that helps you professionally.

I am not going to get into a giant argument about whether or not you should go to college—it all depends on the person if you ask me. I do know that a lot of employers place significant value on elements of a college degree.

Completing my degree was initially something I was doing to prove to my father that I could finish something important. He was not a big fan of my love of computers and he was critical that I would go anywhere with it. Eventually I started doing well and he had to begrudgingly admit that he was wrong—maybe not in so many words.

My son is in college right now studying computer science. He is also a left handed pitcher and he is playing baseball as long as he is able to. We committed to supporting that as long as we can and asked him to commit to doing his best academically at the same time.

Will all of my other children attend college? I do not know. I have worked with some amazing people who did not attend college. There are valuable things you can learn from a college experience; however, I do not want to push any of my children into it if it does not make sense for their goals. I will provide them with a pretty good list of reasons why it has value for them before they make their decision about it.

Understanding the difference between college instructors and how that translates to differences between managers is yet another interesting thing that you learn while in school that I did not think about consciously before this week.

Having a great instructor for a class will inspire a love of learning for the material in question and possibly even contribute to a higher grade. Similarly, having a great boss will inspire people to do their best work and maybe even propel them forward on a higher career trajectory.

Every time I wanted to have an easy college class it was usually because it was an elective, or I needed a filler credit to get to the number of credits to graduate. Sometimes I was burned by buying into the folklore that a specific class would be easy only to find that I got “that instructor” who, for whatever reason, has ratched the difficulty knob up to eleven.

People who lead and manage are the same way. I have seen people move to different teams at their current employer in order to find a boss with whom they can work similar to the way that college kids will change classes to get different instructors.

If I uncover any other additional interesting life patterns from conversations with my son about college, I will be excited to share them here.

Thank you again for reading. I hope to keep you entertained with my random old people noises throughout the summer. I am now at a point where I have a big backlog of interesting stuff to write. I get nervous when my list of upcoming conversations drops to less than four.

I am continuing to breathe life into my interesting little DM tool over at derfdice and I will give you all updates about that through the summer. If you can spell D&D, please follow me on Twitter. If none of you do, I will be forced to return to shamelessly hawking affiliate merchandise in search of two nickels to rub together in consideration for spraying so many unrelenting letter and number combinations onto your eyeballs.

Until next week!

Categories
Monocategorized

Faster horses

It is a long weekend with Father’s Day and Juneteenth back-to-back.

I spent most of yesterday enjoying sunshine and alcohol and felt a brief moment of regret for not having written anything.

I suppose I must write “not nothing” for the week just for the sake of checking the writer’s box.

So let’s talk about crypto and Henry Ford.

There are a lot of people who are excited about distributed public ledgers and how that technology can be used in the future. There is also a lot of crazy stuff happening in the crypto space in the name of decentralized finance via distributed ledgers.

I say that carefully.

A lot of stuff that sounds like decentralized finance today, isn’t. It is just re-centralized. This is an unfortunate distraction and it will give distributed ledgers a worse hangover than the Apple Newton gave to touch screens and PDAs.

I respect everyone for their strong negative emotional reactions to the crypto marketplace. I truly empathize with you for your losses if you have them.

For the people who do not see the use for distributed ledgers, I am happy to give you three to five good examples of useful distributed ledgers if you ask me for them directly. I am old enough not to be interested in a general public dismissal of my excited-for-the-future opinions.

Furthermore, if you are in the Venn diagram circle described above, just remember we are on the verge of cars that drive themselves. When cars were first invented Henry Ford made an eloquent statement:

If I would have asked people what they wanted, they would have said faster horses.”

So when you poo-poo my statements you should understand that in my head I am hearing the sound of a horse galloping away after someone mashed the “Playback 1.5x” button.

See you next week at our regularly scheduled time!

Categories
Monocategorized

Sunshine!

One of the more frustrating challenges you will encounter in your leadership journey is when someone on your team does not like you. It happens more often than you think and it is also difficult to address.

Our family adopted a girl from Korea many years ago and in the course of that personal journey I learned about something called “Sunshine Policy”. You can Google the subject—it makes for good reading. I realized a few years afterwards that this is a great term to describe how to deal with people on the team who do not like you.

When I am faced with someone who dislikes me on a team, I find it best to adopt the approach of “encouraging courteous interaction and providing friendly assistance”.

It is very hard to develop this habit, especially if you can tell that the other person does not like you. It is also important. Both of you were hired to build things and solve problems, not to pick each other first for games at recess. You might counter-argue that you will solve problems better together if you like each other—and I completely agree with that. The challenge is how to take a relationship that started as a negative and turn it into one that is positive.

So how do you change that? Very carefully. You will need to choose your words wisely in conversation and figure out how to give them as much support and positive feedback as possible.

One of the things I find myself doing quite a bit is getting together with the individual in question and expressing curiosity in how they see things. I will often share my own point of view in the process and then when we find out what is different, I make a point of appreciating the difference in our point of view and thanking them for their time.

I have found this to be a powerful tool to reduce team dysfunction.

It is easy to find it distasteful or frustrating to interact with someone who doesn’t like you. It is important to overcome this for the good of the team.

I invest extra time on check-ins with them, and making sure they have everything they need to be successful.

Is it possible that this could seem insincere or make a bad problem worse? It is absolutely possible. The challenge is to build up the tool chest with non-negative interactions and to understand what is too much and what is not enough when it comes to creating a functional professional relationship.

I was expecting this to be a lot longer today but I think that is pretty much the story-of-the-day in totality.

I guess it was best said in a popular movie from my youth:

“Be Excellent To Each Other.”

If you have trouble remembering that then perhaps you can slide some nickels my way by Purchasing This Clearly-Promoted-By-An-Amazon-Affiliate-T-Shirt-From-The-Movie.

If that does not feel like a worthwhile investment of your hard earned moneys then tweet this or snip-snap it or something.

See you next week esteemed readers!

Categories
Monocategorized

Presales

Someday I really want to write a book called “stuff no one will teach you”. The problem is that technically I want to teach you these things and suddenly the title becomes an oxymoron. This is the kind of thinking that keeps me up at night.

In the late nineties I worked as a presales engineer in an enterprise sales organization. It was a very different experience from building products and I learned a great deal in that role.

Decades later I find myself applying some of the lessons I have learned and passing on those learnings to people I work with.

Let’s talk about one of those lessons today!

A previous employer had a process for new software development where the lead engineer would write up a technical design document and present it for review in a meeting with engineering leadership.

These reviews were often savage and the outcomes were a mix of “go do it over” and anxiety.

I watched a few of these happen with the same curiosity and horror one might have driving by a road accident. I decided to see what I could do to help make this experience smoother since one of my engineering leads was about to go through the process.

I asked one of the senior engineering leadership why these meetings were so brutal. He smirked and told me that quite often these meetings were usually the first time that people presented ideas to him, and quite often they were missing some key considerations for a popular game at scale. The feedback given was sincere and in earnest—it was just horrifying to the person writing the document because they did not consider very important things that were necessary.

I was a little surprised. I decided to confirm my suspicions and speak to the engineering lead who was about to make his presentation.

Sure enough, he had not shared the document in advance for feedback.

These review meetings were not a place for someone to get feedback that required substantial redesign. They were supposed to be a place where maybe one or two small tweaks were needed to get the design as good as it can be before starting development.

Because this is the first time that some of the senior leadership were seeing the designs in question, quite often there was something significantly missing or an assumption that was fundamentally wrong.

I encouraged the engineering lead to set up a thirty minute meeting to go over the design in advance.

The leadership review afterwards went smoothly.

One of the things that engineering leaders need to learn on their voyage is that you should not be afraid of asking for help or guidance. I encouraged the engineering leaders I was managing to be sure to get advice and guidance before putting their software designs up for review.

Maybe the time I spent working on a sales team helped me to understand the value of getting your work cross-checked. We would always have presales meetings and do dry runs of our pitches and presentations. Even now, I spend time sending materials over to my peers, and similarly review their presentations before sending them off.

I have always found that I have been rewarded by doing some additional work to make sure that projects and presentations have had extra eyes on it.

Most organizations have a formal review process and it is always a good idea to make sure that people who make yes/no decisions on your projects have as much opportunity to achieve understanding as well as put any concerns on the table privately. If you can get some good feedback from them on things to add or adjust, that is also a benefit to the overall product, and I think people enjoy hearing you thanking them for the ideas when it is finally time to get the project approved.

Do not be afraid to put some extra work in before presenting a new project for approval at work. The more time you spend outside of that meeting making sure that all of the stakeholders have an understanding and a window to give you feedback and suggestions, the less time you will need in a large room filled with stakeholders making adjustments and addressing issues.

It makes your project look better and it respects the larger group’s time.

This does not just have to apply to project work. When I am sending emails around crucial conversations at work, I also reach out to people to get feedback.

You should give this a try at work. Collaborating with decision makers and making sure you have great shared understanding with them will only help you in the long run.

Thanks for reading along! I look forward to telling you more stories next week and seeing if there is something with which I can entice a profit-making click from you with my Amazon Affiliate account. Every two or three months they send me a reminder that I have made zero nickels and that the pending balance will carry forward. Clearly a case of “tell me I am a bad affiliate marketer without telling me I am a bad affiliate marketer”. I accept it as honest feedback even if it is attempting to gaslight me into selling more.

Categories
Monocategorized

Farmer Talk

I apologize for my unexpected and unannounced absence last week. We took the kids on a trip and I do not like to advertise that I am going to be out of my house for many days before the fact. Because the looters. The media tells us these are difficult times.

So I am back home now, minus fifty percent of my celery plants due to a surprise heat wave. A shout out to the pumpkin plants that sustained nearly zero damage in our absence. Based on how well the pumpkin plants did without water during extreme heat, I am going to remind people during challenging times to imagine themselves as a pumpkin plant. I will nod knowingly after sharing this wisdom. Actually that is not true. I will sigh patiently and explain the difference between the celery plants and pumpkin plants given what I have learned in my haphazard home gardening experiments.

I am going to slightly change the subject now.

Today I am going to talk about next year. More specifically what my father told me about next year.

I wrote previously about stuff my father told me, and it was an absolute hit. It did not net me many nickels of shameless Amazon affiliate merchandise, but it resonated. In a sense I have become my father because almost all I do now is make new and interesting mistakes and then lament about them to anyone and everyone who will listen. In the not-so-distant future I will prepend these stories with “you know what is wrong with the young people today?”. Then the circle will be complete.

I digress.

My father was a farmer and he loved it. I loved farming a lot less than he did. I ran away screaming from farming at the first opportunity. It is why my life now involves so much computers and so little frozen manure and unchopped firewood. I will let your imagination fill in the details.

The one thing I will always remember about my father and farming is fall time harvest. At the end of the year, when the grain is all bagged up and the bales of hay are all neatly lined up on the field, I would walk around with my farm-loving father who would survey the harvest output. He would go through some mental internal post mortem and at its conclusion he would nod slowly and make a profound declaration.

“Next year will be better.”

After hearing him say this a few times, I did my own mental inventory of the year’s produce.

He would say this in good years and he would say this in bad years. At an early age, when the years were good, I was admittedly confused. My advanced math skills told me that this declaration made some sense during the bad years and that it made less sense during the good years.

I never challenged him on his declaration during the good years—I was too busy plotting my great escape from a life of chopping firewood and extricating frozen manure from one location simply to move it to another.

It was not until decades later that I realized that he never actually considered the year’s output in his declaration.

He was performing a ritual to help him prepare for the coming year.

Farming is a lot like running a startup. You have unexpected natural disasters, supply chain issues, and a host of other unfortunate surprises. Whether it is market economics or fields being flooded, bad things happen at an incredible rate in both worlds.

I remember the first time I had to shut a company down. I gave a thoughtful presentation at GDC if you are interested in hearing more about it. Disclaimer: I get zero nickels from GDC clicks—you can watch it free of concern that I am exploiting your thirsty eyeballs for the moneys.

After we went through the process of shutting everything down, I remember a moment where I was alone at home and feeling a sense of quiet deja-vu. It was like I was suddenly a teenager again, standing in a field staring at rows of neatly lined hay bales. I could almost feel my father standing beside me as if this was some kind of sappy Kevin Costner Turner Classic movie.

I do not know what possessed me to do so, but I nodded slowly and found myself repeating my father’s mantra.

“Next year will be better.”

I find that I have adopted my father’s farmer mindset now that I am in charge of all my decisions.

It does not matter if it is a good year.

It does not matter if it is a bad year.

I always tell myself that next year will be better.

This is such a super serious subject for me that I don’t know how to follow that up with a smarmy request for “blah-blah socials” or “something-something buy this”.

I will see you again next week.

Categories
Monocategorized

Table Talk

I have spent a decent amount of time in the past few weeks experimenting with marketing. Some of this involved flat out spending money on audio equipment and some of it involved “Collabs”. Some of this also involved figuring out how to inspire curiosity on the tweeters.

For those of you who did sign up at derfdice.com as a result of all that marketing—Thank you! I have been randomly handing out premium account upgrades like they are candy due to the volume of good feedback I have received from people.

I am super glad to see that I am starting to get traction.

I will be sprinkling more of my personal learnings into my weekly posts. I am very sorry if that is less interesting than my reflections on decades-old career mistakes. I cannot pretend to know the desires of the silent majority and I have not yet gotten any requests for content from the vocal minority. Do I even have a vocal minority? If that is you, say something!

Today I want to talk briefly about making cool tables. There are a lot of people out there writing about the problems that Derfdice solves and even some well-dressed internet people posting videos about it.

I discovered this week that there is considerable value in show don’t tell.

I initially just started sharing the text outputs from a few really good tables. That did not get me many stars on the Yelp.

So I decided to leverage The Power Of The Internet And Technology. I have been using some really cool procedurally generated art tools from starryai to help generate some more visually compelling posts. I think this has been successful.

I think I started getting more success when I decided to create my own new tables to show the art of the possible. In a magical world of tomorrow I am hoping to feature other people’s tables but for now I am going to eat my own dog food. You can Google that if you like—it is a popular enough and important enough early startup activity that merits its own gross-sounding soundbyte.

This week I built a table to generate ominous random buildings and that is when people started showing up to the party.

The good news is that making tables is fun. The bad news is that I need to figure out how to get people to stick around on the site long enough to want to make a table or two. Part of the magic in making tables is in using other people’s publicly available tables.

I am going to include the top level of the Ominous Fantasy Buildings table for an example:

Ominous_Fantasy_Buildings
1d13Result
1-3{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Religious_Buildings}
4-6{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Civic_Buildings}
7-9{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Military_Buildings}
10{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Religious_Buildings}, {Building_Special}
11{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Religious_Buildings} built on the ruins of a {derflib::Fantasy_Military_Buildings}
12{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Military_Buildings}, {Building_Special}
13{cthogan::Somewhat_Sinister_Site_Names}, {Building_Descriptor} {derflib::Fantasy_Religious_Buildings} built on the ruins of a {derflib::Fantasy_Military_Buildings}, {Building_Special}

This is probably a bunch of noise to most of you but the above table from derfjohn uses tables from both derflib, an account I made that was populated with a bunch of really simple tables, as well as cthogan, a good friend who created some really cool tables.

If you scrutinize this table closely what you will see is that it generates a handful of really common structure names 9 out of every 13 times. There are a few different building types to add variety.

If you look closely at the remaining 4 out of 13 times, it generates a Special description.

Building_Special
1d11Result
1-3shrouded in dark clouds.
4in the heart of a decaying forest.
5on the edge of a rumbling volcano.
6amidst a corpse-strewn plain.
7atop a treacherous peak.
8in a misty valley, reeking of death.
9overlooking the ruins of a destroyed city.
10surrounded by a swampy moat.
11where {Royal_Male_Name} fell in battle.

The end result is a pretty wild collection of ominous buildings.

  • Tor Morskull, an ancient Monastery built on the ruins of a Barracks
  • Crug Crevas, a simple Jail
  • Caer Nevrow, an ancient Cathedral built on the ruins of a Tower house, in the heart of a decaying forest.
  • Ered Dinskull, a decaying Town hall
  • Ered Crevas, a simple Hospital
  • Caer Banil, an ancient Town Square
  • Dol Gorskull, a looming Convent, shrouded in dark clouds.
  • Crug Guul, a looming Notary
  • River Morrow, an unassuming Keep
  • Morth Greynor, an imposing Motte and Bailey
  • Mount Ithil, an unassuming Shrine, shrouded in dark clouds.
  • Minas Tirom, a partially constructed Notary
  • Ered Ithrow, a simple Abbey, shrouded in dark clouds.
  • Ras Morom, an imposing Monastery
  • Mawr Moris, a decaying Almshouse
  • Mount Banis, an imposing Jail
  • Tyrn Mornor, an unassuming Cathedral built on the ruins of a Castle
  • Crug Dingul, an imposing Fort
  • Ben Dogul, an ancient Bridge

You will notice that some percentage of these entries are pretty much trash—This is okay!

The beauty of this site is that it generates a whole pile of randomly rolled stuff so you can pick out the parts that you want to use.

It is far easier to pick three really cool sounding things out of a list of ten items than it is to create three really cool sounding things.

You will notice that there is a hefty amount of special buildings that are shrouded in dark clouds.

This table is a work in progress. I expect that will eventually just be “1” instead of “1-3” on the table. There are some tables in derflib that have 200 entries.  At the end of the day this will probably be closer to 20 than 11 but you never really know.

Feel free to check out derfdice.com if you need to generate random content—whether it is for a TTRPG game or for a bunch of NPCs in a video game or even if you want to make a funny spicy internet startup name generator.

As always, please feel free to Socials this post. Hopefully you find something here interesting enough that is worth sharing.

If that doesn’t happen I think I have enough eyeballs here to start assaulting you soon with Raid: Shadow Legends ads. I am hopeful it will not come to that!

See you all next week.

Categories
Monocategorized

Progression Obsession

I am going to start off this week strongly recommending you read The Power of Habit. Yes, this is an Amazon Affiliate Link. Yes, I fully intend to profit madly from it. Yes, I am aware that this is totally wishful thinking even though I liked this book so much that I have purchased it repeatedly.

I first became aware of this book when visiting the office of a random HTML5 game company and noticed that they sprinkled copies of this book around the office. It piqued my curiosity and I decided to buy my own copy at home and read it for myself.

I wish I had read this book in 2004 even though this book was published in 2014. Reading this book would have helped me to understand why one of my game publishing experiments was doomed from the beginning.

One of the important parts about releasing a successful game is understanding that you need to release one or more unsuccessful games before that happens. You need to build a lot of stuff to ship a game and very seldom will you fire on all cylinders right out of the gate. I have come to understand that you sometimes need to build these pieces in isolation so you can stack your successes on top of each other. You are correct if you think I have written about this before.

The previously mentioned doomed game publishing experiment was a Flash game that I released on Kongregate. I decided to create and publish a game that included some fun narrative elements. In order to keep the costs down and reduce the schedule I wanted to keep the feature set very small. I wound up making it too small. I decided that building a progression system was not important to the story and therefore would not add much to the product.

I am going to fast forward a few months to the blistering comments in the three star reviews. The universal feedback that I received is that this would be a much more engaging product if it had some progression systems built in.

So how did I wind up in that place?

The answer is a strange one and an infinite one. In fact, it is also an adventure and it is space.

For those of you who assembled the keywords correctly, I am in fact talking about Strange Adventures In Infinite Space.

Strange Adventures In Infinite Space, referred to as SAIS for the rest of this post, is an entertaining little roguelike game where you are piloting a spaceship into a vast and unforgiving universe.

Every game you played was randomly generated and filled with unequal amounts of wonder and dread—emphasis on the dread. Most of the time SAIS is a very short and brutal game. You launch yourself into the cosmos, you encounter horrific and bewildering aliens, and sometimes find mildly better technology for your ship.

The vast majority of endings are terrible. You either die in the nether reaches of space, or return home unprofitably and wind up broke.

I wanted to love this game so much, I really did! Unfortunately playing SAIS is like scratching a mosquito bite—it is fulfilling in the moment but leaves you with painful welts and scars.

If you are a dirty roguelike lover, you are probably mad right now. I accept that. I am happy to have made you angry because that is the response that loving a roguelike inspires—it makes you angry. You should probably slide your chair away from your computer and count slowly backwards from ten while you process your emotions… I assure you that I am gaslighting you from a good place.

SAIS is absolutely a “critically acclaimed indie masterpiece”. That means it did not sell millions of copies.

I do think that the creator of this game would have similarly benefitted from a read through of “The Power of Habit” which I have linked above in an effort to steal nickels from you and Jeff Bezos at the same time.

I will not steal the thunder of the aforementioned book. I stand to profit from vaguely encouraging you to read it in many many ways. I will at least say that I have accepted into my design tools the importance of habituating players to games.

And this is where SAIS and many roguelikes have failed.

It is important to get players into the game as fast as possible and experience what a game has to offer. Through the power of modern analytics, we can put most games under a microscope and understand things like “replayability” and “churn”.

A deep study of graphs and data from mobile games will show you how fast a player will yeet out of your game. I know these are very scientific terms and I hope you will believe me when I say that a player is much more likely to stick around and play your game if one of two things happens: They have to be rewarded for their time in some capacity or at least believe they have the ability to be rewarded in the near future.

Modern roguelikes have accepted that this is important and similarly learned the lesson of my failure on Kongregate—progression is important! I will call your attention to the elegantly crafted “Vampire Survivors” game. It has tens of thousands of overwhelmingly positive reviews on steam, and is a game where you tend to die frequently and horribly.

Regardless, they have added a sufficiently valuable progression system that lets you carry some success forward from your failure in the form of collectable gold coins you can invest in your baseline character for marginal gains for each replay.

This is an important lesson to learn if you are building games. It is also an important lesson to learn if you are building consumer products in general. Establishing habits and rewards for players is a very important factor in the success of a product. Habits and rewards would have improved the outcome for my little publishing experiment. Habits and rewards would also have catapulted SAIS to greater success and fame.

The most amazing part of SAIS for me was its sequel. I do not think that there is a sequel for a game that has failed so hard to be better than its original than the sequel to SAIS. It is so bad that I do not want to name it or link it. It is so bad that I actually feel like I need to give you one of those “this product may cause injury, rashes, pain, or worse” disclaimers like one of those creepy tv commercials for medications before you go off looking for it.

I talk quite a bit about SAIS because I wish to make my own version of a space exploration game. SAIS was very close, as was another similarly unrewarding mobile game called “Out There”.

A space exploration game that is more fun and more enjoyable than SAIS is in my list of top five products I wish to make. There are probably a hundred things in that list or more. I always tell people I am more than happy to talk about items six through one hundred because I know I do not have time or ability to do anything about them.

I talk a little less about items one through five because they are My Ideas and they are Precious to me like that stupid One Ring is to Gollum.

I will share “John’s Big Five List Of Games I Want To Make”, even though talking this much about them takes me completely out of my comfort zone.

  1. An MMO where every sentient creature (monster, animal, and player) is driven by players rather than AI.
  2. A survival game where crafting patterns are granted one at a time to the world to “craft progenitors” who create artifacts for a time limited window that get incorporated into world lore before patterns become widely available.
  3. A train game. Heck yeah! Who doesn’t love train games?
  4. A space exploration game with delicious emerging narrative. See SAIS. Also see: The Expanse.
  5. A modern Gateway To Apshai variant, which just so happens to be the 8-bit successor to Diablo.

I reserve the right to reorder this list of Audacious Projects and move things up and down into the top one hundred. I have seen items from the middle of the list emerge into the marketplace as novel products with varying levels of success. There are no new ideas I suppose.

In the meantime, I hope you at least decide to take a look at SAIS and perhaps even read the previously linked book on Habit. Hopefully you have all made a Habit of reading my weekly ranting.

Speaking of weekly ranting, this one would not be complete without me attempting to gaslight you all into being my marketing department. If you enjoyed this assemblage of letters dancing over your eyeballs then Retweet! Share! Print-and-fax if that is all you can do!
See you all next week when I once again fail to get nickel-inducing clicks on my precious and clearly labeled affiliate marketing links.