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

Hmm, accessibility option to skip is a great idea, I’ll put that in my TODO section. That might be good for some other puzzles I have like a minesweeper puzzle.

Edit: And yeah, that’s the intended solution, although there are some others, and I’m only going to require a path, rather than a full circuit, although that only saves a single step.

1 Like

(I don’t actually know how much difficulty visually-impaired players have with mapping. My one data point is that Scroll Thief has a puzzle that requires figuring out which room in the map should be directly above another, and the screen reader users solved it but found it more difficult.)

3 Likes

I don’t know what the different rooms will be like, but something like the walls each painted a different color of the rainbow in order?

1 Like

P.P.S. If you’re curious what’s “too much”, here’s the one from Acheton.

And here’s the solution:

Click to reveal

Not quite a pure Hamiltonian path because there are two dead ends that you have to duck into and then back out of, but the puzzle isn’t strictly to find a Hamiltonian path—it’s to find seven randomly-placed items within a time limit, which means you want to check every room with as few revisits as possible.

5 Likes

That’s wild! I certainly feel better now lol

4 Likes

Not a lot of new progress; this last week had a combination of several events that made it possibly the worst week I’ve had in this decade, but it all magically reversed today and became great again.

I’ve done a lot of stuff for this level but it is all very skeleton-y and I’m creating a bunch of stuff I wonder if I’m going to have to throw out.

For instance, I’ve been thinking of how to make rifts work lore-wise. I’ve always imagined rifts as sorts of wormholes to the future. As an early mechanic, I made a rift to every ‘dimension’, and each rift started out red and became green when you solved it as a visual indicator that a level is done.

So now in the tool dimension I’m having things slowly build up to manipulating that, so I’ve incorporated some other kinds of rifts.

What follows is all mild spoilers, but maybe not if I change it?

Wormholes are when two places in space time connect in a way I think of as a ‘connected sum’ in topology. In that field, you can make a connected sum by deleting a ball from both spaces and sewing the edges of the ball together.

So, I’ve thought of ways of turning this into different kinds of rifts. I also thought I’d incorporate stuff from my ‘Yang Chamber’ in Dimension 8 (that separates the user into a different closed dimension) and the theory of relativity (where two things can have ‘spacelike’ or ‘timelike’ separation).

So here’s my current taxonomy of rifts:

-a ‘black rift’, which has an inside and an outside. This corresponds to ‘deleting’ a chunk of space. From the outside, it’s just a black spot that can’t be touched. Inside, it’s its own mini universe, but a very small one.
-‘blue rifts’, which connect things with a ‘spacelike’ separation. They allow quick travel between different areas in the same time zone.
-‘red’ rifts, which connect two areas with ‘timelike’ separation when the connection between them is uncertain. Basically, time travel needs a stable time loop. If a stable loop isn’t stable (because the future person doesn’t do what the past remembers), the whole loop collapses back to the past and that future disappears. During the time that the future is uncertain, the rift is red.

  • ‘green’ rifts, which are red rifts when the future becomes certain. Once the major turning points of the past are verified/accomplished, the rift becomes green. This gives the rifts some energy that can be harvested.

I’m thinking of allowing rifts to be opened or closed, either by shrinking/expanding or by turning a colored rift into a black rift.

The issue is that I’ve done about half of this new dimension and I’ve introduced contradictory things into it (in one part closed rifts are black rifts, in another they’re just small). It’s not really cohesive at all. I’m thinking of just fleshing it out and using the long break of the ifcomp to go back and rewrite parts.

Does this system sound interesting? I technically don’t need any of it. I could just make all rifts one color and find some other way to indicate to the player what they’ve accomplished. The benefits of this system are that the player can slowly work their way up learning about the different kinds of rifts in this dimension. The blue rifts also allow a wide diversity of rooms in this area (for instance, you have to find crystal shards to upgrade your tool, and I’ve written up a mini-puzzle where you open up a blue rift with the tool and it takes you to a pizza parlor where you have to use a coupon to get a pizza that has the shard in it. Just because it’s funny to me to contrast that with the earlier rooms where you just find it in a toolbox or something).

6 Likes

(I’m happy that your bad fortune reversed itself. It all too often snowballs instead.)

4 Likes

Just wanna say that despite the worst week of the decade, you found time to reverse it, do some good thinking on your project, and supply me with great beta testing feedback in tight timeframes.

