Newsfeeds

Making computer animation more agile, acrobatic -- and realistic

Virtual Reality - Science Daily - 10 April 2018 - 1:11pm
Animation in film and video games is hard to make realistic: each action typically requires creating a separate controller, while deep reinforcement learning has yet to generate realistic human or animal motion. Computer scientists have now developed an algorithm that uses reinforcement learning to generate realistic simulations that can even recover realistically, after tripping, for example. The same algorithm works for 25 acrobatic and dance tricks, with one month of learning per skill.
Categories: Virtual Reality

Mobomo: Mobomo Speaks at the Government Summit

Planet Drupal - 10 April 2018 - 1:08pm

The post Mobomo Speaks at the Government Summit appeared first on .

Categories: Drupal

Gioconomicon Interviews Makers of Battlestar Galactica – Starship Battles

Tabletop Gaming News - 10 April 2018 - 1:00pm
There are several great sci-fi series out there. One of those that’s been around the longest is Battlestar Galactica. There’s been a few games based on the series over the year, but a new one’s coming in the form of Battlestar Galactica Starship Battles. Gioconomicon sat down with the games’ designers for a quick chat […]
Categories: Game Theory & Design

Late Backing Open for Into the Black: Boarding Party

Tabletop Gaming News - 10 April 2018 - 12:00pm
With all the Kickstarter campaigns going on, its easy for one to slip by you. Maybe you just missed it. Maybe you were short that month. Whatever the reason, the end of the Kickstarter doesn’t always mean you’ve missed out on all the goodies. Take, for example, I Will Never Grow Up’s Into the Black: […]
Categories: Game Theory & Design

Podcast Radio

Tabletop Gaming News - 10 April 2018 - 11:00am
Monday’s gone. That brings us to Tuesday. Mine’s starting off pretty good. I got new dice and a new shirt delivered in the mail. And, I mean, who doesn’t love dice? Nobody who I call my friend, anyway. Also, my Monday seemed to go by quickly. Here’s to hoping the rest of the week speeds […]
Categories: Game Theory & Design

Yndaros: The Darkest Star Adventure For Symbaroum Up On Kickstarter

Tabletop Gaming News - 10 April 2018 - 10:00am
Just looking at movie series, you know people are always excited about the next installment of a beloved property. In the case of tabletop RPGs, that’s no different. In this case, it’s the next part of the Throne of Thorns campaign for Symbaroum. It’s called Yndaros: The Darkest Star and it’s up on Kickstarter now. […]
Categories: Game Theory & Design

Renegade Game Studio Taking Pre-Orders For Junk Orbit

Tabletop Gaming News - 10 April 2018 - 9:00am
Humans are pretty bad about leaving a trail wherever we go. Even well-meaning people leave stuff behind. And that penchant for being a bit messy can follow us even out into space. But one man’s trash is another man’s treasure, and that’s where you find yourself in Junk Orbit. Your job is to collect this […]
Categories: Game Theory & Design

Dries Buytaert: Defining Drupal's values and principles

Planet Drupal - 10 April 2018 - 8:47am

Since its founding, Drupal has grown a great deal, and today there are thousands of contributors and organizations that make up our community. Over the course of seventeen years, we have spent a great amount of time and effort scaling our community. As a result, Drupal has evolved into one of the largest open source projects in the world.

Today, the Drupal project serves as a role model to many other open source projects; from our governance and funding models, to how we work together globally with thousands of contributors, to our 3,000+ person conferences. However, the work required to scale our community is a continuous process.

Prompted by feedback from the Drupal community, scaling Drupal will be a key focus for me throughout 2018. I have heard a lot of great ideas about how we can scale our community, in addition to improving how we all work together. Today, I wanted to start by better establishing Drupal's values and principles, as it is at the core of everything we do.

Remarkably, after all these years, our values (what guides these behaviors) and our principles (our most important behaviors) are still primarily communicated through word of mouth.

In recent years, various market trends and challenging community events have inspired a variety of changes in the Drupal community. It's in times like these that we need to rely on our values and principles the most. However, that is very difficult to do when our values and principles aren't properly documented.

Over the course of the last five months, I have tried to capture our fundamental values and principles. Based on more than seventeen years of leading and growing the Drupal project, I tried to articulate what I know are "fundamental truths": the culture and behaviors members of our community uphold, how we optimize technical and non-technical decision making, and the attributes shared by successful contributors and leaders in the Drupal project.

