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

My goal for these dimensions is around 200 actions to complete each one (I have fixed targets because a specific length of game was my main purpose in making this). I’m up to 171 now.

For my first two areas, I was uncertain what players would think of them, so I split them in half, tested the first half, and then wrote the second. After that, for the next 4 dimensions, I sketched out all the puzzles in a skeleton and then polished it all up one room at a time. Occasionally I felt like some puzzle was missing, but usually didn’t add anything.

This time though I planned on adding an angular momentum puzzle but I can’t really see how it’ll fit in (especially in a way that feels organic and fun, although I have thought of firing cannons from the top of the tower of london which was known as a major storehouse of gunpowder for decades), so instead of sketching everything out first I’m just going to start polishing now. I already have a lot of complex puzzles, so maybe instead of adding more arbitrarily I’ll just see where it would be natural (for instance, finding a way to get from island to island) and maybe add something along the way. I’m a bit sad because this is the last area I can just throw anything cool I think of; the joy of creativity is a lot of the fun of making this and soon it’ll be all narrowly-planned stuff from before.

The very last thing I’ll do is the opening, which I’ve worried about for a while. I don’t plan on making this game for new players, and instead want to focus on experienced IF players, but a game still has to communicate its general ‘vibe’ (how does conversation work? is searching everything important? what’s the overall structure?).

I recently re-wrote my review for 9:05 because my old review had 0 out of 9 helpful votes (basically I just said it was gross and I didn’t like it). Upon replay, I was struck with how clearly the game nudges you to type in certain things and try out certain actions, one reason I think it’s so popular to this day; it’s as helpful as a tutorial but much more organic. A phone is ringing; you need to answer it. You’re late for work, so you have to GET OUT of bed and GO to your living room. But you need clothes from the drawer, so you have to OPEN drawer. All of that is completely natural!

So I’ve been wanting to do the opening for my game in a similar way, a situation where anyone would naturally take certain actions. I also thought of The Art of Misdirection, which has one of the best openings ever in IF as you have to complete a magic shower that the PC knows how to do but you, the player, are clueless about.

So I’m thinking of starting with an anniversary party for the spaceship they’re on, celebrating some milestone (like 5 years from the destination out of a 30+ year flight). The game can start with the PC cutting cake and serving it/eating it, since that involves natural actions like taking a knife, cutting cake, eating cake, giving it to someone else, etc. and could naturally introduce the conversation system. Since the PC’s main job is being a storyteller, she could tell the story of herself and the ship (briefly), providing some basic background, and the party atmosphere would be a nice contrast with the asteroid strike that damages the ship.

8 Likes

The start is a very good idea, but you don’t have to shove all the complex stuff in this section! The finale sections could have really cool puzzles as a way to end the game. Like if you have a very hard puzzle, save it for the end of the game. And also asking others for help in puzzle ideas ‘n’ stuff.

3 Likes

Hmmm, that’s true. I’m looking at example 228 Otranto, which has some really cool stuff involving rope. But I can’t let rope loose in my game because it would mess up a ton of other areas. For a final area, on the other hand, it would make sense, because I can limit what players have available and they’ll never be able to leave again. So maybe I can put some of the weird/complex stuff there.

I’m torn on how hard to make the final area. On one hand, a lot of games like the original mainframe Zork/Dungeon had a ‘master class area’ endgame (I forget the actual name of this type of thing), while other games like Spellbreaker have the harder puzzles leading up to the end but make the finale not so much climax in difficulty as a thematic climax, where everything falls into place. I think I’m leaning towards the latter, making the endgame somewhat easier than the others but ‘making everything come together’.

I mentioned this to you before (but wanted to put it here), but I plan on making the ‘true endgame’ about half as big as the other areas. I divided this game into 10 sections of 200 actions each, but the 10th is spread out between the beginning and the end. I’m imagining 30 actions for the intro, 70 for endgame discussion and a large social scene with several independent npcs, and 100 for the dangerous endgame(s).

I might do a poll later asking about what kind of endgame difficulty people like. But I think my favorite part of the endgame would be a different puzzle involving each of the areas that you visited, basically ‘use what you learn’. Storywise I have the ending locked down for sure and don’t plan on changing it.

Edit: Also, up to 230K words! Much of the recent material comes from code copied from some very long Inform examples, and much of the rest is the reflecting light code I posted earlier. Every inform example I use is credited by name and number in the game credits.

