Disorganized Dev Diary for Never Gives Up Her Dead (Now released!)

My guess is it’s the scope rules. I had to modify those in Scroll Thief because of slowness.

2 Likes

Gahh, I just spent hours poring through the Otranto code trying to figure out why it was incredibly slow. Rule tracing kept showing what looked like infinite recursion when finding scope, so I focused on that the most. But no matter what I did it got worse and worse!

It turned out the pathfinding was the biggest problem. I figured as much; I’ve avoided pathfinding as much as possible since I have 200+ rooms. But I recently read something that said ‘fast pathfinding makes a table ahead of time so shouldn’t slow things down at all’. But in this case it was drastically slowing things down just doing pathfinding from one room to the next.

These were the culprit:

Rule for writing a paragraph about a rope (called the coil): 
    if the coil is stuck to something which is in a room (called the next room) which is not the location: 
        let the way be the best route from the location to the next room; 
        if the way is up or the way is down: 
            say "[The coil] runs [way] into [the next room]."; 
        otherwise: 
            say "[The coil] snakes across the floor [way] towards [the next room]."; 
    otherwise: 
        say "There is [a coil] here[if the coil is stuck to a visible nonrope thing], tied to [the list of nonrope visible things which are stuck to the coil][end if]." 

Rule for writing a paragraph about a nonrope thing (called the anchor) which is stuck to a rope (called the coil): 
    if the coil is in an adjacent room: 
        let the next room be the home of the coil; 
        let the way be the best route from the location to the next room; 
        if the way is up or the way is down: 
            say "[The coil] runs [way] from [the anchor] into [the next room]."; 
        otherwise: 
            say "From [the anchor] runs [a coil], heading off toward [the way]."; 
    otherwise: 
        if the coil is stuck to something which is not visible, 
            say "[The coil] is tied to [the anchor][if the coil is stuck to something in an adjacent room (called the next room)], and from there runs off towards [the next room][end if]." 

I replaced this with:

Rule for writing a paragraph about a rope (called the coil):
	if the coil is stuck to something which is in a room (called the next room) which is not the location:
		repeat with way running through direction:
			if the room way of the location is next room:
				if the way is up or the way is down:
					say "[The coil] runs [way] into [the next room].";
				otherwise:
					say "[The coil] snakes across the floor [way] towards [the next room].";
	otherwise:
		say "There is [a coil] here[if the coil is stuck to a visible nonrope thing], tied to [the list of nonrope visible things which are stuck to the coil][end if]."

Rule for writing a paragraph about a nonrope thing (called the anchor) which is stuck to a rope (called the coil):
	if the coil is in an adjacent room:
		let the next room be the home of the coil;
		repeat with way running through directions:
			if the room way of the location is next room:
				if the way is up or the way is down:
					say "[The coil] runs [way] from [the anchor] into [the next room].";
				otherwise:
					say "From [the anchor] runs [a coil], heading off toward [the way].";
	otherwise:
		if the coil is stuck to something which is not visible,
			say "[The coil] is tied to [the anchor][if the coil is stuck to something in an adjacent room (called the next room)], and from there runs off towards [the next room][end if]."

and it significantly sped things up.

My game size is ballooning though. It was around 7 mb a few months ago when I had completed 8/10 dimensions, and now its 10 mb. It went from 9.21 mb to 10 mb just in going from version 51 to version 52 (this added a lot of the ending code). Seems weird to me.

2 Likes

Things are going much better now. For a while I was feeling overwhelmed and frustrated with Ending 3, but now I got a new vision for it, turning it from a metaphorical sad walk through a graveyard more into a thriller with a villain you encounter multiple times before defeating. The change of genre, at least for me, helps justify a lot of the more depressing situations I had put in since they make more sense in this setting. So less like Revenge of the Sith or Infinity War and more like Alien or the second half of The Village.

It’s taking me longer to plan out than the first ending, but I hope to finish the last puzzle ‘skeleton’ by tonight. Then all three endings will be puzzle-complete, and just need the layer of words and ‘before’ rules and such. I’m hoping to finish that by Nov 1.

That’ll leave just the intro and cut scenes, then getting testers for these final parts.

At this point what I’m most dreading is my own personal playthrough through the whole game; even knowing all the puzzles backwards and forwards its still pretty challenging at parts. And I have a big tendency to stop my playthroughs to make fixes, so I’m going to try to play and beat the whole game using one version, and just keep transcripts to remind myself of errors.

9 Likes

Just finished fleshing out everything for endings 1A and 1B. Parts of them may be cringe, so I’ll definitely need tester feedback on that! I still need to test them myself, and finish and test ending 2. Then it’s the beginning left. So I’m hoping to start testing by the end of next week.

