Newsfeeds

Imperfect GM: Different Styles of Games

RPGNet - 23 May 2019 - 12:00am
Also: Hacking Games on the Fly
Categories: Game Theory & Design

Web Wash: Using Pattern Trigger (Regex) in Webform Conditional Logic in Drupal 8

Planet Drupal - 22 May 2019 - 7:15pm

When you need to create survey style forms in Drupal 8 Webform is the clear winner. It's powerful enough to create all sorts of forms and you can even give it to your editor so they can create their own, after a little training, of course.

One part of Webform which I like is the ability to define conditional logic. For example, you can show or hide a text field based off a value from another element. You can also make an element conditionally required. It's a very useful part of Webform, and you do all of this through a UI, no custom code.

Defining simple conditional logic, check if element value has a single value, is pretty straightforward. But when you have to deal with multiple values, this is where things get tricky.

Categories: Drupal

Windows 10 now offers a game-focused Xbox Game Bar overlay

Social/Online Games - Gamasutra - 22 May 2019 - 3:13pm

An update to Windows 10 has introduced the Xbox Game Bar, a quick access overlay that lets Windows users access music, capture tools, and Xbox Live friends while playing almost any game. ...

Categories: Game Theory & Design

Video: The care and feeding of live narrative game Fallen London

Social/Online Games - Gamasutra - 22 May 2019 - 2:20pm

In this 2019 GDC session, Failbetter Games' Olivia Wood looks at the difficulties of maintaining a live narrative game like Fallen London and how Failbetter has adapted to surmount them. ...

Categories: Game Theory & Design

Get a job: CCP's EVE Online team is hiring a Production Director

Social/Online Games - Gamasutra - 22 May 2019 - 2:07pm

CCP Reykjavik are looking for a world-class Production Director to lead production efforts on EVE Online. ...

Categories: Game Theory & Design

GOG Galaxy 2.0 aims to bridge the platform gap in game communities

Social/Online Games - Gamasutra - 22 May 2019 - 1:02pm

The soon-to-be-in-beta client overhaul turns GOG Galaxy into a hub for games and communities spread across multiple launchers and platforms. ...

Categories: Game Theory & Design

TEN7 Blog's Drupal Posts: Episode 060: A Recap of Drupaldelphia 2019

Planet Drupal - 22 May 2019 - 8:44am

In this week’s podcast TEN7’s DevOps Tess Flynn aka @socketwench is our guest, giving us her observations of the Drupaldelphia 2019 conference she recently attended, as well as a summary of her helpful session, “Return of the Clustering: Kubernetes for Drupal.”

Host: Ivan Stegic
Guest: Tess Flynn, TEN7 DevOps

In this podcast we'll discuss: 

Categories: Drupal

The Creative Gaming Revolution - by Dylan Woodbury

Gamasutra.com Blogs - 22 May 2019 - 8:38am
A new paradigm of game design is gaining steam - Creative Gaming is a booming alternative to challenged-based design, and its impact will forever change the video game industry.
Categories: Game Theory & Design

Titan's Environment in 'Afterlight'. A technical Approach - by Vic Franco

Gamasutra.com Blogs - 22 May 2019 - 7:33am
"Afterlight" has a strong narrative aspect that its achieved by a carefully balanced mix of actual Titan's documentation and its creative interpretation. Here it is a technical breakdown about its lighting and environment
Categories: Game Theory & Design

Why crunch will break the best and brightest in the industry. - by Mark Lloyd

Gamasutra.com Blogs - 22 May 2019 - 7:32am
The core problem with enforcing crunch is the effect, damage, and loss of capability in the people and teams. Creativity is at the heart of development, and it comes from the people. Smash the team, and you damage everything.
Categories: Game Theory & Design

5 Different Types of Game Testing Techniques - by Antonio Torres

Gamasutra.com Blogs - 22 May 2019 - 7:31am
As far as software expressions are concerned, modern games are some of the most complex. The complexity of these games and the amount of money involved in making them, calls for different testing scenarios.
Categories: Game Theory & Design