Editedit: Gonna add the Spanish Armada to fill out the other puzzles.

2 Likes

I decided to add the Spanish armada, and have 8 rooms that circle a center one. My plan is to use the angular momentum puzzles (thanks for the ideas!)

I was planning on using the angle formulas I calculated above to remap all of each room’s exits each turn, which would be around 32 changes.

But then I realized I can just swap room names and keep everything the same! I have a ‘kind’ of room and can keep the name and description of the rooms in a list and just permute the list. It should save a lot of work!

I’m thinking of having the outer ring of ships chained to each other, sharing angular momentum, while one in the center spins the other way, and having cannons you can pull closer in or further out (like Mike’s idea) and fire to give different changes in momentum.

5 Likes

I’m glad how the Spanish armada thing is working out. I started with lists and ended with tables and didn’t consolidate them so it’s a bit janky now, but I wanted to lay out what I’ve got so far.

I defined the rooms by a kind and gave them names from a list, with fixed map directions:

A vortex-ship is a kind of room. A vortex-ship has some text called the ship-feature. The ship-feature of a vortex-ship is usually "boring". The printed name of a vortex-ship is usually "[ship-feature in sentence case] Carrack"

The vortex-adj is a list of text that varies. The vortex-adj is {"weathered", "slim", "fancy", "painted", "crooked", "sticky", "vandalized", "gross"}

The weathered-ship is a vortex-ship with ship-feature "[entry 1 of vortex-adj]". It is northeast from gross-ship and northwest from slim-ship.
The slim-ship is a vortex-ship with ship-feature "[entry 2 of vortex-adj]". It is northwest from fancy-ship.
The fancy-ship is a vortex-ship with ship-feature "[entry 3 of vortex-adj]". It is northeast from painted-ship.
The painted-ship is a vortex-ship with ship-feature "[entry 4 of vortex-adj]". It is northeast from crooked-ship.
The crooked-ship is a vortex-ship with ship-feature "[entry 5 of vortex-adj]". It is southeast from sticky-ship.  It is down from london-room.
The sticky-ship is a vortex-ship with ship-feature "[entry 6 of vortex-adj]". It is southeast from vandalized-ship.
The vandalized-ship is a vortex-ship with ship-feature "[entry 7 of vortex-adj]". It is southwest from gross-ship.
The gross-ship is a vortex-ship with ship-feature "[entry 8 of vortex-adj]".

Then I have a rule for spinning the thing. The rule only runs if the player is in the vortex or in a room that can reach it; I’ve tried hard to sandbox my ‘every turn’ rules so that I don’t have complicated things from all 10 dimensions running at once:

Every turn when the player is in a ship-adjacent room (this is the rotation rule):
	let tempname be "";
	if the player is in a vortex-ship:
		now tempname is the substituted form of "[ship-feature of the location]";
	let clockwisedir be false;
	let temp be outer-vel minus inner-vel;
	if temp < 0:
		now temp is 0 minus temp;
		now clockwisedir is true;
	repeat with current running from 1 to temp:
		if clockwisedir is false:
			rotate vortex-desc;
			rotate vortex-adj;
		otherwise:
			rotate vortex-desc backwards;
			rotate vortex-adj backwards;
	if the player is in a vortex-ship:
		repeat with current running through vortex-rooms:
			let temp1 be the substituted form of "[ship-feature of current]";
			if tempname is temp1:
				move player to current, without printing a room description;
		say "The room rotates [temp] times relative to the center. [vortexit]."

‘outer-vel’ is the outer ring’s angular velocity and ‘inner-vel’ is the inner ring’s angular velocity (in multiples of ‘room per second’). Rotating the lists rotates the room.

Each ship needed a cannon that could be fired and we need to keep track of whether it’s loaded or not. But then each cannon would have to move with the room description (similarly, I don’t let the player drop anything as that would require more moving code). So I made one cannon and made a table keeping track if it’s loaded.

I was originally going to allow each cannon to move further in or out from the center to affect the momentum (like Mike suggested), and turn it to face towards or against the current angular velocity (to slow it down or speed it up), but then I realized that the 8 rooms didn’t really serve a purpose yet, so I made them vary in where the cannons were located and then fixed the cannons in place:

