All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
Drupal 8.6 sees the addition of Node.js based functional browser testing with Nightwatch.js. Nightwatch uses the W3C WebDriver API to perform commands and assertions on browser DOM elements in real-time.
A very powerful feature of Nightwatch is that you can optionally watch the tests run in real-time in your browser, as well as use the .pause() command to suspend the test and debug directly in the browser.Videos require iframe browser support.
You can try Nightwatch out now by grabbing a pre-release copy of Drupal 8.6.x and following the install instructions, which will show you how to test core functionality, as well as how to use it to test your existing sites, modules, and themes by providing your own custom commands, assertions, and tests. For further information on available features, see the Nightwatch API documentation and guide to creating custom commands and assertions. For core developers and module authors, your Nightwatch tests will now be run by Drupal CI and can be viewed in the test log. For your own projects, you can easily run the tests in something such as CircleCI, which will give you access to artifacts such as screenshots and console logs.undefinedundefined
I originally discussed this topic in an older article on Rogue Princess Squadron, but after a couple of recent games I thought it was worth discussing again.
One of the primary ways a GM can bring a game world to life is through the NPCs the players interact with. They can give information, point the characters in the direction of adventure, be adversarial challenges, or even provide emotional motivation for the characters to do what they do. Through them, the GM breathes life into a setting and turns it into more than just a green screen backdrop for hacking and slashing away at some monsters. But what happens when a GM’s NPCs all feel the same and the players start to get bored or annoyed?
Recently, tension in a semi-regular game came to a head when we players butted heads with one of the NPCs. The session opened with our boss confronting us about a botched mission we didn’t even know we botched. The problem was, the NPC was played as incredibly antagonistic and downright rude. Our reactions to this took the GM by surprise as the session suddenly went in a direction he didn’t expect. As I eventually pointed out, I wouldn’t take that behavior from a real-life boss, so there was no way my bad ass character would just sit there and take that kind of abuse. This wasn’t the first time the GM was taken off guard with how we responded to one of his NPCs, but it also wasn’t the first time one of his ‘friendly’ NPCs pissed us off, pushing us to respond in ways he didn’t expect. In fact, most of his NPCs came off very similarly antagonistic.
The situation reminded me of years ago when a friend was trying his hand at GMing with a D&D game. We were both relatively new to GMing, so often offered each other feedback and suggestions to help us both improve. After one game night in that campaign, I struggled to come up with a diplomatic way to express my concerns. Finally, in my nuanced and oh-so-tactful way, I blurted out, “All of your NPCs are dicks.”
Luckily, he’s used to my style of tact and we were able to have a conversation about his use of NPCs. I pointed out that every NPC we had met, from the peasants in the village to the nobility running the region, was rude, condescending, demanding, shady, or just downright unfriendly. Ultimately, my character had no reason to put her life on the line to help these people, regardless of whatever monetary reward they were offering for us to fix the problem. My friend had fallen into a trap where he was defaulting to the same style of NPC for every character we came in contact with, and the game was starting to suffer because of it.Some may be blessed with a natural acting ability that lets them bring the residents of a game world to life with minimal fuss, but the rest of us need to work at it.
A lack of variation in the tone and behavior of the NPCs a GM presents is an easy trap to fall into. When running a game, there’s so much to keep track of and creating and running NPCs isn’t a skill that comes naturally to everyone. Some may be blessed with a natural acting ability that lets them bring the residents of a game world to life with minimal fuss, but the rest of us need to work at it. This is also a thing that can happen to new and old GMs. I’ve seen it happen to newbies getting their feet under them and old pros that don’t realize they’re stuck in a repetitive rut.
I have always believed that NPCs are a hugely important aspect of GMing. Without them, the game world is just a stage with set dressing on it and unless I develop a strong attachment to the other PCs, I stop caring about the world and just focus on the combat and the puzzles, which isn’t what I game for. As a GM, I work to breathe life into a wide array of NPCs and I know I struggle with the more subtle, Machiavellian types. I can do scene chewing bad guys and big bad monsters, but the slimy, shady NPC you need to work with though you know he’s going to stab you in the back is one I have to work at.
Here are some thoughts that will hopefully help with creating and running NPCs:
The subtler aspects of NPCs are going to be lost on the players, so paint them with broad strokes. At some point, ask your players what they remember about certain NPCs you’ve introduced in previous sessions. More than likely, they’re going to remember the larger details of personality and deeds. “Oh, he was the smarmy and growly guy that ran the fight ring.” “She’s the airhead socialite that dated the monkey!” Unless the NPC is one that’s in play every session (almost a GM-PC, which can be a minefield of its own), NPCs with subtly nuanced personalities are going to get overlooked and forgotten in the face of bolder and easier to ‘get’ characters.
Plot hooks land better when they’re presented by NPCs that catch the players’ interest. Sure, you can use the generic bartender to give your players a plot hook, but they’re only going along with it because it’s what’s expected of them or there’s nothing better to do. Breathe a personality into your NPCs and the players are going to be far more interested in what they have to say. They’ll remember that mission they went on to help the wizened and grandmotherly goblin-witch (that looked like Yoda’s mother) far more than they’ll remember the job they got from generic ‘insert here’ bartender. Don’t hesitate to fade away NPCs the players don’t have any interest in and refocus on the ones that catch their attention.
Keep track of your NPCs! Having to play the rest of the world is a big job, but it is an important one. As an extension of that, it is also vitally important to keep track of the characters you’ve introduced to your players. It’s not as much of a problem with NPCs you’ve put together through careful prep work before the game and intend to use long term, but there are often NPCs made up on the fly as the players bring up ideas you hadn’t thought of beforehand. If there’s a chance at all they’ll interact with that character again, make sure you note who they are and what their involvement was. The ‘airhead socialite that dated the monkey’ mentioned earlier was a throwaway NPC made up on the spot when they decided to call some of the numbers in the monkey’s little black book (it’s a long story). They got such a kick out of talking to her that they called on her several times during the rest of the campaign.
If you’re not good with coming up with NPCs on the fly, make a cheat sheet. A long time ago, in a galaxy not so far away, I played in an awful game where all the NPCs were named Joe, Bob, or Joe-Bob. This included the NPCs the GM had prepped beforehand. This GM was a problem on many levels, but it was also clear he didn’t think he needed to improve at anything. Needless to say, I didn’t stay in that game for very long. Even GMs that are good at coming up with NPCs on the spot may need a little help now and again. I find a cheat sheet of names relevant to the setting and types of characters the PCs could interact with is handy. Naming your shady Russian fixer ‘Bill’ is likely to push the players out of immersion. You can also come up with a cheat sheet of personality and physical traits to pull from if that’s something you struggle with as well.
Be Mindful of Stereotypes. If every bartender in your game is middle-aged man with a beer gut, you might want to take a moment and reconsider. It’s easy, in that modern game, to say the beat cop is an Irish guy named O’Malley, but it’s also been done to death. What if you made that beat cop a no-nonsense Latina named Rodriguez? Does that change the purpose the NPC serves? Probably not. While sometimes stereotypes can be a quick shorthand, it’s good to be mindful of them and subvert them on occasion. If you automatically think of a particular type of person for an NPC you need to put in play, maybe take a step back and consider some other options.
Occasionally take stock of the NPCs you’re using most often While relevant to our topic of NPCs, this is crucial for any element a GM uses, from settings to plot hooks and more. We all have tools we’re comfortable using, but falling back on those too often without changing things up will get repetitive for your players. Review the NPCs you’ve used most often and determine if you need to bring in someone with a different flavor to spice things up. Try and think about it from the player’s perspective as well; you may know the background differences between some NPCs, but they may all look the same to the players.
Not every NPC needs to be distinct and interesting. Sometimes a bartender really is just a bartender. The ones that do matter, though, should be as varied and interesting as the rest of the world your PCs inhabit. It’s a skill that can take time to develop, but with a little practice you’ll see the difference in how your players interact with the world. The first time they get emotional about an NPC, whether they’re protective of them or intending to murder them, you’ll know you’ve gotten it right.
Have you found yourself in a rut with your NPCs? I’m curious how other people have fixed the problem of NPCs not helping bring the game world to life quite right.
If you were in the city of Cluj-Napoca between 4 and 6 May 2018 and walked around The Office, you probably saw over a 100 people from all over the world, wearing the same t-shirts, talking about Drupal. That's because DrupalCamp Transylvania was in town.Vasi Chindris Fri, 05/11/2018 - 10:46
If you know a bit of Romanian history and have heard about Transylvania, you probably know about Vlad the Impaler. If not, then you've probably heard about Dracula. Either way, they're the same person. You may be asking yourself, "What has Dracula got to do with Drupal?". Well, the answer is in the picture below:
We all want Drupal to be immortal. Because we love developing awesome websites with it. That said, we must remember one thing, it's not all about work and making money, it's also about having fun using Drupal. That was one of the key points of Robert Douglass' keynote - "My Drupal Mid-Life Crisis".
One of the most interesting sessions was Larry Garfield's - "The container is a lie!". On reading the title, you'll probably want to check that out, since you most probably use containers (not necessarily Docker containers, although Docker is probably the most used these days) in your everyday work. He spoke of how software runs on modern Linux systems, that we should not think of boats, whales or shipping or even Docker when we hear the word container, and why it is actually useful that modern software is built (runs) on these "lies". These "lies" form part of our everyday work, and more importantly, the deployment to different environments makes it so much easier.
Another very important topic, not only in the Drupal community but in technology in general, is GDPR (General Data Protection Regulation). Balu Ertl had a great session entitles, Overview of GDPR modules for Drupal, in which he provided an overview of all the modules in Drupal that can help your Drupal site achieve GDPR compliance.
The conclusion was that we have quite a few modules (9) in this category, some of them available on both Drupal 7 and 8. Some of them implement a small part of the regulations (like the consent for using personal data, the possibility to delete or download all the personal data of a user, the possibility to anonymize user information when dumping a production database, etc.) and many of them implement overlapping features.
But there seems to be one module, General Data Protection Regulation, which tries to bring all these modules together under one umbrella so that we can have a unified and clear solution for making a site GDPR compliant.
Another thing that came up during the discussions about this subject, was that this is a really complicated subject for both technical and legal minds, and as such, you'll most probably not be fined immediatly if you're not 100% GDPR compliant on the 26th of May 2018. The most likely scenario is that the authorities will be there to help at first, and only fine you as a last resort. That said, this cannot be confirmed and everything should still be done to be GDPR compliant by the deadline.
Wait, there's more! While attending Lenard Palko's presentation, we saw this:
No, we did not watch an episode from Doc McStuffins. This was about Auditing PHP Applications, a session in which Lenard Palko showed us how his team is dealing with auditing PHP applications and what things should we look for when having to do such an audit. He also shared some helpful tools that you should use and how should you structure the report.
As you can see it was a great DrupalCamp. Nice location, great presenters, lots of people and a dedicated sprint room. So, did we have any time for doing other stuff than coding and talking about Drupal? Yes, we did! We had some great parties each evening and a brave few of us even went for a morning run on Saturday.
I'm already looking forward to the next DrupalCamp Transylvania in 2019. See you there!
Household helps site builders manage households members, logins and relationsFeatures Requirements Known problems Tutorials Pledges Credits Recommended modules Similar projects
This module provides the relevant metadata to display native application install banners for iOS and Android.
The app allows site managers to configure details of the apps and the pages where the banners should appear.
Valve is joining Nintendo, Oculus, and a litany of other tech companies in establishing a public bug bounty program to encourage folks to report security vulnerabilities in its services. ...
This module aims to support the upcoming "Web Authentication" protocol, that leverages Public Key Credentials to provide password-less login along with stronger security.
I've been using my new Apple Watch 3 for several months, and recently I've been in the market for a new band. Previously, I was using a standard synthetic rubber band. I'd come home from work, and the first thing I wanted to do was take my Apple Watch off. I didn't like the clammy feel of the band, and the fit was either too loose or too tight. This week, I decided to try the new Sport Loop.
I'm currently in Chicago visiting our Acquia office, and it's pretty warm out. The Sport Loop has proven to been a great alternative. It is made out of woven nylon, it's breathable and it has a little bit of stretch. It's not going to win fashion awards, but it is comfortable enough to wear all day and I no longer feel the urge to take off my watch in the evening.
The acquisition also grabs the publisher GamersFirst-owned online games like APB Reloaded and Fallen Earth. ...