Newsfeeds

F2P Game Business Model is Now more Healthy - by Mantin Lu

Gamasutra.com Blogs - 27 September 2018 - 6:55am
Glad that we can witness this trend that F2P games monetization model moving towards a healthier future. Hopefully, this trend will continue and no one will see playing games as a bad habit anymore.
Categories: Game Theory & Design

Understanding AAA, Startups, and Mobile with Richard Khoo - by Larry&Brandon GDU

Gamasutra.com Blogs - 27 September 2018 - 6:43am
Richard Khoo is a Game Design Director that has been working in the industry for over 15 years. He spent a decade at Blizzard working on titles like Starcraft 2 and was the lead systems designer for Heroes of the Storm.
Categories: Game Theory & Design

Doing AAA, Startups, and Mobile with Richard Khoo - by Larry&Brandon GDU

Gamasutra.com Blogs - 27 September 2018 - 6:43am
Richard Khoo is a Game Design Director that has been working in the industry for over 15 years. He spent a decade at Blizzard working on titles like Starcraft 2 and was the lead systems designer for Heroes of the Storm.
Categories: Game Theory & Design

Virtual reality motion sickness may be predicted and counteracted

Virtual Reality - Science Daily - 27 September 2018 - 5:33am
Researchers have made progress towards predicting who is likely to feel sick from virtual reality technology.
Categories: Virtual Reality

Morpht: Simple Social Service links for Drupal 8

Planet Drupal - 27 September 2018 - 4:46am

There are couple of online tools, and integration modules to get sharing widget to your site. They rely on JavaScript and the security of your users is questionable. This article will show you how to create a simple yet flexible and safer service sharing widget without line of JavaScript.

Background

The main reason why not to use some of the tools like AddToAny is the security. This is often a case for government or other public facing project such as GovCMS. Sharing widget of these services is not connecting directly to the social service, but it is processed on their servers first. And they can track the user on through the web because of the fingerprint they made. Another reason is that the JS code is often served from a CDN so you don’t know when the code changes and how? Have they put them some malicious script? I don’t want this on my site. And clients often as well. :)

Thankfully each service provide a simple way how to share content and we will use that.

Final example

You can see the final result in action with different styling applied at our example GovCMS 8 demo page (scroll down to the bottom of page).

Site build

First we need to prepare the data structure. For our purpose we will need to create a custom block type, but it can be easily done as a paragraph too.

Custom block name: Social Share
Machine name: [social_share]

And throw in few Boolean fields. One for each service.

Field label: [Human readable name] e.g. “Twitter”
Machine name: [machine_name] e.g. “social_share_twitter” – this one is important and we will use it later.

Go to the manage display screen of the block (/admin/structure/block/block-content/manage/social_share/display) and change the Output format to Custom. Then fill in the Custom output for TRUE with the text you like to see on the link e.g. "Share to twitter".

Now we are able to create a new block of the Social share type and check some of these checkboxes. Users will see only the Labels as result.

Theming

The fun part is changing the output of the field from simple label to actual share link.
First we need to know how the final link looks like.
Links examples:

Facebook: http://www.facebook.com/share.php?u=[PAGE_URL]&title=[PAGE_TITLE] Twitter: http://twitter.com/intent/tweet?status=[PAGE_TITLE]+[PAGE_URL] LinkedIn: http://www.linkedin.com/shareArticle?mini=true&url=[PAGE_URL]&title=[PAGE_TITLE]&source=[BASE_PATH] E-mail: mailto:?subject=Interesting page [PAGE_TITLE]&body=Check out this site I came across [PAGE_URL]

To get it work we need a current page Page URL, Page title, and Base path. Only the page URL is directly accessible from TWIG template. The other two needs to be prepared in preprocess. Lets add these in the theme_name.theme file.

/** * Implements template_preprocess_field(). */ function theme_name_preprocess_field(&$variables, $hook) { switch ($variables['field_name']) { case 'field_social_share_twitter': $request = \Drupal::request(); $route_match = \Drupal::routeMatch(); $title = \Drupal::service('title_resolver') ->getTitle($request, $route_match->getRouteObject()); if (is_array($title)) { $variables['node_title'] = $title['#markup']; } else { $variables['node_title'] = (string) $title; } $variables['base_path'] = base_path(); break; } }

As we probably will have more then one service we should use the DRY approach here. So we create extra function for the variable generation.

/** * Preprocess field_social_share. */ function _theme_name_preprocess_field__social_shares(&$variables) { $request = \Drupal::request(); $route_match = \Drupal::routeMatch(); $title = \Drupal::service('title_resolver') ->getTitle($request, $route_match->getRouteObject()); if (is_array($title)) { $variables['node_title'] = $title['#markup']; } else { $variables['node_title'] = (string) $title; } $variables['base_path'] = base_path(); }