Table of cannon states
adjective	loaded	is-close	can-clock
"weathered"	true	false	true
"slim"	true	true	true
"fancy"	true	false	false
"painted"	true	true	false
"crooked"	true	false	true
"sticky"	true	true	true
"vandalized"	true	false	false
"gross"	true	true	false

And then we just need a way to fire the cannon:

Instead of pulling the vortex-lever:
	let temp be the substituted form of "[ship-feature of the location]";
	choose the row with a adjective of temp in the Table of cannon states;
	let temploaded be loaded entry;
	if temploaded is true:
		let cannonpower be 1;
		let tempclosed be is-close entry;
		if tempclosed is false:
			now cannonpower is 2;
		let tempclock be can-clock entry;
		if tempclock is false:
			now cannonpower is cannonpower multiplied by -1;
		let tempconcur be false;
		if tempclock is true:
			unless outer-vel - inner-vel < 0:
				now tempconcur is true;
		if tempclock is false:
			unless outer-vel - inner-vel > 0:
				now tempconcur is true;
		say "You pull the lever. There is a violent shudder as the cannonball is shot out at an immense speed. [if tempconcur is true]The whole outer ring speeds up.[otherwise]The whole outer ring slows down.[end if]";
		now the loaded entry is false;
		now outer-vel is outer-vel plus cannonpower;
	otherwise:
		say "You pull the lever, but nothing happens; this cannon isn't longer loaded!";

I have some other code for printing the status of a cannon, and next I’m working on a ‘net’ for each cannon to catch its own cannonball, which will cancel out the adjustment made earlier.

I’m worried that people will find this either confusing or a chore. I’m going to leave a simple physics textbook in the Library of Alexandria that explains the basic idea, but that may make it harder for ESL players. Experimentation will show though that each cannon either speeds up or slows down the rotation by a different amount, and that you can ‘undo’ by catching the cannon ball.

Players need to get the outer ring to match the inner ring (the galleon), then attach the two into a single thing, then slow it all down to stopping. I don’t plan on having the inner ring affect the overall moment of inertia because I estimated that the outer ring has about 10x more moment of inertia than the inner one.

4 Likes

Hmm, I’m kind of torn now, and I’m wondering about a couple of things.

I added the Spanish Armada because this level was slightly smaller than the others. But…

I had forgotten to add steps in the walkthrough for reading the textbooks you find and for buying and using the calculator.

So now it’s slightly bigger than the other levels, and has a lot of puzzles which are pretty hard compared to the others.

Would it be weird to have one level that sticks out as harder and bigger? All these first 8 levels are going to be equally available from the beginning in an open world, so it might be the first one someone encounters.

Also, I could use some tips on some names. This dimension is like an archaelogical dig mixed with a junkyard, and the ‘hook’ is you getting an exploration notebook that a community of urban explorers has been passing around and writing in. Like (not real dialog):

I can’t find a way down from the Eiffel Tower-insert name here

It depends on the tides, you have to come on a good day-insert name here

So kind of like an internet message board but on a communal notebook. I just can’t figure out the best way to do names. I’ve been thinking:
1-Normal names
2-Initials
3-Internet user-style names

(for instance, if it was me option 1 would be Brian, option 2 would be BR, and option 3 would be mathbrush).

I’ve already put beta tester names in as graffiti tags in Stonehenge, so I’d like to do something different here…

Edit: Also this dimension has a manga in it with enemies to lovers used to teach principles of physics

Editedit: Okay, so I’m working on flaming things. There’s no way to lose this game, and I want to have the big fire scene in the opera house…but the code I’m using from Emily Short in the Inform examples has 5 matches. I could make an infinite box of matches by having the old ones burn up and reappear in the box (behind the scenes), or I could have a ‘match recharger’, but instead I’m just planning on making the last match, if you waste them all, set the whole place on fire by accident.

4 Likes

