Newsfeeds

Way of the Force Now Available for Star Wars: Destiny

Tabletop Gaming News - 7 July 2018 - 5:24am
The next expansion for Star Wars: Destiny, Way of the Force, is now available. Hop into your pod racer, see some of your favorite characters, grab their equipment, and fight either for or against the Dark Side with a whole plethora of new options for your decks. The set covers pretty much every era of […]
Categories: Game Theory & Design

Paizo Previews Trapfinding in Pathfinder 2.0

Tabletop Gaming News - 7 July 2018 - 5:07am
It’s a trap! Ok, obligatory reference out of the way, we can move on. Pressure plates. Tripwires. Buckets perched precariously on partially-open doors. The adventuring world is filled with all manner of traps of nefarious means. But how will they be handled in the new edition of Pathfinder? In this preview, we get ourselves a […]
Categories: Game Theory & Design

New Australian Sets Available for Bolt Action

Tabletop Gaming News - 7 July 2018 - 5:04am
Aussie! Aussie! Aussie! The Australians are hitting the beach and looking to push back the Axis forces in Bolt Action. A whole new wave of releases is available from Warlord Games. There’s all sorts of artillery, as well as new commando units, and other specialized groups. From the post: The second wave of Australians has […]
Categories: Game Theory & Design

30th Anniversary Star Wars RPG Book Now Available

Tabletop Gaming News - 7 July 2018 - 4:51am
Many of us weren’t gaming 30 years ago when the original Star Wars RPG book came out. But then, I guarantee there’s those of you out there with a very well-worn and probably well-loved copy. Either way, if you’ve never played it but want to, or have played it for 30 years, there’s the new […]
Categories: Game Theory & Design

Affiliates Connect Flipkart

New Drupal Modules - 6 July 2018 - 3:38pm

Affiliates Connect Flipkart is the Plugin to the Affiliates Connect Module. It provides the functionality to integrate the Product Advertising API of the Flipkart so that the products from the Flipkart can be imported to Drupal.

Categories: Drupal

Matt Glaman: Filtering out invalid entity references in Drupal 8

Planet Drupal - 6 July 2018 - 1:15pm
Filtering out invalid entity references in Drupal 8 mglaman Fri, 07/06/2018 - 15:15 Today I was working on a custom Drupal 8 form where I needed an option to purge existing entities and their references on a parent entity before running an import. It seemed pretty straightforward until I saw "ghost" values persisting on the parent entity's inline entity form. Here's my journey down the rabbit hole to fix broken entity reference values.
Categories: Drupal

How StarCraft and Shower Epiphanies Influenced Diablo 2's Design - by David Craddock

Gamasutra.com Blogs - 6 July 2018 - 8:04am
A combination of late-morning showers and customizing StarCraft's research trees had major design consequences for Diablo 2.
Categories: Game Theory & Design

Server Notice

New Drupal Modules - 6 July 2018 - 6:51am
Categories: Drupal

Unity Wheel Collider for Motor vehicle Tutorial 2018 - by Vivek Tank

Gamasutra.com Blogs - 6 July 2018 - 6:24am
The main objective of this post is to give an idea of how to work with wheel collider and physics of Wheel Collider.
Categories: Game Theory & Design

Agora Service Portfolio

New Drupal Modules - 6 July 2018 - 5:49am

Agora is a module where users can create/edit and list Agora API Feeds with services grouped by Service Area, following the pattern of SPMT.

Categories: Drupal

Webform3 Record Purge

New Drupal Modules - 6 July 2018 - 5:38am

This is an add-on for Webform 3 to allow automated purging of records of webforms after a specified timeframe.
Options are configurable per webform. This module is for people who, for whatever reason, are not in a position to upgrade their webforms to Webform 4, but need to automate removal of submission data.

Purging happens on cron runs. Cron must be running for this module to function.

NB As of writing, the current version of Webform 4 has this functionality built in.

Categories: Drupal

Multidomain and Multilanguage Google Tag Manager

New Drupal Modules - 6 July 2018 - 5:34am
Multidomain and Multilanguage Google Tag Manager

The Multidomain and Multilanguage Google Tag Manager provides a tracking system to your multidomain and multilanguage website.

Installation

Install as usual.