Capturing our values and principles as accurately as I could was challenging work. I spent many hours writing, rewriting, and discarding them, and I consulted numerous people in the process. After a lot of consideration, I ended up with five value statements, supported by eleven detailed principles.

I shared both the values and the principles on Drupal.org as version 1.0-alpha. I labeled it alpha, because the principles and values aren't necessarily complete. While I have strong conviction in each of the Drupal principles and corresponding values, some of our values and principles are hard to capture in words, and by no means will I have described them perfectly. However, I arrived at a point where I wanted to share what I have drafted, open it up to the community for feedback, and move the draft forward more collaboratively.

While this may be the first time I've tried to articulate our values and principles in one document, many of these principles have guided the project for a very long time. If communicated well, these principles and values should inspire us to be our best selves, enable us to make good decisions fast, and guide us to work as one unified community.

I also believe this document is an important starting point and framework to help address additional (and potentially unidentified) needs. For example, some have asked for clearer principles about what behavior will and will not be tolerated in addition to defining community values surrounding justice and equity. I hope that this document lays the groundwork for that.

Throughout the writing process, I consulted the work of the Community Governance Group and the feedback that was collected in discussions with the community last fall. The 1.0-alpha version was also reviewed by the following people: Tiffany Farriss, George DeMet, Megan Sanicki, Adam Goodman, Gigi Anderson, Mark Winberry, Angie Byron, ASH Heath, Steve Francia, Rachel Lawson, Helena McCabe, Adam Bergstein, Paul Johnson, Michael Anello, Donna Benjamin, Neil Drumm, Fatima Khalid, Sally Young, Daniel Wehner and Ryan Szrama. I'd like to thank everyone for their input.

As a next step, I invite you to provide feedback. The best way to provide feedback is in the issue queue of the Drupal governance project, but there will also be opportunities to provide feedback at upcoming Drupal events, including DrupalCon Nashville.

Categories: Drupal

Defining Drupal's values and principles

Dries Buytaert - 10 April 2018 - 8:47am

Since its founding, Drupal has grown a great deal, and today there are thousands of contributors and organizations that make up our community. Over the course of seventeen years, we have spent a great amount of time and effort scaling our community. As a result, Drupal has evolved into one of the largest open source projects in the world.

Today, the Drupal project serves as a role model to many other open source projects; from our governance and funding models, to how we work together globally with thousands of contributors, to our 3,000+ person conferences. However, the work required to scale our community is a continuous process.

Prompted by feedback from the Drupal community, scaling Drupal will be a key focus for me throughout 2018. I have heard a lot of great ideas about how we can scale our community, in addition to improving how we all work together. Today, I wanted to start by better establishing Drupal's values and principles, as it is at the core of everything we do.

Remarkably, after all these years, our values (what guides these behaviors) and our principles (our most important behaviors) are still primarily communicated through word of mouth.

In recent years, various market trends and challenging community events have inspired a variety of changes in the Drupal community. It's in times like these that we need to rely on our values and principles the most. However, that is very difficult to do when our values and principles aren't properly documented.

Over the course of the last five months, I have tried to capture our fundamental values and principles. Based on more than seventeen years of leading and growing the Drupal project, I tried to articulate what I know are "fundamental truths": the culture and behaviors members of our community uphold, how we optimize technical and non-technical decision making, and the attributes shared by successful contributors and leaders in the Drupal project.

Capturing our values and principles as accurately as I could was challenging work. I spent many hours writing, rewriting, and discarding them, and I consulted numerous people in the process. After a lot of consideration, I ended up with five value statements, supported by eleven detailed principles.

I shared both the values and the principles on Drupal.org as version 1.0-alpha. I labeled it alpha, because the principles and values aren't necessarily complete. While I have strong conviction in each of the Drupal principles and corresponding values, some of our values and principles are hard to capture in words, and by no means will I have described them perfectly. However, I arrived at a point where I wanted to share what I have drafted, open it up to the community for feedback, and move the draft forward more collaboratively.

While this may be the first time I've tried to articulate our values and principles in one document, many of these principles have guided the project for a very long time. If communicated well, these principles and values should inspire us to be our best selves, enable us to make good decisions fast, and guide us to work as one unified community.

