How to write a good story, with good characters

Hi! Welcome to How to write a good story, with good characters. This article will teach you the very essentials of storywriting (especially in ROBLOX story-based games) that allow the player to get emotionally attached to the character.


I have yet to try these methods out, as I’ve learned them from my sometimes-but-not-sometimes wise brother, who taught me such methods.

TL;DR: I am not a professional, and I’m simply re-stating the methods I’ve learned from my brother

If you’re too lazy to read all of this, then feel free to unblur the spoiler for the TL;DR

Make characters believable, don’t make your plot too repeptitive, spice up things a bit, avoid cliches and make the bad guy have some reason to exist. Also don’t forget to make character arcs, which are just explaining their backstory and their motivations


A plot is an essential part of a story, and this section will (attempt) to teach you about it.

Build the lore

The lore of a plot is extremely important, as it allows the player to feel immersed in a tale. There are a few important steps to remember

  • Make it believable! Don’t just write crazy stuff about dragons and guns and shark-lasers and… well, you get the point. It’s fine if it’s set in some sci-fi time, or in the steampunk, just don’t make the player overwhelmed by the lore.
  • Think about its setting! What time does it take place in? Is this an alternate universe of ours? Do humans exist? Take a moment to think about it
  • Find any plot holes! Take some time to proof-read your lore, and find any plot holes. FYI, a plot hole is when the plot/lore doesn’t make sense, and it’s kinda like those “why couldn’t they just…” situations
  • I highly recommend you do the lore first, so that when you design your characters, it can fit right into your setting

Creating the plot

A good plot is defined by how diverse it is, and how much it makes the player invested in. A (maybe) good example is entry point’s plot. Spoiler alert, click only if you already know the story/if youre not interested in spoilers

Entry point’s story kinda goes like this: The protagonist is recruited into a criminal organization of Halcyon, then there’s this huge revelation which makes the protagonist switch sides to Phoenix, and then they take down Halcyon

TL;DR: Character switches sides

The tips I recommend you follow are these:

  • Don’t make it repetitive! Repeating the same “hey we need to do this” is going to get very tedious and tiring for the player. You should always try to spice up the actions of the player/characters
  • Always have at maximum 1 (or in rare cases 2) plot twists. Plot twists can be anything, from betrayals, revelations, ANYTHING! Having too much plot twists makes your story predictable, which brings us to the next tip
  • Spice up things a little! Try to avoid cliches as much as possible, and try to reduce predictability in your story as much as possible. This makes the player want to anticipate something, which adds more value to your story. However, don’t divert it TOO much or else the player might feel overwhelmed from how absurd the plot is
  • Make some ups and downs in the plot. There shouldn’t always be sunshine and rainbows, or gloomy depression, there’s gotta be a mix! It’s why some plots are called “Emotional Rollercoasters”, because like an actual rollercoaster, they go up and down! :sunglasses:


Characters are by far the most critical part of a story. Characters are the main actors in a plot, which helps direct the path of the story. When writing characters, follow these simple rules for main characters

  • Establish their personality. Personalities are uhhh, self explanatory
  • Show their part in the story. Don’t just introduce a character, only for them to not do anything for the entire plot. Show that they’re capable!
  • Make sure they follow the lore. If a modern person like me was in the medieval times, then it’s going to be pretty confusing why they’re there (unless it’s a time traveler)
  • Don’t make crappy names. This part is kinda underrated, since lame character names can often make the player feel like they’re playing a game made by a 9 year old. Avoid names like “Max” or “Jack”, because it’s a bit too repetitive
  • Make them believable. Don’t make characters have some crazy shark laser shotgun thing on their back, or have some unbelievable backstory.
  • Show their softer side. Those that are close to the protagonist should show their softer side, so that the player can feel empathy (remember, more emotion = more attachment/investment into your story’s plot)

* Optional: You can kill them off to have this extreme emotional rollercoaster (if you played your cards correctly) and your players will cry : )

