Newsfeeds

Porting a PC game to Nintendo Switch - Part 1: Controls - by Matias Kindermann

Gamasutra.com Blogs - 3 November 2017 - 6:51am
Porting a PC game to Nintendo Switch, and how to redesign keyboard + mouse controls to actually work on a controller.
Categories: Game Theory & Design

Who pays the piper? - by Rich Woods

Gamasutra.com Blogs - 3 November 2017 - 6:51am
You have a great game idea but how do you turn that into a commercial product? I look at the most common monetisation strategies and discuss their merits and risks.
Categories: Game Theory & Design

What makes a good game tester? - by Johan Hoberg

Gamasutra.com Blogs - 3 November 2017 - 6:50am
In this article I will explore what I feel are the most important skills and attributes of a good game tester, and what type of mindset I believe a good game tester should have.
Categories: Game Theory & Design

Financial Slam Dunk: The Numbers Behind Virtual Currency in NBA2K - by Johnny Uzan

Gamasutra.com Blogs - 3 November 2017 - 6:50am
In this article we’re going to take a close look at the annual reports that Take Two released to their investors over the years and analyze how the success of microtransactions has completely changed their business, with a focus on the NBA2K franchise.
Categories: Game Theory & Design

Soldiers of Fortune Expansion Announced for Aristeia

Tabletop Gaming News - 3 November 2017 - 6:00am
Corvus Belli’s Aristeia, their new sci-fi sports action miniatures game, is still on its way to people’s tabletops, but with just about any game, as soon as it comes out, people are wondering, “so… expansions?” CB’s not wasting any time and has announced the first one, Soldiers of Fortune. From the announcement: The line-up of […]
Categories: Game Theory & Design

InternetDevels: Responsive images in Drupal 8: beautiful on every device!

Planet Drupal - 3 November 2017 - 5:48am

When does “smaller” mean “bigger”? When your images grow smaller to perfectly adjust themselves to various devices, while your user satisfaction, audience coverage, website’s speed, and profits grow bigger. A nice formula, isn’t it? This magic ability of images to adjust themselves to screens is how responsive web design works. And it works especially well in the latest Drupal version, Drupal 8, which has built-in support for responsive images.

Read more
Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Why should agencies focus on building ambitious websites

Planet Drupal - 3 November 2017 - 4:35am
Dries Buytaert, the founder of Drupal, gave great session this year at Drupalcon Vienna. Watch the part where he talks about who is Drupal for. Instead of focusing on big and small websites, or SME and enterprise clients, Dries describes the type of a website Drupal is made for as ambitious.  What is not an ambitious website A business that used to have a simple brochure website is now better off being served by SaaS (software as a service) solutions like Wix and Squarespace. Facebook, Google, and Amazon are providing services that not only cover what a good-old-website did in the past, but… READ MORE
Categories: Drupal

Mailjet sign up

New Drupal Modules - 3 November 2017 - 4:17am

This simple module provides a form block allowing users to subscribe to a Mailjet contact list.

It needs the mailjet-apiv3-php library, which will be automagically downloaded if you install the module via Composer.

Categories: Drupal

Miniature Painting While Colorblind

Gnome Stew - 3 November 2017 - 2:20am

 

Today’s Guest Article comes from Brandon Barnes, who talks about his experiences learning to paint while dealing with Red-Green Colorblindness. It’s an awesome look at learning to paint and what tools can make it easier to work around issues you might have. – John Arcadian

A gaming pub opened in our area and started providing free events like learning how to play Dungeons and Dragons, trivia nights, and even gaming mini take-and-paint. The later was presented with some short instruction on painting. It was run by the owner, a former professional painter for several companies. However, when I was about six years old I was diagnosed as red-green colorblind. But, my wife wanted to go and I thought I’d tag along. The worst outcome would have been a crappy painted mini and a couple beers, so why not.

I ended up finding the whole thing therapeutic and I wanted to do more. The mini everyone practiced on was your basic Stormcast Eternal from Warhammer.

The one that started it all. Remember newbies: Thin your paints.

I didn’t get too crazy with my color selection, going with a white base, yellow (wanted gold) trim, and brown leather. Largely I was too timid to get adventurous with colors that I sometimes can’t tell the difference in. What I didn’t realize at first was that even for the colorblind, there are quite a few tools that will help anyone to paint.

A Box of Crayons

Base colors. No shading or layers.