And we than call it for various cases. If some service will need more variables it will be easy to add it in different function. So we don’t process whats not required.

/** * Implements template_preprocess_field(). */ function theme_name_preprocess_field(&$variables, $hook) { switch ($variables['field_name']) { case 'field_social_share_facebook': _theme_name_preprocess_field__social_shares($variables); break; case 'field_social_share_twitter': _theme_name_preprocess_field__social_shares($variables); break; case 'field_social_share_linkedin': _theme_name_preprocess_field__social_shares($variables); break; case 'field_social_share_email': _theme_name_preprocess_field__social_shares($variables); break; } }

Now we have the Node title and Base path prepared to be used in field templates.

Enable twig debug and look in the markup for the checkbox. You will see couple of suggestions, the one we are looking for is field--field-social-share-twitter.html.twig.

As the output should be single link item it is safe to assume we can remove all the labels condition and the single/multiple check as well. On the other hand we need to ensure that if the checkbox is unchecked it will not output any value. That is particularly hard in TWIG as it doesn’t have any universal information about the state of checkbox. It has only access to the actual value. But since we don’t know the value of custom label we cannot use it. However there is a small workaround we can use. Remember we hav not set the FALSE value.
We can check if the field is outputting any #markup. The empty FALSE value will not produce anything, hence the condition will fail.

{% if item.content['#markup'] %}

Here is the full code for field template:

{% set classes = [ 'social-share__service', 'social-share__service--twitter', ] %} {% for item in items %} {% if item.content['#markup'] %} "http://twitter.com/intent/tweet?status={{ node_title }}+{{ url('') }}" title="Share to {{ item.content }}">{{ item.content }} {% endif %} {% endfor %}


For other services you need to adapt it. But it will still follow the same pattern.

And we are done. Now your block should return links to sharing current page to the service.

Pro tip:

So far we have not use any contrib module. But obviously your client would like to have some fancy staying applied. You can add everything in the theme, but that will be only one hardcoded option. For easier live of editors you can use Entity Class formatter module to easily add classes to the block from a select list. You can provide multiple select list for Size, Color, Rounded corners, Style etc.

Result

At this point we have the simple social share widget ready. We can select which predefined services will show in each instance and how will they look. E.g. On blog post you can have sharing for Twitter, Facebook and Email styled as small rounded icons. But with another instance of the block you can have only large squared LinkedIn icon + label shown on Job offering content type.

Further notes

After I wrote first draft of this article new module appeared which work in very similar way. Give it a try at Better Social Sharing Buttons. It will be quicker to get up ad running as it has predefined styles and services, but that can be a drawback at the same time. If I need different style, or extra service it can be harder to add it.

Categories: Drupal

OpenSense Labs: Power Of Microservices Architecture In Drupal Development

Planet Drupal - 27 September 2018 - 4:45am
Power Of Microservices Architecture In Drupal Development Shankar Thu, 09/27/2018 - 17:15

One of the reasons why The New York Times is able to catch up to its growing user base is its inclination towards technological advancements. That was evident when it leveraged the power of microservice architecture via a remodelled video publishing platform to scale with their newsroom demands. They also moved their infrastructure to the cloud which resulted in a stable and scalable email platform, powered by a suite of microservices, for sending emails to the readers.


Why are big enterprises like The New York Times leaning towards microservices? Microservices has grown exponentially and holds an astronomical future for the digital businesses. It will be interesting to see how traditional CMS like Drupal finds a place in the world of microservices. But before plunging into all that, one might wonder where did this ‘microservices’ thing originate from?

Tracing the roots in the UNIX world

New Relic has compiled an interesting and brief timeline of the evolution of microservices. Microservices has its roots in the Unix world that takes us back to more than three decades ago.

As a term, microservices was first documented in 2011 by Martin Fowler

Service-oriented architecture (SOA), a design principle where services are offered to other components by application components via communication protocol over a network, was all the rage decades ago. Due to a superabundance of failures and costly implementations, the SOA earned a poor reputation and took a backseat. Martin Fowler, among others, has said that microservices are a new spin on SOA.

As a term, it was first documented in 2011 by Fowler at a software architects’ workshop.

In 2012, a presentation was given by James Lewis at the 33rd Degree in Krakow which was titled “Microservices - Java, the Unix Way”. This delineated microservices as a means of building software more rapidly by dividing and conquering and used Conway’s Law to structure teams.

Since that time, the adoption of microservice architecture has grown and many organisations are going for microservices as their default style for building enterprise applications.