The Double-Edged Sword of Live Service Games - by Josh Bycer

Gamasutra.com Blogs - 22 May 2019 - 7:29am
Live Service has become a goal for developers to continue to support their titles, but it presents some interesting challenges when it comes to the constant development of a game.
Categories: Game Theory & Design

How augmented reality affects people's behavior

Virtual Reality - Science Daily - 22 May 2019 - 7:19am
Researchers found that people's interactions with a virtual person in augmented reality, or AR, influenced how they behaved and acted in the physical world.
Categories: Virtual Reality

Sponsored: Getting ahead of game fraud before it impacts revenue

Social/Online Games - Gamasutra - 22 May 2019 - 7:07am

Unless you know how to get ahead of it, fraud can damage game player trust, put your relationship with credit card acquirers at risk, and cut into revenue and profits. ...

Categories: Game Theory & Design

InternetDevels: Drupal multisite: how it works and when it is the best choice

Planet Drupal - 22 May 2019 - 6:40am

Drupal allows to find the most effective solution for every business case. Large organizations often need more than one website but a collection of related sites, which would be easy to manage. To meet this need, there is the Drupal multisite feature that has become popular among education websites, government websites, corporate websites, and so on. Let’s explore what Drupal multisite is, how it works, and when it is the best choice.

Read more
Categories: Drupal

Fluid Comment

New Drupal Modules - 22 May 2019 - 6:16am

Fluid Comment is an implementation of the new routes provided by the JSON:API Comment module.

Built with React, it replaces the built in comment display with a progressively decoupled application that uses the jsonapi responses to display the appropriate UI to users with different permissions.

For example:

Categories: Drupal

Lullabot: A Patch-less Composer Workflow for Drupal Using Forks

Planet Drupal - 22 May 2019 - 5:46am

One of the significant advantages of using free and open-source software is the ability to fix bugs without being dependent on external teams or organizations. As PHP and JavaScript developers, our team deals with in-development bugs and new features daily. So how do we get these changes onto sites before they’re released upstream?

Categories: Drupal

Structured Data Generator

New Drupal Modules - 22 May 2019 - 5:34am

This module is designed to easily add Structured data on your site.
You can create a plugin that returns the structured data you want and it will be added to the site.

As an example the breadcrumb plugin is provided and turned on.

In a future version this will either leave the project, or you will be able to turn it off.

This project makes use of the https://github.com/spatie/schema-org Schema builder.

Categories: Drupal

OpenSense Labs: The Alternatives in Decoupled Drupal Ecosystem

Planet Drupal - 22 May 2019 - 5:34am
The Alternatives in Decoupled Drupal Ecosystem Shankar Wed, 05/22/2019 - 22:48

More and more users want the content to be available via a host of different devices. Various new interfaces and devices are thronging the technology landscape and are touted to bring about sweeping changes. There are even talks of website-less future. Smart wearables, Internet of Things, conversational user interface etc. have been gaining traction and are changing the way we experience the internet. New web-enabled devices need the content that the websites do but in a different format which creates complications in the way we develop. Disseminating content can have different needs from one setup to another.


The content management system (CMS) is rife with labels such as ‘decoupled’ and ‘hybrid’ which requires to be dissected for a better understanding of their benefits. Decoupling the backend of a content management system (CMS) from the frontend can be a remarkable solution for a lot of issues that are caused when you move away from standard website-only deliveries. Decoupling the CMS streamlines the process of republishing the content across numerous channels ranging from websites to applications. Decoupled CMS is not new, but as the digital arena observes changes, it gets more and more important.

The Drupal Connect Source: Dries Buytaert’s blog

As one of the leaders in the CMS market, Drupal’s content as a service approach enables you to get out of the page-based mentality. It gives you the flexibility to separate the content management from the content display and allows you the front-end developers to build engrossing customer experiences.

Decoupled Drupal implementations are becoming ubiquitous due to its immense capability in giving a push to digital innovation

