Newsfeeds

Shadow of the Tomb Raider and the risk of making an introspective AAA game - by Bryant Francis

Gamasutra.com Blogs - 8 May 2018 - 1:41am
Shadow of the Tomb Raider wants to help players dive into Lara Croft's character, but its developers say it's not commentary. How do developers sell emotionally risky games to the world?
Categories: Game Theory & Design

Recalling the Leviathan Axe - by Vince Napoli

Gamasutra.com Blogs - 8 May 2018 - 12:58am
An in-depth look at how the Axe Recall mechanic was built in God of War.
Categories: Game Theory & Design

Appnovation Technologies: Using React library on Drupal: There's more....

Planet Drupal - 8 May 2018 - 12:00am
Using React library on Drupal: There's more.... Following up from my post last week, I wanted to add some additional material regarding React on Drupal...I hope you'll find it useful... Bonus - Extend the components to Drupal regions The react image gallery module provides a very easy way to display an image gallery on any piece of content, however what happen if we want to ...
Categories: Drupal

The RPGnet Interview: Ken Spencer, Rocket Age

RPGNet - 8 May 2018 - 12:00am
All about Why Not Games and their prime RPG.
Categories: Game Theory & Design

Jacob Rockowitz: It is okay for you to plan an exit strategy, we should be okay with off-boarding contributors, and everyone says goodbye

Planet Drupal - 7 May 2018 - 4:32pm

People come and go from open source projects and communities

Most people would agree that everyone should contribute something back to Open Source at some point in their careers. We have to realize that an ongoing Open Source contribution to a project can't be sustained forever. We might graduate from college, get a new job, need a break to travel, have kids, help raise grandkids, retire and even get bored with a project. While we need to improve open source sustainability, we also need to accept the reality that people continually come and go from open source projects.

Developer burnout should not be part of open source

Up until recently, I felt that 'burnout' was the only talked about method when people left the Drupal community. Up until DrupalCon, I thought that once I committed to supporting something, like a module, I was obligated indefinitely or at least until I burned-out from supporting it.

In my new year blog post title, Webform, Drupal, and Open Source...Where are we going?, I stated…

...and I don't think I am the only one.

Are we expecting too much?

Jeff Eaton's presentation titled "You Matter More Than The Cause" addresses burnout and how it impacts the sustainability of teams and he says…

I think we need to stomp out the concept of developer burnout in Open Source and equate developer burnout to poorly-managed companies and organizations.

Planning an exit strategy can prevent burnout

One of many valuable lessons I learned at Adam Goodman's Teamwork and Leadership Workshop at DrupalCon Nashville was that it’s okay to plan an exit strategy, it’s even something that can ultimately help the community and potentially...Read More

Categories: Drupal

Awaken: The Blood of Salvora RPG Up On Kickstarter

Tabletop Gaming News - 7 May 2018 - 2:00pm
Awaken! Awaken! Awaken! Awaken! Take the land that must be taken! Man, just all sorts of musical references these posts. Anyway, in this case, it’s a new book for the Awaken RPG. In this case, it’s a new sourcebook called The Blood of Salvora to flesh out the overall world, giving you more details in […]
Categories: Game Theory & Design

Kitten Casualty Remastered Edition Coming To Kickstarter This Month

Tabletop Gaming News - 7 May 2018 - 1:00pm
There are paw prints on everything I own! The cat nip is dryin’ on a layer of mice! Kitten memes to which I never reply! My eyeballs absorb only fuzzy-colored light! Kitten Casualty! Kitten Casualty! Alright! … So, Kitten Casualty is coming back to Kickstarter later this month with a remastered edition. From the announcement: […]
Categories: Game Theory & Design

Case-insensitive Files

New Drupal Modules - 7 May 2018 - 12:28pm

The Case Insensitive Files module allows users to use case insensitive URLs to request static files, even when Apache `mod_rewite` is used to generate SEO-friendly URLs. While this should not be necessary when using the Apache `mod_speling` module with `CheckSpelling on` and `CheckCaseOnly on`, the issue is that `mod_rewrite` has priority over `mod_speling`. So if one specifies a file with the wrong case in /sites/all/files, it handled by Drupal, which does a case-sensitive look-up and returns a 404.

Categories: Drupal

Palantir: Supporting Innovation Through Contribution