You’re a goddamn gem, Rushton. I hope the great times continue for you.

8 Likes

Thanks, that helps a lot!

7 Likes

Things have shaken out pretty good recently with this dimension. I do think it will be the least ‘fun’ of the dimensions, but this one isn’t meant to be fun, it’s meant to hold the rest together.

The thing that helped me was realizing that at this point the game didn’t need intense puzzles as much as it needed the overall narrative to progress. So in this dimension (which has 8 upgrades to a device), the upgrades start out as mechanical puzzles, transition to puzzles about exploring the science and layout of this world, and end with strong story-based puzzles. The last few upgrades no longer give new abilities, but just extend the power of old abilities.

Outside the upgrades, there are 8 smaller ‘outposts’ where you gather materials for the upgrades, scattered around the map. I’ve coded the basic skeleton of 6 of the outpost puzzles and am working on the 6th of the upgrades. Usually that skeleton is the hardest part of programming, but this level has tons of little details in the rooms that are going to take a long time to flesh out.

One thing I’m a bit stuck on is the framing of it. All of the other dimensions follow the same general pattern:
-Someone on your own ship is having a crisis.
-A portal opens, colored red.
-Something goes missing into the portal.
-You enter the portal, and solve a ‘dimension’.
-You find the missing thing, returning it to the crewmate.
-The portal turns green.

But that wouldn’t make much sense in this dimension. For one, this is the dimension that explains the rifts, their purpose, why they change color, and why things keep going missing. And when this level is ‘solved’, the endgame starts and the player can’t return.

So if I did include a crewmate that needs help related to this dimension, their problems would have to get solved before the ‘true’ end.

On the other hand, the framing for the other rifts is there to provide some player motivation. Due to the game layout, this might be one of the earliest dimensions the player finds (which would be good, it’s designed to be revisited over and over), so having a motivation-less level might be a bad start.

If I did include someone that needed help, I could switch things up by having a very basic AI be the ‘crewmate’. Or an engineer, since this rift appears in the ‘engineering’ section of the ship.

Edit: One thing I am doing is a puzzle involving getting a partial transcript of your own actions, so the puzzle involves figuring out the gaps.

6 Likes

Made a lot of progress today, and everything’s falling together, including the earlier parts of this level that didn’t work.

I’ve figured out how to get the framing to work, and added a great deal more of dialogue in this section than any other, outside of the murder mystery section.

This section has 8 upgrades and 8 outposts, and I’ve now coded up the skeleton of all of them except the final upgrade. But that should be easy; all that’s left for the player to do at that point is to harvest all the other complete portals and to win the game (or at least, head to the endgame).

I’m not sure how long the ‘fleshing out’ stage will take me for this level; there are a ton of minor details I’ll need to get down (including about 30 rifts of various kinds). But somehow I think it’ll be easier to test than some of the others, since bugs will likely come in groups instead of individually.

Lots of good accidents happened when storybuilding here. I had a plothole involving earlier ‘lore’ in the game I had forgotten about, but I realized that resolving that plothole would also explain how ‘flashlight’ and the EM spectrum calibration for the first upgrade tie into the other powers.

7 Likes

The current area includes a world tour of many different areas as part of the Hamiltonian path puzzle.

I’ve added several locations that should add a lot of flavor and lore to the game as part of the puzzle. But for the last location I’m torn between adding one of the following options:

-A mausoleum with rows of drawers containing ashes in urns
-A dark room with a single swinging lightbulb and tons of eyes glowing in the darkness which (as the lightbulb reveals by swinging) are all motionless robot monkeys (they have to be stored somewhere after all).

Both locations are electrical substations. The mausoleum would fit the games overall themes better, but it would be weird for the substation to be right next to the remains. The monkey seen would be funny and add to lore a bit but not otherwise contribute to the game. It’s a little redundant as I am also about to implement a different part of the game that includes a monkey factory. Which do you prefer?

4 Likes

The latter - if you’ve got a robot monkey factory and a storage area for robot monkeys, that’s not redundancy, that’s worldbuilding.

4 Likes

Monkeys it is, Mike. Thanks for the thoughts!

Edit: Also, this little bit of code brings me up to 270K! My goal was around 30K per dimension, and I’m about 80% done with dimension 9, so things are going swimmingly. I should hit 300K by the end; I know code is arbitrary since with more efficiency I could get it smaller or more descriptiveness I could get it larger, but the code-per-content has been pretty consistent this game and I’m happy with where it’s at.