Unfortunately, that’ll be in the middle of ectocomp, but such is life. This will be the last section that needs individual testing though!

(Edit: I know these posts listing what’s left are repetitive, but they’re a way for me to track things mentally and also serve as a countdown!)

4 Likes

Passed 333333 words of code!

I’m a bit stuck on phrasing for something.

In ending 2, I have a large piece of metal that you can push from area to area, and also that you can enter to hide from bullets. What should I call it?

I’ve just been calling it ‘metal plate’, but you use it like a ballistic shield. But I also want it to be something that stands upright, and that you can ‘enter’. (I really just want the player to be able to hide behind it, but entering maps to that well). I wouldn’t mind changing it to a slightly different item, as long as it had similar properties:
-Can block weak bullets
-Can be pushed around
-Could be pulled up several meters by a rope by one person
-Can be hid behind or ‘entered’

I’d also prefer it to be a piece of bent or broken metal from a broken spaceship, but that’s not entirely necessary.

Currently, this is all I have:

A heavy metal plate lies here, bent and twisted into a shape like a shield or the front of a tank. It’s large enough for you to get into it.

I’m not really happy with it. Any suggestions?

4 Likes

Panel? Fender? Barricade? Wall section? Partition?

2 Likes

‘Barricade’ sounds perfect. I can say that a piece of metal fell off, forming a makeshift barricade. Thanks!

2 Likes

And…all endings are done! They were faster since they were each a ‘half dimension’ in size. I ended up adding some alternate paths to the grim ending to avoid an overly negative portrayal of mental illness (Context, heavy spoilers: There is a person who starts shooting up the ship due to a delusional belief that everyone in it was turned ‘bad’ by the cryogenic storage. They shoot a number of people during the ending, and guard the final escape pod. Originally, the only ending was to shoot them and get out, but I’ve added another where you simply help them escape first. But both are still options).

All that’s left to code up is the intro, which is really small, just 1/7th of a dimension in size. If I’m lucky, I can finish it by tomorrow, but we’ll have to see. I’m also planning to put in 9 cutscenes that are completely static, but that should be easy (and I’ll probably ask for help from writing people on those).

6 Likes

Boy, I feel you there!

2 Likes

I could use some feedback on my intro paragraphs that play at the start of the game (not a spoiler, since it’s literally the first thing you see and might even end up in the blurb):

Here it is: you finally found the right door.

You turn the handle and step inside. Light filters into the dark storage room–looks like the lights are out again.

But what would you expect from such an old ship? After all, you’re celebrating the twentieth anniversary of your departure from Earth. At least, you would be celebrating if the captain hadn’t sent you to find his ceremonial jacket.

You are Emrys Tisserand, sixty-eight years old and the only member of the ship to never have gone into cryogenic storage. You are the heart and soul of the crew.

This is the story of how you die.

Any suggestions on how I could spruce things up a bit? Based on feedback from my ‘temp’ intro, I tried not to use a bunch of jargon from the game right away (like Starship Tragwyddol or Storyweaver).

3 Likes

Without attempting to to anything to the general style, my main suggestion would be to structure the “punchline” by moving from the general to the specific, instead of switching between them. So for the final bit, something like:

You’re the heart and soul of the crew. Sixty-eight years old, and the only crew member to have never been in cryogenic storage. Your name is Emrys Tisserand, and this is the story of how you die.

The idea being that you’re bringing the subject into focus, with a hard snap at the end. In general fiction you can do the reverse, with a hit-you-in-the-face first line that you subsequently pull back from to give context. But it sounds like you’re trying to frame this as a quotidian situation that turns serious.

5 Likes

I would turn the first three paragraphs into two, with a break between “step inside.” and “Light”, and I wouldn’t repeat “light” twice in the same sentence. The “after all,” and “at least,” sentences feel odd coming one after the other, since those introductions have the same fundamental purpose (indicating that this sentence is a hedge on the one that came before it).

4 Likes

Looking back a ways … I thought I’d throw out this tech tip which you (or others reading) may not be aware of!

You can update the compiler to avoid having to fiddle with these limits. I found it neat to have one less thing to worry about.

I still used 6G60 for A Roiling Original, and it builds considerably faster with the new version, too, which will probably save you that much more annoyance when you want to fix a small bug. Which will probably happen a lot more as your project gets near to completion!

I placed a relatively new version (inform-636.exe) in the C:\Program Files (x86)\Inform 7\Compilers\ directory on Windows, moving inform-633.exe (or was it 632?) to a backup folder. The Windows IDE looks for inform*exe to compile and uses the first one.