Place the entirety of this directory in the /modules folder of your Drupal
installation. Navigate to 'Administer' > 'Extend'. Check the 'Enabled' box next
to the 'Multidomain and Multilanguage Google Tag Manager' and then click
the 'Save Configuration' button at the bottom.

Categories: Drupal

Mechanical Storytelling - by Nathan Savant

Gamasutra.com Blogs - 6 July 2018 - 2:41am
A review of lessons learned while studying mechanical storytelling in games through the lens of Meyers-Briggs' personality profiles.
Categories: Game Theory & Design

Ajax Login Popup

New Drupal Modules - 6 July 2018 - 12:19am
Categories: Drupal

Don’t Just Sit There!

Gnome Stew - 6 July 2018 - 12:00am

If you’re not going to DO something, you may as well be a potato.

You’ve worked hard prepping for a game with some interesting investigation scenes, cool action sequences, and plenty of opportunities for roleplaying. Bringing it to the table, most of the players dive right into it, but during what you thought would be an exciting scene, one player shrugs and declares, “I can’t do anything here.” Good GMs work hard to provide opportunities for everyone at the table, but unfortunately, you can lead a player to the action, but you can’t make them do anything they don’t want to.

This is player behavior I began considering recently after running two games at Origins. In both the games I ran, there were varying degrees of players failing to engage with the scene or the game as a whole. One of those games was particularly frustrating for me because the character failing to act had been pivotal during the playtest I ran.

Before I go any further, I want to caveat that players failing to find something for their character to do isn’t always their fault. Good GMs seriously do need to plan and run their games looking for ways to get everyone involved. You’ve got to balance the session or the campaign around making sure everyone gets to do their thing during the game at least some of the time. Bad or weak GMs may not consider the characters in play when designing their adventures or even may squash people doing things they don’t expect.

All that said, it is ultimately up to the player to find ways to get their character into the thick of things. Not every scene is going to be suited to you doing that one thing your character is really good at. But just because you can’t do that one thing doesn’t mean you just sit there or go wait in the car until everyone else finishes up. Well, you could, but what fun is that?

This whole situation was really brought home by the one game at Origins. I had run a playtest a couple weeks beforehand, so I could make sure I understood the system (at least passably), be sure the PCs worked, and that the scenario itself was solid. In that playtest game, a reporter with fae leanings was played by a player who got her deeply involved in the investigation and made her essential for the resolution of the problem they were dealing with. At Origins, the exact same character did no investigating and had to be prompted to do anything. And even when prompted, the player struggled to come up with something for the character to do.

Don’t be that guy. You know he loses in the end.

Not long ago, Senda wrote a great article talking about the difference between proactive and reacting gaming. This was something else completely. This wasn’t a difference in preferred play style as much as it was a difference between players understanding HOW to get involved in a game. One player took a look at the character and saw all the opportunities she presented. The other player took a look and only saw the character’s limitations.

Some of this difference could be chalked up to experience. During the playtest, the character’s player was someone who has been playing for years and is someone I count on to always dive headfirst into whatever game or character he’s playing. The player at Origins seemed very hesitant and uncertain and somewhat inexperienced with roleplaying games. While I did what I could to coax her into getting involved, trying to run the game while also doing that was … difficult.

It isn’t always a problem with experience, though. I’ve seen otherwise seasoned players do the exact same thing when they’ve gotten themselves into a repetitive rut with their characters. They’re so used to doing the same thing over and over again, they fail to start thinking creatively about what they could do when they can’t do that awesome thing.

So, what’s my point with all of this? Players, just DO something.

Yeah, maybe you can’t do that one thing your character is really good at, but you’re still there in the scene. Not being able to do your shtick doesn’t mean you can’t do anything:

  • Do something to assist one of the other characters. Most games have mechanics that provide some benefit to the other players when you try and help out or do something to assist them. Gang up bonuses, flanking, assisting with the skill check.
  • Do something to set yourself up to be more effective on your next attack or action. Plenty of games also have mechanics that let you take a round to make your next move more effective. Taking aim in combat or taking ten in non-combat.
  • Do something to help investigate or figure out what’s going. Maybe you can’t be effective in the combat or the social interaction. That doesn’t mean your character isn’t in the scene. Take a look around, see if there’s something else you can do for the long term goals.
  • Do something in character. Just because you can’t do something super effective in the moment doesn’t mean your character is sidelined. Roleplaying your character’s reactions (but not screwing over the actions of the other PCs) is a great way to still be involved even if you can’t be pivotal to the scene.