Understanding the terminology Source: LeanIX GmbH

What are microservices? Microservices are an architecture for splitting a monolithic application into smaller pieces. Each of those pieces offers a certain function through a well-defined and carefully handled API.

The collection delivers the same overall business value like the monolithic application with the difference being these independently working individual pieces in microservices. That means they can be updated swiftly without impacting an entire application.

“The microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies”. - Martin Fowler

"A microservice architectural style is an approach to develop a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API".

Netflix is an unsurpassed example of microservices adoption. It moved from a traditional development model with several engineers producing a monolithic DVD-rental application to a microservices architecture. Small teams could focus on the end-to-end development of hundreds of microservices that work together to serve digital entertainment to millions of Netflix customers every day.

Source: LeanIX GmbH

The main difference between monolithic and microservices architecture, as can be seen in the depiction above, is that all the features and functionalities were under a single umbrella. That is, they were under a single instance sharing a single database. With microservices, each feature is allotted a different microservice, managing its own data, and performing a different set of functionalities.

How good or bad are microservices? Source: Logentries

The benefits of microservices are laid out below:

  • Autonomous deployments: You can update a service without having to redeploy the entire application and rollback or roll forward an update during mishaps. Fixing bugs and feature releases are much more manageable with fewer challenges.
  • Autonomous development: Building, testing and deploying a service would need a single development team leading to perpetual innovation and swift release cadence.
  • Small teams: Teams can lay their focus onto one service thereby simplifying the understanding of the codebase with the smaller scope for each service.
  • Isolation of faults: Downtime in one of the services won’t affect the overall application. This does not mean that you get resiliency for free.
  • Tech stack mixture: Technology that is deemed most fit for a service can be selected by the teams.
  • Scalability at granular levels: Independent scaling of services is possible.

Some of the challenges are outlined below:

  • Intricacy: More moving parts are there in microservice application than the equivalent monolithic application.
  • Development and testing: Developing against service dependencies would need a different approach and testing service dependencies is difficult particularly when the application is evolving rapidly.
  • The dearth of administration: The decentralised approach for building microservices may lead to numerous languages and frameworks thereby making it harder to manage.
  • Network congestion and latency: Usage of granular services can result in more inter-service communication. Chances are that if the chain of service dependencies gets too elongated, additional latency can be a challenge.
  • Data integrity: Data consistency can be a hurdle with each microservice responsible for its own data persistence.
  • Management: Correlated logging across services can become a formidable task.
  • Update issues: If not for a careful design, several services updating at a given time could result in backward or forward compatibility.
  • Team skill-set: As the highly distributed systems, microservices require a team with the right mix of skills and experience.
Taking Drupal into the context

Drupal is a monolith. How can it survive this trend of microservices? Drupal, being an amazing content management framework, provides a great content editing experience and has been pioneering digital innovation. With that being said, microservices architecture can be used for development and deployment of applications using Drupal. Let’s see how Drupal can put into the scheme of things.

Demonstration at DrupalCon Vienna 2017

A presentation held at DrupalCon Vienna 2017 demonstrated an effective way of integrating Drupal 8 in a microservices architecture.
 
Drupal 8 proved to be a useful content management framework for this implementing microservices architecture because of its:

  • Symfony components,
  • Composer to manage external dependencies,
  • and the magnificent results of the Web Services and Context Core Initiative (WSCCI).
     


It exhibited the delegation of asynchronous work from Drupal to a set of very reactive applications written in Go with some assistance of RabbitMq queues. Elasticsearch was leveraged as a common data storage between services and REST endpoints were exposed where the endpoints could notify back to Drupal.
 
Furthermore, methods of connecting websocket server to push and pull messages between services were shown. To run all these services in a controlled and replicable manner, services of Ansible and Docker were extracted.

Demonstration at Drupal Developer Days Lisbon 2018

Another session at Drupal Developer Days Lisbon 2018 delineated how the citizen portal of the city of Reykjavik (Iceland) was relaunched using Drupal and microservices.
 
With the incorporation of more than 100 web services ranging from simple services like registering a dog or renewing a driver’s license to the intricate services like the admissions of children to school or updating the residential address.


Powered by Drupal 8, this new portal integrates the services with a microservices architecture using JSON Schema as communication protocol. The microservices architecture was chosen to let centralised data collection and presentation in a single portal while simultaneously incorporating a heterogeneous landscape of services autonomously from one another.

Predictions ahead

Oracle’s Cloud Predictions 2018 report states that by 2020, the lion’s share of new applications will be powered by microservices architectures.