Planet Drupal - 7 May 2018 - 12:18pm
Supporting Innovation Through Contribution brandt Mon, 05/07/2018 - 14:18 George DeMet May 8, 2018

Companies, agencies, and organizations that contribute to the Drupal project and community play a key role in supporting and sustaining a culture of innovation.

Drupal has a long and rich history of supporting and sparking innovation. Drupal 8 in particular represents a fundamental shift in thinking about how websites and other digital experiences are built. With its modular architecture, improved APIs, configuration management, and native web services support, Drupal 8 is well-positioned to help connect people, technology, and information in ways that have never before been possible.

Companies, agencies, and organizations that contribute to the Drupal project and community play a key role in supporting and sustaining a culture of innovation. This contribution can take on many forms, including setting aside time for employees to contribute to the Drupal project and community, sponsoring people to work exclusively on Drupal, and donating money to sponsor Drupal initiatives and events.

Impact of Contribution on Innovation

An ever-growing body of research into open source ecosystems is shedding light into the ways that different forms of contribution have on innovation for firms who contribute as well as the projects that benefit from those contributions. Firms that contribute to Drupal are generally driven by extrinsic motivators, such as the belief that working with the community will help them develop better products, or provide them with increased visibility and status within the community, which in turn helps drive sales and/or recruit talent.

Jonathan Sims, a professor of strategy at Babson College, has spent years studying how firms in the Drupal ecosystem engage with each other and the project to promote open innovation. In a 2016 paper published in the Oxford Journal of Industrial and Corporate Change, he found that while the impacts of contribution on a firm’s productivity are usually marginal, contribution does help expand social ties and can shift strategic posture and promote innovation.

While contributing code is associated with stronger social ties and more incremental innovations, providing help or support to others in the community is associated with a more conservative strategic posture, but more radical innovations. Firms that primarily contribute code to projects like Drupal are more likely to be building on top of someone else’s work and/or collaborating with someone else to solve a shared problem. Providing help on the other hand, is much more context-dependent and is more likely to lead to new questions and possible new insights, thus providing more opportunities for radical innovation within a given domain.

The Virtuous Cycle

Regardless of what form contribution takes, participating in an open source ecosystem like Drupal requires that firms be open and willing to share their knowledge and intellectual property with others. Drupal project lead Dries Buytaert has discussed how companies and organizations like Pfizer and Hubert Burda Media are not only sharing Drupal contributions with their competitors, but also challenging those competitors to contribute back as well. He argues that by working together, these organizations not only gain a competitive edge, but also reap the benefits of accelerated innovation:

“Those that contribute to open source are engaging in a virtuous cycle that benefits their own projects. It is a tide that raises all boats; a model that allows progress to accelerate due to wider exposure and public input.”

We’ve seen this virtuous cycle play out countless times at Palantir. One example is from several years ago, when we found that out that on many of the projects that we worked on, clients often had a specific set of expectations around content workflow and editorial access based on their experience with other platforms, and that all too often, Drupal didn’t meet those expectations out of the box. In response to this business need, we created and released a suite of modules called Workbench that provided a unified interface and tools to enable authors and editors to focus on managing their content.

While Palantir team members did the initial heavy lifting on the code development for Workbench, over time, other firms (including some of our competitors) started using and extending the system, building on top what we had released. Thanks to the efforts of those involved in the Drupal Workflow Initiative, the moderation functionality of Workbench was added to Drupal core as the Content Moderation module, making the software better for everyone. This in turn makes Drupal a more attractive choice than competing platforms and expands the market for the firms that work with it.

Extrinsic and Intrinsic Motivation

In contrast to the external incentives that drive most firms to contribute to open source projects like Drupal, individuals are more likely to be driven by intrinsic motivators to contribute. Not only do they get to feel like they’re part of something bigger than themselves, but participating in the Drupal community is also a good way to form social ties with other like-minded people who want to see their contributions make a difference in the world.

Despite the large number of individual contributors to the Drupal project, a very small number do the majority of the work. Contribution data on Drupal.org reveals that nearly half of the people who contributed code to the project got just one credit, while the top .4% of all contributors (30 people) accounted for over 17% of the total credits.

One likely reason for this imbalance is Drupal’s reputation for having a steep learning curve. User research conducted by Whitney Hess and the Drupal Association in 2014 found that while the project is good at onboarding people at the entry level of engagement, the transition to higher levels is much more challenging and is where many people end up dropping out of the project.