The class introduced me to Citadel’s paints as that was what the instructor always used. My wife had previously bought some of their paints and brushes, but we didn’t have a wide selection. We then made a trip to our FLGS and picked up some starter kits. The kits were for different steps in the painting process, which helps beginners like me ease into the process. The kits we got happened to be Citadel paints, so the colors were all themed from the Warhammer universe. That’s not to say there isn’t a “blue” or a “red.” In fact, there are several versions of various colors included in each kit. Like my giant box of crayons I had as a kid, they’re labeled with descriptive names, which helped me immensely.

Some of the names help colorblind people pick the right color even if they might otherwise have issues differentiating them. Names like Eldar (one of the elves of Warhammer) Flesh indicates a pale skin tone, which helps differentiate from (what I’m told) are redder based flesh tone paints like Ratskin Flesh. Having clear names can help if you have an idea of what the colors should be in context. I did picked up a set of minis and got a troop of wood elves, so I had to find the proper paints to use. Having evocative color names like Death World Forest and Mornfang Fur Brown helped me to pick the ideal combination of colors to represent the characters. Other manufacturers like Vallejo, Privateer Press, and Reaper have more general names that denote the colors, which is beneficial when you are mixing your own color palette. For someone with color-blindness, using paints with less descriptive names might mean having someone with full-color vision around to double check the color choices.

It’s Not All About That Base

That’s just the base colors. Once you get to the next steps, you need to find the right paints to go with your base colors. The next two steps  in most painting are shading and then highlighting (also known as layering).

Shading and some terrible layering.

This is where some tools like charts come into play. Charts like this, helped me pick out what colors to use along with the base colors.

Before I found these tools, I struggled at the store. It was always a concern that some of the pigments might contain red or green and I wouldn’t even notice. Another tool that helped me was the app that helped out in paint selection. These tools show you, “if you used x base, use y shade, and z layer.” Since the apps I used were warhammer specific, it helped tell me what specific colors to use on what parts. For other miniatures, an app or chart like this can help you reference paint schemes from different miniatures to use on the miniature you are painting.

Further along the digital route, there are apps out there that will utilize your phone or tablet’s camera to “read” the color you point it at. These apps may also give you a breakdown of the colors in the RGB format usually used on computers. That can help you with mixing if you can find the ratios to red, green, and blue and map them to how the colors look to you. This can be handy if a person with full-color vision is not readily available.

Well, I Screwed Up, But It’s Not The End

 I should have started a long time ago and followed my own advice I give to my kids, “Never let your diagnosis be a barrier to what you want to do. Just do it.” If you feel you got your color combinations wrong and you feel you ruined your favorite mini, it’s not the end of it. With the right tools, you can strip the mini with something you might already have under your sink. Soaking your mini in Simple Green is one of the ways to remove paint from something they want to redo because you didn’t get it quite right. Of course, any super glue joined parts may come apart as well, and some paint thinners  may react to the plastic or metal that the miniature is made of. Knowing you can redo the work if it doesn’t come out right can be a confidence booster when dealing with color-blindness.

JUST… DO IT!

“Dad, why is there a mini in pickle juice?” – My daughter observing the Stormcast Eternal soaking in Simple Green.

There are many options out there for painting your minis while colorblind. Certain products can make it easy to find the right color, like charts and digital tools telling you what colors fit best with others, and then there’s the reset button of just stripping it and starting all over. Finding what works best for you is a matter of personal preference, but there is nothing wrong in attempting it to see what works for you. My advice – if you have been curious, go for it. It doesn’t matter if you’re colorblind. With anything, practice will make you better so long as you’re willing to learn from your mistakes. I should have started a long time ago and followed my own advice I give to my kids, “Never let your diagnosis be a barrier to what you want to do. Just do it.”

This isn’t a comprehensive tutorial on mini painting by any means, just an exploration of what I’ve done to help overcome my disability. I’d be curious to know what tools others might use to overcome personal obstacles, mini painting or not. Please share your story!

Categories: Game Theory & Design

Autocomplete Multiselect Cc and BCc Users Contact form

New Drupal Modules - 3 November 2017 - 12:03am

This module adds up functionality to include CC and BCC fields.This will add up an option in Contact form where user can select user profiles to Cc and Bcc from within its drupal setup.It has an Autocomplete option and Remove functionality.

Categories: Drupal

Xbox One X: A hands-on analysis of Microsoft's powerful new console - by Kris Graft

