Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Scarlet String Studios

A member registered Oct 13, 2015 · View creator page →

Creator of

Recent community posts

Thanks! The entrance is over to the right on your way to the Bloodthirsty Slime, right after those two tall structures. I might rephrase the hint so that it points you in the correct direction (i.e. right and not left).

Oh hey, thanks for checking it out!

Yeah, I've realized that keyboard controls for platformers are too vague, so I think I'll give the player the option to choose an arrow key mapping or a wasd mapping at the beginning of the game. And the selection menu can show a picture of a keyboard with the relevant keys highlighted, so you know where to look. It's straightforward on a gamepad because the phone menu is just mapped to Y / Triangle.

I'll see if we can do crouch-walking in the future (I guess that would be crawling). Technically it would be easy, but I'm reluctant to add to the art backlog, so it's been low on the priority list. I know what you mean though, sometimes you get stuck under a tile and it feels like you should be able to just crawl out instead of dashing out.

Thanks, and good luck with Deadeye; seems like a really interesting game.

Got it, thanks. I'll let you know if I figure out what's going on.

You can interact by pressing the "up" arrow - same as entering/exiting your house.

Thanks. You're right, something is definitely wrong! I'll see what testing I can do on my end. I don't own a Mac, but I might be able to ask someone to check.

What's the model name/number of your computer? Or how much RAM and VRAM does it have?

Hm, probably not. Can you upload a screenshot?

Thanks for checking it out! The current update (2.0.9) features some performance improvements, so that will help with the frame dips.

Decided to finish what I started and get through the whole demo this time. That was pretty meaty - my save file is showing 2:20. There was a funny bug at the end where you could still walk around and open the menu after going into the portal, but the screen was black.

Not much else to add. The difficulty and enemy AI are nice. Feels like the king was actually trying to kill you instead of being nice and spreading his attacks around evenly.

(2 edits)

All right, I got a chance to try this for real this time.

Admittedly, I'm not into roguelikes, so I'm not the best person to judge. But I can say that the concept is really cool, and I like the whole lore/setting.

It probably takes some practice to get good at it, because there's a bit of a clash between playing safe/conservatively (because permadeath) and playing loose/having fun (because the rhythm game mechanics encourage you to play by feel). I don't think that's a bad thing, though, and furthermore it seems normal for the genre. If I were playing more seriously or for a longer session, I would probably take a step back and play more safe to start with - and then try and match the rhythm later on.

Btw, I wonder if it's worth adding some kind of EQ to boost the volume of the bass and snare. This is one of the few rhythm games where the audio cues seem more useful than the visual cues. That's really cool, and I think it's worth leaning into.

Sorry, what do you mean by claim? You can hit the follow button to recieve a ping next time we push an update, so that's good for reminders - I think it's on the bottom of the page on mobile.

Ohh, never mind. I figured it out. I was using a current gen Xbox controller, but I also left my arcade stick plugged in, so player 1 defaulted to the arcade stick. There might be some way to code it so that priority shifts to whichever controller is receiving input (dunno what engine this is), but not a big deal either way.

(1 edit)

I'm not sure what I just played, but I'm glad I played it.

This game has a funny kind of deliberate jank to it. I feel like you could submit this to some strange European art game exhibit and they might actually like it.

It's neat how the topsy-turvy camera plays into the game design itself. It's like, your character is super powerful - you can kill people and dismatle the environment so easily - but you die if you lose your balance. It genuinely feels like you're on drugs, like you're super-powered but incredibly fragile at the same time. It's like Hotline Miami turned up to its logical extreme. Some kind of hyper-violent fever dream, where each level and each death bleeds ambiguously into the next. I can imagine some RPS journos writing about this.

Also, I like how the main menu text changes each time you reload it.

My only complaints are:

  • I think there is no save support right now. When I exited the game, I had to start over.
  • The gameplay gets repetitive, because it doesn't introduce any new tiles or enemies or objects. The amount of polish and detail is really impressive (music/sound design especially), but after 30 minutes I felt like I saw it all. This is an art game, and it doesn't really have the addictive dopameme qualities of a normal game, so I think you need new content hold the player's interest (i.e. it's hard to keep playing just for the gameplay).

This seems neat, but I couldn't get controller input to work, and it was hard to keep the rhythm on keyboard.

Also, it would be a good QOL improvement to open with a simple settings menu (or just a press start menu) before the cutscene so that we can set up fullscreen/recording without accidentally skipping the scene.