Providing resources and support to help more people move up the contribution ladder helps spread the burden across more shoulders, introducing new perspectives and reducing burnout, particularly within the core developer community. Having more engaged community members also helps mitigate one of the historical hurdles to Drupal adoption, which is the shortage of skilled developer talent.

Firms that work in the Drupal ecosystem can both address the talent shortage problem and support innovation within their own organizations by supporting professional development opportunities that help their employees “level up” existing skills and pass on knowledge to less experienced team members. For many organizations, this is also a much more economical and sustainable way to build and grow a Drupal team than relying exclusively on hiring from a limited and increasingly in-demand pool of existing “rockstar” talent.

Removing Barriers to Contribution

It is vitally important for any open source project to remove barriers to contribution, whether real or perceived, because they undermine both the intrinsic motivations of individual contributors and the extrinsic motivations of companies, agencies, and other organizations. Likewise, it’s important for projects not to place too much emphasis on extrinsic motivators, as that can also undermine intrinsic motivation. In this way, recognizing different kinds of contribution can be a delicate balancing act.

Over the last few years, the Drupal Association and others have worked to help track and acknowledge more forms of contribution on Drupal.org by improvements to user and organizational profile pages, adding the ability for organizations to receive credit for work on projects and issues, and tying case studies directly to organizations as well as individual contributors. Along with paid sponsorships, these improvements enable companies and organizations who contribute to the project and community to receive greater visibility on Drupal.org, which benefits both sales and recruiting efforts.

Other forms of contribution, such as local event and user group sponsorship and organization, writing documentation, and providing mentorship are less easy to measure, but also critically important to the health of the project. In a paper presented at DrupalCon Barcelona in 2015, David Rozas, a sociologist and computer scientist who studies the technical and social aspects of technology, argued that these kinds of “community-oriented” contributions are actually more important to a project’s long-term sustainability than code contributions because they are emotional experiences that serve to strengthen the project’s sense of community.

Firms that are not in a position to contribute code to Drupal can contribute time and/or money toward efforts that help promote the project and community, such as local and regional events or Drupal Association partnership programs and special initiatives. These kinds of contributions can often have a greater impact on innovation than code alone.

Thank You for Your Support!

Drupal boasts one of the largest and most diverse communities of any open source project, which along with a culture that supports and values contribution, has enabled it to become a leading platform for digital innovation. With the support of the companies, organizations, and individuals that use and contribute back to it every day, Drupal is poised to inspire innovation for many years to come.

Community Drupal Open Source People Workbench
Categories: Drupal

Mashed Battle Card Game Up On Kickstarter

Tabletop Gaming News - 7 May 2018 - 12:00pm
I could attempt to try some potato-related puns for this story, but the campaign-creators have already done all of that heavy lifting, and anything I did would pale in comparison. So, I’ll just let you know what the potatoes are marching to war. Grab your commander and legions of potato soldiers and hit the trenches, […]
Categories: Game Theory & Design

Don't Miss: Designing EVE Online's intelligent music system

Social/Online Games - Gamasutra - 7 May 2018 - 11:47am

CCP Games' Baldur Baldursson (and Erkitonlist founder Kjartan Olafsson) explain how the soundtrack of EVE Online was designed to intelligently complement the actions a player takes. ...

Categories: Game Theory & Design

Monday Terrain Corner

Tabletop Gaming News - 7 May 2018 - 11:00am
As is always the case, we’ve circled back around and the weekend has given way to the start of the work week. It’s going to be a busy one, too. It’s CMON Expo this weekend, and, as always, there’s still a ton to do (that’s just the nature of conventions, as anyone knows). But before […]
Categories: Game Theory & Design

Palantir: Conscious Decoupling: The Case of Palantir.net

Planet Drupal - 7 May 2018 - 10:31am
Conscious Decoupling: The Case of Palantir.net brandt Mon, 05/07/2018 - 12:31 Ken Rickard May 9, 2018

Our new site uses VueJS to produce single page applications. By tying these applications to content creation, our content editors can create dynamic new pages without needing an engineer.