It also has the ability to allow use OMIT_UNUSED_ROUTINES of 1, which may be automatic with the 640 compiler.

This is all kind of handy because you can put the old compiler in a backup directory to make sure the new one is found and compiles okay, and then if anything fails, you can just shift things back as they were. But I had no problem moving from inform-632.exe to inform-636.exe.

2 Likes

I tried the new compiler but it broke quite a bit of my game. For instance, I made a kind of value and a kind of thing that has that value. In that old compiler, I could say something like:

Color is a kind of value. The colors are red and blue. 

A colored-rock is a kind of thing. A colored-rock has a color. 

There is a blue colored-rock. 

But that doesn’t compile anymore. There are a few other things like that; I’m more worried about things that do compile but secretly have their behavior changed.

3 Likes

Thanks for the advice! I think I’ll try that. My big worry was that many people don’t read everything in IF, and tend to skip over any info that isn’t specifically highlighted. But I think the very first words of the game might be an exception!

This is great advice, I’ll try that!

1 Like

I thought in the wax museum it said you were like, 221 years old? Or is that because it’s in the future?

It might be worth putting that in spoilers, since that’s from the very end and I’m asking feedback from people who haven’t played. But you’ve only lived 68 years, you just travel to a point where your birth was 221 years ago.

1 Like

Depending on character’s personality/excitability, I’d maybe suggest an exclamation mark after “right door.”

If the lights are out then where is the filtering light coming from? I can figure out what you mean, but maybe mention “light from the hallway” or say “room lights are out again” instead of just lights. Arguably might try to reword so light doesn’t have to be used twice in a sentence.

The next two paragraphs feel CLOSE to overly expository for an intro. I think it’s saved by the last kicker line though.

It especially feels expository because of the “after all…” and the “you are FULL NAME” beginnings to sentences. The after all actually probably doesn’t even fully follow, because why would it matter for the 20 years… Oh wait, it’s the anniversary of your ship’s departure from Earth, not just your own. Okay, but still, is 20 years a LONG time in this case? It doesn’t seem too bad even for a house, let alone interstellar spacecraft.

Arguably the twenty year departure line feels like it overlaps with the cryogenic storage part; it’s signifying similar sci fi setting aspects. The twenty year departure does seem to need to be there unless you find a different setup for the ceremonial jacket though. But this is the paragraph I might look at the most. Is the character resentful about getting the jacket? That feels implied, but it’s not strongly felt. Maybe write that as an inner thought, grumbling about how getting the captain’s jacket is beneath you? That could lead naturally into the next part puffing yourself about being the heart and soul of the ship.

Overall? I do think it’s fine though, I’d read through it without blinking in a game context.

2 Likes

Hmm, I was going to take everyone’s suggestions and post a new version, but as I included them all at once it became a little weird, and then I started thinking about what I want to communicate here.

I can leave out the part about the power being out; it’d be a lot easier to just have a light switch and let the player discover for themself that the power is out, seems like it would have more effect.

Similarly, the first thing that happens in the game is your friend calling you and giving you a message, so I can omit your name. The age I think I could shunt off into the X ME action. All of that gives more natural ways of giving exposition.

The part with the ceremonial jacket is a last-minute addition, and I’m not sure it fits. The rest of the game shows how the Storyweaver position your character has is fairly prestigious. I just need some kind of excuse for them to be there first, because what happens next is the friend informing them that they forgot about a presentation they had to give, and encouraging them to find something to use in the storage room, in addition to the main goal.

Finally, the ‘This is the story of how you die’ is kind of the ‘arc phrase’ of the game. I wanted to have it early on so that people realize this game deals with death (although the name should give it away), and it’s fully baked into the story so it has to be somewhere, but I could include it after the ‘wham’ moment later on. (30 actions into the game, there is an asteroid impact and you see a kind of vision, and that’s when the banner text drops).

So that eliminates almost everything. I think I might just make a really short intro about opening the door and entering the dark storage room, but I still need a ‘hook’ for why you’re there. Maybe it could be something the character herself feels important, like a punch bowl (one of my ex-in-laws was obsessed with punch bowls and gave every new married couple one, and they were pretty nice. It could be a reasonable thing to look for).

I started trying to think of the purpose of the intro after reading @dgtziea’s response. Thanks for everyone’s help!

3 Likes

Honestly, the “this is the story of how you die” line was the most compelling part of the intro text to me. I think it makes a good hook to get the player invested from the start, the sort of thing that gets you to play for thirty moves before seeing the rest of it.

5 Likes