I think it’s totally fine to have a bigger level than the rest! Although maybe try to restrict it so it’s not the first level that you can play of the eight (Like, include "key"s from three or four dimensions. I would have said the last dimension but I know the garden one has an object from this dimension. (Or make this dimension the last that you are able to complete but not start, like make the lighter in the house.)

You could use a lighter?

Plus, on the burning things down, you could have comedic moment where if you’re still in the building, (robot?) firefighters would come along and save you but put out the building, whereas if you’re outside you can choose to say “stop” to them (as a conversation topic, or >STOP THE FIREFIGHTERS, or >FIREFIGHTERS, STOP, so they don’t burn it down.

2 Likes

Thanks for the advice!

(This post is really long and is mostly me figuring out my gameplan to get this done. You will miss nothing by ignoring it).

I now have dimension 8 out to testers (and dimension 7 to some). I think I might slow down now, as the last two dimensions are the actual storyline of the game (the others contain story elements, but none are conclusive).

It’s weird to see the timeline. My original goal was 10 dimensions, each requiring about 2 hours to play, each lasting about 200 turns, and having about 30K words of code.

Here are some stats:

  1. From the time I first mentioned my idea to someone until the time the first dimension was sent out to testers was 4 months and 16 days. But that was only half the dimension; the other half took another month. It occupies 28.0K words of code. I also did a lot of background stuff in that time, like the conversation system, responses, ABOUT text, etc.
  2. The second dimension took about 1 month (around Dec 30 to Jan 29). I did a round of tests on the first half right in the middle of that. It occupies 40.7 K words, mostly because it’s a murder mystery with 3 version each of 4 different stories.
  3. The third area took 28 days, and occupies 29.4K words.
  4. The next section, a horror area, took a month and a half, with 27.1K words.
  5. The fifth section, with robot combat, took a month and 6 days, at 25.6K words.
  6. The sixth section took a month and a half, but to be fair I had a ten day trip to Spain in the middle of it as a chaperone for a school trip. It’s small, at 22.4K words.
  7. The seventh section took 21 days and 20.7K words. The smallest dimension so far.
  8. The eighth dimension took 19 days and 32.6K words! Many of those words are from examples by Emily Short in the Inform documentation. Although the wording was changed, the basic logic is generally the same (although even that had to be changed to fit the world).

Outside of these, the ‘home world’ all the dimensions are accessed from is about 11K, pre game setup is 2.8K, and everything else is 4K.

For dimensions 7 and 8, I was working on this full time, as I had summer off as a teacher and had finished my other obligations.

Over time, I decided to make the 10th dimension just be the intro and the finale, with the 200 actions spread over both. I plan on making a couple of paths so it will really be about 300 actions. The 9th dimension I decided to spread into little chunks found in all the other worlds, but still be 200 actions.

I’ve average a month or so on each dimension. If I did a month and a half on the finale, plus another month on the 9th one, I’d finish…right in the middle of IFComp!

And I don’t plan on releasing any time before the end of IFComp, and am shooting for around Christmas time. So that will be a lot of months to tune content, but with almost no available testers (due to having so many ifcomp games to play). So I’ll probably shoot to get dimension 9 out mid-september for testing.

My overall testing plan for games before this was to get 15-20 testers. But for each dimension I’ve had fewer testers each time, not necessarily out of lack of interest (although I do think people are getting burned out!) but because a core group of testers has basically perfected their work.

But each piece has only been tested in isolation. In the grand scheme each dimension uses at least one item from another, but I’ve always given the testers a hint on what they needed. So the next step I need to do is to see if someone who has never tested can beat literally any of the dimensions without help; can someone walk in, realize they’re stuck, look around the map, and find it?

After that, and after the ending is tested, I’ll need someone to play the game from start to finish. I’ve considered paying for that, like $20 to the first three people willing to test from start to finish. But I could see only 1 being willing to do it, given the time requirements. So my backup plan is to ask for a final group of testers to take randomized assignments, each person assigned two worlds to complete in a specific order. Then that would give some final coverage to the game testing-wise and will help identify problems that arise when items from one world run into the other.

So that’s the plan! Testing will also be a bit weird for dimensions 9 and 10, since 9 is scattered around and technically requires beating everything else, and 10 includes the end of the game. So for those I plan on developing some codes to warp players around, and possibly a password system that people can use to mark an area as ‘done’. I plan on keeping this in release for two reasons:
-one, a game this big will have bugs, no matter how much testing is done. So what if someone gets permanently stuck in an area? Just restart the whole game? With passwords, they could just mark the areas as done that they already did, and play the ‘bad level’ from scratch and mark it as done.
-two, I’d like to make an ‘arcade mode’ where people can play just one dimension. My murder mystery is even better than Color the Truth, I think, so I’d like someone to be able to play just that. With passwords and so on, I could just warp any required items in so that players don’t need other areas. This will only apply to dimensions 1-8, the 9th and 10th would be exclusive to the full game.

6 Likes

In preparation for Dimension 9, which connects all the others, I’m playing through my whole game in a random order, which I haven’t done before, and fixing things that crop up. I’ve also been playing Grandma Bethlinda’s Variety Box and Monument Valley to get inspiration for this new dimension, which consists of a one room limited parser dimension with increasingly large outposts in the other dimensions.

I could use some help with a poem, though, that I found back in dimension 3. I changed it recently; this was the original version:

 Four jeweled rings are lovely things
 Electric, magic, lovely rings!
 But seekers weary first must query.
 Where to find the rings that vary?
 One ring plain and put on show,
 One ring buried deep below.
 A ring for each these figures" deaths:
 find them in that which took their breaths.

and this is the new version:

Four jeweled rings that you must find
(Lovely things that please the mind)
Can be sought, in places varied.
Foolish seekers will be wearied.
One ring plain is put on show,
One ring buried deep below.
A ring for each these figures' deaths:
Found in that which took their breaths.

Which do you prefer? In your preferred version, do any lines stick out as good or bad? Any punctuation suggestions?

(In context, you are in a wax museum containing figures of Cleopatra and Genghis Khan at the moments of their death, along with a mud bath and a display case containing a sapphire ring). ‘Electric’ was a hint in the original but I think it can be omitted without significantly increasing puzzle difficulty (the four rings are used to complete an electrical circuit in a fuse box in the same room that has four slots)

3 Likes

Depending on when you’ll be ready for that run-through, I might be able to take that on – the rest of this year will pretty much all be me trying to keep up with the backlog I’ve created for myself, but post-Comp/early next year, I might have some bandwidth again, and I’d love to help out!

I mostly prefer the first one (especially “but seekers weary first must query/where to find the rings that vary?”; I really like the weary/query inline near-rhyme you’ve got going). The final couplet doesn’t quite work for me in either version, though; it’s by no means awful, but while the omission of “of” is needed for the meter, “each these figures’ deaths” still scans odd, and “found in that which took their breaths” seems a little awkward in plural and maybe a bit Vincent-Price-y? Just noodling around with an alternative in case they seem promising:

A ring marks each one’s royal end;
To their means of death attend

4 Likes

I prefer the second. Probably omit the parentheses in line 2. Lines 3 and 4 don’t rhyme. Omit “these” in line 7, so that lines 7 and 8 have the same number of syllables. Perhaps use “death” and “breath” (singular) in lines 7 and 8. As a rule of thumb, use a comma at the end of each line, except where semi-colon or period is more appropriate to provide a pause or terminate a sentence respectively.

3 Likes

That would be fun to have you test the ‘complete’ game! It would after ifcomp for sure, but whether this year or net depends on how things go, I suppose.

I like the ‘royal end’; I suppose it’s quite true for Genghis Khan and Cleopatra, and I think I may use that (with your permission and credits).

I didn’t know that! I don’t hear the word ‘wearied’ pronounced out loud very much and thought that some people pronounced it with a long ‘a’ sound, but it seems I completely made that up. I could use the lines MIke preferred from the first one to replace them. And thanks for the punctuation tip!

3 Likes

Of course, feel free!

2 Likes

A lot of Shakespeare’s couplets don’t rhyme anymore because of The Great Vowel Shift. Partial rhymes are quite common and perfectly acceptable I think. Also, because you’re from the Midwest and I’m from Merrie England I’d have assumed it was down to a difference in dialect.

7 Likes

Even a lot of Gilbert and Sullivan things don’t rhyme any more, due to changes over only a century or so! “To gain a brief advantage you’ve contrived / but your proud triumph will not be long-lived” used to be a completely unremarkable rhyme, but it’s no longer common to pronounce “lived” that way (/lɪvd/ has thoroughly taken over).

6 Likes

Reading the list of bugfixes in the other thread related to this game, I’m flabbergasted by the sheer scope of this game, from controlling the spanish armada to inserting coin in a specific object at a specific location. It’ll take me 5 years to play this game when it’s released, but i will play it.

7 Likes

It’s pretty big, but there are definitely bigger! I’ve even beta tested a bigger game than mine in the last few months.

For today’s diary, this week was one of the most chaotic for development on the game. My last dimension (animal dimension) was very light in code and had extremely simple mechanics (lure animals around to different biomes). Only 3 people tested it but it felt pretty smooth.

I’ve had 6 or 7 testers on this last dimension and have been testing it a lot myself, and it has had so many horrible bugs and poorly-handled instructions, but it finally seems to be stabilizing.

Which means I started coding dimension 9 after working on design docs for it for the last week or two.

This one is the ‘backbone’ of the game, spread out among all the others and providing the main overall goal and storyline for most of the game. Its found the same way the others are, by wandering through a rift, so it might be possible for someone to beat most of the game without finding it and then speedrunning things, but that’s why I’ve made each dimension impossible to solve on its own; they all require something from another dimension to solve, so players will hopefully see most of the map before solving too many dimensions.

I’d like to add some meta-functionality here; this dimension is centered around a handheld tool with various powers and a device that gets bigger and bigger. One power the tool could have is detecting if a dimension needs something else to complete it (so, turning on the device in an unfinished dimension will tell you you’re good to go or show a number indicating where you have to go to get the necessary item. If you’ve played Cragne Manor, the coffee cup behaves very similarly.

I have to admit I got teary eyed a little programming the rooms for this region. One of the first things I did when I started writing the game was adding in a tiny, almost inaccessible room in the first ‘dimension’ with a note that it would all hook up later, and it’s been there over all the months since then, and other little rooms have been added on. They were the only rooms in the game not in a region (since I split up rooms by dimension and sometimes smaller as well). Now everything is in a neat bundle, and there are no more ‘stub’ rooms. I have about 8 more connector rooms to add (which I usually avoid but it should make sense here) and we’re closing in on the final map for the game, outside of the opening and ending.

This area is going to be a limited parser game, or at least inspired by limited command sets. There’s a lot I still haven’t figured out, but I know I’m going to have some of the puzzles in the central room and some in the ‘scattered outposts’, and basically you’ll solve a puzzle to collect a crystal-type power up from each outpost, bring it back to the base, and solve a puzzle to empower your device. I’d spoiler this but this isn’t the real big spoilers for this section.

Outside of the dimensions, there are a couple of tasks that don’t really fit anywhere. I’ve combined the prelude and endings into the 10th dimension in my mind, but beyond that at some point I need to actually make the ship you start on and add in special events after the solution of each mini-dimension. Those will be the things that tie the game together and drive the plot, and I think I’m going to save them for dimension 10. So testers will have to put up with my lame ‘THIS ROOM IS UNDER CONSTRUCTION’ and “HERE"S AN INFODUMP OF THE BACKSTORY” I’ve had in place for the longest time.

This dimension will be hard to test, because you have to venture into all the others to solve it, with several of them requiring you to solve significant puzzles to reach the outpost. I’ll have to make commands for testers to ‘skip ahead’. Also, I want the outposts to have increasingly hard puzzles, but I can’t choose when people reach them. So I plan on dynamically adjusting the difficulty of the outposts in the order you reach them. Each will have flavor related to its dimension (and bits of lore reveal) which will stay fixed between playthroughs, but the required puzzle solution will be much harder if you visit it last vs visiting it first.

7 Likes

Props to you for your ambitious project, Brian!

6 Likes

Thanks John, and thanks for all your help!

Today in my dev diary, I’m having some trouble on the brainstorming phase. Often when I’m working on an area I have a list of things I want from a puzzle or set of puzzles but just can’t figure out how to get them all to work. Sometimes I get past the blockage by adding additional constraints (for instance, in the animals section, I had a list of rooms and a list of animals but couldn’t figure things out, so I themed each puzzle after a character in the Lord of the Rings, like Legolas being a puzzle about knocking something out of a tree and Pippin involving an animal that was obsessed with something that you had to take away from it).

The big concept in my current dimension is “you have a tool you upgrade.” So there are two sets of locations:

  1. The workshop. This is a single room with limited parser puzzles (represented by computer commands/buttons) where the device is upgraded.
  2. Outposts scattered around the other levels. Each outpost you visit requires more and more of the device’s features to ‘solve’.

Sounds great, right? Well, I need 8 or 9 different powers, and here’s the issue: I need them to give the player more and more power in the outposts, but they can’t break the rest of the game.

So far, I have two that are definitely going on:

  1. Lockpick. Each level has locked doors; this tool can unlock them all. Simple. And it doesn’t break the rest of the game, because I just don’t put locked doors in the rest of the game, or, if I do, give them clearly different locking mechanisms (like a big old-fashioned key).
  2. Flashlight. Again, easy, because I can just put some darkness in the outposts and nowhere else in the game.

The problem is, I need 6 other powers that are cool and increasingly powerful that don’t break the rest of the game. The theme here is portals or rifts. (explanation of how first two power tie in:) The lockpick functions by making a tiny portal inside the lock that lets it unlock. The flashlight is actually a tiny portal to a large furnace or energy source.

One great power that doesn’t break everything is the power of information. For instance, the game is organized around 8 different dimensions (plus this one), and each one has one ‘misplaced’ item needed to solve it that’s found in a different area. So having a ‘radar’ or ‘scanner’ that tells you when an item is misplaced and/or where it belongs or if you have everything you need for a dimension could be a nice power.

I’ve also considered having the tool interact with the rifts leading to other dimensions. For instance, we could have powers that:
a) ‘diagnose’ the rift, showing when it was created, who the rift was made for, etc.
b) give flashbacks to the past or time the rift was created, for lore drops
c) allow the user to teleport from one portal to another, even if they weren’t originally connected (basically unlocking quick travel).