Alex Brandt recently wrote about the new redesign of the new Palantir.net site: what the goals were, what we wanted to improve, and the process by which we approached the project. I want to speak more from a development viewpoint around how we decoupled the new www.palantir.net site in order to create better relationships between content.

A major goal of our 2018 redesign was to feature more content and make it easier for people to surface topics that interest them. The strategic plan and design called for a system that allows people to filter content from the home page and other landing pages (such as our Work page).


In the modern web, people expect this filtering to take place without a page refresh. Simply select the filter and the content should update immediately.

This presents an opportunity to explore methods for achieving this effect. In addition, the following features were desired:

  • The ability to feature specific content at the top of the page
  • A process to insert content other than Drupal pages into the list display
  • A way to select what types of content appear on the page
  • A method to restrict the total count of items displayed on the page
  • The ability to add one or two filters to the page; or none at all

From the developer’s point-of-view, we also added:

  • The ability to allow editors to create and configure these dynamic pages without additional programming

The design and development of the new site followed our understanding of what “content” means to different teams. We know that understanding how to implement the design requirements isn’t enough. We had to think through how editors would interact with (and control) the content.

There is a lot of talk around “decoupled” Drupal these days — the practice of using Drupal as an editing environment and then feeding data to a front-end JavaScript application for rendering. Certainly we could have chosen to decouple the entire site. That process, however, brings extra development time and overhead. And in our case, the site isn’t large enough to gain any advantage from rapidly changing the front-end.

So instead we looked at ways to produce a dynamic application within Drupal’s template system. Our technical requirements were pretty standard:

  • A template-driven JavaScript content engine
  • Rendering logic (if/else and simple math)
  • Twig compatibility
  • A single source file that can be served from CDN or an application library

This last requirement is more a personal preference, as I don’t like long, fixed dependency chains during development. I specifically wanted a file I could drop in and use as part of the Drupal front-end.

Based on these requirements and a few basic functionality tests, we settled on the VueJS library. Vue is a well-documented, robust framework that can be run server-side or client-side. It provides DOM-manipulation, templated iteration, and an event-driven interaction API. In short, it was perfect for our needs.

Even better, you can start using it immediately:

 

At the core of Vue.js is a system that enables us to declaratively render data to the DOM using straightforward template syntax. Vue uses the handlebars syntax -- familiar to Twig users -- to define and print variables set by the application:


  {{ message }}

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

When working with Twig, which also uses handlebars to wrap variables, we must wrap VueJS variables in the {% verbatim %} directive like so:


  {% verbatim %}{{ item.slug }}{% endverbatim %}

Unless you hardcode variables, Vue pulls all of its data via JSON, which can be provided out-of-the-box by Drupal’s Views module.

To make the application work, we needed to provide the following elements:

  • A JSON feed for content to display, with featured items at the top
  • A JSON feed for each filter to use
  • A JSON feed for insert content

The first elements -- content -- consists of two JSON directives controlled by editors. First, there is a Featured Content field that can be used to select content for the top of the page:

Editors may choose to only populate this content, and they may choose as many items as they wish. Below this content, we optionally add additional content based on type. Editors may select what types of content to add to the page. For the homepage, we include four content types:

Editors may then select which filters to use, if any are desired. Two options are available, but one can be selected. The filters may be sorted as desired.

Further, if the editor selects the Filter by Type option, the first filter will be replaced by a Content Type list taken from the selections for the current page. This technique is made easier by the dynamic nature of the VueJS application, which is expecting dynamic content. It has the added bonus of making the work future proof, as editors can add and adjust pages without additional coding.

Lastly, editors can add “insert” content to the page. These inserts are Drupal Paragraphs -- custom fielded micro-content -- that optionally appear sprinkled through the content.