Gamasutra.com Blogs - 3 November 2017 - 12:01am
Xbox One X, formerly known as the more astrologically-inclined Project Scorpio, is arriving on November 7 for $499, and Gamasutra got to spend some up-close time with the console.
Categories: Game Theory & Design

Tales from the Rocket House: Which Bonus Part 2: AC vs HP

RPGNet - 3 November 2017 - 12:00am
What\'s better, +1 HP or +1 AC?
Categories: Game Theory & Design

Appnovation Technologies: Appnovator Spotlight: Meet Victoria Marcos

Planet Drupal - 3 November 2017 - 12:00am
Appnovator Spotlight: Meet Victoria Marcos Who are you? What's your story? My name is Victoria Marcos, I’m from Venezuela and moved to England 8 years ago. I’m married and have a beautiful dog called Bonnie. I’ve been working in Appnovation for 3.5 years as Project Manager. I have a degree in Computer Engineering and a Master in Computer Science. I used to work as Business Analy...
Categories: Drupal

OSTraining: What Does Delta Mean in Drupal?

Planet Drupal - 2 November 2017 - 9:44pm

When you are adding Views, you may have seen an extra option called "Delta".

Several students have asked us about the purpose of this field, because it wasn't clear.

The Delta option is available throughout the site, but ordinary users are most likely to encounter it inside Views. Here's how the "Delta" options appear in Views:

Categories: Drupal

Extlink Multi Page Alert

New Drupal Modules - 2 November 2017 - 9:01pm

This is a very simple simple sub-module of Extlink . Extlink doesn't provide page wise different alert message. This module will extend the Extlink module's capability to accommodate multiple alert message settings per page basis.

Categories: Drupal

PreviousNext: Safely extending Drupal 8 plugin classes without fear of constructor changes

Planet Drupal - 2 November 2017 - 3:34pm
Share:

From time to time you may find you need to extend another module's plugins to add new functionality.

You may also find you need to alter the signature of the constructor in order to inject additional dependencies.

However plugin constructors are considered internal in Drupal's BC policy.

So how do you safely do this without introducing the risk of breakage if things change.

In this article we'll show you a quick trick learned from Search API module to avoid this issue.

by Lee Rowlands / 3 November 2017

So let's consider a plugin constructor that has some arguments.

Here's the constructor and factory method for Migrate's SQL map plugin

