## How to handle a boring campaign (as a player)

I’ve been tabletop-ing with a longtime group of friends (Shadowrun, but it doesn’t really matter). I’ve been having fun, I suppose, but we are five sessions in and there is still no semblance of a plot. There is no immediate danger to the party, no reason for us to work together and no huge reward in store. Every time the GM creates an interesting plot point (that one time we accidentally assassinated a politician’s daughter), it just ends up getting dropped and nothing ever comes of it (turns out we were never identified).

I don’t think he’s a bad GM. I just think he’s not putting any effort into creating an engaging world for us to inflict ourselves on. Nothing we do has any real impact on our situation and when someone acts like an idiot (like getting plastered before meeting Mr Johnson), there are never any consequences.

I don’t want to be a jerk to the GM since he is a good friend, but something’s got to change. Have you had to deal with a problem like this before? Is it worth it to complain to the GM, or would you try to do something in-character to force his hand?

tl;dr GM is unimaginative and boring. How do fix without whining?

## How to make the Observant feat worthwhile, but not boring, in a 1:1 adventure?

I’ve started DMing a one-on-one D&D 5e adventure. The PC took the Observant feat and as a result, has really high Passive Perception and Investigation (20 and 18 at level 1!). If I use the rules from this question (“if passive perception is higher than the DC, the PC doesn’t have to make a roll to succeed”), then essentially every single perception and investigation check in the scenario I’m running is an automatic success.

In a group setting, that’d be OK: this makes the PC better at scouting, which is rewarding and fun, and it’s generally nice to be the only/first one in the group noticing things. In a solo adventure, however, I’m afraid that it’s going to be somewhat boring. There’s less of a “wow” effect to noticing small, hidden details when there aren’t people around to be impressed by it.

Should I just stop worrying about it, and simply be OK with my player basically automatically succeeding in every perception/investigation check without thinking twice about it? Or is there a way to tweak the mechanics somehow to make it cooler or more interesting?

## How to make research not boring

My players are playing a warlock, a ranger, a rogue/fighter, and an adept (tier 4 campaign). The adept is a knowledge-based adept, and is trying to research a way to stop an ancient evil. Three of the four characters can be doing other things (gathering material components needed for the ritual, etc.). So, the question becomes, how do I make the session interesting for everyone? The obvious option is to have NPCs do the research, but that invalidates the character who is putting forth effort to know how to do research himself. But, if I have everyone else sit around while the one character is researching, that will not be fun for anyone else.

Are there any sources that describe how to handle research to make it enjoyable for everyone? Does the researcher take the heavy book with him, and as the party is fighting, he is rolling into initiative to battle tough passages? That seems contrived. I have seen the research feat in the Eberron Campaign Setting, but the character has not taken the feat yet. So, without it, the character is looking at weeks of downtime to gain the knowledge he seeks? He gets a feat next level (he is a few hundred experience away). Would it make sense to give him the feat a bit early, just so that research can go faster and not distract from the rest of the game?

Any articles or sources that might help me figure out how to make this fun would be extremely appreciated.

## How to avoid a boring late game in strategy games while still keeping victories satisfying?

A common thing I’ve noticed in strategy games (of all types, 4X, RTS, MOBA, etc.) is that most games eventually get to a point where it is fairly clear who is going to win, and the rest of the game just becomes playing out the motions, and if the winning player/team doesn’t make a major misstep, they will win.

This is just kind of the nature of strategy games. They inherently have a “snowball” effect. The gameplay is all about setting yourself up for success over your opponents in the future, and whoever does this better in the earlier stages of the game should win in the later stages. This happens in every strategy game to some extent, even the most classic. In Chess, it becomes increasingly harder to win if your opponent takes more and more of your pieces and forces your remaining pieces into tough situations.

As I said, this is just a fundamental part of the genre, so I’d hesitate to call it a problem. However, on occasion, in these types of games, you have matches where no player/team gains a significant advantage early, and the game comes down to the last turn. In my opinion, these are the most exciting and interesting matches you can have. Furthermore, when this doesn’t happen, the late stages of the game can feel very boring for everyone involved, where the winning player is just awaiting their inevitable victory, and the losing player their inevitable demise (this can be especially unfun for the losing player, as they probably have very few options, and it is just really unlikely that they are having a good time).

So it would be cool if we could design a strategy game that avoids consistently falling into this state, right? Well, I have seen a handful of games like this, where a losing player consistently has avenues to victory, no matter how far behind they are. The issue with this is that if an upset happens (say one player was dominating the whole game, and then a losing player makes one good play at the end of the game to win), that victory can feel very unsatisfying for the winning player, as they may feel they didn’t deserve it. Similar, the player who was winning most of the game may be very unhappy, as they may feel like victory was robbed from them, and they didn’t deserve to lose. So essentially, no one is happy with the result. This approach may also make the early game less fun, as players may feel like it just doesn’t matter.

So is it possible to design a strategy game that avoids both of these issues? A game where we don’t consistently fall into a boring lategame with a forgone conclusion, and yet also keep victories feeling satisfying and deserved? Or are these issues far too fundamental to strategy gameplay to overcome?

If this question is too vague on its own, then we can focus on 4X strategy games, as those are the games I have experience with, and that I am interested in designing.

## Sick and Tired of Clueless, Unimaginative and/or Boring Content Writers? YOU GET WHAT YOU PAY FOR!