Open source has given a whopping push to the microservices architecture. Its several components support continuous integration and delivery pipelines, microservices platforms, containers, container management and orchestration, container registry service, and serverless capability.

Open source has given a whopping push to the microservices architecture

Adoption of cross-cloud containers like Docker and Kubernetes is on the upwards trajectory and developers consider an open cloud stack to prevent vendor lock-in.

Source: Market Research Future

According to a report on Market Research Future, the microservices architecture market is expected to reach $32.01 billion by 2023 with a Compound Annual Growth Rate (CAGR) of around 16.17% during the forecast period.

Another report on Research and Markets for the forecast period of 2017 to 2023 states that as far as the ‘Market Analysis’ is concerned, the rise in the cloud adoption is integral for microservices market. This is because the microservices architectures function on smaller and simpler services. Also, there is a high demand from North American companies as they have implemented it in e-commerce, financial, and travel services. This has helped in storing data and information cost-effectively and enhanced the efficacy, agility and scalability.

The report on Research and Markets has an interesting ‘Countries and Vertical Analysis’ vis-à-vis microservices. Most of the major players are in the American region with the prominent vendors covered in the report include the likes of Cognizant, IBM Corporation, Datawire, Salesforce, Infosys Ltd., MuleSoft Inc., and Software AG. Japan, the US and China are expected to witness a tremendous growth in microservices adoption.

Conclusion

Microservices architectures streamline the overall application development lifecycle leading to quicker testing, higher quality and more releases. Such an architecture can be hugely useful for efficient management of Drupal-based projects. Innovation has always been something Drupal is greatly supportive of. Adopting a microservice architecture for Drupal development is possible and is extremely fruitful.

Organisations should be wary of their digital business ecosystem and should understand the challenges that they might have to encounter during its adoption. Opensense Labs has been in the constant pursuit of bringing a positive change for our valued partners with our expertise in Drupal.

Contact us at hello@opensenselabs.com to know more about microservices architectures and its value to your organisational setup.

blog banner blog image microservices Drupal microservices Drupal 8 Drupal CMS Drupal and microservices UNIX Service-oriented architecture SOA Microservices architecture DrupalCon Drupal Developer Days monolithic monolithic architecture Blog Type Articles Is it a good read ? On
Categories: Drupal

OPcache Control

New Drupal Modules - 27 September 2018 - 4:07am

Simple Module to view OPcache statistics and configuration and reset OPcache.

Categories: Drupal

Rockets Away!: Vehicle Combat

RPGNet - 27 September 2018 - 12:00am
Fighting vehicles in Rocket Age 5e.
Categories: Game Theory & Design

Matt Glaman: Tracking changes in Migrate with dynamic row hashes

Planet Drupal - 26 September 2018 - 11:00pm
Tracking changes in Migrate with dynamic row hashes Thu, 09/27/2018 - 01:00 mglaman

When it comes to Drupal and external data, I use Migrate. A lot. Like a lot, lot, lot. Many times this data is being imported over CSV files that are pushed to a server at some defined interval. Usually, the data can be derived directly from the CSV file itself, other times a custom process plugin derives data from other information. Drupal's Migrate system has two steps to check if new data should be imported or skipped. First, you can tell the migration source to track changes for each row. Then, if you are tracking changes, it hashes each row of data to see if it has been changed.

Categories: Drupal

BS Basic

New Drupal Modules - 26 September 2018 - 10:33pm

BS Basic Module

Basic Slide show block for website.

Categories: Drupal

ActiveLAMP: Quick Setup with Composer Template for Drupal Projects

Planet Drupal - 26 September 2018 - 5:34pm

Pairing Composer template for Drupal Projects with Lando gives you a fully working Drupal environment with barely any setup.

Read more...
Categories: Drupal

JSON API Hypermedia

New Drupal Modules - 26 September 2018 - 1:10pm

The JSON API Hypermedia module is complementary component of the JSON API module.

Categories: Drupal

a-fro.com: Creating Paragraphs Entities for Dynamic Content

Planet Drupal - 26 September 2018 - 10:28am

The paragraphs module has become a central ingredient for many component-based sites in recent years. However, our content strategy also often requires components that display dynamic content (think "Read Next", or "Also of Interest"). In this tutorial, I'll demonstrate how we've been solving this problem, by building paragraph bundles that serve as configuration entities that we can then use as arguments that we pass to a view via the Twig Tweak module. You can see a working version of the dynamic content component we'll be building in the "Up Next" card grid at the bottom of this tutorial. 

Categories: Drupal

Commerce Guys: 2018: The Decoupled Summer of Drupal Commerce

Planet Drupal - 26 September 2018 - 8:00am