Decoupled Drupal implementations, which involves a full separation of concerns between the structure of your content and its presentation, are becoming ubiquitous due to Drupal’s immense capability in giving a push to digital innovation and being a great solution in adopting novel approaches.

Drupal Community has been working on a plenitude of API-first architectures by utilising its core REST, JSON:API and GraphQL features. But there are alternative solutions, too, available in decoupled Drupal ecosystem that can be of great significance. Let’s explore them:

RESTful Web Services and others

While RESTful Web services module helps in exposing entities and other resources as RESTful web API and is one of the most important modules when it comes to decoupled Drupal implementation, there are several others that can come handy as well.

Implementing the Apache CouchDB specification and focussing upon content staging use cases as part of the Drupal Deploy ecosystem, RELAXed Web Services module can be of immense help. The CouchDB helps in storing data within JSON documents that are exposed via a RESTful API and unlike Drupal’s core REST API, it enables not just GET, POST, DELETE but also PUT and COPY.

There’s a REST UI module that offers a user interface (UI) for the configuration of Drupal 8’s REST module. You can utilise Webform REST module that helps in retrieving and submitting webforms via REST. For protracting core’s REST Export views display in order to automatically converting any JSON string field to JSON in the output, REST Export Nested module can be useful. By offering a REST endpoint, REST menu items module can be helpful in retrieving menu items on the basis of menu name. And when you need to use REST for resetting the password, REST Password Request module can be helpful. It is worth noting that Webform REST, REST Export Nested and REST Password Request are not covered by Drupal’s security advisory policy but are really valuable.

JSON:API and others

JSON: API module is an essential tool when you are considering to format your JSON responses and is one of the most sought after options in decoupled Drupal implementations. But there is, again, plenty of options for availing more features and functionalities. 

When in need of overriding the defaults that are preconfigured upon the installation of JSON: API module, you can leverage JSON: API Extras. By offering interfaces to override default settings and registering new ones that the resultant API need to follow, JSON: API Extras can be hugely advantageous in aliasing resource names and paths, modifying field output via field enhancers, aliasing field names and so on. There is JSON API File module that enables enhanced files integration for JSON: API module. And for the websites that expose consumer-facing APIs through REST, JSON: API or something similar, Key auth module offers simple key-based authentication to every user.

For streamlined ingestion of content by other applications, Lightning API module gives you a standard API with authentication and authorisation and utilises JSON: API and OAuth2 standards through JSON API and Simple Oauth modules.

GraphQL and others

GraphQL module is great for exposing Drupal entities to your GraphQL client applications. There are some more useful modules based on GraphQL. To enable integration between GraphQL and Search API modules, there is a GraphQL Search API module. Injecting data into Twig templates by just adding a GraphQL query can be done with GraphQL Twig module. To expose Drupal content entity definitions through GraphQL via GraphQL Drupal module and develop forms or views for entities via front-end automatically, you have GraphQL Entity Definitions module.

OpenAPI and related modules

OpenAPI describes RESTful web services on the basis of the schema. There is OpenAPI module in Drupal, which is not covered by Drupal’s security advisory policies but can integrate well with both core REST and JSON: API for documentation of available entity routes in those services. And for implementing an API to display OpenAPI specifications inside a Drupal website, you get OpenAPI UI module. And ReDoc for OpenAPI UI module offers the ReDoc library, which is an Open API/ Swagger-generated API reference documentation, for displaying Open API specifications inside Drupal website. Then there is Swagger UI for OpenAPI UI module that gives you Swagger UI library in order to display OpenAPI specifications inside Drupal site. You can also utilise Schemata module that provides schemas for facilitating generated documentation and generated code.

Contentajs and related modules

The need for a Nodes.js proxy that acts as middleware between Drupal content API layer and Javascript application can be addressed with the help of Contenta.js.  For Contenta.js to function properly, Contenta JS Drupal module is needed. This module is part of the Contenta CMS Drupal distribution. The Node.js proxy is essential for decoupled Drupal because of data aggregation, server-side rendering and caching. Contenta.js constitutes multithreaded Node.js server, a Subrequests server for the facilitation of request aggregation, a Redis integration and simple approach to CORS (Cross-origin resource sharing).

