Announcement: Remember: you are giving away your fantastic ideas for free, and somebody else might even make money from them (or appear to). That's just how the world works! If you're worried about it, maybe you shouldn't post your ideas here.


Caravel Forum : DROD Boards : Feature Requests : NPC Suggestions ((Sorry if they've been suggested already))
New Topic New Poll Post Reply
Poster Message
Casebier
Level: Master Delver
Avatar
Rank Points: 283
Registered: 08-03-2005
IP: Logged
icon NPC Suggestions (+1)  
This game reminds me a lot of an old DOS ASCII game called ZZT. There were several scripting functions you could add to the NPCs in that game that I think would be very useful in DROD.

1. Wait For Obstacle (N,NE,E,SE,S,SW,W,NW): NPC waits until it is blocked in one (or more) direction(s).

2. Wait For Player Aligned (N,NE,E,SE,S,SW,W,NW)(X-ray,No X-ray): NPC waits until the player is visible in one (or more) direction(s). Second flag to determine if the event triggers through line-of-sight obstacles.

3. Room/Floor/Hold/Global variables: Allowing NPCs to set variables for a Room/Floor/Hold, effectively allowing an architect to pass information between NPCs. This would be a good way to keep track of upgrades (ie- The MetDROiD series).

4. (NPC) Go To (Label): NPC#1 tells NPC#2 to skip to another label in NPC#2's program.

5. Place Monster (Dir): This would allow NPCs to be monster spawners, instead of sacrificing themselves to become a monster directly.

____________________________
Casebier
--------------------------------
Revisiting old Project: ZelDROD 1 / ZelDROD RPG (If I can ever find the custom graphic files that I made for it.)

[Last edited by Casebier at 01-08-2007 05:41 PM : Added Idea #5]
01-08-2007 at 05:00 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Ezlo
Level: Smitemaster
Avatar
Rank Points: 1224
Registered: 01-08-2006
IP: Logged
icon Re: NPC Suggestions (0)  
Casebier wrote:
1. Wait For Obstacle (N,NE,E,SE,S,SW,W,NW): NPC waits until it is blocked in one (or more) direction(s).
I'm not sure how this could be useful. Do you have any ideas?

2. Wait For Player Aligned (N,NE,E,SE,S,SW,W,NW)(X-ray,No X-ray): NPC waits until the player is visible in one (or more) direction(s). Second flag to determine if the event triggers through line-of-sight obstacles.
This can be done easily enough with the Wait for Player command.

3. Room/Floor/Hold/Global variables: Allowing NPCs to set variables for a Room/Floor/Hold, effectively allowing an architect to pass information between NPCs. This would be a good way to keep track of upgrades (ie- The MetDROiD series).
I SO want this to be implemented. It's been talked about before, and the response has been neutral leaning toward negative.

4. (NPC) Go To (Label): NPC#1 tells NPC#2 to skip to another label in NPC#2's program.
How could this help? I can't quite see.
01-08-2007 at 05:23 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
Casebier
Level: Master Delver
Avatar
Rank Points: 283
Registered: 08-03-2005
IP: Logged
icon Re: NPC Suggestions (0)  
1. Wait For Obstacle (N,NE,E,SE,S,SW,W,NW): NPC waits until it is blocked in one (or more) direction(s).
2. Wait For Player Aligned (N,NE,E,SE,S,SW,W,NW)(X-ray,No X-ray): NPC waits until the player is visible in one (or more) direction(s). Second flag to determine if the event triggers through line-of-sight obstacles.
The first two suggestions are useful for NPCs that move. #1 could also be used as a combination of all of the Wait for Player/Monster/Halph/etc pauses.
3. Room/Floor/Hold/Global variables: Allowing NPCs to set variables for a Room/Floor/Hold, effectively allowing an architect to pass information between NPCs. This would be a good way to keep track of upgrades (ie- The MetDROiD series).
The thing that you have to watch out for is storing too many variables. But programs nowadays have much more memory available than old DOS programs did.
4. (NPC) Go To (Label): NPC#1 tells NPC#2 to skip to another label in NPC#2's program.
One way of looking at this is that you would have in essence a Brain-NPC. If you have multiple NPCs in a room, and they are supposed to move together as a wall to block the player, it would be more efficient to have one NPC with all the test clauses. Of course, for this to work properly, this command would have to be a Free action in the program so that more than one NPC could be commanded simultaneously.

Casebier

____________________________
Casebier
--------------------------------
Revisiting old Project: ZelDROD 1 / ZelDROD RPG (If I can ever find the custom graphic files that I made for it.)
01-08-2007 at 05:40 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2460
Registered: 11-14-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Casebier wrote:
1. Wait For Obstacle (N,NE,E,SE,S,SW,W,NW): NPC waits until it is blocked in one (or more) direction(s).
Especially with relative coordinates added, I think this would be incredibly helpful. Imagine a loop:
Label "Moving North"
   Move North 1
   If ... Goto "Turn west":
   Wait for Obstacle North
   Goto "Moving North"
In other words, the NPC would move north one square per turn until blocked (by the northern wall, Beethro, etc.).
3. Room/Floor/Hold/Global variables: Allowing NPCs to set variables for a Room/Floor/Hold
This seems to be generally frowned on, on the principle of each room being independent of any other room with the exception of blue doors. I myself don't see the problem with the suggestion; but if not having it is one of the design principles of DROD, then so be it.
4. (NPC) Go To (Label): NPC#1 tells NPC#2 to skip to another label in NPC#2's program.
I suggested something like that here, and Tim took a flamethrower to it. <shrug>
01-08-2007 at 07:46 PM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
coppro
Level: Smitemaster
Rank Points: 1309
Registered: 11-24-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Tahnan wrote:
1. Wait For Obstacle (N,NE,E,SE,S,SW,W,NW): NPC waits until it is blocked in one (or more) direction(s).
Especially with relative coordinates added, I think this would be incredibly helpful. Imagine a loop:
Label "Moving North"
   Move North 1
   If ... Goto "Turn west":
   Wait for Obstacle North
   Goto "Moving North"
In other words, the NPC would move north one square per turn until blocked (by the northern wall, Beethro, etc.).
Better way:
Label(GoNorth)
If(DoneMoving)
Move(N)
Wait(0)
GoTo(GoNorth)
Label(DoneMoving)

Move if used as a test returns true if the square is empty, and moves the character there.

01-08-2007 at 09:05 PM
View Profile Show all user's posts Quote Reply
Tim
Level: Smitemaster
Avatar
Rank Points: 1979
Registered: 08-07-2004
IP: Logged
icon Re: NPC Suggestions (0)  
Tahnan wrote:
I suggested something like that here, and Tim took a flamethrower to it. <shrug>
But if it really bothers you, let me just say that, yes, it is a good idea for architects, but testing such a hold takes somuch more time with these tricks.

Besides, I'm not Caravel, and I have absolutely no say in things they want to put in DROD. Perhaps they will add it in 2.0.15, but hopefully (for me) not.

____________________________
The best way to lose customers is to let little kids running loose on a forum with too many mod points.

[Last edited by Tim at 01-08-2007 11:08 PM]
01-08-2007 at 11:06 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2460
Registered: 11-14-2005
IP: Logged
icon Re: NPC Suggestions (0)  
coppro wrote:
Move if used as a test returns true if the square is empty, and moves the character there.
That wouldn't be (flawlessly) consistent with the way tests are done now, where "wait (for/while)" used as a test doesn't actually cause the NPC to wait. "If...Goto" before "Move" should simply return "true" if the move is possible, "false" otherwise, and not cause movement at all.
01-09-2007 at 12:42 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Tahnan wrote:
coppro wrote:
Move if used as a test returns true if the square is empty, and moves the character there.
That wouldn't be (flawlessly) consistent with the way tests are done now...
Your way does make some sense. But coppro wasn't making a suggestion, he was describing the current behavior. Well, except that coordinates are absolute and there's no "Move North 1" or "Move N" yet. But that's what "If ... goto Label; Move to (X,Y)" currently does. (And if (X,Y) is farther than one square away, it can both move the NPC and consider the test false.)

Also, this script won't really be correct until the NPC emits a beep every time it hits an obstacle and turns.

[Last edited by schep at 01-09-2007 12:56 AM]
01-09-2007 at 12:55 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
Tahnan
Level: Smitemaster
Avatar
Rank Points: 2460
Registered: 11-14-2005
IP: Logged
icon Re: NPC Suggestions (0)  
schep wrote:
"If ... goto Label; Move to (X,Y)" currently does.
Good heavens, I had no idea that "Move to" could be used as a test. Well, I stand semi-corrected (though what coppro described is a little backwards from what it does now--he's suggesting "if possible, return true; and then, also, move", and what the "move to" test seems to do is "move; and then, if finished, also return true").
01-09-2007 at 01:35 AM
View Profile Send Private Message to User Show all user's posts High Scores This architect's holds Quote Reply
coppro
Level: Smitemaster
Rank Points: 1309
Registered: 11-24-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Tahnan wrote:
schep wrote:
"If ... goto Label; Move to (X,Y)" currently does.
Good heavens, I had no idea that "Move to" could be used as a test. Well, I stand semi-corrected (though what coppro described is a little backwards from what it does now--he's suggesting "if possible, return true; and then, also, move", and what the "move to" test seems to do is "move; and then, if finished, also return true").

Well, under directional coordinates, it would evaluate to "Attempt to move north, then, if I'm north of here (no obstacle), return true". So my script would theoretically work, unless TCB is flawlessly consistent in some other way.
01-09-2007 at 02:18 AM
View Profile Show all user's posts Quote Reply
Casebier
Level: Master Delver
Avatar
Rank Points: 283
Registered: 08-03-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Now what do you guys think about suggestion #5? That was added after the first reply, so it was never quoted...

Casebier

____________________________
Casebier
--------------------------------
Revisiting old Project: ZelDROD 1 / ZelDROD RPG (If I can ever find the custom graphic files that I made for it.)
01-09-2007 at 09:12 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
zex20913
Level: Smitemaster
Avatar
Rank Points: 1723
Registered: 02-04-2003
IP: Logged
icon Re: NPC Suggestions (0)  
About #5, I don't like the monster generator concept. It's been done in Beethro in Space, Channel One Suite, and a couple of other holds via scripting. My biggest issue with it is that nobody knows when they stop. It feels random to the player, and it doesn't really add all that much.

____________________________
Click here to view the secret text

01-09-2007 at 09:37 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Casebier
Level: Master Delver
Avatar
Rank Points: 283
Registered: 08-03-2005
IP: Logged
icon Re: NPC Suggestions (0)  
But if I'm not mistaken, the most monsters you can create via scripting is limited to the number of NPCs you can fit on the screen. I tried out that Beethro the Space Commander hold, and it was obvious when I played it where all the creatures were coming from and how many to expect.

I remember in ZZT, a Duplicator was directional based. It had five steps in its animation, . • ° ○ O, at which point it would push a copy of the object in the preset direction to the opposite side of the Duplicator. The only ways in ZZT to stop them was to either put something in front of the duplicator that it couldn't push away, or remove the object from the other side. Note- In ZZT, there were many pushable objects; some could be pushed in any of the four directions, and some could only be pushed horizontally or vertically.

____________________________
Casebier
--------------------------------
Revisiting old Project: ZelDROD 1 / ZelDROD RPG (If I can ever find the custom graphic files that I made for it.)
01-10-2007 at 01:09 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Tuttle
Level: Smitemaster
Avatar
Rank Points: 1547
Registered: 02-22-2003
IP: Logged
icon Re: NPC Suggestions (0)  
I'm not sure how that would play out in DROD though. As far as I can tell the only puzzle it allows is forcing the player to trap a wubba or kill a golem there so that they can conquer the room. How else could you see it being used?

It had plenty of potential in ZZT where you didn't have to clear the room, you could create intricate sliding puzzles, things shot at you in real time, you had limited ammo etc. I don't think it translates so well to a turn-based game without interactive scenery.
01-12-2007 at 12:34 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores Quote Reply
jamesdenem
Level: Master Delver
Rank Points: 203
Registered: 07-03-2006
IP: Logged
icon Re: NPC Suggestions (0)  
I think #5 is a great idea. This effectively creates monster mothers for all the kinds of monsters. Plus, the architect could always place a scroll warning the player what is going on.

A puzzle idea I had which could use this is where you have two seperate sections of a room, and you want each section to be cleared independently. The two sections are completely blocked off from one another, except in a different room. One section could have the player trying to reach a certain point to stop the spawing of monsters, and then going back to clean up. If you use monsters, they will come back if you leave the room.

____________________________
This signature intenionally left blank. Disregard any text you may find here, because it is probably just your imagination, and not a signature in any way. We mean it, don't believe that there is text here.
01-16-2007 at 01:02 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
NiroZ
Level: Smitemaster
Rank Points: 1302
Registered: 02-12-2006
IP: Logged
icon Re: NPC Suggestions (0)  
jamesdenem wrote:
I think #5 is a great idea. This effectively creates monster mothers for all the kinds of monsters. Plus, the architect could always place a scroll warning the player what is going on.
I am not so worried about an Architect using this feature as people using it to give the player a nasty surprise.
01-16-2007 at 01:13 AM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
Someone Else
Level: Smitemaster
Avatar
Rank Points: 2334
Registered: 06-14-2005
IP: Logged
icon Re: NPC Suggestions (0)  
Then don't play that hold. Just tell the person who made it what is wrong with their building style.

[Last edited by Someone Else at 01-17-2007 08:13 AM]
01-17-2007 at 08:11 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Feature Requests : NPC Suggestions ((Sorry if they've been suggested already))
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.