I'm going to try and make this short and sweet boys and girls. Not on purpose, mind you, but because I'd already typed out a much lengthier, much more in-depth version of the following but thanks to one of those random, blue-screened, automatic reboot error… things… alas, it was lost. It was lost forever.

Thanks to being a steadfast believer in many things happening for a reason, I've decided to tighten up the overall gist of what I'm going to be saying up in here. All…

Sick and Tired of Clueless, Unimaginative and/or Boring Content Writers? YOU GET WHAT YOU PAY FOR!

## [ Other – Society & Culture ] Open Question : How come smarter people tend to be less sheepish and don’t follow what most generic boring people do just to fit In with society?

examples include einstein , copernicus, Galileo, plato, da vinci, MLK, malcom x, the founding fathers of america, Stephen hawking, abe Lincoln, nelson Mandela, Charles Darwin, carl sagan, Johannes kepler Isaac newton, noam Chomsky, Ghandi, @ioerr its not a stereotype, and I never implied that smart people don’t conform to social norms, my point is that smarter people are less likely to be generic normies

## How can I prevent fights against a lot of minions from being boring?

There was an encounter in my most recent D&D 4e adventure in which the players fought several (16) minion skeletons. Because all of the skeletons were minions, the encounter was not difficult, but it was also not very interesting. Resolving the actions of all 16 skeletons felt like more of a slog than a tense, exciting fight, because for every single skeleton I had to decide who to attack, then roll for attack, then roll damage, which got tedious quickly.

What techniques can I use to make fights against minions more interesting rather than just, “You all attack, then they all attack, then you, then them…”?

## Automate the Boring Stuff: Character Picture Grid

`` Input :grid = [['.', '.', '.', '.', '.', '.'],              ['.', '0', '0', '.', '.', '.'],              ['0', '0', '0', '0', '.', '.'],              ['0', '0', '0', '0', '0', '.'],              ['.', '0', '0', '0', '0', '0'],              ['0', '0', '0', '0', '0', '.'],              ['0', '0', '0', '0', '.', '.'],              ['.', '0', '0', '.', '.', '.'],              ['.', '.', '.', '.', '.', '.'],] ``

Output:

``..OO.OO.. .OOOOOOO. .OOOOOOO. ..OOOOO.. ...OOO... ....O.... ``

How to improve this code?

``def print_rotate_grid(a_grid):     rows = len(grid)     cols = len(grid[0])      for col in range(cols):         for row in range(rows):             print(a_grid[row][col], end = '')         print('\n')        if __name__ == '__main__':     grid = [['.', '.', '.', '.', '.', '.'],             ['.', '0', '0', '.', '.', '.'],             ['0', '0', '0', '0', '.', '.'],             ['0', '0', '0', '0', '0', '.'],             ['.', '0', '0', '0', '0', '0'],             ['0', '0', '0', '0', '0', '.'],             ['0', '0', '0', '0', '.', '.'],             ['.', '0', '0', '.', '.', '.'],             ['.', '.', '.', '.', '.', '.'],]     print_rotate_grid(grid) ``

## Fantasy game inventory — Ch. 5 Automate the Boring Stuff

Here is a practice exercise — Fantasy Game Inventory $$-$$

You are creating a fantasy video game. The data structure to model the player’s inventory will be a dictionary where the keys are string values describing the item in the inventory and the value is an integer value detailing how many of that item the player has. For example, the dictionary value `{'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}` means the player has 1 rope, 6 torches, 42 gold coins, and so on.

Write a function named `display_inventory()` that would take any possible “inventory” and display it like the following –

``Inventory: 12 arrows 42 gold coins 1 rope 6 torches 1 dagger Total number of items: 62 ``

Hint – You can use a for loop to loop through all the keys in a dictionary.

I have written the following code. Any feedback is highly appreciated.

``stuff = {'rope': 1, 'torch': 6, 'gold coin': 42, 'dagger': 1, 'arrow': 12}  def display_inventory(inventory):     total_items = 0     print ("Inventory:")     for item in inventory:         print(str(inventory[item]) + ' ' + item)         total_items += inventory[item]     print("Total number of items: " + str(total_items))  if __name__ == '__main__':     display_inventory(stuff) ``

## Regex version of strip() – Ch. 7 Automate the Boring Stuff

Here is a practice exercise — Regex version of `strip()` $$-$$

Write a function that takes a string and does the same thing as the `strip()` string method. If no other arguments are passed other than the string to strip, then whitespace characters will be removed from the beginning and end of the string. Otherwise, the characters specified in the second argument to the function will be removed from the string.

I have written the following code. Is there any better way to write it? Any feedback is highly appreciated.

``import re  def regex_strip(s, chars = None):      if chars == None:         strip_left = re.compile(r'^\s*')         strip_right = re.compile(r'\s*\$  ')          s = re.sub(strip_left, "", s)         s = re.sub(strip_right, "", s)     else:         strip_left = re.compile(r'^[' + re.escape(chars) + r']*')         strip_right = re.compile(r'[' + re.escape(chars) + r']*\$  ')         s = re.sub(strip_left, "", s)            s = re.sub(strip_right, "", s)     return s ``

Here is an example output –

``s = '.*    alphabetatheta   *4453   +-' print(regex_strip(s, '.+-*'))  >>>    alphabetatheta      *4453    ``