There are several effective modules that are part of the Contenta CMS decoupled distribution and integrates perfectly with Contenta.js. You have Subrequest module that tells the system to execute multiple requests in a single bootstrap and then return everything. JSON-RPC module offers a lightweight protocol for remote procedure calls and serves as a canonical foundation for Drupal administrative actions that are relied upon more than just REST. To resolve path aliases, Decoupled Router module gives you an endpoint and redirects for entity relates routes.

In order to enable decoupled Drupal implementations to have variations on the basis of consumer who is making the request, you can use Consumers module. You can use Consumer Image Styles that integrates well with JSON: API for giving image styles to your images in the decoupled Drupal project. And there is Simple OAuth module for implementing OAuth 2.0 Authorisation Framework RFC.

Of relating to JavaScript frameworks

Decoupled Blocks module is great for progressive decoupling and enables front-end developers to write custom blocks in whatever javascript framework that they prefer to work on. If you want to implement using Vue.js, you can use Decoupled Blocks: Vuejs. It should be noted that both of these are not covered by Drupal’s security advisory policies.

React Comments comes as a drop-in replacement for the Drupal core comment module frontend.

Also, there is a jDrupal module, which is a JavaScript library and API for Drupal REST and can be leveraged for Drupal 8 application development.

Conclusion

With Drupal as the decoupled web content management, developers can get to use a plentitude of technologies to render the front end experience.

RESTful web services, GraphQL and JSON: API are not the only resources that you get in the decoupled Drupal ecosystem. In fact, there are plenty of other alternatives that can be of paramount importance.

Drupal development is our forte and bringing stupendous digital experience to our partners has been our prime objective. Contact us at hello@opensenselabs.com and let us know how you want us to be a part of your digital transformation goals.

blog banner blog image Decoupled Drupal Drupal module Blog Type Articles Is it a good read ? On
Categories: Drupal

What I Prep

Gnome Stew - 22 May 2019 - 5:00am

Last month I got on my soapbox about prep, specifically talking about how it does not matter how long your prep is, and I thought I would stay on the topic and talk about how I prep a game today.  This article will be a snapshot of my prep process because this is a GM skill that constantly evolves. It is one that is both a product of the way I GM, and the games I play. What I want to show you is the thought process behind how I get a game ready for the table, what stays in my head, and what gets written down.

Two Page Prep

Today, my prep is basically two pages, or one-page front and back, if you are getting really technical. That is not a constraint, but rather where I wind up. That prep is good for 4-8 hours of play, depending on how hard I am driving the game. I don’t have a single format, allowing the prep to fit the structure of what I am playing, but I do have elements that are always present. When I run a game for the first time, I usually spend a bit of time figuring out the template for my prep, which involves incorporating the important elements I need with the overall structure of the game. For instance: In my prep for Blades in the Dark, the middle portion of my prep is sectioned into Freeplay, The Job, and Downtime, to reflect the three major phases of the game.

How I GM and What I Play

I mentioned in the intro that your GMing style and what you run has a major impact on how you prep. So that the rest of this makes sense, let me take a few sentences to explain both of those. My GMing style is about 70% improv and 30% planned, with my planning mostly up front. I like to come up with a general idea of what is going to happen in the session, set that up, and then let the players loose. I then improv as I play off of what the characters do, always using where I had originally intended the game to go as a guide to where play should lead, but never adhering to that too hard. I am very much a play to see what happens GM.

As for what I play, I mostly play Powered by the Apocalypse games, because they mesh well with how I want to GM. Aside from PbtA games, I have been enjoying the Mutant Year Zero mechanics, used in Tales of the Loop.

The Essential Elements … For Me

When it comes to what I put into my prep, here are my essential elements that are always in my prep:

What Is Going On