Other ideas I’ve considered:
a)having ‘dormant’ portals that the tool can ‘unzip’ or open. This helps reduce the number of ways things can go wrong
b)detecting energy flow (machines light up, energy comes through rifts, etc.). Would require going through all the older levels looking for electronics, but that wouldn’t be too bad.
c)making a pocket dimension that acts as another ‘player’s carryall’, so you can zap stuff away and return it whenever you want. It’d have to be limited to carryable items, and I might have to check to make sure there are no items that could cause problems (maybe smuggling matches out of the demolition zone or a laser gun out of combat).
d)making a pocket dimension the player can go to at any time. this wouldn’t have a real major use, although it could mess up some scripted scenes.

It’s also a bit hard because another self-chosen constraint is that each new upgrade has to be ‘calibrated’ at the home workshop, testing out the new powers in a controlled way to demonstrate the user understands them. So while ineffective powers are great for keeping the rest of the game safe, they make the ‘calibration’ part harder.

The final power will be (fairly big spoilers here)Opening up a huge rift using the power of the other 8 completed and empowered rifts to substantially affect the past and future and lead directly into the endgame.

So I’m kind of spitballing ideas here. Any of the powers sound interesting, or is there anything that fits neatly here? I’m looking for inspiration in things like the Sonic Screwdriver or Spot from Spider-Verse.