We’ve had several great opportunities this summer to connect with the Drupal community and share our latest work on Drupal Commerce. We’ve been able to highlight specifically our efforts to progressively decouple Drupal Commerce on Drupal 8.

Drupal Camp Asheville 2018
Ryan Szrama gave a demo on Saturday, July 14, based on the Belgrade demo store that provided an overview of Commerce Cart API Flyout. We detailed this work in our recent blog post announcing the feature.

A fully decoupled Drupal Commerce experience—including support for complex forms like checkout—is something that Commerce Guys is committed to delivering by the end of 2019. Until then, our strategy is to progressively decouple the product catalog and shopping cart to help sites scale in addition to opening new user interfaces. In Ryan’s words, “We started with the shopping cart because that’s the obvious way to help large websites avoid a common bottleneck for performance.”

Watch Ryan’s session to learn more about the Commerce Cart API project and see the demo.

Decoupled Drupal Days 2018
Next, Matt Glaman presented his talk “The road to a headless Drupal Commerce future” at Decoupled Drupal Days in NYC.

The session reviewed the development of the Commerce Cart API in greater depth. It covers our research into the RESTful Web Services and contributed JSON API projects (potentially in core soon) as future dependencies that the Cart API can adopt. Matt demonstrated even more progress on the project since Ryan’s demo, including a fully decoupled React based front-end.

This talk put the progressively decoupled Drupal Commerce Add to Cart form and shopping cart on display for the community with the expressed desire that Drupal based merchants will have an out of the box experience rivaling other major e-commerce software platforms.

Drupal Europe 2018
Matt’s session at Drupal Europe covered our latest developments in the Commerce Cart API and Flyout as part of the dedicated eCommerce track. This was an iteration of the Drupal Drupal Days session, including any improvements and additions in the time between Drupal Europe and Decoupled Drupal Days.

If you’re interested in contributing to the roadmap for decoupling Drupal Commerce, connect with Matt to learn where to get involved or how to give us feedback from your implementations.

Categories: Drupal

Drupal Association blog: Drupal.org Terms of Service update - September 2018

Planet Drupal - 26 September 2018 - 6:58am

As part of our ongoing activities to ensure a safe and welcoming environment for collaboration in Open Source, we have updated the drupal.org Terms of Service, at drupal.org/terms

This change has clarified which behaviors will be regarded as “harassment” and are, therefore, not acceptable whilst using the Drupal online services. The language is now in line with that already employed in the DrupalCon Code of Conduct.

The updated text, from Section C - Activities, now reads as:

  • Harassment will not be tolerated in any form, including but not limited to: harassment based on gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age or religion. Any report of harassment will be addressed immediately. Harassment includes, but is not limited to:
     

    • Comments or imagery that reinforce social structures of domination related to gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, age, or religion.

    • Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.

    • Abusive, offensive, or degrading language or imagery

    • Language or imagery that encourages, glorifies, incites, or calls for violence, emotional, or physical harm against an individual or a group of people

    • Intimidation, stalking, or following

    • Sexual imagery. At a minimum, no images containing nudity or expressions of sexual relationships that might be deemed inappropriate for a business environment should be uploaded or linked to

    • Unwelcome sexual attention or advances

    • Advocating for, or encouraging, any of the above behavior

You do not need to do anything to acknowledge this update.

Whilst you are here…

Are you receiving all the news and information you need? The Drupal Association publishes a number of news updates and you might be missing out. Check which news updates you are receiving by visiting our recently updated subscription page at http://eepurl.com/hWxwQ

Categories: Drupal

Easy to Learn, Hard to Master - by Justin Neft

Gamasutra.com Blogs - 26 September 2018 - 6:52am
This is a paper I did for a game design class where I talk about simplicity in video games and why I believe it is a very important attribute of accessibility and design.
Categories: Game Theory & Design

Agiledrop.com Blog: Happy 5th birthday, Agiledrop!

Planet Drupal - 26 September 2018 - 6:45am
Today, Agiledrop celebrates exactly 5 years from its official incorporation, so the company is in a festive mood. For this article, we wanted to look at the past and tell the story about how it all started. READ MORE
Categories: Drupal

Flocon de toile | Freelance Drupal: A cache example in action with Drupal 8

Planet Drupal - 26 September 2018 - 5:24am

As we say in terms of computer programming, only two things are extremely complex: naming variables and invalidating the cache. Drupal 8 has an automatic caching system activated by default that is truly revolutionary, which makes it possible to offer a cache for anonymous visitors and especially for authenticated users without any configuration. This cache system is based on three basic concepts:

Categories: Drupal