These inserts leverage Vue’s logic handling and template system. Here is a code snippet for the inserts:

 
   
     
       
          {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
          {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
       
     

   
   
     
       
         
            {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
         
         
            {% verbatim %}{{ item.author | decode }}{% endverbatim %}
             
               
                {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
               

             
             
                {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
             
           
         
       
     
   
   
     
       
          {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
          {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
       
     
   
 

The v-if directive at the start tells the application to only render the entire template if the parent_id property is present. Since that property is unique to Paragraphs, this template is skipped when rendering a blog post or case study.

In cases of content types, we have a standard output from our JSON feed, so one template covers all use-cases:

 
 
   
   
      {% verbatim %}{{ item.type }}{% endverbatim %}
      {% verbatim %}{{ item.title | decode }}{% endverbatim %}
     
   
   
      {% verbatim %}{{ item.dates | decode }}{% endverbatim %}
      {% verbatim %}{{ item.location | decode }}{% endverbatim %}
   
   
     
      {% verbatim %}By {{ item.author_display }}{% endverbatim %}
   
   
      {% verbatim %}{{ getLinkText(item.type) }}{% endverbatim %}
   
   

 
 

Note the v-bind directive here. Vue cannot parse variables directly in HTML tag properties, so it uses this syntax to interact with the DOM and rewrite the element.

Other nice features include adding method calls like {{ getLinkText(item.type) }} that let Vue perform complex calculations on data elements. We also use Vue’s extensible filter system {{ item.summary | decode }} to perform actions like HTML escaping.

For instance, we pass the index position, content type, and background image (if present) to the getClass() method of our application:

// Get proper class for each cell.
getClass: function(index, type, image) {
  var $class = '';
  if (index == 2 || index == 5 || (index > 12 && index % 5 == 1)) {
    $class = $class + ' grid-item--lg';
  }
  if (type == 'Case Study') {
    $class = $class + ' grid-item--cs grid-item--dark';
  }
  else if (type == 'Collection') {
    $class = $class + ' grid-item--collection';
    if (index % 2 == 1) {
      $class = $class + ' grid-item--dark';
    }
  }
  else {
   $class = $class + ' grid-item--default';
  }
  if (image === undefined || image.length === 0) {
    if (index % 2 == 1) {
      return $class + ' grid-item--dark';
    }
    return $class;
  }
  return $class + ' grid-item--dark';
},

This technique lets us provide the light and dark backgrounds that make the design pop.

The end result is exactly what we need to deliver the experience the audience expects. And we get all that within a sustainable, extensible platform.

Is a decoupled Drupal site right for you? For us, a dynamic (yet not fully decoupled) instance made the most sense to improve the experience for our site users. We’d love to discuss whether or not the same flexibility would be beneficial for your site. Drop us a line via our contact form, or reach out via Twitter (@palantir).

Design Development Drupal Site Building
Categories: Drupal

2nd Edition of Dig and New Expansion Up On Kickstarter

Tabletop Gaming News - 7 May 2018 - 10:00am
Dig in the dark is a gas. Baby, can you dig it? Mangrove Games has launched a Kickstarter campaign to create a new edition of Dig. They’re also bringing along a new expansion, the Dragon set. Two guesses as to what you’ll be able to find down in those dark caverns with that one. From […]
Categories: Game Theory & Design

My Library of Free GameDev Resources, Tutorials, and More - by Trent Polack

Gamasutra.com Blogs - 7 May 2018 - 9:13am
Details on the GitHub repository where I keep a variety of free game development resources: assets, UE4 content, git and OS scripts, experiments, UE4 C++ code, sample World Machine files/output, etc. So: here's all that and why/what it is.
Categories: Game Theory & Design

Modiphius Releases Space 1889: Mercury Sourcebook

Tabletop Gaming News - 7 May 2018 - 9:00am
Due to being tidally locked, only one side of Mercury ever faces the sun. This side is blasted by perpetual sunlight and is thus a huge desert, filled with lakes of liquid rock. Meanwhile, on the other side, the perpetually-night side is frozen solid, with methane glaciers. But just in the middle, where the day […]
Categories: Game Theory & Design

Why is Harry Potter: Hogwarts Mystery so successful - by Vadim Bulatov

Gamasutra.com Blogs - 7 May 2018 - 8:08am
The secret of Harry Potter: Hogwarts Mystery success
Categories: Game Theory & Design

Token or

New Drupal Modules - 7 May 2018 - 8:07am

This module makes it possible to use tokens separated by a pipe. It returns the first one that matches.

[node:field_og_image:entity:url|node:field_header_image:entity:url]

Categories: Drupal

Lucius Digital: Lucius launches Drupal platform for SOS Children's Villages

Planet Drupal - 7 May 2018 - 8:03am
The new platform for SOS Children's Villages was recently launched, after 3 sprints with a lead time of 3 months and a team of 6 people on average, we are proud to announce this new platform.
Categories: Drupal

Pages

Subscribe to As If Productions aggregator