You’re in a game, you’re playing a character. Get involved and just DO something. That’s what we’re all at the table for, so dive in and get involved!

 

Categories: Game Theory & Design

My Project Name

New Drupal Modules - 5 July 2018 - 11:38pm
Categories: Drupal

PreviousNext: Automate your Drupal accessibility testing with aXe and NightwatchJS

Planet Drupal - 5 July 2018 - 4:52pm

Automated accessibility tools are only one part of ensuring a website is accessible, but it is a very simple part that can catch a lot of really easy to fix issues. Issues that when found and corrected early in the development cycle, can go a long way to ensuring they don’t get compounded into much larger issues down the track.

by Rikki Bochow / 6 July 2018

I’m sure we all agree that the accessibility of ALL websites is important. Testing for accessibility (a11y) shouldn’t be limited to Government services. It shouldn’t be something we need to convince non-government clients to set aside extra budget for. It certainly shouldn’t be left as a pre-launch checklist item that only gets the proper attention if the allocated budget and timeframe hasn’t been swallowed up by some other feature.

Testing each new component or feature against an a11y checker, as it’s being developed, takes a small amount of time. Especially when compared to the budget required to check and correct an entire website before launch -- for the very first time. Remembering to run such tests after a components initial development is one thing. Remembering to re-check later down the line when a few changes and possible regressions have gone through is another. Our brains can only do so much, so why not let the nice, clever computer help out?

NightwatchJS

NightwatchJS is going to be included in Drupal 8.6.x, with some great Drupal specific commands to make functional javascript testing in Drupal super easy. It's early days so the documentation is still being formed.  But we don't have to wait for 8.6.x to start using Nightwatch, especially when we can test interactions against out living Styleguide rather than booting up Drupal.

So lets add it to our build tools;

$ npm install nightwatch

and create a basic nightwatch.json file;

{ "src_folders": [   "app/themes/my_theme/src/",   "app/modules/custom/"   ], "output_folder": "build/logs/nightwatch", "test_settings": { "default": { "filter": "**/tests/*.js", "launch_url": "http://127.0.0.1", "selenium_host": "127.0.0.1", "selenium_port": "4444", "screenshots": { "enabled": true, "on_failure": true, "on_error": true, "path": "build/logs/nightwatch" }, "desiredCapabilities": { "browserName": "chrome" } } } }

We're pointing to our theme and custom modules as the source of our JS tests as we like to keep the tests close to the original JS. Our test settings are largely based on the Docker setup described below, with the addition of the 'filter' setting which searches the source for .js files inside a tests directory.

A test could be as simple as checking for an attribute, like the following example;

/** * @file responsiveTableTest.js. */ module.exports = { 'Responsive tables setup': (browser) => { browser .url(`${browser.launch_url}/styleguide/item-6-10.html?hideAll`) .pause(1000); browser.expect.element('td').to.have.attribute('data-label'); browser.end(); }, };

Which launches the Styleguides table component, waits a beat for the JS to initiate then checks that our td elements have the data-label that our JS added. Or is could be much more complex.

aXe: the Accessibility engine

aXe is a really nice tool for doing basic accessibility checks, and the Nightwatch Accessibility node module integrates aXe with Nightwatch so we can include accessibility testing within our functional JS tests without needing to write out the rules ourself. Even if you don't write any component specific tests with your Nightwatch setup, including this one accessibility test will give you basic coverage.

$ npm install nightwatch-accessibility

Then we edit our nightwatch.json file to include the custom_commands_path and custom_assertions_path;

{ "src_folders": ["app/themes/previousnext_d8_theme/src/"], "output_folder": "build/logs/nightwatch", "custom_commands_path": ["./node_modules/nightwatch-accessibility/commands"], "custom_assertions_path": ["./node_modules/nightwatch-accessibility/assertions"], "test_settings": {   ...   } }

Then write a test to do the accessibility check;

