Level: Taunt The Guards


#1

Hello mighty gods of level-design,

here is my feedback:

’Lure ‘em and run’ goal :

  • It is possible complete level without achieving all goals. Following code completes level without the “Lure 'em and run” goal.

this.moveRight();
this.bustDownDoor();
// Delete the “//” in front of each line below.
this.moveRight();
this.say(“Hey there!”);
this.moveLeft();
this.moveLeft();
this.say(“Attack!”);
// Now get Phoebe to follow through the dungeon.
this.moveRight();
this.say(“Follow me.”);
// next
this.moveRight();
this.moveRight();
this.moveUp();
this.moveRight();
// talk to theirs(?) hands!
this.say(“Something!”);
this.say(“Attack!”);
this.say(“Attack!”);
// asta la vista baby
this.moveRight();
this.moveRight();

Unexpected behavior when level ends:

This is related to previous point. After completing level without getting all goals “Done” button appears.

  • At this state game wont let me run code again. I have to modify code first.
  • After executing code in this state camera is not following Tharin after freeing girl with crossbow.

Here is a picture of a rabbit

:rabbit: This rabbit is not related to anyone or anything i know of.

Let the force be with you,
Me


#2

I’ve made some improvements such that Tharin and Phoebe must both escape and the level ends when they do. Better now?


#3

I did not notice any change.
More descriptevly : Level can be finished in 3 ways:

.

.


#4

I’m having a really tough time with this level. How do I get past the second two guards?


#5

@wrxpertz :
Let Phoebe kill them.


#6

I found the supplied solution did not work. ‘this.say(“Hey there!”);’ and ‘this.say(“Attack!”);’ had to be repeated twice before the ogre reacted or the archer attacked. However follow me worked straight away.

PS my 5 year old loves the presentation!


#7

//Here is my solution
this.moveRight();
this.moveRight();
// Delete the “//” in front of each line below.
this.moveRight();
this.say(“Hey there!”);
//this.moveLeft();
//this.moveLeft();
this.say(“Attack!”);
this.attackNearbyEnemy();
// Now get Phoebe to follow through the dungeon.
this.moveLeft();
this.moveLeft();
this.moveDown();
this.moveLeft();
this.moveLeft();
this.bustDownDoor();
this.say(“Follow me.”);
this.moveDown();
this.moveRight();
this.moveRight();
this.moveUp();
this.moveRight();


#8

Isn’t Phoebe supposed to shhot the guard not Tharin attack?

This is mine:

this.moveRight();
this.bustDownDoor();

// Delete the “//” in front of each line below.
this.moveRight();
this.moveRight();
this.say(“Hey there!”);
this.say(“Hey there!”);
this.moveLeft();
this.moveLeft();
this.say(“Attack!”);
this.say(“Attack!”);
this.moveLeft();
// Now get Phoebe to follow through the dungeon.
this.moveRight();
this.say(“Follow me.”);

Without the repetition the guard does not follow until Attack and again without the repetition the archer does not shoot.


#9

I think I’ve fixed the bug with deaf ogres and archers on the first this.say(). Is it working better now?


#10

Yes the first say works but still bugs out on attack, Pretty sure it’s because the Ogre isn’t close enough to Phoebe for her to (say) attack it.


#11

Here is my solution with Phoebe killing first Ogre Tricking the other 2 and the both of them escaping the dungeon semi intact. :wink:

this.moveRight();
this.bustDownDoor();

//Had to repeat (say) as Ogre is not in area of attack in time, I think
this.moveRight(10);
this.say(“Oi, Wimpy Guard!”);
this.moveLeft();
this.say(“Get Ready!”);
this.moveLeft();
this.say(“Attack Now!”);
//
// Now get Phoebe to follow through the dungeon.
//
this.moveRight();
this.moveUp();
this.say(“Quick, Follow me.”);
this.moveDown();
this.moveRight();
//The extra (say) commands and the increment moving are to get Phoebe to catch up and from running into the //walls as you will see come the tricking part towards the end were she gets hit once, Handy if we had a wait or //pause spell Lolz :wink:
this.say(“That was too close, Pay attention next time”);
this.moveRight();
this.moveUp(17);
this.moveRight(10);
this.say(“Oi, Dumb Guards”);
this.moveDown(7);
this.moveDown(12);
this.moveRight();
this.moveUp();
this.moveRight();

Boom Success lol… Have fun peepz


#12

Man, I don’t know why the pathfinding keeps bugging out and changing on this level. I’ve adjusted it again such that the default code should kill the first ogre munchkin properly (even though he still gets stuck on the wall a little bit). Any better?


#13

this.moveRight();
this.bustDownDoor();

// Delete the “//” in front of each line below.
this.moveRight();
this.say(“Hey there!”);
this.moveLeft();
this.moveLeft();
this.say(“Attack!”);
this.say(“Follow me”);
// Now get Phoebe to follow through the dungeon.
this.moveRight();
this.moveRight();
this.say(“Stay here!”);
this.moveRight();
this.moveUp();
this.moveRight();
this.say(“Hey there!”);
this.moveDown();
this.moveRight();
this.moveUp();
this.moveRight();
this.moveRight();


#14

Honestly, none of these options work for me. The first ogre doesn’t seem to respond to the “say” command, despite being in range and “saying” something back. Just a general question for the group - is this something stable enough to use for a class of high school kids or is it still a bit unpredictable in its performance? I’d like to use it for something coming up, but I can’t get past this level to explore additional features.

Update: In the meantime, before the game gets fixed, here’s a weird way of getting through this level:

this.moveRight();
this.bustDownDoor();

// Delete the “//” in front of each line below.
this.moveRight();
this.moveRight();
//this.say(“Hey there!”);
this.attackNearbyEnemy();
this.moveDown();
this.moveLeft();
this.say(“Follow me.”);
this.moveRight();
this.moveUp();
this.moveRight();
this.say(“Follow me.”);
this.say(“Follow me.”);
this.say(“Attack!”);
this.moveDown();
this.say(“Follow me.”);
this.moveUp();
this.say(“Follow me.”);
this.say(“Attack!”);
this.moveRight();
this.say(“Follow me.”);
this.moveRight();
this.say(“Follow me.”);


#15

Figured it out. Weeb and Gort don’t move when taunted which causes the whole thing to get weird. I looked through the mongo doc and found this:

Brack moves because this components are registered in the components array in this order:
acts, autoTargetsNearest, chasesAndAttacks, hearsAndAggros, findPaths …

Weeb and Gort seem to have their components in different orders:
acts, chasesAndAttacks, hearsAndAggros, findPaths, autoTargetsNearest …

And that alone (chasesAndAttacks before hearsAndAggros maybe?) prevents the actual hearsAndAggros from working properly. If you patch it in the mongo level document, the characters get moving again.

@nick - not sure if this is a change that you can explain and possibly patch for us. thanks!


#16

Wow, awesome work debugging that! I can’t believe you managed to pinpoint the cause of that one. I’ve updated it to reorder the Components for now, and that indeed fixed it.

Really I need to make the Components independent of ordering, but I’ll have to save that for another day. The new ways of having dudes aggro based on the AI embedded in their weapons should be easier to get right than the custom way that we did for that batch of levels.