/**
   * Constructs an SQL object.
   *
   * Sets up the tables and builds the maps,
   *
   * @param array $configuration
   *   The configuration.
   * @param string $plugin_id
   *   The plugin ID for the migration process to do.
   * @param mixed $plugin_definition
   *   The configuration for the plugin.
   * @param \Drupal\migrate\Plugin\MigrationInterface $migration
   *   The migration to do.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration, EventDispatcherInterface $event_dispatcher) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);
    $this->migration = $migration;
    $this->eventDispatcher = $event_dispatcher;
  }

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
    return new static(
      $configuration,
      $plugin_id,
      $plugin_definition,
      $migration,
      $container->get('event_dispatcher')
    );
  }

As you can see, there are two additional dependencies injected beyond the standard plugin constructor arguments - the event dispatcher and the migration.

Now if you subclass this and extend the constructor and factory to inject additional arguments, should the base plugin change its constructor, you're going to be in trouble.

Instead, you can use this approach that Search API takes - leave the constructor as is (don't override it) and use setter injection for the new dependencies.

/**    * {@inheritdoc}    */   public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {     $instance = parent::create(       $container,       $configuration, $plugin_id,       $plugin_definition,       $migration     ); $instance->setFooMeddler($container->get('foo.meddler'); return $instance;   } /** * Sets foo meddler. */ public function setFooMeddler(FooMeddlerInterface $fooMeddler) { $this->fooMeddler = $fooMeddler; }

Because the signature of the parent create method is enforced by the public API of \Drupal\Core\Plugin\ContainerFactoryPluginInterface you're guaranteed that it won't change.

Thanks to Thomas Seidl for this pattern

Tagged Drupal 8, Plugins, OOP

Posted by Lee Rowlands
Senior Drupal Developer

Dated 3 November 2017

Comments

Comment by dawehner

Dated 3 November 2017

Nice!! Thank you for sharing it!

Pagination Add new comment
Categories: Drupal

Drop Guard: Automatic updates - a study by the University of North Carolina State

Planet Drupal - 2 November 2017 - 4:45am
Automatic updates - a study by the University of North Carolina State

A study from the North Carolina State University discovered that projects which are using open source libraries are updated 60% more often when using automatic updates via pull requests. The base of the study are 7,470 repositories on GitHub. This blog post is a summary of the most important facts and highlights of the methods, challenges and tools when it comes to use of automation for reaching a higher security level while using open source libraries.

There are 3 main facts why open source updates are a pain for developers
  1. Developers are always busy and doing updates is no fun

Drupal Planet Business Events Security PHP Study
Categories: Drupal

Web Omelette: My First Book - Drupal 8 Module Development (Or Where I Have Been Lately)

Planet Drupal - 2 November 2017 - 12:01am

If you’ve been wondering where I’ve been and why I haven’t been writing any articles lately, I am here to put your mind at ease: i’ve been working heavily on my first book about Drupal, called Drupal 8 Module Development. And I am happy to announce that it has finally been published and available for purchase.

Released by Packt Publishing, a leading publishing house for technical books in the Open Source world, my book is a comprehensive guide for developers new to Drupal 8. It aims to introduce you to module development starting from scratch but building up to complex functionalities. In doing so, you learn about all the fundamental subsystems and APIs available to work with in your Drupal module.

As you know, my website mainly focuses on Drupal knowledge via articles about tips and techniques, especially in Drupal 8 (most recently). So if you’ve been finding these helpful, I recommend checking out my book as it contains about 500 pages of great content aiming to help you ramp up your Drupal 8 module development skills. I appreciate each and every one who decides to give it a chance and I hope you find it as useful as I intended it to be.

Here is the list of chapters that will take you on the journey from starting a simple module to writing performant functionality using complex subsystems and APIs:

  • Chapter 1,  Developing for Drupal 8 , provides an introduction to module development in Drupal 8. In doing so, it introduces the reader to the various subsystems and outlines the requirements for running a Drupal 8 application.
  • Chapter 2,  Creating Your First Module , gets the ball rolling by creating the first Drupal 8 module of the book. Its main focus is to explore the most common things module developers need to know from the get-go.
  • Chapter 3,  Logging and Mailing , is about the tools available for doing something every web- based application does and/or should be doing, that is, sending emails and logging events.
  • Chapter 4,  Theming , presents the theme system from a module developer's perspective in Drupal 8.
  • Chapter 5,  Menus and Menu Links , explores the world of menus in Drupal 8 and shows how to programmatically create and work with menu links.
  • Chapter 6,  ata Modeling and Storage , looks at the various types of storage available in Drupal 8, from the state system to configuration and entities.
  • Chapter 7,  Your Own Custom Entity and Plugin Types , takes a hands-on approach creating a custom configuration and content entity type, as well as custom plugin type to wire up a practical functional example.
  • Chapter 8,  The Database API , presents the database abstraction layer and how we can work directly with data stored in custom tables.
  • Chapter 9,  Custom Fields , exemplifies the creation of the three plugins necessary for creating a custom field that can be used on a Drupal 8 content entity type.
  • Chapter 10,  Access Control , explores the world of access restrictions in Drupal 8, from roles and permissions to route and entity access checks.
  • Chapter 11,  Caching , looks at the various cache mechanisms available for module developers to improve the performance of their functionality.
  • Chapter 12,  Javascript and the AJAX API , introduces module developers to the specificities of writing JavaScript in Drupal 8, as well as the powerful AJAX system, which can be used to build advanced interactions.
  • Chapter 13,  Internationalization and Languages , deals with the practices Drupal 8 module developers need to observe in order to ensure that the application can be properly translated.
  • Chapter 14,  Batches, Queues, and Cron , explores the various ways module developers can structure their data processing tasks in a reliable way.
  • Chapter 15,  Views , looks at the various ways module developers can programmatically interact with Views and even expose their own data to them.
  • Chapter 16,  Working with Files and Images , explores the various file and image APIs that allow module developers to store, track, and manage files in Drupal 8.
  • Chapter 17,  Automated Testing , explores the various types of automated test module developers can write for their Drupal 8 applications to ensure stable and resilient code.
  • Annex, Drupal 8 Security , recaps some of the main things module developers need to pay attention to for writing secure code in Drupal 8.

If you find something incorrect or out of place, please use the appropriate errata submission form mentioned in the book. And as always, feel free to drop comments below about the your thoughts on the book. Enjoy and thank you very much for purchasing my book!

Categories: Drupal

Pages

Subscribe to As If Productions aggregator