/** * @file Run Axe accessibility tests with Nightwatch. */ const axeOptions = { timeout: 500, runOnly: { type: 'tag', values: ['wcag2a', 'wcag2aa'], }, reporter: 'v2', elementRef: true, }; module.exports = { 'Accessibility test': (browser) => { browser .url(`${browser.launch_url}/styleguide/section-6.html`) .pause(1000) .initAccessibility() .assert.accessibility('.kss-modifier__example', axeOptions) .end(); }, };

Here we're configuring aXe core to check for wcag2a and wcag2aa, for anything inside the .kss-modifier__example selector of our Styleguide. Running this will check all of our components and tell us if it's found any accessibility issues. It'll also fail a build, so when hooked up with something like CircleCI, we know our Pull Requests will fail.

If we want to exclude a selector, instead of the .kss-modifier__example selector, we pass an include/exclude object { include: ['.kss-modifier__example'], exclude: ['.hljs'] }.

If you only add one test add one like this. Hopefully once you get started writing Nightwatch tests you'll see how easy it is and eventually add more :)

You can include the accessibility test within another functional test too, for example a modal component. You'll want to test it opens and closes ok, but once it's open it might have some accessibility issues that the overall check couldn't test for. So we want to re-run the accessibility assertion once it's open;

/** * @file dialogTest.js */ const axeOptions = require('../../../axeOptions.js'); // axeOptions are now shareable. const example = '#kssref-6-18 .kss-modifier__example'; const trigger = '#example-dialog-toggle'; const dialog = '.js-dialog'; module.exports = { 'Dialog opens': (browser) => { browser .url(`${browser.launch_url}/styleguide/item-6-18.html?hideAll`) .pause(1000) .initAccessibility(); browser.click(trigger).pause(1000); browser.expect.element(dialog).to.be.visible; browser.assert.attributeEquals(dialog, 'aria-hidden', 'false'); browser.assert.accessibility(example, axeOptions); browser.end(); }, };Docker

As mentioned above this all needs a little docker & selenium setup too. Selenium has docs for adding an image to Docker, but the setup basically looks like this;

@file docker-compose.yml services:   app:   [general docker image stuff...] selenium: image: selenium/standalone-chrome network_mode: service:app volumes: - /dev/shm:/dev/shm

Then depending on what other CI tools you're using you may need some extra config. For instance, to get this running on CircleCI, we need to tell it about the Selenium image too;

@file .circleci/config.yml jobs:   test:    docker:   [other docker images...] - image: selenium/standalone-chrome

If you're not using docker or any CI tools and just want to test this stuff locally, there's a node module for adding the selenium-webdriver but I haven't tested it out with Nightwatch.

Don’t forget the manual checks!

There’s a lot more to accessibility testing than just these kinds of automated tests. A layer of manual testing will always be required to ensure a website is truly accessible. But automating the grunt work of running a checklist against a page is one very nice step towards an accessible internet.

Tagged accessibility, CI, nightwatchjs, Functional Testing, aXe
Categories: Drupal

Thursday Terrain Corner

Tabletop Gaming News - 5 July 2018 - 11:00am
Welcome back, everyone. I hope you all had a safe and happy 4th of July, whether you celebrated anything special or not. I had a good time playing D&D and then watching the Great British Baking Show, just as our Founding Fathers would’ve wanted, I’m sure. Also, my time sense is all screwed up. Yesterday […]
Categories: Game Theory & Design

Hook 42: DrupalCamp Asheville

Planet Drupal - 5 July 2018 - 10:19am

 

Drupal Camp Asheville is next weekend! Join members of the Drupal community of all different skill levels and career paths for 3 days of science, trainings, sessions, and sprints.

Hook 42’s own Adam Bergstein will be sharing some insights on everybody’s favorite online Drupal testing environment, Simplytest.me. He recently took over ownership of the service, and we are excited to hear about where it is going next!

Along with helping organize the camp, our newest team member, Jonathan Daggerhart, will be leading an all day training on Drupal 8 Essentials.

Categories: Drupal

Steamforged Previews Veteran Calculus For Guild Ball

Tabletop Gaming News - 5 July 2018 - 10:00am
When I say, “I had calculus back in college” I don’t mean, y’know… Anyway, Calculus is one of the minis in the upcoming Faithful box for Guild Ball. How has she changed from her original form? Well, check her out, along with a render of her new mini. From the post: So, pretty simple card, […]
Categories: Game Theory & Design

Pages

Subscribe to As If Productions aggregator