This section was inspired by Fear The Boot and has never left my prep, once I learned about it. It is a few paragraphs that describe what is going on in the adventure and can sometimes take up to 25% of my 2-page prep. It is nearly always written in the absence of the player characters and does two things. One, it gives me a background of what has been going on, before the characters get involved. Two, it tells me what the forces in play will do if the characters do not succeed in intervening.

I cannot emphasize enough how important for me this piece is. If I had to reduce or eliminate most of my prep, I would not cut into this section one bit. I can do more with just this section than anything else I prep. Share1Tweet1Reddit1Email

This piece is crucial for me because this gives me the logical construct for the game. What I mean is that as a background, it gives me some understanding of why things are going on and what has happened before. That is important for understanding motivations, clues, and for answering questions about what is going on. As a direction of what is going to happen, it gives me a direction in which to improv the actions/reactions of the NPCs, which then makes their actions drive towards a logical goal.

I cannot emphasize enough how important for me this piece is. If I had to reduce or eliminate most of my prep, I would not cut into this section one bit. I can do more with just this section than anything else I prep.

Major Scenes

Building off the information in What Is Going On, I then come up with 4-6 scenes that I think are most likely to happen in the session. The earliest scenes are the most probable to happen while the latter ones are less possible, as the game unfolds through play. These scenes are typically based on the story beats that would need to be achieved to accomplish the players’ goal, which is nearly always to interfere with the NPCs goal that I outlined above.

As I do for the overall story, I prep these scenes to set up a problem but not how to solve it (something learned from Vincent Baker in Dogs in the Vineyard). They are always based on a logical path to how the problem would be solved.

Example: In a dungeon exploration game (not a dungeon crawl) where the players are to recover a holy artifact, my major scenes would be something like this:

  • Entering The Dungeon – encounter with some monsters to set the tone.
  • Finding Clues of The Big Monster – a scene where I reveal something much worse is in the dungeon, that the players did not know about.
  • Navigating Ancient Traps – a scene about getting past an elaborate trap.
  • Dangerous Battle – combat scene in a location with difficult/dangerous terrain.
  • The Big Monster and the Artifact – A confrontation with the big monster who is also trying to use the artifact.

In each of those cases, there is a clear set-up for what the scene will be about, and then I leave it up to the players’ ideas, the mechanics of the game, the genre we are playing in, and my improv skills to do the rest.

Essential Dialog or Clues

At all costs, I never want to retcon my game to give the players some important piece of information or clue that I was supposed to give them earlier, that I forgot in a past scene. So all of those essential pieces of information get written into my prep so that they can be referenced in play.

Stat Blocks

I always include the stat blocks for anything that the players may encounter. Even if the block is listed in the main book, I copy it into my notes. I do not want to stop and look things up, mid game. I want that information right at my fingertips.

If my game has a lot of different stat blocks, then I may make this its own page (sometimes expanding past my 2-page prep, if needed) and then I have them all in one place. In most cases, I will just put the block or two I need inline with my text.

Relevant Rules

If the scene has any esoteric rules that are not part of my normal play, then they get copied into this section so that, once again, I am not flipping through the book during the game.

Conclusion

As a way to wrap up the session, I have a section where I have notes about how to bring the session to a conclusion. These are often in the form of, “If the players do this, then that happens”. It also includes reminders for any end of session mechanics that need to be engaged.

Putting That All Together

In the absence of the elements or structures needed for a specific game, this is what my prep looks like, at it’s core:

  • What is going on
  • Opening Scene
    • Essential Dialog/Clues
    • Stats
    • Rules
  • Scene
    • Essential Dialog/Clues
    • Stats
    • Rules
  • Scene
    • Essential Dialog/Clues
    • Stats
    • Rules
  • Scene
    • Essential Dialog/Clues
    • Stats
    • Rules
  • Conclusion
I Showed You Mine…Show Me Yours

Your prep is a constantly evolving structure. It changes as you grow as a GM and as you play different games. It is something that both naturally evolves as well as something you can hone.

I showed you what goes into my prep, now show me yours. What elements are essential to you? What structures do you use? What element could you never give up?

Categories: Game Theory & Design

Pages

Subscribe to As If Productions aggregator