• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS
This page is for discussion of the technical side of content creation. If you have a technical issue or question with regards to a character or story you are creating, talk about it here.
(The old Custom Content thread can be found here)


Helpful things:

--> Medium build girl, the .psd that was used to create the built-in characters, is available with layer names in English.

--> Kudos to SparkleFox for finding us a male tachie generator, authored by "彩 雅介" (Aya Mayabaikai?)! This one is put together as a program, but has PSD files with layer-names in Japanese. No "fan-translation" available at this time.

--> You can use any of these images for making new custom characters.

--> Notepad++ with syntax highlighting for Heartache 101 can be a big help with story creation. To set it up, go to the View menu and set User Defined Language to HeartAche. Then close View, go to the Language menu and select HeartAche. (If you already have Notepad++, here's userDefineLang.xml by itself)

--> Mr. Help File has, regrettably, forgotten to mention certain locations! They are as follows:
Beach (sunset), Grounds (sunset), Roof (sunset), Bedroom (Morning), Downtown, Studio Room.
Note that these locations must be specified via a PLACE command. To the best of my (ie: Marrend's) knowledge, they cannot be obtained via the generic "School" or "City" code.

--> If you are writing story content that includes the appearance of existing characters (built-in or custom), the following list may be of reference:

ID 0 = The Player
ID 1 = Nakajima Miki {flowerthief, Built-in content}
ID 2 = Ikeda Keika {flowerthief, Built-in content}
ID 3 = Onishi Tsubasa {flowerthief, Built-in content}
ID 4 = Kaneshiro Shihoko {flowerthief, Built-in content}
ID 5 = Kaneshiro Riho {flowerthief, Built-in content}
ID 6 = Sato Akari {flowerthief, Built-in content}
ID 7 = Hiraoka Hinami {flowerthief, Built-in content}
ID 8 = (Secret character) {flowerthief, Built-in content}
ID 9 = Watanabe Junko {Nekochi, "Junko"}
ALSO = Tsukino Emi {Silent Pheonix, "Tsukino Emi", in progress}
ID 10 = Mitsuya Masako {Marrend, "Masako"}
ID 11 = Monotami Ruri {Marrend, "Uchioniko"}
ID 12 = Nemoto Mayu {Marrend, "Uchioniko"}
ID 13 = Terakado Shoko {Marrend, "Uchioniko}
ID 14 = Shirazu Izumi {Marrend, "Uchioniko"}
ID 15 = Watanabe Aoi {Nekochi, "Junko"}
ALSO = Lambaria Yuu {KimotoDragoon, "Yuu", in progress, Caretaker: Marrend}
ID 16 = Ran Fujioka {Neckochi, unpublished}
ID 17 = Torako Koizumi {Neckochi, unpublished}
ID 18 = Yumemi Tanno {Neckochi, unpublished}
ID 19 = Umehara Joruri {Marrend, "Joruri"}
ID 20 = Sakuragawa Fuyuki {Fuyuki, "Fuyuki", cancelled}
ID 21 = 21 Ways {dude797, "21"; Caretaker: Dozen}
ID 22 = Ikari Kyouki {Dozen, unpublished}
ID 23 = (Reserved for Nekochi)
ID 24 = (Reserved for Nekochi)
ID 25 = Kuwabara Emiko {Marrend, "Emiko"}
ID 26 = Tanaka Yoko {triad2/Noone42, in progress}
ID 27 = Katanashi Seira {triad2/Noone42, in progress}
ID 28 = (Reserved for KimotoDragoon)
ID 29 = Shitazawa Arika {Dozen, unpublished}

ID 31 = Maeda Eriko {triad2, "Meada"}
ID 32 = ? Genji {triad2, "Meada"}
ID 33 = ? Ryoko {Dozen, unpublished}
ID 34 = (Reserved for Tthedragon)
ID 35 = (Reserved for Tthedragon)
ID 36 = Murakami Megumi {Render, unpublished}
ID 37 = Kawano Fujiko {Render, unpublished}
ID 38 = Matsuhara Akane {Render, unpublished}
ID 39 = Momohana Nami {GloopMaster, Unknown, in progress}
ID 40 = Konohana Midori {LordNight, "Midori", RMN only, in progress}
ID 41 = Natsume Rika {LordNight, "Midori", RMN only, in progress}
ID 42 = (Reserved for LorSquirrel)
ID 43 = Hasegawa Kanon {LordNight, "Midori", RMN only, in progress}
ID 44 = Kirihara Kana {LordNight, "Midori", RMN only, in progress}
ID 45 = (Reserved for LordNight)
ID 46 = (Reserved for LordNight)
ID 47 = (Reserved for LordNight)
ID 48 = (Reserved for LorSquirrel)
ID 49 = (Reserved for LorSquirrel)
ID 50 = (Reserved for LorSquirrel)
ID 51 = Shiromiya Kagami {BDFalcon, unpublished}
ID 52 = Tsuchitsuru Airi {BDFalcon, unpublished}
ID 53 = Kimura Shizuka {Mute, unpublished}
ID 54 = Columban Kuri {?, unpublished}
ID 55 = Shikimori Asuka {Render, "Clique", unpublished}
ID 56 = Shikimori Sanako {Render, "Clique", unpublished}
ID 57 = Nakao Yasuko {Render, "Clique", unpublished}
ID 58 = Sakaki Usagi {Render, "Clique", unpublished}
ID 59 = Waifu Mai {pegaso, "Mai", unpublished} (temporary reserve?)
ID 60 = Makoda Yuuki {Ilan14, unpublished}
ID 61 = Hisatsuki Seiryuu {BDFalcon, unpublished}
ID 62 = Torahashi Mio {BDFalcon, unpublished}
ID 63 = Eienji Rie {BDFalcon, unpublished}
ID 64 = Hamaguchi Takako {dewelar, unpublished}
ID 65 = Yoshimura Noriko {dewelar, "Noriko"}
ID 66 = Ichini Sanshi {BDFalcon, unpublished}
ID 67 = Kimura Sachiko {Mute, unpublished}
ID 68 = Hitsuragi Yuureiko {BDFalcon, unpublished}
ID 69 = Hanata Haruka {BDFalcon, unpublished}
ID 70 = Shiraki Kotone {BasedMG, "Kotone", in progress}
ID 71 = Kurokawa Sarako {BDFalcon, unpublished}
ID 72 = Kurokawa Mikari {BDFalcon, unpublished}
ID 73 = (Reserved for LorSquirrel)
ID 74 = Yamisaki Eliza {Kevincalanor, Wolfpack}
ID 75 = Yamisaki Alessa {Kevincalanor, Wolfpack}
ID 76 = Nakamura Yuriko {Kevincalanor, Wolfpack}
ID 77 = Harada Himeko {Garage, "Winggirl"}
ID 78 = Fujikawa Sayumi {Garage, "Winggirl"}
ID 79 = Fujikawa Mayumi {Garage, "Winggirl"}
ID 80 = Hashimoto Midori {Ertad, unpublished}
ID 81 = (reserved for Ertad)
ID 82 = (reserved for Ertad)
ID 83 = (reserved for Ertad)
ID 84 = (reserved for Ertad)
ID 85 = (reserved for Ertad)
ID 86 = (reserved for Ertad)
ID 87 = (reserved for Ertad)
ID 88 = (reserved for Ertad)
ID 89 = (reserved for Ertad)
ID 90 = (reserved for Ertad)
ID 91 = (reserved for Ertad)
ID 92 = Itawa Miyuki {RukasuWYZ, "Ijona on'nanoko", probably canceled}
ID 93 = Shogowa Yuka {RukasuWYZ, "Ijona on'nanoko", probably canceled}
ID 94 = Fujita Suki {RukasuWYZ, "Ijona on'nanoko", probably canceled}
ID 95 = Chihiro Sato {RukasuWYZ, "Ijona on'nanoko", probably canceled}
ID 96 = Shingoza Ayumi {RukasuWYZ, "Ijona on'nanoko", probably canceled}

ID 97 = Sawada Merika {Garage, "Winggirl - Pathways"}
ID 98 = Nagai Shika {Garage, "Winggirl - Pathways"}
ID 99 = Harada Hibiko {Garage, "Winggirl - Pathways"}
ID 100 = Robin Clark {Wowzer_, "Robin"}
ALSO = ? Takuya {Kevincalanor, "Built-off", tachie/profile only}
ID 101 = Miyazaki Kiyoka {Nedras, "First Years", unpublished}
ID 102 = Matsumoto Atsumi {Nedras, "First Years", unpublished}
ID 103 = Kagawa Yasuna {Nedras, "First Years", unpublished}
ID 104 = Azuka Ishikawa {Nedras, "First Years", unpublished}
ID 105 = Hayashito Kaede {ShinigamisApples/KiyokoKaia, unpublished}
ID 106 = Hayashi Kitsune {Garage, "Kitsune"}
ID 107 = Sasaki Riku {Garage, "Nadeshiko"}
ID 108 = Yamaguchi Ayame {Garage, "Nadeshiko"}
ID 109 = Kimura Nanashi {Garage, "Nadeshiko"}
ID 110 = Takahashi Karen {Garage, "Rivalries"}
ID 111 = Inoue Azami {Garage, "Rivalries"}
ID 112 = Yamamoto Hina {Garage, "Crossover", unpublished}
ID 113 = Kojima Daishi {Garage, "Crossover", unpublished}
ID 114 = Hashimoto Chiyo {Garage, "Crossover", unpublished}

ID 121 = Furuya Reika {ScarbucksCoffee, "Reika", unpublished}
ID 122 = Furuya Shunpei {ScarbucksCoffee, "Reika", unpublished}
ID 123 = Shimada Tsukasa {ScarbucksCoffee, "Reika", unpublished}
ID 124 = Shimada Tomo {ScarbucksCoffee, "Reika", unpublished}

ID 130 = Tanaka Grace {mysteriousone3, "Grace"}

(Note: You don't need to care about this list if your story events will not include existing characters, as ID numbers for characters in separate files don't have to be unique)

--> Finally, I've listed the game cheats here. You can use these during story events to test your content:
SHIFT + F5 -- Adds 10 to Looks
SHIFT + F6 -- Adds 10 to Athletics
SHIFT + F7 -- Adds 10 to Personality
SHIFT + F8 -- Adds 10 to Mind
SHIFT + F9 -- Adds 10 to Soul
ALT + F5 -- Adds 1000 to yen
ALT + F6 -- Active speaker's affection decreases by 100
ALT + F7 -- Active speaker's affection increases by 100
ALT + F8 -- Advances the calendar by 1 day
ALT + F9 -- Advances the calendar by 7 days

Posts

author=Marrend
That one Emiko CONDITION was, literally, the worst CONDITION to figure out. I don't remember reading the part about parenthesis, though. Might have helped things out a bit.

Though, funnily enough, I think that story still works? I have no idea! Like, the only play-tests I've done with her was when the "22 DONE" portion of the CONDITION was true!
I think you wanted something like that (would fit the comments near that condition too):
CONDITION = 22 DONE OR (20 DONE AND 25 NEUTRAL) OR (9 DONE AND 25 LIKE) OR (12 DONE AND 25 FRIENDLY) OR (7 DONE AND 25 LIKE)
Why it still seems to work? Well...

Stuff like that isn't too easy to debug in the first place. Plus it's probably not the only possible story at any point in time and it's not even PRIO = High, so it's hard to tell the exact reason why it triggered. And to make it even worse: your conditions are far from being independend from each other. Half of them are satisfied just by getting Emiko to LIKE.

And those stories are probably interdepend with each other too.

*EDIT*: my example-CONDITION above should be correctly formed. Chains like A OR B OR C OR D OR E would not need parenthesis.
Funny things part #3:

Story\Built-in\game_stories_8.txt, line 3305:
CONDITION =
Yup. No condition ... loads just fine. Well, it's about Keika ;)

Story\WolfypackElizaMain.txt, STORY 40:
CONDITION = 38 DONE OR 39 DONE AND 74 LIKE
Mixing and and or ...

Story\Robin\robin_story_1.txt, line 1088 and 1111:
C: 4 DONE IN game_stories_5 AND 5 NOT FRIENDLY OR 29 DONE IN game_stories_1 AND 5 NOT FRIENDLY
Mixing or and and in a conditional branch (same c-jump is used in two places).

Story\YAK\YAK intro_story.txt, line 7:
Introduce = 48,42,
The trailing comma doesn't trouble Heartache 101 ...
BTW: line 209:
Introduce = 49,50,
Same here.

*EDIT*: how can I remove one of my own posts?
Marrend
Guardian of the Description Thread
21781
author=Garage
how can I remove one of my own posts?

Normal users cannot remove their own posts. Moderators probably can remove posts, however, I do not know under what circumstances it occurs in. Double-posting is generally not allowed. The "Welp, Welp!" forum is the the most lenient place in regards to this rule. See: this multipost. However, in the case of accidental double-posting, from what I've observed, it's usually on the user's end to put in, or otherwise edit post content, with some kind of "Oops!" as a nod to the rule about double-posting.

*Edit: In other words...

You're probably fine.
I think there's minor glitch in Nami/Nami_story.txt:

STORY 1001
PLACE = Courtyard
ID = 0
(There's that girl from before. She's sitting on a bench all alone...)
A: Sit down next to her.
B: Talk to her.
C: Ignore her and keep walking.

This seems to be intended as the second story for Nami (ID = 39). She doesn't appear in the main branch so the game will probably not check for her being introduced thus this one might play before her introduction ...
Marrend
Guardian of the Description Thread
21781
I think you're right, though, I have not consulted Mr. Help File on this matter. However, as I recall, characters that have not been INTRODUCEd can appear in BRACHes.
author=Marrend
I think you're right, though, I have not consulted Mr. Help File on this matter. However, as I recall, characters that have not been INTRODUCEd can appear in BRACHes.
As I recall we had that conversation before ... a few month ago. And I think n_stories is actively relying on this. And I might be wrong but I think Akari might have a cameo or two before she's introduced to the player, on sencond thought: those two events are not part of the built-in stories but of the game itself. She appears in the prologue and in an after school event ("Do I know that girl?") which does seem to appear in any game_stories.... files

By the way, Mr. Helpfile tutoring on ITRODUCE stories:
author=Mr. Helpfile
Because this story introduces a new character to the player, there is one more line we need to include. After the line which declares the story, add the line "INTRODUCE = 10". This lets the game know that our custom character is introduced in this story event. This is important. Characters will not appear in any story events unless they have first appeared in a story event designated as an Introduce story. However, characters may appear in branches of stories whether or not they have appeared in an Introduce story.
Emphasis added.
Moderator / developer response needed ...

I'd like to publish a tool soon which might help debugging larger storylines. Since it's going to be a quite powerfull viewer it might be not approriate for publishing openly.

So: I'd like to have your opinion(s) first ...

BTW: no, it's not done yet, but I have an early preview version ready which would enable you to evaluate it's "powers" ...

PS: it's that JS thingy I had been talking about a while ago.
Marrend
Guardian of the Description Thread
21781
I've a feeling that flowerthief would welcome any tool that authors can use to help them manage/create stories. I'm not sure how large storylines need to be in order for this tool to be useful, though. That might be part of testing it out.

Also, wasn't there something else you needed to make this run, or is my memory just plain faulty?
author=Marrend
Also, wasn't there something else you needed to make this run, or is my memory just plain faulty?
Well - there are currently two ways to use my scripts:

1. Install Apache and PHP (which isn't too hard to do).
This seems to work with Firefox and Edge. It will probably work with Chrome, and will probably NOT work with older IE versions.

2. Manually edit some file lists.
This doesn't seem to work with MS Edge. It *does* work with Firefox.

The reason why a webserver would be usefull lies in the way Javascript deals with local files. serverside PHP can easily enumerate files and directories, Javascript can't.
Fun with STORY files ...

This does load by hearache 101 without any problems ...

game_profiles

STORY 1111
PLACE = Hall A, Front A, Train, Greenhouse
ID = 1
SHOW CENTER
Where are we?

Meaning: you could run into Miki during school or just-before-school or in the train or in the greenhouse. All in one story!
Endless fun with STORY files:
I stumbled accross a line "SHOWCENTER" in Wolfypack ... so I tried it myself:

STORY 2222
PLACE = Front A
ID = 1
SHOWCENTER
BUH!
ERASECENTER
SHOWLEFT
Hello!
Yup. It's totally possible to use stuff like SHOWCENTER and ERASECENTER instead of SHOW CENTER or ERASE CENTER.
Marrend
Guardian of the Description Thread
21781
That seems like a really useful, if totally unintentional, bug.
I've found a few more locations that can be used in-game ...

Bathroom A
Bathroom A (sunset)
Bathroom B
Bathroom B (night)

(Theese are the locations you encounter before/after your sunday Job, but they are usable in a PLACE declaration, too)
I've writen a tool to help developers debug there story files.
It's found in my locker as
storydebugv10.zip

A small documentation can be found in my locker to: Help > Documentation

It's supposed to be able to load and to work with all "officially released content" for Heartache 101.

Prerequisites: you'll need a modern browser. Current version of Firewfox WILL work. Edge will probably work with the webbased install. It might work with the local file install but require changing some settings. Other browsers are untested. Older versions WILL NOT work.

The tool is designed for a screen of at least about 1400xwhatever pixels.
I might publish a version for 800x600 sometime future.

BTW: If you happen to have access to the original backgrounds you could put them under the "places" directory (and edit the list.txt there).


INSTALL instructions


*Edit*: reuploaded several times, bugfixes, minor enhancements, experimental graphing, documentation.
Zakariya
Every misdeed has its own punishment, and every good deed has its reward.
1174
To this fine community;

I have leftover image files that anyone is welcome to use. The character they were meant for will not appear in what I'm making due to the changes in the stories, and she wouldn't fit with the setting.

Here is a link if you are interested.
Is there are way to have subfolders in one's locker?
author=Zakariya
To this fine community;

I have leftover image files that anyone is welcome to use. The character they were meant for will not appear in what I'm making due to the changes in the stories, and she wouldn't fit with the setting.

Here is a link if you are interested.

Your images are quite nice looking. Seems like she's not from the same school as the rest, though.
In fear this might get burried and thus overlooked.

I've finished some documentation for my debugging tool.
Marrend
Guardian of the Description Thread
21781
author=Garage
Is there are way to have subfolders in one's locker?


Not that I'm aware of. However, I seem to recall such a feature being requested. It was a while ago, and I cannot remember if there was a response to that request.

Darigaaz, the story debugger. I am soooooo slow with that!
author=Marrend
author=Garage
Is there are way to have subfolders in one's locker?
Not that I'm aware of. However, I seem to recall such a feature being requested. It was a while ago, and I cannot remember if there was a response to that request.

Darigaaz, the story debugger. I am soooooo slow with that!
BTW: I'm currently experementing with visualizing the possible paths thru a given set of content ... seems like your Emiko has about the right size for this.


Have a look.


My own WingGirl-content looks currently more like a bowl of spaghetti.

... well the whole graph thing is still work-in-progress anyways ...