I also believe this document is an important starting point and framework to help address additional (and potentially unidentified) needs. For example, some have asked for clearer principles about what behavior will and will not be tolerated in addition to defining community values surrounding justice and equity. I hope that this document lays the groundwork for that.

Throughout the writing process, I consulted the work of the Community Governance Group and the feedback that was collected in discussions with the community last fall. The 1.0-alpha version was also reviewed by the following people: Tiffany Farriss, George DeMet, Megan Sanicki, Adam Goodman, Gigi Anderson, Mark Winberry, Angie Byron, ASH Heath, Steve Francia, Rachel Lawson, Helena McCabe, Adam Bergstein, Paul Johnson, Michael Anello, Donna Benjamin, Neil Drumm, Fatima Khalid, Sally Young, Daniel Wehner and Ryan Szrama. I'd like to thank everyone for their input.

As a next step, I invite you to provide feedback. The best way to provide feedback is in the issue queue of the Drupal governance project, but there will also be opportunities to provide feedback at upcoming Drupal events, including DrupalCon Nashville.

Categories: Drupal

River Horse Launches Terminator Genisys: Rise of the Resistance Kickstarter

Tabletop Gaming News - 10 April 2018 - 8:00am
Dun-dun-dun, dun-dun Dun-dun-dun, dun-dun Skynet has taken over the world. The machines are marching through the streets, killing anyone they come across. A resistance movement has formed and the fight for humanity’s survival is on. That’s where you find yourself in Terminator Genisys: Rise of the Resistance, a new cooperative board game by River Horse […]
Categories: Game Theory & Design

Acro Media: Automated Drupal Code Testing: What, Why, and When To Do It

Planet Drupal - 10 April 2018 - 7:45am

Automated testing is like flossing your teeth: you know you should do it, you might even tell people you do it, but chances are you don't do it nearly as often or as consistently as you ought to. Maybe you only run one automated test. On five percent of your code. Sometimes.

Manual testing vs automated testing

Manual testing—where a real live person clicks around and verifies that the code does everything it's supposed to do—has its uses. But for large-scale projects, or in cases where you need to test the same code repeatedly, automated testing can be both more cost-effective and more fruitful. You know how your eye can look at the same spelling error six times without seeing it? Automated testing can catch issues like that. It's great for rote, boring tasks that humans gloss over.

In test-driven development, you actually build the tests first and then write the code that fulfills those tests. But you don't necessarily have to do automated testing that way. Tests can be written afterwards. Sometimes it's old code that gets automated tests built for it, for instance.

Writing the test probably takes more time than it takes to initially test it. But then it's done, and you can re-run the test any time you make any change to that site. Even if you don't change anything near that code, you can run the test anyways and catch those instances where you're like, "I'm sure it won't break that"…but it does.

Drupal maintainers try to be really strict about the automated tests. Since lots of people use the modules, and lots of people contribute to them, you have all these different people submitting code. Having a good test suite can really improve your confidence in a module. If each submission comes with new tests that you can run and verify, you can be far more confident in the quality of that code.

Time savings

Say you do 10 hours of manual testing for each release. If, on the other hand, you spend 10 hours writing automated tests for each release, then for release #2, you're actually doing 20 hours of testing, and for release #3 you're doing 30 hours of testing. You're only putting in 10 man hours each time, but your test suite keeps growing, and the scope of what you're testing increases exponentially because you can rerun the same tests each time.

Why is automated testing such a hard sell?

Going back to the flossing example: why don't you floss? It takes 60 seconds. But you only really get the benefits if you do it all the time.

More to the point: not doing it takes time to become bad. Skipping automated testing on your first release is maybe not a big deal. Your code base is small, it's probably only doing a couple things, so manual testing is very feasible. But as the project grows and gets more complex, manual testing becomes increasingly unwieldy, and then you get to a point where you think, we're too far into this to add automated testing now.

But the truth is you can start at any point. It's never too late to start proactively doing things that will benefit your site.

What prevents people from getting started?

Usually the thing that stymies people is that they're not set up for automated testing: they don't have a continuous integration environment or a nice testing environment to run the tests on. Or maybe they've neglected it for so long that the regular tests don't work anymore; they write their first test and they have all these other problems because they've let things languish, so they give up.