Droptica: Drupal 8-based online store... or Drupal Commerce.

Planet Drupal - 26 September 2018 - 5:22am
It’s been two years since the première of Drupal 8. We already got used to the differences between versions 7 and 8, and a lot of websites were created based on D8. Many Drupal 7-based websites are applications that use Drupal Commerce – an e-commerce module for Drupal. Many of the applications were set-up with the Commerce Kickstart distribution, which was based on this add-on. What’s the way to do it with D8? For a long time, only the alpha version was available, then a beta version was released. On the 20th of September 2017, we saw the release of version 2.0. As of today, the current version is 2.3. We'll see what’s new in DC and how it works with D8. For testing purposes, we are going to use DC 2.3 and Drupal 8.4.3.
Categories: Drupal

Pathfinder Playtest Review, Part 2

Gnome Stew - 26 September 2018 - 5:00am

This is part 2 of my review of the Pathfinder Playtest from Paizo. You can see part 1 here where I cover the first three sections of the book (Overview through Classes). In this part of the review, I’ll comment on the next four sections (Skills through Spells). The next review should cover Advancement and Options, and Playing the Game, which will be a big chunk of the review process since this is the “meat” of the game. Lastly, I’ll finish up with Game Mastering through Appendices.

If you’re interested in reading along with me during the review, you can pick up the free PDF of the playtest rulebook at Paizo’s site:

One note that I forgot to drop into my first review is that I’m making notes as I go through a section, then I do my best to accurately expand on those notes “in media res,” so that I’m giving an accurate depiction of my thoughts as they come to me as I read the text. Certainly, there will be some things that pop up later in the book that may change my mind, but I wanted to be clear that this is not a “I’ve read the whole book and am now making comments.”

Skills  A new concept for Pathfinder is the use of skills in untrained and trained manners. Share1Tweet1+11Reddit1Email

A new concept for Pathfinder is the use of skills in untrained and trained manners. There are some actions a character can take even without being trained in a skills, but the more potent or advanced uses of a skill are reserved for those with training. This is pretty cool. I like this change in the game. In the playtest book, the list of untrained uses feels a little longer than the trained uses do. Perhaps this will be adjusted in the final product. I really hope to see the trained uses for the skills expanded upon.

While the list is shorter in this edition, I’m not going to go into each skill. I’m just going to comment on some of the larger changes. I do like the shorter list of skills, though. They feel more focused and on target for what a modern roleplaying game should be. Having said that, I think each skill needs more actions (more on this later when we get to feats) to make them worthwhile to the game.

Identifying Items/Effects  I’ve always felt it was too easy in Pathfinder to identify items. Share1Tweet1+11Reddit1Email

Something I find interesting is that identifying magic items or magical effects is now a skill check without needing the spells of “detect magic” or “identify.” This takes a full hour per item/effect. I like this change for several reasons. First, I’ve always felt it was too easy in Pathfinder to identify items. In the “old school” versions of D&D, it was exceedingly difficult to identify items. I think this approach strikes a fine balance. Secondly, this skill-based approach aligns more closely with what we read in fantasy literature, which is all about the storytelling. This brings some storytelling back into the game. While I’m on this topic, I also noticed that there are several skills that can be leveraged for identifying magic. These are arcane, nature, occultism, and religion. It’s pretty neat that they applied this use to all of these areas.

Aside: Read Magic

The ability to read magical (or occult or holy) texts is now skill-based. As a matter of fact, the spell “read magic” is no longer in the book. It just takes some time, effort, skill, and a decent die roll to interpret magical writings. Like with identifying magic items/effects, I like this change quite a bit because it more closely aligns our collaborative storytelling efforts with what we read in fantasy novels.

CMB/CMD/Attack Actions

I hadn’t noticed that CMB and CMD weren’t part of the character sheet or character generation process until I got to the athletics skill. Some of the uses of the skill allow for tripping, grappling, shoving, etc. However, instead of the CMB/CMD combination, Paizo has streamlined these actions even more! I’m impressed that they’ve managed to pull this off. Now, it’s a skill check against a saving throw (usually Fortitude or Reflex) to see if the action has the desired effect.

Downtime Skills  This turns downtimes into more fun roleplaying instead of the less fun rollplaying. Share1Tweet1+11Reddit1Email

Crafting, lore, and perform can be used between exploring and adventuring to earn some coin for the characters. The subsystem for earning these coins is consistent, easy to implement, and quick to resolve. By moving some of the crunchy bits into a simpler system, there can be more focus on what goes on with the characters during downtime other than doing the necessary math to figure out how much income someone earns. This turns downtimes into more fun roleplaying instead of the less fun rollplaying.