The town is probably as lush as Gensokyo!


This is a really cool game, and I think it has commerical potential. People might complain about the difficulty, but it felt good to me. The sound design and UI polish are both top-notch. Also, the hacking in the tutorial is more interesting than anything in Hacknet, although that's not saying much.

I don't have much to add in terms of feedback. This is a good vertical slice. Reminds me a little bit of Hotline Miami (the stealthy/tactical nature of the combat, and the fact that you die easily). All you need now is, well, the rest of the game. Content, story, stuff to do that doesn't feel repetitive or grindy.

>tfw no AI-generated concierge gf

Playtest (no commentary): 

This was fun! I tried the game at an older demo day, but that was a couple years ago.

The cutscenes are cute and the first level is fun. It's a nice way to introduce all the characters. The game itself is also pretty unique; feels like an MMO combined with bullet hell. I'm not into the grindy, loot-based gameplay of those types of RPGs, but plenty of people enjoy that, and I think it's a sensible combination. The bullet hell aspect prevents it from feeling mindless.

There definitely should be more feedback for when you get hit (sound and vfx). Maybe a timescale slowdown too, so you can react to it. The difficulty is fine, but I found that I took damage without noticing it sometimes. There might be balance issues with the characters as well - the fire girl seemed like the easiest to use, and the crossbow girl's RMB attack felt risky because the charged version just makes her leap into harm's way.

I'd also suggest changing the main dialogue font. Right now it looks generic, like Arial or Helvetica or something. Funny enough, it actually looks soulful in the sense that it looks like a Japanese game where the localizers didn't spend much time figuring out a good font for English. But yeah, any lesser-known sans serif font should be fine... maybe even Lato (the one used here on itch).

Overall pretty solid gameplay, and the Touhou vibes are strong.

Thanks! That's funny; definitely a bug. I'll try to reproduce it.

Hey, thanks for the comment. I saw your message on Discord & followed up, so we can troubleshoot there.

There definitely should be talk sprites; I'm surprised the game was able to boot up without the sprites loading fully, so I'll have to look into that.

Oh, thank you. This looks useful. I'll take a look this week.

Are you thinking the gravity should be higher, or that there should be more residual physics after you jump, dash, etc? I've changed it a bunch of times, but I found that the game was more jittery and hard to control when the gravity was higher.

Also, let me know if you have a favorite platformer with a character controller that you like. It's hard to determine what you mean without a video or a point of reference.

(6 edits)

Monospaced Lovers is a narrative platformer-RPG about closeness and distance.

Journey through an introspective, fantasy-filled land and unlock the secret encrypted on your phone before the world crumbles around you.

Try it for PC, Mac, or Linux!