What is continuous integration, you ask? It means every time you do a change and you push it out, it attempts to integrate it in with the whole project. It will deploy it to a server, it will compile the code if necessary, it will run code standards and automated tests and so on. When you have that stuff all set up to run automatically, you just make the code, push it to your version control, and forget about it. If something goes south, it'll send you an email saying this didn't pass. Otherwise, you don't have to think about it again.

How much of your code should be covered by automated testing?

You kind of want to be in that 95% range, although it's true that you can have parts that aren't easily testable. You can cover a lot of code, but you might still be missing use cases. Maybe you test taxes, and you test discounts, but you don't test taxes and discounts together. So technically you have full code coverage, but you're not using them in combination. So code coverage is a nice metric, but it doesn't tell the whole story.

TLDR: Automated testing is like flossing. You should really do it.

More from Acro Media Chat with us

If you'd like to talk about adding automated testing to your Drupal Commerce website, or if you just want to to discuss how Drupal Commerce fits into your ecommerce solution, give us a shout. We're happy to chat.

Categories: Drupal

Elite Dangerous RPG - Super Traders Sourcebook

New RPG Product Reviews - 10 April 2018 - 7:08am
Publisher: Modiphius
Rating: 5
A lot of interstellar travel is going to be about trade, and this book is filled with resources to help those groups who want at least part of their game to be about furthering that trade - presumably as small-scale independents, given that the game is centred around individual spacecraft. With spacecraft ownership proposed on the scale that we own cars, these are probably the van-men of space in the equivalent of a step-van or small truck. It's also something that can be modelled well for someone wanting a solo game.

First up, Advanced Trading. If you are a role-playing group, a lot of trade will be relegated to the Between Adventures phase. Let's face it, commerce - however necessary and valuable - isn't really the stuff of adventure. However the rules as laid out in the core rulebook make for quite a lot of work, especially for the GM. Unless your GM has unlimited prep time, you probably want him to be creating exciting adventures not writing out price lists. So a more flexible system for working out prices in a given system based on what they specialise in and a bit of die rolling for that random element is provided, with the intention that (provided you like it) it will repace the version in the core rules. Interestingly, this includes an element to model a place that is good for trade being over-exploited, ensuring that the characters move on and don't just run a single profitable route without exploring anywhere else. You can make things more complex, but that really defeats the purpose of using this system.

Next comes New Spaceships. Everyone is always ready for a few more... and the ones presented include large bulk carriers - think 'container ship' rather than 'truck' - for those who want to take cargo-hauling seriously. There requite multiple-person crews, but come with 'hangers' for personal vessels, so characters won't have to abandon their pride and joy if they take service on one of these big boys (the price tag is likely too much for most characters to contemplate owning one). There are also smaller one- or two-man ships optimised to carry cargo at, of course, the expense of speed, manoeuvrability or weaponry.

This section is followed by another on Fighter Escorts - as the big cargo haulers are not able to fight well, they need to have escorts to defend them. The concept here is the small specialist fighting craft, carried aboard a larger vessel and loosed when the need arises. They are smaller than the regular personal vessels previously discussed in this game, basically a flying weapons platform - some are even controlled remotely rather than having a pilot aboard. They have limited life support even if designed to be piloted, and no Frame Shift drives.

Next up is It Takes All Sorts, a selection of backgrounds suitable for people who want to specialise in trade. People have all sorts of reasons for becoming independent traders, these provide some of them - often involving a desire (or a need) to escape the past. Additional Karma Capabilities round out this section.

The Eternal Foe comes next. This section talks a little about pirates before provided a selection of adversaries at spaceship, vehicle and individual scales... mostly pirates but also some other traders to provide a bit of competition!

Finally, this is all linked in to the Random Gemeration System (RGS). There's an explanation of how to use it to create a solo game - this dupliates notes in the Military and Espionage supplements, as you may not have them - of course if you do you can have a very varied solo game indeed! It then moves on to creating encounters suitable for a trading game, as useful for the GM wanting to create appropriate challenges as to the solo gamer, including pirate attacks, police boarding actions and general spaceway encounters. There's a selection of trade missions - all of which could be developed into full-blown adventures, with plenty of supporting notes. In places the other sourcebooks are mentioned, but alternatives are given for those who don't possess them.