Lore

It appears that the lore skill is now the combination of knowledge and profession skills from the previous edition. I like this simplification because it helps players pick skills in a faster manner, reduces confusion in the game, and allows for a greater breadth of skill choices to be made. I’m not sure how many times I’ve been asked something along the lines of, “What is profession? What do I use it for? How it is different from craft or knowledge?” Dropping these two skills together under a single entity is a boon.

Society

This skill feels misnamed. I like the actions and activities under it. They make sense. However, this is more of a “streetwise” skill than a “society” skill. Paizo should consider renaming the skill to streetwise.

Feats

(Author note: I’m using “feat” here even though I like the word “talent” better because I think that’s what Paizo has turned them into for this version of Pathfinder. I’ll stick with Paizo’s naming convention to avoid confusion.)

 Of the skill-based feats, there are some pretty cool ones in here. Share1Tweet1+11Reddit1Email

Remember how I said above under the “Skills” header that I wanted more uses for the skills to make them worthwhile? Yeah. I take that back. Now that I’m in the feats section, I see that a vast majority of the feats (all but 20) are there to give skills more oomph. Now I see why characters get so many feats at character creation and as they level up. I was truly concerned that a 1st level character would have a chain of feats that would overpower them out of the gate. It doesn’t appear to be the case.

Again, I’m not going to go into each feat in detail. There just isn’t enough room in a single article to do so. I’ll just say here that there are some really cool feats that allow for both player and GM interactions with the characters’ skills that can drive a story forward (or sideways) in an excellent story-driven manner. It feels to me, as I read through the feats, that Paizo is taking on a bit more “fluff” into their rules and a little less “crunch.” What I mean by this is that Paizo seems to be taking on less of a “tactical simulation of combat” feel that has put some people off and shifting their balance a little toward the story side of things. Don’t get me wrong, Pathfinder still has those crunchy bits for when combat arrives, but that’s not all there is to this game.

Of the 20 “general feats,” only one requires a level higher than first. This gives quite a few options for starting characters, but I’d like to see the list expanded in the final book. While reading through the feats, my gut tells me there is room for growth of options there, but I can’t quite pin down what’s missing. A more thorough analysis than a read-through would probably reveal this to me.

Of the skill-based feats, there are some pretty cool ones in here, and there are quite a few options to customize and make characters special in their own way. No two masters of a single skill will look the same or use that particular skill the same. This intrigues me and piques my interest quite a bit. A friend of mine complained about the number of feats as “too many options,” but I don’t think there’s quite enough here to cause analysis paralysis, to be honest. It’s a good set to work with, and I can see the list being expanded in the final release or in expansion books.

Equipment

Equipment is equipment, right? Well, there are some subtle changes to how equipment is acquired and handled in game that need to be illuminated. Again, I’m not going to go into each bit of armor, each weapon, each piece of gear, etc. here. I’m going to talk about the rules exposed in this section.

Rarity

Items now have a “rarity” attribute. These start with common and range through uncommon to rare and finally land at unique. A color code is used to denote the rarity when an item is listed, which I’m not a big fan of. A single letter (C, U, R, X) inside parentheses after the item name would suffice. There are also folks that are color blind out there, so the red (uncommon) or blue (unique) item listing may be problematic for them. It’s best to stick with black (or dark hued inks) on white (or pale hues) for text, Paizo. I hope someone on the development team sees this and perks up a bit. Also, either I missed uncommon/rare items in the equipment lists, or they’re not present in the playtest book. I couldn’t find anything in the regular equipment other than black text (common items). Having said all this, I do like the potential I see in the rarity of items.

Item Level

When I saw this, I panicked. I thought Paizo was going the way of MMORPGs and stating that characters couldn’t have or use certain items until they were of a certain level. Fortunately, this is not the case. The “item level” listing is a guideline for GMs, so they don’t accidentally hand out something as treasure that might unbalance the game.

Bulk

Instead of weight and strength determining a weight limit for encumbrance or not, Paizo abstracted things away to a degree. Now items have a “bulk” listing, which determines how much stuff a character can carry before slowing down or being forced to drop something. The system looks straightforward and simple enough that I might start using encumbrance again. (I currently “hand wave” encumbrance for my players in Pathfinder, so long as they don’t get crazy with it.) There’s even a page (along with some handy tables) dealing with items made for a creature of different size. It’s pretty easy to figure out the bulk of a small creature trying to use or carry something intended for a large creature.

Item Quality

