All RPGs and Storygames by Tod Foley are now available at DrivethruRPG. Bring these games to your table!
Internal messages received and published by Waypoint show that, following threats of an employee walkout, Riot Gamesâ€ diversity head calls for small group sessions to discuss concerns. ...
Created to help developers perform repetitive tasks quickly by providing a small menu in the corner of the browser.
- Quick login as admin, or user 1
- Copy current Node's node ID to clipboard
- Copy current Node's associated Group ID ot clipboard (if using Organic Groups)
- Quickly refersh page with a random query string to avoid cache
- Check all links on page to see if you have any broken links (when completed, prints results in console)
This week's roundup includes a look at Days Gone, a unique story of an Atari arcade game 'leaked', Fortnite's unpalatable dev crunch, parallax in games, Mortal Kombat 11's grindy glories, & more. ...
A vivisection of Plague Inc: The Board Game's sales data and commercial performance - by James Vaughan
Recently recognized as Google Cloud Platform partners, Achieve are adding additional services, products, and capabilities in light of this new partnership. We sat down with our CTO, Nick Falcone, to go over some specifics on this partnership and what it means for Achieve and our capabilities moving forward.When did we decide becoming a GCP partner was a necessity for Achieve moving forward?
With Achieve being Apigee System Integrations Partner for the past 3 years and Google acquiring Apigee, we realized it was only a matter of time before Apigee would rolled up into the larger GCP Partner Program and ecosystem.
If you have run a game campaign for any period of time, it becomes apparent that the random encounter tables for your adventurers become stale-dated or dull. Even if there are variations by terrain, climate or civilization, the game-provided tables become repetitive.
One solution to this challenge is to create your own table of “randomer encounters.” This approach has many advantages and can be used in any game system or situation. The primary advantage is that it is customizable to your particular game, adding depth and flavor to your sessions.How to get started
The first step is to determine how many of these encounters you want to create. Ideally, you want to choose a number of encounters that can be selected at random by using dice. When I first started this concept, I started with 24 of these encounters (which can be randomized by using a 12 sided die with another die (a six-sided would do) to determine if I would add 12 to the result (on a 4 to 6) or not (1 to 3). After further experimentation, I found that 30 of these encounters (a ten-sided die rolled with a six sided die – add 10 if you roll 3 or 4, add 20 if you roll a 5 or 6) work best for my campaign. The point is to create a list where the dice can provide you with an easy, random result.
The random factor is important. As a GM you have control over events and situations that occur in your sessions. By introducing a random factor, you are yielding this control to your list. Ideally, your “randomer encounters” would run the gamut from the frivolous and incidental to the serious and consequential – as long as it fits into your game. It also keeps you on your toes as a GM.Creating your list of encounters
Once you have your frame, you can start populating the list. This is where the fun is. You can use almost any source for creating these encounters. You can introduce some neighborhood scandal, foreshadow a future event, even note the actions of an NPC or refer to past events within the campaign. For example, if the party had betrayed someone in the past, it may be that this person/organization/demi-god is seeking information on the party (or that a rival of this individual wants to reward the party for their “good works”). This could be represented as “A shifty individual at the Local Pub has been asking questions about the party.”
Rumors are a favorite of mine. In my High Fantasy Campaign, the “randomer encounters” table has led to a persistent rumor that local authorities are considering a tax on magical items. This has been overhead as a bar room conversation, as a worry on the part of an NPC Alchemist, and as a debate between clerics whether or not holy items should be exempt from this tax. A randomer encounter might be inserted to foreshadow a future plot hook. They can also be the source of mischief, misdirection and even outright lies. Share1Tweet1Reddit1Email It may be that taxing magical items is a task that is beyond the local authorities. However, it is just a rumor and, as we all know, the crazier the rumor, the quicker it spreads.
A randomer encounter might be inserted to foreshadow a future plot hook (“There is increasing discontent among the aristocrats” or “No one has seen the Chief Mage for two weeks.”). They can also be the source of mischief, misdirection and even outright lies (“I am the heir to the Crown of Eredorre”).
This list of encounters can be used to introduce oddities into your campaign. Again, these can range from something out of Monty Python (“A well-dressed elderly man is walking down the street in a very odd and peculiar manner.”) to a cross-campaign event (“In a mirror, you see a party of strangely dressed adventurers trying to unlock a box of flashing lights.”) or even an encounter drawn from a film or novel. (“Four nervous and travel-worn Halflings are grabbing a quick meal. One appears introverted and moody.”).
These encounters should be suitable for your party’s capabilities.How to use Randomer Encounters
You want to create opportunities for a quick scene or an interesting dilemma, not starting a new story arc or a creating a wasteful diversion (unless that is what you want). Therefore, you need to exercise some judgement when a “randomer encounter” occurs.
If the action is proceeding quickly, then an encounter of any kind is likely to be an unwelcome diversion. If the party is just waiting for the next day to occur, or if the GM needs to stimulate some new thinking, then an unusual encounter might be a good choice.
These encounters should be used to complement the existing random encounter tables. Typically, a random encounter reflects the local surroundings. It may be an encounter with wild beast while travelling through the forest or just part of the dungeon ecology. A “randomer encounter” should occur as part of the overall randomness of your living world.
Whenever an encounter is rolled, I re-roll to see if there is the possibility that the list be used. Typically, I roll a six-sided die, with a six indicating a “randomer encounter.” Sometimes, especially when things are dragging or the party becomes indecisive, I go straight to the list.
I always roll for a random result from the list. The unexpected is always fun and It keeps me sharp with regard to my own game mastering abilities.Some Examples
High Fantasy (Urban) Randomer Encounters 1 A well-dressed Half-Orc is trying to sell an “ugly chicken” inside a locked box. (It’s a cockatrice.) 2 An alchemist is closing shop and items are at half-price. (Low quality products) 3 A handsome prince is desperately searching for the women who lost her shoe at the Ball. 4 The gall stones of red-headed Halflings give invincible luck to gamblers. 5 You are accosted in the street by a crone who claims you stole her youth. 6 The Eunuch’s Guild is recruiting – males only! 7 Graffiti is found in a nearby alley “Chaos is Boss!”, “Lawful is Awful.” 8 A pedlar is selling Amulets of Demonic Protection – a deal at 5 gold pieces each. (A scam) 9 Street urchins are running in fear from a gang of thugs. (Urchins have stolen their beer money). 10 A mage is looking for spell test volunteers (polymorph). 50 gp for each volunteer. (A lot more to be changed back.)
Space/Sci-Fi Randomer Encounters 1 The authorities are trying to keep knowledge of sabotage at the space port secret. 2 A desperate person is willing to part with longevity serum (reduces age by five years) for transport off-planet. 3 Protesters are picketing a local educational institution. “Down with the Eugenics Ban!” 4 Some children are playing Rangers and Aliens with an antique blaster (non-working but fixable.) 5 An autodrive cart is running down pedestrians at a nearby mall. 6 A “red shirt” crew member is deserting because she fears being killed on the next OA mission. 7 An Artificial Intelligence is seeking work after being fired for being “too controlling.” 8 Would you buy a pill to make you smarter? Of course, you would! (Reduces social inhibitions) 9 An asteroid mining company is looking for recruits. “Double Hazard Pay and great benefits!” 10 Organizers for the Robot Union are soliciting new members.
Using randomer encounters supports the overall thrust and character of your game. You can use them to shake things up or to finish off the tail-end of a session. It does require you to think about your campaign world and explore some interesting tangents. What would your table of “Randomer Encounters” look like?
Dries Buytaert recently published a great post on how to prepare for Drupal 9. He explains how we build Drupal 9 in Drupal 8 using deprecations and the tools to use to detect use of deprecated code. One of the tools I worked heavily on with Zoltán Herczog in the past few weeks is Upgrade Status, and Zoltán just released the alpha2 version. It is definitely worth a try!
Here is how it works:
Learning how to manage communication and support within the Webform issue queue is something that makes me very proud. I also want to keep improving everyone’s experience within the Webform issue queue. A while back, I started welcoming new contributors and saying thank you. Frequently, I have to direct general support questions to Drupal Answers. Occasionally, I have had to remind people to be mindful of their tone. I am continually seeking ways to improve my process and communication within the Webform module's issue queue.
At Drupalcon Seattle, I took part in a discussion about strategies for effective and inclusive group communication where I was introduced to the "nudge theory".
Besides nudging people towards the desired outcome, which is a healthy and sustainable Open Source collaboration, clearly defining these nudges will also make it easier for everyone to improve the overall support and community within the Webform module's issue queue.
Types of nudges
There are three types of nudges within most issue queues - they can be categorized as:
Welcome and thank you
Values and principles
Guidance and directions
Welcome and thank you
Saying a proper welcome and thank you helps set the overall tone of our collaboration. The act of saying "welcome" to a new contributor establishes that we are an inclusive community where everyone is welcome to join. Saying 'Hi' (aka nudges) to new users also reminds other members of the community to be understanding and supportive of someone entering a new community.
Following up someone's contribution with a thank you comment or even handshake (aka nudges), acknowledges and values their hard work and encourages them to keep...Read More
Drupal has been the choice of the world’s multiple large and top-notch organisations, across various fields. The royal family of the UK, the Greenpeace Greenwire, Oxford University, Warner Music Group, Tesla, Red Cross, and now the Australian Government - everyone is using Drupal. Security and the scope of customisation are two of the major reasons behind the selection of Drupal over other CMS platforms. In fact, the govCMS was also formed using Drupal to resolve the multiple issues faced by Government agencies viz. Security, cost, extraordinaire functionalities, flexibility, smooth process of procurement, et al.
As a dedicated Drupal-er for more than 6 years, AddWeb has worked on multiple enterprises and large-sized Drupal projects. And hence, we are cognizant of all the strengths that Drupal contains. This is exactly why we confirm with the Australian Government’s decision of choosing Drupal for creating govCMS.
There are multiple reasons that make govCMS an apt choice for Government organisations. govCMS is well-equipped to meet all the requirements of the Government organisation, along with following their guidelines of the web world.
Advantages of govCMS:
The Australian Government created the govCMS distribution by combining Drupal Core and a specific set of Drupal modules. So that uniformity is maintained across all the Australian Government’s websites and it the creation of the same also becomes easy. Let us how else does this, govCMS distribution proves to be advantageous:
Individual web hosting and creation of the sites demand time and money. The higher the security and quality of these sites, the higher the costing. govCMS saves on both of these factors and simplifies the entire process by choosing a single provider and hosting platform on Acquia Cloud Site Factory PaaS Service. In fact, whenever there’s an increase in resource usage, one can always upgrade the platform, which is eventually beneficial to all the other govCMS sites also.
Government Standards Compliance
The entire govCMS is created in a way that it perfectly complies with the standards of the Federal Government. Hence, this makes the further process quite smooth and sorted. Security being one of the major concerns while creating a website for such Government organisations. And hence, govCMS has complied with their guideline by completing the program process of Information Security Registered Accessors. Plus, every issue that is found and rectified in govCMS will also automatically be implemented to other govCMS sites too.
Drupal is one of the largest open-source platform available today and hence it has a large team of 600 expert community members, who work on making govCMS a consistently growing and highly efficient product. This is taken care by Acquia, which also provides 24x7 assistance for govCMS at application and hardware level.
One constantly needs to confirm that there are no issues with the govCMS sites, for which a continuous process of testing, bug-fixing and other such process is required to be followed. This is very well taken care of, when it comes to govCMS and hence the security of this platform is kept intact. In fact, an automated testing process has also been set across the entire network by using Behat.
In today’s day and age, a website that is not responsive is outdated. Fortunately, govCMS has been created with a base-theme that is responsive by default. This provides the developers in quick-creation of custom themes. This also helps in the creation of a standard look and feel of the Australian Government’s website, which converts into a user-friendly experience.
Every single Government website needs to be in compliance with the Web Content Accessibility Guideline (WCAG) AA 2.0. And hence, WCAG AA 2.0 has been at the base of creating the base-theme and hence it’s in complete compliance with the Government standards. This also helps in elevating the user-friendliness of the website. govCMS also provides a list of the accessible elements either via the content pages or the WYSIWYG editor.
Backups are a very critical and significant part of any website. So when it is a Government website, the stakes are even higher. The creation of govCMS is done in complete compliance with the National Archives of Australia Standards. This includes about 7 years of data retention on backups, which is a highly beneficial factor that works in the favour of these govCMS-based Australian Government’s websites.
govCMS is a pool of perfection when it comes to a platform meant for Government - highly secure, affordable and effective! AddWeb is glad to have worked on the creation of the govCMS website with all our expertise and experience over Drupal. We’ll be delighted to share more about it in our future blogs. If there’s anything specific in your mind that you wish to learn about govCMS then feel free to write to us in here. Also, we’re looking forward to creating and contributing more towards govCMS projects.
In this short article I will show you something that amazed me when I discovered it. You’ll maybe say: boh, I already knew this from way back or really, that amazed you? But nonetheless, I found it cool because it really fit my needs. And like many many other things, I had no clue about this.
We all know how we can easily ajaxify our forms for quite a lot of uses cases. I talk about some of them in this Sitepoint article for example. But the other day I had a few entity autocomplete elements that needed to trigger an Ajax callback using the regular form API when the user made a selection. So I started with the regular “change” event like you normally have on other elements such as select. And it did the job…but not really. I mean, the user would look for the entity, select it, get the box filled, but no Ajax request. Only after the focus left the input would the callback kick in. This can work, maybe, but you are relying on the user’s intuition to unfocus from that form element. And that’s a nono.
Then I realised that the entity autocomplete element uses the jQuery UI autocomplete widget for finding entities. And this widget fires some events of its own. Enter autocompleteclose. This event is fired when the user has made the selection, the autocomplete closed, the selection was made and the element populated. Exactly what I needed and I guess many people need. So my form element #ajax definition now looks like this:'#ajax' => [ 'callback' => '::ajaxRebuild', 'event' => 'autocompleteclose', 'wrapper' => 'form-container', ],
And this did the trick royally. The user would find the entity, click on it, the event would fire and my form rebuild with all the values available. Super.
Some hours of totally unrelated development later, I tried clearing the value of the element once selected. Oops, nothing would happen. But it should, at least in my case. The Ajax callback should be triggered to update stuff based on the (un)selected value. Hm…the change event would do that. Now what?!
Turns out you can use multiple events in one single Ajax definition. So I could use both of them which would trigger the same Ajax callback. Another freebie. So with the new element definition like this:'#ajax' => [ 'callback' => '::ajaxRebuild', 'event' => 'autocompleteclose change', 'wrapper' => 'form-container', ],
Everything was peachy. Working seamlessly as the user would select something or erase the selection.
I hope this helps you as well, discovering it maybe a bit faster than it took me. Because you have it right here! :)