There's a lot of good stuff here, particularly if you are on your own or want to run a game in which trading and commerce provides the background to the adventures you want to run. A lot would be useful whatever science-fiction game you run, even if it's not Elite Dangerous, but if you do it captures the very essence of the video game well.
Categories: Game Theory & Design

AntiMatter Games Holding DeepWars Painting Contest

Tabletop Gaming News - 10 April 2018 - 7:00am
The creatures of the sea are filled with all sorts of amazing colors and patterns. Even in the deep ocean depths, bio-luminescence makes sure that there’s still light and color to be found. Now, AntiMatter Games is looking to see how well you paint up their deep-sea creatures. They’re running a DeepWars Painting Contest. So […]
Categories: Game Theory & Design

roomify.us: Tutorial: showing BEE reservations on an event calendar

Planet Drupal - 10 April 2018 - 6:55am
BEE makes it easy to quickly implement all kinds of booking & reservation use cases. We've created a new video that walks you through setting up an event calendar displaying BEE reservations.
Categories: Drupal

21 Million Downloads in 2 Months - by Avraham Sibon

Gamasutra.com Blogs - 10 April 2018 - 6:42am
The game was released on December 12 for IOS and already, just 4 days later, it reached 350,000 downloads daily. On December 31st, the game had already surged to an unprecedented 500,000 downloads per day and continued in this way to today. Let's see why?
Categories: Game Theory & Design

Going Rogue-like: When to use Procedurally Generated Environments in Games - by Caleb Compton

Gamasutra.com Blogs - 10 April 2018 - 6:41am
Procedurally generated elements and environments in games can be used to greatly expand the amount of content in a game. However, they can also produce repetitive gameplay and boring worlds. In this article, I look at when to use this technique in games.
Categories: Game Theory & Design

Real Costs of GameDev for SmallPubs & IndieDevs - by Randy Angle

Gamasutra.com Blogs - 10 April 2018 - 6:41am
Regular game features are easier to estimate compared to features that use SDKs, APIs, libraries, and Distribution Compliance that are outside of your own control. Looks the problems plaguing GameDev costs for the IndieDevs & SmallPubs.
Categories: Game Theory & Design

Outpost: Amazon Now Available From IDW Games

Tabletop Gaming News - 10 April 2018 - 6:00am
Welcome to Outpost 2! Being accepted to work at this research facility here deep in the Amazon is an honor. Now… let’s get the hell out of here!! The natives have left. The night surveillance equipment is going crazy, and while science is certainly important, continuing breathing is more important. We’ve gotta make our way […]
Categories: Game Theory & Design

ComputerMinds.co.uk: Rendering Drupal 8 fields (the right way)

Planet Drupal - 10 April 2018 - 4:21am

Once upon a time, we wrote an article about how to render fields on their own in Drupal 7, which was really handy because Drupal 7 wasn't always intuitive. It's common to want to display a field outside of the context of its main entity page, like showing author information in a sidebar block or in a panel, but you had to just know which functions to use. Drupal 8 has come along since then using 'grown up' things like objects and methods, which actually makes the job a little easier. So now we have this:

The short answer $node->field_my_thing->view();Quick reference

I'll cover these in detail below, but here are the things you might want to be doing:

  1. Render a field as if it were on the node/entity page (e.g. with the markup from the normal formatter and full field template)

Drupal 7: field_view_field(), optionally passing a view mode string, or formatter settings array.
Drupal 8: $node->field_my_thing->view(), optionally passing a view mode string, or formatter settings array.

  1. Just get a single value out of a field (i.e. raw values, usually as originally inputted)

Drupal 7: field_get_items() and then retrieve the index you want from the array.
Drupal 8: $node->field_my_thing->get(0)->value, passing just the index you want to get(). Properties other than 'value' may be available.

  1. Render a single value as if it were on the node/entity page (e.g. with the normal formatter's markup, but not all the wrappers that Drupal's field templates give you)

Drupal 7: field_view_value(), optionally passing a view mode string, or formatter settings array, but always passing the actual items array.
Drupal 8: $node->field_my_thing->get(0)->view(), passing just the index you want to get() and optionally passing a view mode string, or formatter settings array to view().

The long answer

