Level: Guide Everyone Home

I’ve been working on a level meant to provide some practice on looping (and more specifically choosing between items in array that need attention and those that don’t).

I’ve had some friends and family play test it to iron out some of the kinks, but I’d love to get some additional feedback. Thanks!

I’ve got a couple of issues so I’ll just list them one by one. Don’t take any of this too personal, I am trying to help. The level is otherwise not bad and will teach a valuable skill for this game.

  • One of the initial lines of text is too long so the word ‘field’ gets cut off by the continue button. Additionally the gray ‘Skip (esc)’ text is hard to read because you have text behind it.

  • It’s not immediately obvious how to check where the wizard is. You should make sure to document unit.pos so that people understand that. The only reason I know is from other levels.

  • I feel like there being a this.move() command documented for the wizard (or any other command for that matter), I’m tempted to try to see if I can tell them to move automatically. Sure, you disallow that, but I’m going to try nonetheless.

@darksteel Thanks, that’s the sort of feedback I was hoping for.

  • I’ve shortened that line of dialog, so it should look better now.

  • I’ve added “pos” to the list of documented properties when you click on a wizard. Do you feel like that’s enough, or should I put in a specific comment to the player to make a note of it?

  • I’m sort of torn on whether to remove the documentation on wizard.move() to remove the temptation, or leave it in there for people to see how the wizard is operating. I think I’ll leave it there for now, but I’m open to changing my mind if people think it’s hurting more than it’s helping.

Mace starts off the screen, so those unfamiliar with selecting Thangs from the right-hand-side or zooming the map will be lost at first. I’d keep the aspect ratio of the level and camera bounds at 1.1765704584040746 so that it can be fully zoomed out.

A bit of decoration on the level would be nice. If you want, you can even add certain obstacles (Collides config collisionCategory: “obstacles”) and use ai.FindsPaths to make the leading a little more interesting.

I’d put pos in a comment. Players aren’t really used to clicking on other Thangs to see their APIs.

The scripts would have more flare if instead of the narrator explaining about how the wizards will teleport back and be lost, they actually start teleporting back and start crying out that they’re lost.

Is the ‘say’ api disabled in this level? It seems to me that it is, and removing it makes debug really hard. If this level is for the beginners and there’s no person who sits behind them and answers their ‘wft’ questions, I’d include a bug into the level and a this.say expression which shows some value and explains that it’s a bug…or maybe there must be special levels that teach debugging…

@nick OK, I think I’ve addressed your suggestions:

  • I padded out the level size so it should start zoomed all the way out now.

  • I added some trees and rocks and turned on path finding. I think I tried that in an earlier version and the wizards had a habit of getting separated from Mace, but I don’t think I switched the collision category to “Obstacles” so maybe that was the problem

  • I added a commend about “pos” in Mace’s default code

  • I switched the intro script to have Mace do most of the exposition, and a wizard teleports back and is lost. Is that a little better?

@no_login_found I think there’s a legitimate debugger in the works that would be better than using this.say() for debugging. Perhaps @nick can chime in on that.

There is a debugger that partially works, but only partially. Class variables can’t be debugged from my experience. Despite the debugger, I almost always use this.say(). In fact, I think a lot of programmers just use print to debug their code. I don’t see any reason why you can’t support say for now, I doubt it’s much work to add it.

@darksteel @no_login_found OK, fair enough. I’ve enabled “say” for Mace.

Looking pretty good. How about adding a Guide? Also would probably make sense to have the UI System configured to show paths for the selected unit, to make Mace walk twice as fast, and to lower the max lifespan of the Existence System to 30 seconds.

Feel free to move it to the custom levels section when you’re ready.

@nick OK, Mace goes twice as fast, Existence is set to 30 seconds. I turned on paths, but I do get some performance issues on my older laptop. Not enough to make the level unplayable, but it’s noticeable.

I’d be happy to put in a guide, but what information do you think would be the most useful to include?

At the very least, the guide should recap the objective of the level, maybe discuss a bit what you would learn. It’s good to include hints where people might get stuck. It doesn’t need a lot of info in it, but the guide is where (some) players will look when they’re confused.