Direct link (if the embed doesn't work):



Clara wakes up to a phone that isn't hers.

On it, she finds a perplexing message left by a hacker named the Gòd o͏f̴ B̴in͠a̸r̨y̧, stating that her time left in this world is short. Her only clue is a series of encrypted messages locked on the device — and a mysterious new friend who woke up to a phone that wasn't his.

What does this enigmatic hacker want? Why is he talking about the end of the world? And what does any of this have to do with Clara's quaint and peaceful life in Haven Heights?

All we know for sure is that if she doesn't embark on this quest... her friends will drag her into it anyway.


Are you ready to solve the mystery of the Ġ̸̱ŏ̵̲d̶̺̔ ̴̺́o̵̮̚f̴̹̆ ̷͍͝B̵̦̐i̶̤̾n̷̳̿a̵̘̓r̷͎͐y̴̛̜ and uncover the truth of this strange but comfy world?

Well... it doesn't really matter, does it?

There's no running from the truth — whether you're ready or not.



Thank you so much for your interest in Monospaced Lovers! If you'd like to chat or leave feedback, join our Discord and let us know what you think.

We're running an ongoing private beta for players who'd like to playtest future chapters of the game. If you've already tried the demo and want to see more, you'll find the beta signup form in our Discord.


Sounds great. Thinking about it now, the game probably does feel better with a mouse, but controller rebinding will definitely help. Maybe if I map punch/kick to the forward/back buttons on the side of the mouse, and then use the left hand for movement (jump/dodge/block).

In terms of combat, are there other games on PC in this genre? I'm trying to think of what else I might have seen/played that would have a similar control scheme.

I did a quick no-commentary recording. The video is still processing, so the embed will probably break, but here's the link: 

Thoughts: It's cool that the player has so many moves they can do, but I found myself fumbling with the keyboard controls. I noticed that the game actually works with gamepad, so I'd suggest adding gamepad instructions to the tutorial.

The movement will probably feel better with mouse, but there are so many buttons to keep track of (ctrl, shift, e, f) in addition to WASD movement that my left hand felt overloaded. On gamepad, half of those actions would be mapped to bumpers, and it would be easier to melee without interrupting your movement. But I don't think I've played anything else in the genre on PC, so I can't compare.

More broadly, I found myself defaulting to the usual "spam melee attack + dodge roll" technique. The game should probably do more to discourage this and to encourage projectile use. The gun felt like a downgrade when I got it, because it also weakens your melee attack by occupying one of your arms.

Seems cool so far; hope the recording helps!

I recorded roughly my first hour of gameplay. The video is still processing, so the embed will probably break, but here's the link:

Happy to see another SOULful game coming from /agdg/. The title music is fantastic. The writing and concept are nice. People will definitely notice the Undertale influences, but sometimes that's not a bad thing marketing-wise; it makes the game easier to explain.

My only thought is that maybe there should be some randomization in the Negotiations. Right now the convos seem to branch like a VN, so once you figure out the correct path for a particular creature, you can just keep spamming it whenever you encounter them. Maybe you could write a couple of different paths for each creature so that it would take longer before the player memorizes all of them (and by that point they're be through the area anyway).

Thank you! There's no public demo available right now, as the old one is fairly out of date. But we're expecting to reupload it by the end of the month, or perhaps some time in March.

No worries, I hope that helped.

>That's strange because the text wraps perfectly fine for me
To be clear, I was referring to wrapping while the text is reading out, not wrapping for the finished sentence. Let's say you have a long word that appears at the end of a line, and you're typing it one letter at a time (like myText.text += nextLetter). In the middle of the word, the Text component will realize, "wait a minute, this word can't fit; let's move it down to the next line." I think I saw this a couple of times, but I could have been mistaken.

>I'm using a fixed joint for all the interactive pickups and I'm not even sure how to fix the wonky handling
Yeah iktf. I have dealt with HingeJoint2Ds for a few minor objects, and it's wonky. Dunno what the proper solution is, but I can understand not wanting to focus on it lol.

Holy mother of SOUL

A few notes:

  • The flashlight shines through the Great Wall:
  • The arrows sometimes bounce off the player instead of triggering damage and disappearing:
    • Normally this wouldn't be too noticeable, but it stands out because of the trail
  • Dunno if this was supposed to happen, but I glitched to the top of this totem pole guy without jumping there. I was standing on one of the rotating planks, and I think a collision triggered that pushed me up there.
  • The menu navigation is wonky, particularly the quest menu. For example, if you scroll down and select a placeholder quest, then press right or left a few times, it'll move the cursor on the main menu (map, quests, etc). It's hard to explain, but it's basically just Event System hijinks. I've had similar problems before. Perhaps the main nav should be disabled while you're navigating a submenu. A similar problem occurs when you're in the map submenu and the cursor gets stuck on the scrollbars; it's hard to escape and return to the main menu.
  • Don't forget to look into text wrapping. The text doesn't wrap properly when it's reading out, which causes some words to jump from the end of one line to the beginning of the next when the word hits a particular length. I think TMP can handle this?
  • It was surprisingly hard to carry the levers around in first-person mode. They kept colliding into walls and falling out of my hands, which isn't realistic.

I think that's all.

This is a genre that I like, and not just for nostalgia. I love the sense of wonder and possibility that can be conveyed with adventure platformers, especially in 3D. Even with this tiny sampling of gameplay, there's a sense that you don't know what will happen when you turn the next corner. I don't think I even found out where the snoring was coming from.

Good luck!

This is a lot more fun than I expected.

On gamepad, it looks like super was automatically mapped to RB instead of B for me? The itch page says it should be both. I also couldn't get the back super and curve supers to work.

There were a couple situations in story mode where the AI would get stuck in a loop of trying to tackle the ball. For example, I'd hit the ball straight ahead, and the AI would run up and block, and this would repeat 5 times until I scored. I'm not sure what conditions led to this, because it didn't happen every time.

Overall this is pretty legit; it really feels like a fighting game. Tempted to boot it up again and finish story mode, now that I figured out the basics.

I made it up Trainwiz, and that seemed like the end of the demo.

I didn't find any obvious bugs, so that's good. I was able to scare a skeleton into jumping backward off a cliff, and the strong skeleton in the temple at the beginning got stuck on part of the terrain one time. I think that was it.

The art style feels authentic. As for the combat: even though it's just a demo, I would suggest adding some feedback to the attacks (particles, sound). It's hard to tell when you land a hit/parry or when you take damage, so it's hard to evaluate whether the combat is fun or not. I think I was able to parry the kobolds, but the combat feels unclear without a little more polish.

Good luck!

My pinky hurts from holding left shift the whole time. Ctrl might be better as a run button (or just add a remapper).

Seems pretty soulful, though I didn't get far enough to see the bunnies.

(2 edits)

Thank you! Yeah, STM ended up becoming a pretty big part of this project.

I see what you mean now. The float "readTime" was cached from "theMesh.currentReadTime" on the first frame that the <e> event was triggered. Basically it's the read time of the STM at the point before the text to be backspaced begins. After the <e> event, we continue reading for a few letters, then backspace, then rebuild and continue reading where we left off.

The implementation is not ideal, and I wrote it a couple years ago. There are a couple of yield return nulls that I'm not sure are necessary. But I can see why setting .text might have messed with the read time values.

Without all the print statements and whatnot, it's sort of like...

float readTime = theMesh.currentReadTime;
//wait for mesh to read through the letters that we want to delete
while (theMesh.latestNumber < (backspaceEnd - 1))
    yield return null;
//cut out the rest of the line and pause for a moment
string originalStr = theMesh.text;
float originalReadDelay = theMesh.readDelay;
theMesh.readDelay = 0f;
yield return null; //for some reason we need this here?
theMesh.text = originalStr.RemoveFromIndexToEnd(backspaceEnd + 1);
theMesh.Rebuild(1f, true);
yield return null; //we need this pause to make sure the text stops reading here
yield return new WaitForSeconds(1f);
//delete some chars
int counter = 0;
while (counter < charsToDel)
    theMesh.Text = theMesh.text.RemoveFromEnd(1);
    yield return new WaitForSeconds(currTypeSpeed);
yield return new WaitForSeconds(waitTime);
//resume reading
theMesh.readDelay = originalReadDelay;
theMesh._text = originalStr.Remove(backspaceStart, charsToDel);
theMesh.Rebuild(readTime, true);

EDIT: The code formatting is removing my linebreaks for some reason, so this is a little hard to read. But you get the idea.

Hey, you're right! Setting ._text instead of .text did the trick. It's working now. This is what it looks like:

What's the reason for this exactly? You said something about readTime getting overwritten?


A while ago you had helped me come up with a script that could place an input caret at the end of a STM component to simulate typing. The script works by grabbing the STMTextInfo of stm.latestNumber and using that letter's pos as a starting point.

After updating to 1.12, it seems that this is no longer working when I rebuild the text. I have a backspacing effect where I loop through the text and delete the last letter up to a point - then I change the text to a new string, and call Rebuild to type out the new string instead. The reading works correctly, but when I change the text, the pos of latestNumber is always at the end of the sentence. So the caret gets stuck at the end while the text reads out to eventually catch up to it.

The rebuilding part of the method is just this:

theMesh.readDelay = originalReadDelay;
theMesh.text = originalStr.Remove(backspaceStart, charsToDel);
theMesh.Rebuild(readTime, true);

Did anything change with STMTextInfo or latestNumber in the past few versions?

Oh wait. I may have missed the simulation? Now that you mention it, I recall some talk about a simulation, but I can't remember when or where.

This was after starting the first campaign quest; I was flying up to one of the warp rings, and there was a large text box talking about docking with the F3 button, but it also mentioned some other stuff that I didn't fully read (I think it was about alternate ways to dock). I figured it out after a minute though.

I finally got around to trying this after however many years. I haven't played Freelancer, so I don't have a point of reference, but I like the lore and the setting.

First thing I did was spend all my money on a picture of Todd Howard, but I'm not sure where the picture went.

I played the first campaign chapter + the drinks with Karbelle scene. I took some mental notes (skipping over the things that seem like placeholders or that obviously need polish):

  • Perhaps input should be frozen after you click on a fast travel button? It feels funny to select "warp to cargo trader" but to still be able to move your view around. You can also click on another fast travel destination while the screen is fading out, if you're quick enough.
  • Will the whole game have voiced dialogue? If not, maybe the text should read out typewriter-style instead of appearing all at once. It can be tempting to skip large walls of text when they appear all at once.
  • For a similar reason, the tutorial for docking is a bit chunky. I don't mind it, but that's because I know it's a demo. I feel like the average person on Steam will skip the tutorials and then get confused.
  • Design-wise, the game really overloads you with options at the beginning. This could be good or bad, but it's something to be aware of. There's so much to buy and so many menus on the planet that you can get overwhelmed before you even step into the spaceship. Being overwhelmed when flying around is a good thing IMO, but being exposed to all of the shops/upgrades at the very beginning of the game is a bit much.
  • Dialogue could benefit from some polish to slow things down and help you digest what's happening (eg a sound effect and a pause each time Karbelle pours a drink; otherwise it feels like you're just clicking through text, and you forget that you're hammering down 4 shots of rye in a span of 10 minutes).
  • Dialogue also needs a bit of editing, but that's something generic I mention to everyone. The big picture seems cool, but on a micro level, just watch out for comma splices and run-on sentences.

And now a few things that stood out to me in a positive way:

  • The sense of scale when you're flying around is really cool. I like that it actually takes a while to get anywhere. And that the highways are part of one big map, rather than putting the player through a loading screen for each area.
  • Combat is intuitive and fun.
  • There's enough content, both in terms of game systems and lore, to keep the player invested. Way more than most indie games that I've played.

Good work!

(1 edit)

I recognize that font!

This is cool. I played Flowers in the Mist; not sure if that was the only story. Clearly there's a lot left to implement, both in terms of polish and gameplay, so I'll try and skip the obvious comments. (I got a bit of a laugh out of the mouse hover sounds in the combat bc they sounded like BFXR 8-bit sounds).

  • In this ( situation, I think the second comma shouldn't be used. As in, I think it should be "A curious, glowing flower" or "an urchin's small, dirt-covered hands." But I could be wrong, so I would go with whatever you've seen in novels.
  • In the battles (, I couldn't figure out what the [C1] was supposed to mean. It seemed like I got locked into repeating the same actions every turn. Also, the feedback button blocks the battle dialogue.

More broadly, I think the biggest thing missing right now is the timing at which information is delivered. For example, when you do a job, the order of events is "Click the button -> hear the 'success' sound of coins in your pocket -> eyes dart over to your stats to confirm that you gained money -> read the lore on the screen to figure out wtf you just did".

Ideally, the order would be different, right? Click the button, read the text, see some juice (particles/audio), and finally see the number increase in your char sheet.

So, in a general sense, I would probably work on slowing down the text and having it appear sentence-by-sentence, or having it read out like a VN. Of course it's worth including a read delay setting as well, because some people will want it to scroll faster. But I thought the reading effect in the beginning was cool, while the in-game walls of text needed to be slowed down to sync with the events. I always felt like the gameplay events occurred first, and I was playing catch-up by reading the text to understand what I just did.

Anyway, I'm not into horror per se, but I enjoy story games, so I hope you keep this up.

Ah, I see what you mean. I think that wouldn't work in this case, because my use case right now is showing/hiding a menu. It's not a read/unread effect; I'm simply fading in all the text or Images for the menu - either manually via a coroutine or with an Animator - and then fading them out when you exit the menu. So, I don't think draw animations could be set up to work like that, unless I'm mistaken.

(1 edit)

I was setting up some UI text with STM, and I just remembered some strange behavior that I had noticed a while ago.

So — inline color is supposed to take priority over the component's color property, right? That makes sense. But, there are some situations where you'd want to control the text's alpha separately from its color, right? E.g. you might want to fade some UI text in and out, but it's impossible to fade any text that's wrapped with an inline color, because the inline color also defines an alpha value that takes priority.

Do you think you could solve this with some kind of "fade" slider that controls the alpha only? I've seen a similar behavior in some shaders, where the alpha is multiplied by a 0-1 float at the end (completely separate from the Tint property). As far as I can tell, I don't think it's possible for us to fix this from outside the STM source code, because I don't see other properties related to color in there.

Yep, the hack worked. Thanks!

(1 edit)

Good news, this one should be easy because I was able to reproduce it in a demo scene.

1) Create a canvas

2) Add a bunch of STM objects inside (UIDefault shader)

3) Select them all and try to change the Position -> Anchor enum in the editor

Result: Only one of them will change.

Seems to be an issue only with Anchor. The other fields change as expected.