4 Likes

I don’t know how useful this will be, but a couple of broad conceptual models for this kind of thing (“I need a bundle of puzzles”):

  • Each [thingy] has a corresponding element. Each element does something-or-other by itself, and then something else when combined with one or more elements. I.e., you have a water thingy and a fire thingy, so you have a way of making something wet (or filling something/making something inside a vessel float), you have a way of burning something (or making something expand due to heat), and you have a way of making steam (maybe turning a turbine or something). If you have 8 or 9 “slots” for puzzles, you could probably get away with programming only 3 or 4 “elements”, most of the solutions being combinations, discarding the rest as red herrings/false leads (mud fills the vessel but the buoy you’re trying to float sinks in the mud)
  • Related, but the widgets are machine components that can be used individually, but also perform functions when chained together: a collection of simple machines like a lever and a wedge that can be made into a see-saw, or a collection of logical operators like an AND and a NOT that can be strung together to form a conditional
  • Alternately, the widgets are mechanical components, but they can only be used together loosely: they’re something like kitchen appliances/tools. You get a knife, you can cut/chop things; you get a fry pan and you can fry things; get an oven and you can bake things; there are recipes you can make with any one of the tools, but you need all three to make a BLT from scratch

Don’t know how relevant any of these conceptual models are to what you’re trying to do with tiny portals, but the main idea I’m suggesting is approaching it as a unified conceptual framework or whatever you want to call it, and you’re using the framework to implement puzzles, instead of designing n arbitrary, unrelated puzzles.

In terms of containing everything, you make the individual bits cumbersome/fragile/whatever, so that the player can’t juggle all of them simultaneously. Or alternately make one or more components stationary, so the player has to bring the other bits to it instead of the other way around.

4 Likes