Now that entities like nodes are properly classed objects, and fields use the fancy new Typed Data API, we don't need to care about the underlying data structure for nodes or their fields, we can just call the method to perform the operation we want! You know, just what methods are supposed to be for! You want to view a field? Just call its 'view' method.

The output will be automatically sanitised and goes through the normal formatter for the field, as well as the regular field template. You can specify whether you want it rendered as if it were in a teaser or other view mode, by passing in the view mode string, just as we did with field_view_field(). (Or you might have used something like $node->field_my_thing['und'][0]['value'] - in which case, go back and read our article for Drupal 7!)

$node->field_my_thing->view('teaser');

Or even override the formatter to be used altogether (which is handy if the field would normally be hidden in any view mode):

$node->field_my_thing->view([ 'type' => 'image', 'label' => 'hidden', 'settings' => array( 'image_style' => 'larger_thumbnail', 'image_link' => 'content', ), ]);

This does assume that your field ('field_my_thing') in my examples does at least exist on your node (even if it's empty). You may want to wrap the whole code in a try/catch block, just in case it might not.

For bonus points, you could load up the normal formatter settings, and tweak them:

use Drupal\Core\Entity\Entity\EntityViewDisplay; // If you have the entity/node you want, use collectRenderDisplay() as it may // already be statically cached, plus it goes through various alter hooks. $display_options = EntityViewDisplay::collectRenderDisplay($node, 'teaser') ->getComponent('field_images'); // Otherwise - or if you intentionally want to re-use the settings from another // unrelated entity type, bundle or display mode - just load the display config. $display_options = EntityViewDisplay::load('pagaraph.media_pod.teaser') ->getComponent('field_images'); // Then tweak those display options and view the field. $display_options['settings']['image_style'] = 'even_bigger_thumbnail'; $node->field_my_thing->view($display_options);

This all assumes you've at least loaded your node, or other entity. (It works with any content entity, like terms, paragraphs, etc!) You'd probably be putting the result of the view() method (which will be a render array) into a variable to be used in a twig template via a preprocess hook. Or maybe you're just adding it into an existing render array, like a custom block plugin. (Either way, you probably shouldn't then be rendering it into a string yourself, let Drupal do that for you.)

You can even just view a single item within a multi-value field like this, here using an 'if' condition to be a bit more graceful than a try/catch. This is the equivalent of using field_view_value() from Drupal 7, so also skips Drupal's full field template, though includes markup produced by the field's formatter:

// View the third value, as long as there is one. if ($third = $node->field_my_thing->get(2)) { $output = $third->view(); } else { $output = []; }

That helps you see how you might get a single value too, with the get() method, though note that it still returns a classed object. To just get a raw value, without any wrapping markup or value processing/sanitisation, you might want to use something like this, instead of Drupal 7's field_get_items() :

$text = $node->field_my_thing->get(0)->value; // If the field is just a single-value field, you can omit the get() part. $value = $node->field_single_thing->value; // Some types of field use different properties. $url = $node->field_my_link->uri; // You can use getValue() to get all the properties (e.g. text value + format). $text_values = $node->field_formatted_text->getValue(); // References can be chained! $referenced_title = $node->field_my_reference->entity->field_other_thing->value;

In Drupal 7, there was also confusion around what to do for multilingual content. In Drupal 8, as long as you've got the translation you want first, all the methods I've discussed above will get you the appropriate values for your language. To get a specific translation, use:

if ($node->hasTranslation($candidate)) { $node = $node->getTranslation($langcode); } This Rocks.

You get to use proper modern methods on a proper typed data API. Sanitisation is done for you. You don't need to care what the underlying data structure is. And you don't need to remember some magic global procedural functions, because the methods are obvious, right there on the thing you want to use them on (the field item class). If the Drupal 7 version of this was brilliant, that makes the Drupal 8 version of this even better. Brilliant-er?

Categories: Drupal

CKEditor Quote

New Drupal Modules - 10 April 2018 - 3:08am

A CKEditor plugin for Drupal 8 to create a quote with text and author.

It improves the blockquote plugin by allowing the editor to add an author. It is compatible with previous existing blockquotes without author.

It allows editors to break the quote in different lines (by using <p>).

Example

Using the CKEditor plugin you can enter the quote with the author.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator