Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[REQUEST] Keyword dialogue with NPCs, Transition to other maps and other automations

If you've come this far to read, thanks! I'm interested in whether or not a few automations are possible in order to present my players with something akin to text based games. Of course, I'd love to learn a programming language, make a game and give it online connectivity and drop my players into a tiny little MUD of their own. I love Roll20, however, and I feel like some of these things just MIGHT be possible. So here's what I'd like to see: Pre-written dialogue , triggered by the player and delivered by an NPC. This could be by keywords or any other method if Roll20 could actually do this. The above idea applied to tracking gold and being able to spend it on items listed in a table or somehow displayed to the player. Movement restrictions, Fog of War removal and a player(token) specific transition to another prepared map. Any, even the most limited kind of AI to make hostile tokens move toward and/or attack a player token (and start a call for initiative). Other kinds of events that I'm sure are already doable. ie; snuffing out torches, slowing token movement by certain terrain, especially flagging or altering bonuses or penalties for things like high ground, etc. Now if you're still with me, I'd like to explain my vision whether or not any of these things can be done. I'm not seeking to fully automate a Pen and Paper experience but I am interested in adding an element of 'video-gameyness' that I can guide when necessary as the DM. In my homebrew campaign there is a lot of lore dissemination and to add to this, we play a very roleplay focused game almost entirely in emotes. So I'd like to have the option to create fairly large, detailed maps that I can set my player's tokens onto and then actually allow them to move around in. In real time. So often I put a lot of work into detailed maps that the players simply rush through. Later, we're mostly playing with a background image of our World Map just for inspiration. However, if I could create 4 reasonably large maps, all of which can be transitioned to from one of the others, they could almost quest on their own and explore a small area of what in our imaginations is a very large world. When they see an NPC token, they could ask it basic questions and receive answers much like in text games. Even some basic little interactions could probably be done here, such as the NPC giving a Player an item, or 'unlocking' a door, etc. The bottom line is that I would still be observing as the DM. I'd be speaking through NPCs when it was needed, moving tokens or 'opening' dynamic lighting doors. Even if very basic tools like these could be at someone's disposal, one could feasibly create small modules for other DMs to present to their players. Thanks for reading and indulging my wild fantasies. If any of the above ideas spark the slightest interest, let's discuss it! Heck, I'd be willing to pay to see some of this happen =D
1418625469
The Aaron
Roll20 Production Team
API Scripter
Curtis R. said 1. Pre-written dialogue , triggered by the player and delivered by an NPC. This could be by keywords or any other method if Roll20 could actually do this. No reason this couldn't be done. Could use @{target} to talk with an api command, or check proximity when speaking as, or have token actions on the NPC. 2. The above idea applied to tracking gold and being able to spend it on items listed in a table or somehow displayed to the player. This could similarly be handled, with the npc either whispering or just saying the inventory and PCs buying by number. 3. Movement restrictions, Fog of War removal and a player(token) specific transition to another prepared map. You can restrict movement with the Dynamic light layer. FoG can't be modified by the API. There are scripts that will move players to other maps. Moving characters can be complicated because of the moritorium against creating graphics with images outside the personal library. 4. Any, even the most limited kind of AI to make hostile tokens move toward and/or attack a player token (and start a call for initiative). Could be done. A* wouldn't be hard to write in JS. Adding terrain intelligence would be the hard part. Would require some upfront work by the GM on any maps using it. 5. Other kinds of events that I'm sure are already doable. ie; snuffing out torches, slowing token movement by certain terrain, especially flagging or altering bonuses or penalties for things like high ground, etc. My torch script has a !snuff command. Terrain would require the same as A* above. High ground could be done.
1418625822

Edited 1418626699
Thanks for the reply, 'The Aaron'! I suppose I'd ask next if you have any directions for crash courses on Java..hmm Also, can you restrict movement without also blocking sight? Sometimes this would be useful.
1418628167
Gen Kitty
Forum Champion
Curtis R. said: 1 Pre-written dialogue , triggered by the player and delivered by an NPC. This could be by keywords or any other method if Roll20 could actually do this. You could do pre-written speeches and save them as macros or token actions. You'd have to click a button, but it's better than copy-pasting from a notepad file. 2 The above idea applied to tracking gold and being able to spend it on items listed in a table or somehow displayed to the player. Make gold an attribute on a character, and then upgrade to mentor status to use API scripts that exist to change that attribute on the fly via macros. You can reference that attribute in dialogue macros and edit it directly without APIs. 3 Movement restrictions, Fog of War removal and a player(token) specific transition to another prepared map. The Aaron covered movement restrictions and Fog of War. I could have sworn he's made a script that moves a player's view to a new map.... 4 Any, even the most limited kind of AI to make hostile tokens move toward and/or attack a player token (and start a call for initiative). Aaron, I seem to recall a zombie horde script you wrote (or were going to write) that had the tokens slowly shuffling towards a designated token. Did I hallucinate that? :) 5 Other kinds of events that I'm sure are already doable. ie; snuffing out torches, slowing token movement by certain terrain, especially flagging or altering bonuses or penalties for things like high ground, etc. Ask and ye shall receive! You'd do best to break down down your requests into related groups and post the groups as their own threads, so that people can better assist you with specifics. Hope this helps!
1418628349
Gen Kitty
Forum Champion
Curtis R. said: Also, can you restrict movement without also blocking sight? Sometimes this would be useful. I believe you can. <a href="https://wiki.roll20.net/Dynamic_Lighting" rel="nofollow">https://wiki.roll20.net/Dynamic_Lighting</a> -- You'd check 'Restrict Movement' but not 'Enforce Line of Sight'.
Thanks for helpful replies! I will perhaps re-evaluate what I'd like to request and make smaller posts to see what comes of it :)
1418649947
The Aaron
Roll20 Production Team
API Scripter
Curtis R. said: Thanks for the reply, 'The Aaron'! I suppose I'd ask next if you have any directions for crash courses on Java..hmm Also, can you restrict movement without also blocking sight? Sometimes this would be useful. Well, if you're doing the API, don't bother with Java, do Javascript instead! (They are vastly different languages.) I highly recommend Javascript: the Good Parts by Douglas Crockford . It's a fast easy read if you know a bit of programming already. Even a neophyte will get some great information from it. Dynamic lighting can can block movement without blocking sight. I think you put Block Movement on but not Use Dynamic Lighting. Genkitty: I do have a script that moved players to other pages around here somewhere. I didn't getbthe chance to write the Zombie hoard script, but I think someone else wrote one on thst thread.
1418659786
Lithl
Pro
Sheet Author
API Scripter
The Aaron said: Curtis R. said 4. Any, even the most limited kind of AI to make hostile tokens move toward and/or attack a player token (and start a call for initiative). Could be done. A* wouldn't be hard to write in JS. Adding terrain intelligence would be the hard part. Would require some upfront work by the GM on any maps using it. First result from a Google search , and there were lots of others. =) The Aaron said: Curtis R. said: Thanks for the reply, 'The Aaron'! I suppose I'd ask next if you have any directions for crash courses on Java..hmm Also, can you restrict movement without also blocking sight? Sometimes this would be useful. Well, if you're doing the API, don't bother with Java, do Javascript instead! (They are vastly different languages.) Eh, they're not that different. The major differences for the novice user are strong/weak typing, lambda vs. functions-as-variables, and what functions are available standard. They diverge a bit more once you get more into the technical details, like variable hoisting, but learning Java isn't going to ruin you for learning JavaScript. JavaScript can even emulate the behavior of inheritance and polymorphism. Of course, if you're looking to learn how to write Roll20 API scripts, learning Java isn't going to be a direct route to achieving that goal, since you'd still need to learn JavaScript afterward. =)
1418663954
The Aaron
Roll20 Production Team
API Scripter
Right. That was my point. You could argue that C# and C aren't vastly different in much the same way.
1418671871
Lithl
Pro
Sheet Author
API Scripter
There are more differences between C and C# than there are between Java and JavaScript. Managed vs. Unmanaged is a particularly sticky difference for the novice coder.
1418673086
The Aaron
Roll20 Production Team
API Scripter
I think you're just being pedantic at this point. How about Java compiled to byte code and Javascript being interpreted? Java's block level scoping vs. Javascript's function level scoping? Closures in Javascript with no direct language corollary in Java? I think C and C# as procedural languages are more similar to each other than Java and Javascript, even though both share a C-style syntax. (And a "novice user" is writing procedural C# and C, so don't throw me object oriented as a response (and you can write object oriented code in C, so that dawg don' hunt! =D) ) Anyway, it's not related to the topic of this thread either way.
1418680361
PaulOoshun
Marketplace Creator
While it looks like there's a lot of interesting options to help make the engine behave a little like what you intend, might I suggest you look at building something in RPG maker? It would handle resource tracking, pre-written dialogue and even enemy AI. You could play along with people and do some additional dialogue, etc. but it seems to me like you'd be starting from a point closer to your end goal than trying to automate a lot of Roll20. Not trying to dissuade you at all, just more fuel for your cognitive fires. Good luck with whatever path you take!
I have often wondered about products like RPG maker. I know that from the point of writing a narrative and such I could make more than an ample stab. Art, connecting people online and things it won't otherwise spoon-feed me could make it a long pet project though! Thanks for the suggestion