6 Likes

The 9th level is out to testers! It probably won’t get fully tested until after IFComp. Speaking of which, I’ve beta tested a few IFComp games and I think there will be some really fun games this year!

Going forward, all that’s left is the beginning and the end. I originally divided the work into 10 levels of around 2 hrs/200 actions to complete, and for the 10th level (which was originally a ‘wildcard’ level) I’m spreading those 200 actions around the beginning and end.

I’m planning on making the beginning of the game last, since it’s the most important part (no one will play if they don’t like the beginning, while a game can be satisfying even if the ending is lame). So I’ve allocated the 200 moves as:
70 for ‘pre-endgame’. This is mostly puzzle-less exploration and conversation
100 endgame. This is mostly puzzles.
30 for intro. This will be a linear setup leading into the wide-open map.
This update will also finally make the layout of the real ship (right now it’s just one giant hub) and add little lore drops after each dimension.

I originally had a single end-game in mind, but I decided later on that it could be nice to give players some agency since my ‘preferred’ endgame includes some moral choices others might not agree with.

So now I basically have:
Endgame 1A (my preferred ending) (100 moves or so)
Endgame 1B (the same puzzles but with significant cosmetic differences) (same 100 moves)
Endgame 2 (absolutely different) (100 different moves)

But I had a question about endgames that I could use feedback on.

My game is ‘polite’, meaning that it is impossible to lock yourself out of victory (outside of bugs). While it’s really common when making large games to also make them super puzzle heavy, my intention was to make a really big game that maintained the approachability of an ifcomp game throughout.

But one of the endings involves (spoiler about the setting) escaping a spaceship that is falling apart after (spoiler about themes) rejecting the reality of the rest of the game, and so it would be appropriate to both introduce more danger and to make a clean break with the style of the rest of the game.

So would it be interesting to have an optional ending that allowed death and locking yourself out of victory? Maybe even a time limit of some kind? That’s what Spider and Web does, but I always get stuck there and have to use a walkthrough.

For the other ending my main plan is (puzzle structure spoiler only) to use little pieces of things you learned in the dimensions to achieve your final goal. So like borrowing one thing from each dimension, giving the game a ‘using what you learned’ type ending.

4 Likes

(I know I haven’t chimed in much, but I wanted you to know that reading through your process and thinking on this project has been personally helpful in my own work. Fwiw.)

5 Likes

That’s good to hear! That’s one reason I moved this from chat to the main forums, since some people said they wanted more discussions that anyone could read. I agree, just reading someone else’s process helps me think about what I do (I loved reading through old blog posts about that before).

4 Likes

In Counterfeit Monkey, they create it so you can die/get arrested, but they allow you to UNDO and retry. As in, death but not multiple moves back failure.

2 Likes

Testing on the 9th dimension is ongoing but it’s turning out really rough. This level is mostly one-room, with some excursions, and so the puzzles are all about changing conditions, and there are time loops.

I haven’t done much with this kind of setup before (outside of The Magpie Takes the Train), and it’s showing. One tester report had about 20 bugs that were all killer: countdown timers that only counted down when they were already at 0 and that never reset; an impermeable glass wall that you could, in fact, perm; empty spaces appearing twice; a dial you have to SET to different things that (if you typed something wrong) said ‘you can’t set that to anything’; a lockpick that didn’t respond to UNLOCK; and on and on. Lots of work to do!

In fact, I’d say this is the most bug-ridden area I’ve ever made. It should be a lot better now, but it’s a bit discouraging, especially since I have a work obligation the rest of this week. But my IF philosophy is that even crap can be polished to a mirror finish, if it’s tested enough, so I’m going to play through this level on my own a few more times and also get more attention on it after IFComp settles down.

Speaking of testing after IFComp, I plan on getting the normal amount of testers for the ending, and then my plan is to try to get each of the ten areas looked at by 3 different people one last time, whether that’s 3 testers trying the whole game or 30 doing one area each or 1 playing the whole thing and 10 doing 2 areas each. I’ll just wait to release it until I get that done, testing it myself in the meantime.

7 Likes

Let’s polish this crap to a mirror finish!

I’d like to have a go at this most recent area, once you’ve shaved off the worst of the rough edges. Feel free to send it any time.

5 Likes