For the antagonist(s), this is what you should do:

  • Make them have a legitimate and believable backstory. You can’t just throw in some super duper bad guy who is “evil”. They’ve gotta have a backstory where the player can relate to, or hate them
  • All bad guys have a reason to exist. A bad guy’s reason to be the bad guy shouldn’t be “They’re just evil!!!”, it’s gotta be something believable. Something like “They have a strong hate towards protagonist because of a traumatic event in the antagonist’s childhood”
  • Show that they’re capable. They’ve gotta prove to the player that they do bad guy things, and it’s gotta prove that they do it well. You can’t just make an antagonist constantly fail at literally everything, unless you’re going for some kind of comedy skit.

For side characters, refer to these tips

  • Don’t make them interfere with the main characters. If you do, then it’s going to look pretty confusing on who is the main character, protagonist, antagonist etc.
  • Again, make them fit into the lore. Making them fit in will make them more believable
  • Use them wisely. Having side characters do more things than the protagonist/main characters is gonna be a pretty big no-no in your story, as it shifts the balance of your story towards these under-developed characters. Just don’t make them the spotlight of a story

Character Arcs

This is a sub-section for characters and their motivations, because players can’t connect with someone if they don’t have any clear goals or motivations. You can’t just go:

“Hey this guy just destroyed a building”
“What why”
“Because uhhh… he HATES buildings!!! yeah totally”

This right here is not a very good goal. It’s very vague and is only introduced AFTER the action has been done, which is a pretty bad move in my opinion. What you should do is when a character is introduced, establish their personalities and their motivations. For example:
“So, what’s your name?”
“My name’s Jeff. My ultimate goal in life is to destroy a building. My parents passed away in a building, so I can’t trust them [yada-yada]”

Now of course don’t actually do it like this. It’s good to establish personalities/motivations through subtle dialogue. For example, if your character is a very charismatic person that wants to be the best… say, Pokémon trainer you can go something like:

“Hey, everything’s alright. We’ll get you fixed up in no time!”
“Good to know…”
“After all, you’re gonna help me become the best, yeah?”


Making interesting and captivating dialogue may look easy at first, but it’s way easier said than done. You have a lot of factors to consider, such as Personality, Motivations, their softer side, blah blah blah. One simple way to get a rough “sketch” of a line is to try improv. You’ve probably heard of improv in drama class, but trust me it helps a lot.

Thinking of punchlines is a good way to practice/excercise how you think, so that you can create better and creative dialogue. Heck, even some comedy lines could work well with what you’re on!

When improvising dialogue, try these:

  1. Start with a setting (where are they) and personality (mean? nice? brave?)
  2. Try doing it with someone else. They too can improvise lines, which of course helps you.


Stories can be captivating and memorable, and I believe everyone has the potential to do that as long as if they try their absolute hardest and unleash their passion. You don’t ALWAYS have to follow these tips, you can try experimenting with other types of narratives and dialogue. Sometimes, a game can have good characters but a bad plot (or the other way around).

A good story can be remembered for its memorability and/or its symbolism, meaning that you don’t always have to have a good plot/characters, you can have a very symbolic story. An example of a symbolic one is the story of 3 pigs I’m sure all of you have heard it which shows the value of working hard and not being lazy.

Anyways, that’s all I have. Remember, this is all purely opinion based / stuff I observed from other sources like game reviews and story writing material. You don’t have to listen word-by-word for everything listed here. Go ham! Do whatever you please!

Sensei out


Incredible guide! You’ve definitely touched on all the things that make a story something a player would want to experience.

Also very happy you talked about making the characters and lore well thought-out and believable. Those elements of a story are core parts of keeping the player interested and wanting to progress.

I will mention that these tips are good for writing, too!

1 Like

I’m glad that they were helpful :^)

1 Like

Wow… this is so amazing! This is especially great if you want to stand out, most story games do the exact opposite of this by throwing in some random very poorly introduced characters, a zombie apocalypse, and some crazy ability to fly out of nowhere.


Yeah :joy:

It’s kinda sad to see stories being so underrated on roblox, and even if there are story games, most of them are poorly designed/introduced characters who don’t have a personality

1 Like

Beautiful and detailed guide! Thank you for sharing.

1 Like