1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Guest, due to a lack of interest, playerbase, and general desire to continue, PO will hereby cease our separate tiering and adopt Smogon tiers for SM. More information and updates here.

    Dismiss Notice

Do's and Don'ts in Theme Creation (WIP)

Discussion in 'Mafia' started by Shazan, Jun 13, 2014.

Moderators: heartbreaker, Water
  1. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    Hello everyone, in this guide we will not talk about coding, but we will talk about suggestions and techniques to design a balanced and enjoyable theme.
    For this motive me and the other expert coders will post here some tips to help new coders to create their own coding method and where they can ask suggestions about how they can solve their design problems as for exemple the problem to build a good spawn list.
    The Begin
    Keep it Simple:
    Lots of themes try to code in a lot of unique features so they're different, but it can make a theme overly complicated. Old themes tend to only have one thing really defining them to make them significant (Kirby has Mike's very safe claim; Zelda has turned into a theme where you see the most fakeclaims of the main role; FF made the Kefka + Kuja archetypes; Fire Emblem had the Black Knight; Elements has Plutonium). A lot of these have very generic PRs but they're still enjoyable. I even went a bit overboard coding LOTR because I wanted a unique Frodo at first (which changed a few times) as well as complicated mafias (Shelob, Sauron, Saruman, Smaug [wow lots of Ss] all have multiple facets to them), not to mention Smeagol and everything in one theme just might be too complicated for the average mafia player. So I went away from that when making AOT because I tried my best to limit the specialties to the 3-D gear feature. Marvel is an example of a good theme that doesn't get that much of a playerbase because it has a lot of different characters, moreso than the average theme due to split spawns, which is kinda sad.
    Sometimes complicated code is needed for some things which play out in simple ways. Generally requires advanced skills, but it can provide unique theme constructions. Also, unique combinations of ideas can provide core mechanics. ​

    Getting Inspiration:
    When you're looking for something to base your theme off of, remember that you don't always have to think of something that already exists. You can create a whole new sort of idea. For example, something like Cosa.

    However, if you do base your theme off of something, I personally would advise you to make sure it's something that a lot of people know about or have heard of. There have been themes in the past that nobody had any clue about, like Warlords Battlecry 3 or Xaiolin Showdown, which flopped because nobody had a clue how to judge the flavor! Also, make sure you research or are familiar with your Theme. For example, I have never played a single Assassin's Creed game in my life. I made an entire theme on it based completely through research and let's plays.
    Lastly, make sure your roles fit. If you have a Legend of Zelda theme where Navi is a nightkiller, then you have some work to do. ​
    The Game Balance
    Every role needs some sort of deterrent when it spawns:
    So this is a little thing about how I go about making a theme balanced.

    Let's say for example the main role in the theme is the Samurai, which spawns in this example. What needs to be done is a form of countering to such a powerful role. What I like to do is go about having 3 roles that can either directly or indirectly be detrimental to the role. For example, let's say the Samurai can reveal. In order to keep him down, I would most likely code some killer that can beat protectors, an evil daykiller, and some role that has enough votes to push him out. At the same time, you can't have all of these at once, so maybe just start with the killer that beats protectors and some other form of detriment to look out for, like a mafia-sided bomb or a poisoner.

    In simple terms, make sure there's at least one reliable way Mafia can hinder a certain role. Got a distracter? Make a role that kills the distracter via contact or ignores the distraction. Got a vigilante? Make one Mafia either immune to nightkills or have a Mafia that can protect, even a Mafia that can distract. Spy? Mafia that ignores hax. While this makes the Mafia sound OP, this power is broken by splitting the roles that can hinder the PRs, or power roles, into opposite sides, thereby checking the village, but not giving them too much leeway or too much of a hard time.​
    The Spawn List
    Method to build a list N. 1
    Let's begin with spawn lists. The way I plan them is like this:
    1. Have a list of all roles that can spawn in the game in a way I can easily read them all. It may sound an obvious thing, but the point here is that being able to quickly check which roles you have available makes things easier.
    2. I sometimes skip this step, but it can be really useful: Define a "players per side" ratio that you want your theme to have. For example, you can choose a 6:3:1 ratio to Village/Mafia/Werewolf, which would mean that for each 10 roles spawned, 6 would be village roles, 3 Mafia and 1 Werewolf.
    3. I then make a list with 30 spawns (not ordered). I usually begin by listing the roles that must spawn at least once, and once I have all of them, I add roles that will spawn more than once. For example, this is how Ruler's spawn looked at first:
      Conspirator
      Werewolf
      Werewolf
      Werewolf
      Goon
      Goon
      Goon
      Goon
      Boss
      Boss
      Inspector
      Distractor
      Neighbour
      Vigilante
      Mayor
      Bodyguard
      Bodyguard
      Miller
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Notice how they were not ordered by when they spawn. The point of this step is to have an idea of how many of each role there will be on a full game.
    4. The next step is to define the spawn for the smallest possible game (usually 5~7 players), already ordered. This is important to define which are the most essential roles to the theme.
    5. With the smallest spawn and the full list defined, I begin to work the in-between. It's just a matter of spreading the important roles at a reasonable interval with villagers between them, following the sides ratio you have defined earlier.
    6. This last step is basically swapping roles' position in the list. Move a BG down, 3 villagers up, WW down, Inspector up, etc. To make this easier, it's really helpful to use the Ctrl + Shift + Up/Down shortcut on Notepad++. This shortcut will move the current line up or down, making the swapping really easy.
    And this is it. If someone has any question about it or even want to request some other part of my theme making process, feel free to ask.​

    At the end of the coding process
    Double Check It!!
    You can't count how many errors were in all of my themes initially (including many that didn't get past QC, like Eeveelutions, Ember, Ember again, Pokemon, Kalos, and Hoenn). These themes only had one active author: me. And as funny as it does sound you can't create a good idea or even theme without inspiration; all notions of having a spontaneous idea are pretty much exaggerated, sometimes subconsciously but sometimes intentionally. Peer pressure is the best thing to seek, and sometimes you need someone to look over your work for you and give you constructive criticism. For example, obey to kyubey makes really good themes, but his English isn't the best, given he is not a native English speaker. I have helped him with some grammar errors in his themes and I believe some other people have too. People can be good with flavor too; just suck really bad at laying down a concept, conceiving, creating and producing an idea/role/theme.

    Mafia, whether playing or creating, is more of a combination of good mentality and flexibility than being an MVP or a jack of all trades. I look at a lot of themes in Review and I see promise.​
    This is all for now guys, if you need some tips send a post down there and we will try to solve all your doubts.
     
    Last edited: Jun 27, 2014
  2. Joeypals!!

    Joeypals!! Don't you worry 'bout a thing~

    Joined:
    Dec 30, 2011
    Messages:
    2,173
    Likes Received:
    557
    PO Trainer Name:
    Joeypals
    "Do's and Don'ts in Theme Creation (WIP)" would be a better title. Anyway, I'll be back later with a mini-guide with suggestions, but this is a great idea. Thanks for posting!
     
  3. IceKirby

    IceKirby A.K.A. RiceKirby Forum Moderator Channel Leader Developer Forum Moderator Channel Leader Developer

    Joined:
    Apr 26, 2011
    Messages:
    2,173
    Likes Received:
    628
    PO Trainer Name:
    RiceKirby
    I don't feel like writing guides per se, but I can throw some random tips here, which someone may want to compile into a guide later.

    Let's begin with spawn lists. The way I plan them is like this:
    1. Have a list of all roles that can spawn in the game in a way I can easily read them all. It may sound an obvious thing, but the point here is that being able to quickly check which roles you have available makes things easier.
    2. I sometimes skip this step, but it can be really useful: Define a "players per side" ratio that you want your theme to have. For example, you can choose a 6:3:1 ratio to Village/Mafia/Werewolf, which would mean that for each 10 roles spawned, 6 would be village roles, 3 Mafia and 1 Werewolf.
    3. I then make a list with 30 spawns (not ordered). I usually begin by listing the roles that must spawn at least once, and once I have all of them, I add roles that will spawn more than once. For example, this is how Ruler's spawn looked at first:
      Conspirator
      Werewolf
      Werewolf
      Werewolf
      Goon
      Goon
      Goon
      Goon
      Boss
      Boss
      Inspector
      Distractor
      Neighbour
      Vigilante
      Mayor
      Bodyguard
      Bodyguard
      Miller
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Villager
      Notice how they were not ordered by when they spawn. The point of this step is to have an idea of how many of each role there will be on a full game.
    4. The next step is to define the spawn for the smallest possible game (usually 5~7 players), already ordered. This is important to define which are the most essential roles to the theme.
    5. With the smallest spawn and the full list defined, I begin to work the in-between. It's just a matter of spreading the important roles at a reasonable interval with villagers between them, following the sides ratio you have defined earlier.
    6. This last step is basically swapping roles' position in the list. Move a BG down, 3 villagers up, WW down, Inspector up, etc. To make this easier, it's really helpful to use the Ctrl + Shift + Up/Down shortcut on Notepad++. This shortcut will move the current line up or down, making the swapping really easy.
    And this is it. If someone has any question about it or even want to request some other part of my theme making process, feel free to ask.
     
  4. Shazan

    Shazan Obey to Kyubey

    Joined:
    Jan 21, 2013
    Messages:
    591
    Likes Received:
    14
    PO Trainer Name:
    Obey to Kyubey
    Do not worry the purpose of this thread is not to have multiple guides, but to have tips and/or explanations about how the expert coders works on a specific part of the creation process like you did right now about the spawn list, then when we will have enough tips: I will modify the opening post and divide it in multiple sections with every section containing all the tips that the expert authors will have posted about a precise topic of theme creation process like your for exemple which will be insterted on the section about the Spawn List Creation.
    So good job RiceKirby and thanks Joeypals I really appreciate your help and I hope that more people will join us on this project.
     
  5. Joeypals!!

    Joeypals!! Don't you worry 'bout a thing~

    Joined:
    Dec 30, 2011
    Messages:
    2,173
    Likes Received:
    557
    PO Trainer Name:
    Joeypals
    So this is a little thing about how I go about making a theme balanced.

    Let's say for example the main role in the theme is the Samurai, which spawns in this example. What needs to be done is a form of countering to such a powerful role. What I like to do is go about having 3 roles that can either directly or indirectly be detrimental to the role. For example, let's say the Samurai can reveal. In order to keep him down, I would most likely code some killer that can beat protectors, an evil daykiller, and some role that has enough votes to push him out. At the same time, you can't have all of these at once, so maybe just start with the killer that beats protectors and some other form of detriment to look out for, like a mafia-sided bomb or a poisoner.

    In simple terms, make sure there's at least one reliable way Mafia can hinder a certain role. Got a distracter? Make a role that kills the distracter via contact or ignores the distraction. Got a vigilante? Make one Mafia either immune to nightkills or have a Mafia that can protect, even a Mafia that can distract. Spy? Mafia that ignores hax. While this makes the Mafia sound OP, this power is broken by splitting the roles that can hinder the PRs, or power roles, into opposite sides, thereby checking the village, but not giving them too much leeway or too much of a hard time.
     
  6. Windblown

    Windblown sable knight

    Joined:
    Aug 12, 2012
    Messages:
    830
    Likes Received:
    154
    Keep it simple.

    Lots of themes try to code in a lot of unique features so they're different, but it can make a theme overly complicated. Old themes tend to only have one thing really defining them to make them significant (Kirby has Mike's very safe claim; Zelda has turned into a theme where you see the most fakeclaims of the main role; FF made the Kefka + Kuja archetypes; FE had the Black Knight; Elements has Plutonium). A lot of these have very generic PRs but they're still enjoyable. I even went a bit overboard coding LOTR because I wanted a unique Frodo at first (which changed a few times) as well as complicated mafias (Shelob, Sauron, Saruman, Smaug [wow lots of Ss] all have multiple facets to them), not to mention Smeagol and everything in one theme just might be too complicated for the average mafia player. So I went away from that when making AOT because I tried my best to limit the specialties to the 3-D gear feature. Marvel is an example of a good theme that doesn't get that much of a playerbase because it has a lot of different characters, moreso than the average theme due to split spawns, which is kinda sad.

    So yeah, more features aren't necessarily better.
     
  7. Roild

    Roild Member

    Joined:
    Jul 21, 2012
    Messages:
    861
    Likes Received:
    11
    PO Trainer Name:
    Roild
    I'd go as far as reword Wind's statement into: Keep the idea(s) simple.

    Sometimes complicated code is needed for some things which play out in simple ways. Generally requires advanced skills, but it can provide unique theme constructions. Also, unique combinations of ideas can provide core mechanics.
     
  8. Sky Sentinel

    Sky Sentinel You see?

    Joined:
    Oct 21, 2012
    Messages:
    807
    Likes Received:
    9
    PO Trainer Name:
    Sky Sentinel
    When you're looking for something to base your theme off of, remember that you don't always have to think of something that already exists. You can create a whole new sort of idea. For example, something like Cosa.

    However, if you do base your theme off of something, I personally would advise you to make sure it's something that a lot of people know about or have heard of. There have been themes in the past that nobody had any clue about, like Warlords Battlecry 3 or Xaiolin Showdown, which flopped because nobody had a clue how to judge the flavor! Also, make sure you research or are familiar with your Theme. For example, I have never played a single Assassin's Creed game in my life. I made an entire theme on it based completely through research and let's plays.
    Lastly, make sure your roles fit. If you have a Legend of Zelda theme where Navi is a nightkiller, then you have some work to do.
     
  9. Scatterbrain

    Scatterbrain You only live once*

    Joined:
    Jul 5, 2012
    Messages:
    865
    Likes Received:
    4
    Don't worry Sky I've never played AC either. ;)

    I think the most valuable tip of making a theme is double check it. You can't count how many errors were in all of my themes initially (including many that didn't get past QC, like Eeveelutions, Ember, Ember again, Pokemon, Kalos, and Hoenn). These themes only had one active author: me. And as funny as it does sound you can't create a good idea or even theme without inspiration; all notions of having a spontaneous idea are pretty much exaggerated, sometimes subconsciously but sometimes intentionally. Peer pressure is the best thing to seek, and sometimes you need someone to look over your work for you and give you constructive criticism. For example, obey to kyubey makes really good themes, but his English isn't the best, given he is not a native English speaker. I have helped him with some grammar errors in his themes and I believe some other people have too. People can be good with flavor too; just suck really bad at laying down a concept, conceiving, creating and producing an idea/role/theme.

    Mafia, whether playing or creating, is more of a combination of good mentality and flexibility than being an MVP or a jack of all trades. I look at a lot of themes in Review and I see promise. This guide is going to help a lot, I can tell.

    Good luck everyone!
     
Moderators: heartbreaker, Water