Items have “levels” like characters skills do. They can be normal, expert, master, or legendary in make. This isn’t even counting the magical weapons. This is a cool expansion on the “masterwork” concept that’s been around since D&D 3.0. The hardness, cost, and bonuses of the item go up as the quality increases. This new feature in the system can be leveraged in “low magic” settings where most sword aren’t be magical, but legendary weapon crafters can produce high quality swords that are +3 without magic. This spawned quite a few setting ideas for me. I really love this shift and addition to the game. Oh, before I forget, there are rules for items of “poor” quality as well. This is an excellent addition for settings like Dark Sun.

Spells

This article is already getting a little long in the tooth, so I’ll try to make this as brief as possible while giving spells the attention they deserve. Like with the other sections, I’m not going to delve into each spell.

Heightened Spells

A caster can choose to prepare a spell at higher spell slots to increase the effects of the spell. Not all spells can be heightened, but many can. The example in the book is that a fireball (3rd level) will do 6d6 damage. If you heighten the spell (by putting in a 4th level slot), it will do 8d6 damage instead. This system provides for greater flexibility in how prepared spellcasters do their thing and plan for the day. It’s subtle, but effective, and I like it. There are also rules for the spontaneous casters to be able to do the same thing, but the rules are subtly different.

Spell Schools and Traits

The typical spell schools we’ve all grown to love and adore are still present in the game. The various spell traits that exist within the Pathfinder playtest book are also outlined and clearly explained. The list of traits is a bit short, though, as I found some spells without explained traits. However, the “good” trait is pretty clear, but it would be best to explain them all for those who are new to Pathfinder or roleplaying.

Rarity of Spells

In the equipment section, I talked about the different rarity of items. A similar system of common, uncommon, and rare exists within the spell lists. Players are restricted from automatically choosing uncommon and rare spells without the GM’s permission. One thing of note here is that Paizo uses a superscript of U or R for uncommon and rare spells instead of the strange color-coding mentioned in the equipment section. I hope that Paizo finds a proper superscript for “Unique” equipment as well and applies the superscript (or some other symbology) to use to alleviate the color blindness issue that some players may have.

Actions in Spellcasting  Each part of casting a spell (material, somatic, and verbal) takes an action. Share1Tweet1+11Reddit1Email

As I mentioned in the first part of this review, each PC gets 3 actions per round. I found an interesting quirk here in the spellcasting section. Each part of casting a spell (material, somatic, and verbal) takes an action. This means that a spell with all three components to cast will consume all three actions of the caster during that round. Something with only somatic and verbal will take two of the three actions, and so on. I had stop and ponder the implications of this for a bit. I can see the game balancing effects of this approach. However, I had to flip the very last page of the book (where the spell sheet is at) and look at it. Having a variable number of actions for different spells requires the proper bookkeeping, memorization, or stopping the game to look things up to figure out how many actions a particular spell consumes. The spell sheet does have an “actions” section with three blanks in it for each spell. This will assist in keeping the game running smoothly if players do the right thing and fill out the sheet with all details as they acquire new spells.

Spell Details

While I’m not going to dig through each spell in the book, I wanted to point out that powers gained from various ancestries, classes, feats, backgrounds, etc. that are spell-like in nature are comingled in the alphabetical list of spells. This can easily lead to confusion because the section is clearly labeled “Spells” in the tabs on the right edge of the page. I would recommend that Paizo take the “Spells” label and change it to “Spells and Powers,” so players new to the game can easily track down the specific section of the book they need to find the details about all of the supernatural things their characters can do.

Also, in the spell details section, Paizo falls back to a colored background for the rarity of spells to indicate uncommon and rare. Again, I’m not a fan of this because it requires rote memorization (or a spot in the GM screen) to translate the rarity of a spell from color to meaning. Sorry to harp on this poor decision by Paizo, but it’s really gotten to me. I’ll step away from the soapbox on this topic.

Conclusion, For Now

Coming into reviewing the Pathfinder playtest, I was hesitant to even pick up the book, but I wanted to give the game a fair shake. So far, I’m liking what I’m seeing. Yes, there are limited choices within the book, but it’s also a “slim” book (for a core Paizo book, at least) at only 428 pages. Compare that against the current edition’s core book size of 575 pages, there’s ample room to expand and grow and improve.

So far, I think I would play this game as a replacement for the current Pathfinder. However, as the saying goes, “The proof’s in the pudding.” So far, I’ve been reading about the “ingredients” of the overall recipe. The next few segments of the book will be telling on how good the actual pudding is going to be.

I’ll roll this part of the review to a close, so I can get to how to mix the ingredients together and make the pudding. You’ll be seeing section 3 of the review here in about two weeks if all goes according to plan. See ya then!

Categories: Game Theory & Design

Pages

Subscribe to As If Productions aggregator