Create an account


Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 20,134
» Latest member: jax9090nnn
» Forum threads: 21,936
» Forum posts: 22,806

Full Statistics

Online Users
There are currently 411 online users.
» 0 Member(s) | 405 Guest(s)
Applebot, Baidu, Bing, DuckDuckGo, Google, Yandex

 
  News - Xbox Live Was Down, But It's Back Up Again, You're Not Ever Gonna Keep It Down
Posted by: xSicKxBot - 09-10-2019, 01:23 AM - Forum: Lounge - No Replies

Xbox Live Was Down, But It's Back Up Again, You're Not Ever Gonna Keep It Down

Xbox Live services are currently suffering an outage. According to the Xbox Live Status page, those trying to connect will find they have limited to no access. The site states that core services such as signing in, as well as creating, managing, or recovering accounts are impacted. [Update: Xbox Live services are coming back online. Let's all celebrate by listening to Chumbawamba.]

The outage is happening across Xbox One, Xbox on Windows 10, Xbox 360, and Xbox on other devices--so, pretty much anything that can sign into services. Xbox Support on Twitter has acknowledged the issue.

The latest update on the status page states Microsoft's "engineers and developers are actively continuing to resolve the issue causing some members to have problems signing in to Xbox Live. Stay tuned, and thanks for your patience."

The outage will no doubt be frustrating to those who have early access to Gears 5, a core component of which is multiple multiplayer mode. Alongside the core campaign, which can be played co-operatively, there's the competitive multiplayer, Horde mode, and the new Escape mode. Naturally, there are many other games that rely on the Xbox Live network to function properly, most notably Fortnite.

Although Gears 5 is available to a select group of people now, it becomes widely available on September 10. In our Gears 5 review in progress, Phil Hornshaw said it "is very much a return of those best elements of Gears of War" but with "a focus on making the game feel somewhat more adaptive to your particular ways of playing."

He continued: "Whether you want campaign or co-op, Competitive or Quickplay, there's an option for you in Gears 5, and plenty of stuff to reward you for time spent and skill gained. Gears 5 might suffer from some of the same storytelling missteps as its predecessors, and it might not venture far out."


https://www.gamespot.com/articles/xbox-l...0-6469704/

Print this item

  Teaching People to Share Technology: Adafruit Founder Limor Fried
Posted by: xSicKxBot - 09-09-2019, 07:46 PM - Forum: Linux, FreeBSD, and Unix types - No Replies

Teaching People to Share Technology: Adafruit Founder Limor Fried

This story is based on our interview with Adafruit founder Limor Fried

When Adafruit founder Limor Fried was studying electrical engineering and computer science at MIT, she realized she was less interested in the electrical engineering part.

“What I really liked to do was build stuff,” she said.

Instead of working on her homework or thesis, Fried spent her time designing hardware projects in her dorm. She built an MP3 player way before Apple made iPods popular.

“With electronics, you could build anything from an MP3 player to a GPS tracker,” she said.

Fried started building different gadgets, including LED light toys for the annual Burning Man creative festival. She published these projects on her website at MIT, including the CAD schematics, firmware and instructions on how to build them.

“It was kind of open source hardware, but at the time it wasn’t a thing yet. People would say, ‘Oh, no, you just published everything and gave it away,’” she recalled.

She started getting queries from around the world from people interested in building the devices she posted about, but they were having trouble sourcing the components.

“They needed actual hardware that I used in my projects. It was really difficult to get different components from different places,” Fried said. “You would have to order PCB [printed circuit board] from one place, resistors and chips from another place. It was really complicated for most people.”

Soon she started getting emails asking if she could sell a whole kit. Initially, she wasn’t interested, but she relented and began a small side business.

“I started selling a couple of kits, which I would ship from the local post office,” Fried said.

That small business eventually became her full-time job: Adafruit. In the last 13 years, the venture has grown from a few kits to over 4,000 products.

Adafruit offers what it calls “open source hardware,” designing and manufacturing innovative yet affordable electronics products, components, tools and accessories. When this hardware gets into the hands of creative people, they build some incredible things with it.

What Fried loves about hardware is that you can actually touch it, pick it up and show it off.

“You can take it out and wear it at Burning Man or cosplay conventions,” she said.

In addition to being fun and creative, Adafruit’s hardware also helps people. In the last couple of years, Adafruit has been working on assistive technologies, developing adaptive and rehabilitative devices to assist people with disabilities.

“It changes their lives,” Fried said.

These types of devices are a great option for people because you can do only so much with proprietary technologies. Off-the-shelf devices are difficult to customize, and hiring someone to build just what you need could be very expensive and out of reach for most people.

“Open source hardware is a perfect middle ground. It’s inexpensive and allows you to customize the way you need it,” Fried said. “The code is there. Instructions are there. Anyone can do it. Since it’s open source, people can iterate, tweak, fine-tune to their needs. We are seeing a lot of interest in open source hardware for assistive technologies.”

Adafruit’s hardware is working for everyone from creative hobbyists to people interested in building things for their smartphones to developers inventing products for the next industrial revolution. Adafruit also worked with computer game company Nvidia to help build its Jetson Nano Developer Kit, which lets users run multiple neural networks for artificial intelligence, machine learning and edge computing.

Adafruit also sends its kits to schools to facilitate STEM programs, as kids tend to respond well to learning with physical objects. A project that started as just a fun activity for Fried now has a real purpose.

“I think the mission is to teach people to share technology and show people how much fun and exciting and creative it can be,” she said.



https://www.sickgaming.net/blog/2019/08/...mor-fried/

Print this item

  Unreal Engine Free Marketplace Assets September 2019
Posted by: xSicKxBot - 09-09-2019, 06:20 PM - Forum: Game Development - No Replies

Unreal Engine Free Marketplace Assets September 2019

Every month Epic Games release several free assets on the Unreal Engine marketplace and this September is no exception.  Keep in mind you need to “purchase” the assets during the month of September for free then you can keep them forever.  Additionally Epic make a couple free assets available forever each month.

September Free Assets

Free Forever Assets

You can learn more about the asset giveaway on the Unreal Engine blog or by watching the video below.

GameDev News




https://www.sickgaming.net/blog/2019/09/...mber-2019/

Print this item

  Mobile - The Weekender: Masters Edition
Posted by: xSicKxBot - 09-09-2019, 06:20 PM - Forum: New Game Releases - No Replies

The Weekender: Masters Edition

So I’ve been trying to dabble in some more mobile games this past week – I downloaded Gears Pop! Just to see what it was like (gacha, but not terrible) and Fallout Shelter again because I remember having fun with it when it first launched. Now I’m testing out Pokemon Masters because we’ll be doing some guide work for it over the next week or two. Interest around Harry Potter: Wizards Unite seems to have died off quite quickly so i’ll be interested to see how long this new pan flashes for.

It’s not been a great week as far as premium games go – all our favourites continue to get plenty of updates, and we decided to look back on games with some excellent expansion content. Hope you enjoyed that.

Meanwhile, thousands of miles away…

Out Now


Pokemon Masters (iOS & Android)


We’ve been mentioning this one for a while – now the collect’em-all 3v3 battler is out in the wild. It’s not quite as noble as Pokemon GO – you’re not being incentivised to go out-and-about or anything like that, this is more of your bog-standard ‘gatcha’ game dressed in a Pokemon skin. If you’ve not yet read up on it, this is essentially a game about collecting and levelling up ‘Sync Pairs’ – a pairing of a trainer (pulled from the Pokeverse) and a Pokemon.

The F2P aspects mainly revolve around ‘Scouting’ where you spend gems to try and pull rare combinations to help fight in the game’s story mode. Unlike a lot of gacha games this is wholly a PvE affair, with Co-Op available once you’ve cleared Chapter 10. I’ve been dabbling around with it and it’s not bad as games go – the battles still retain some of the tactical dimensions you get from the main games. Your mileage will vary depending on how much you care about Pokemon and, more specifically, specific iconic characters from the TV Shows.


Anyone interested in giving it a go should check out our Beginner’s Guide, plus our guide looking at how to make the most of those early-game scouts.

Other Releases


Not so much this week but we missed a couple of popular indie releases that aren’t exactly in our usual wheelhouse:

  • Dead Cells is a popular action/platformer released last year on PC that’s crossed over to iOS.
  • If you remember the interactive visual novel experience Her Story, you might be interested to know that the spiritual sequel, Telling Lies, has also just released onto iOS.

Upcoming Games


A couple of announcements we didn’t get a chance to write-up yet you might be interested in knowing about:

Nintendo has finally given us a solid release date for Mario Kart Tour, the rumoured Mario Kart mobile game that was announced at the start of 2018. Like most Nintendo experimentations on mobile, it looks like it’s going to be a F2P experience, but you’ll be able to make up your own mind about it come September 25th.

Also, it’s that time of the year again when we have the latest version of Football Manager to look forward to. Football Manager 2020 Mobile and Football Manager 2020 Touch are due to release at the same time as the main PC version of the game in November. No real information as to what the improvements will be over the 2019 version, but I’m sure it won’t be long before we find out.


Also don’t forget that Tropico’s Android version will be released next week on September 5th.

Updates


Not much to report in terms of major game updates. The big Star Traders: Frontiers content drop we talked about at the start of the week is now live on mobile, if you were waiting for that.

Plus the Auto Chess games continue to further improve themselves. Dota Underlords, for example did some tweaking last Friday which you can read up on here. We’re going to be running some more Underlords content at the start of next week, so watch out for that.

Sales


Seems Google Play and the Apple App Store hate mobile games this week, as there’s not really anything worth doing a full write-up on. The only two things worth highlighting are:

  • All of the Reigns games are on sale on iOS and Android.
  • Team17 have discounted their entire mobile catalogue on iOS and Android.

Seen anything else you liked? Played any of the above? Let us know in the comments!



https://www.sickgaming.net/blog/2019/08/...s-edition/

Print this item

  ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 7
Posted by: xSicKxBot - 09-09-2019, 06:20 PM - Forum: C#, Visual Basic, & .Net Frameworks - No Replies

ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 7

Daniel Roth

Daniel

.NET Core 3.0 Preview 7 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor.

Here’s the list of what’s new in this preview:

  • Latest Visual Studio preview includes .NET Core 3.0 as the default runtime
  • Top level ASP.NET Core templates in Visual Studio
  • Simplified web templates
  • Attribute splatting for components
  • Data binding support for TypeConverters and generics
  • Clarified which directive attributes expect HTML vs C#
  • EventCounters
  • HTTPS in gRPC templates
  • gRPC Client Improvements
  • gRPC Metapackage
  • CLI tool for managing gRPC code generation

Please see the release notes for additional details and known issues.

Get started


To get started with ASP.NET Core in .NET Core 3.0 Preview 7 install the .NET Core 3.0 Preview 7 SDK

If you’re on Windows using Visual Studio, install the latest preview of Visual Studio 2019.

Note: .NET Core 3.0 Preview 7 requires Visual Studio 2019 16.3 Preview 1, which is being released later this week.

To install the latest client-side Blazor templates also run the following command:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview7.19365.7

Installing the Blazor Visual Studio extension is no longer required and it can be uninstalled if you’ve installed a previous version. Installing the Blazor WebAssembly templates from the command-line is now all you need to do to get them to show up in Visual Studio.

Upgrade an existing project


To upgrade an existing an ASP.NET Core app to .NET Core 3.0 Preview 7, follow the migrations steps in the ASP.NET Core docs.

Please also see the full list of breaking changes in ASP.NET Core 3.0.

To upgrade an existing ASP.NET Core 3.0 Preview 6 project to Preview 7:

  • Update Microsoft.AspNetCore.* package references to 3.0.0-preview7.19365.7.

That’s it! You should be ready to go.

Latest Visual Studio preview includes .NET Core 3.0 as the default runtime


The latest preview update for Visual Studio (16.3) includes .NET Core 3.0 as the default .NET Core runtime version. This means that if you install the latest preview of Visual Studio then you already have .NET Core 3.0. New project by default will target .NET Core 3.0

Top level ASP.NET Core templates in Visual Studio


The ASP.NET Core templates now show up as top level templates in Visual Studio in the “Create a new project” dialog.

ASP.NET Core templates

This means you can now search for the various ASP.NET Core templates and filter by project type (web, service, library, etc.) to find the one you want to use.

Simplified web templates


We’ve taken some steps to further simplify the web app templates to reduce the amount of code that is frequently just removed.

Specifically:

  • The cookie consent UI is no longer included in the web app templates by default.
  • Scripts and related static assets are now referenced as local files instead of using CDNs based on the current environment.

We will provide samples and documentation for adding these features to new apps as needed.

Attribute splatting for components


Components can now capture and render additional attributes in addition to the component’s declared parameters. Additional attributes can be captured in a dictionary and then “splatted” onto an element as part of the component’s rendering using the new @attributes Razor directive. This feature is especially valuable when defining a component that produces a markup element that supports a variety of customizations. For instance if you were defining a component that produces an <input> element, it would be tedious to define all of the attributes <input> supports like maxlength or placeholder as component parameters.

Accepting arbitrary parameters


To define a component that accepts arbitrary attributes define a component parameter using the [Parameter] attribute with the CaptureUnmatchedAttributes property set to true. The type of the parameter must be assignable from Dictionary<string, object>. This means that IEnumerable<KeyValuePair<string, object>> or IReadOnlyDictionary<string, object> are also options.

@code { [Parameter(CaptureUnmatchedAttributes = true)] Dictionary<string, object> Attributes { get; set; }
}

The CaptureUnmatchedAttributes property on [Parameter] allows that parameter to match all attributes that do not match any other parameter. A component can only define a single parameter with CaptureUnmatchedAttributes.

Using @attributes to render arbitrary attributes


A component can pass arbitrary attributes to another component or markup element using the @attributes directive attribute. The @attributes directive allows you to specify a collection of attributes to pass to a markup element or component. This is valuable because the set of key-value-pairs specified as attributes can come from a .NET collection and do not need to be specified in the source code of the component.

<input class="form-field" @attributes="Attributes" type="text" /> @code { [Parameter(CaptureUnmatchedAttributes = true)] Dictionary<string, object> Attributes { get; set; }
}

Using the @attributes directive the contents of the Attribute property get “splatted” onto the input element. If this results in duplicate attributes, then evaluation of attributes occurs from left to right. In the above example if Attributes also contained a value for class it would supersede class="form-field". If Attributes contained a value for type then that would be superseded by type="text".

Data binding support for TypeConverters and generics


Blazor now supports data binding to types that have a string TypeConverter. Many built-in framework types, like Guid and TimeSpan have a string TypeConverter, or you can define custom types with a string TypeConverter yourself. These types now work seamlessly with data binding:

<input @bind="guid" /> <p>@guid</p> @code { Guid guid;
}

Data binding also now works great with generics. In generic components you can now bind to types specified using generic type parameters.

@typeparam T <input @bind="value" /> <p>@value</p> @code { T value;
}

Clarified which directive attributes expect HTML vs C


In Preview 6 we introduced directive attributes as a common syntax for Razor compiler related features like specifying event handlers (@onclick) and data binding (@bind). In this update we’ve cleaned up which of the built-in directive attributes expect C# and HTML. Specifically, event handlers now expect C# values so a leading @ character is no longer required when specifying the event handler value:

@* Before *@
<button @onclick="@OnClick">Click me</button> @* After *@
<button @onclick="OnClick">Click me</button>

EventCounters


In place of Windows perf counters, .NET Core introduced a new way of emitting metrics via EventCounters. In preview7, we now emit EventCounters ASP.NET Core. You can use the dotnet counters global tool to view the metrics we emit.

Install the latest preview of dotnet counters by running the following command:

dotnet tool install --global dotnet-counters --version 3.0.0-preview7.19365.2

Hosting


The Hosting EventSourceProvider (Microsoft.AspNetCore.Hosting) now emits the following request counters:

  • requests-per-second
  • total-requests
  • current-requests
  • failed-requests

SignalR


In addition to hosting, SignalR (Microsoft.AspNetCore.Http.Connections) also emits the following connection counters:

  • connections-started
  • connections-stopped
  • connections-timed-out
  • connections-duration

To view all the counters emitted by ASP.NET Core, you can start dotnet counters and specify the desired provider. The example below shows the output when subscribing to events emitted by the Microsoft.AspNetCore.Hosting and System.Runtime providers.

dotnet counters monitor -p <PID> Microsoft.AspNetCore.Hosting System.Runtime

D8GX-5oV4AASKwM

New Package ID for SignalR’s JavaScript Client in NPM


The Azure SignalR Service made it easier for non-.NET developers to make use of SignalR’s real-time capabilities. A frequent question we would get from potential customers who wanted to enable their applications with SignalR via the Azure SignalR Service was “does it only work with ASP.NET?” The former identity of the ASP.NET Core SignalR – which included the @aspnet organization on NPM, only further confused new SignalR users.

To mitigate this confusion, beginning with 3.0.0-preview7, the SignalR JavaScript client will change from being @aspnet/signalr to @microsoft/signalr. To react to this change, you will need to change your references in package.json files, require statements, and ECMAScript import statements. If you’re interested in providing feedback on this move or to learn the thought process the team went through to make the change, read and/or contribute to this GitHub issue where the team engaged in an open discussion with the community.

New Customizable SignalR Hub Method Authorization


With Preview 7, SignalR now provides a custom resource to authorization handlers when a hub method requires authorization. The resource is an instance of HubInvocationContext. The HubInvocationContext includes the HubCallerContext, the name of the hub method being invoked, and the arguments to the hub method.

Consider the example of a chat room allowing multiple organization sign-in via Azure Active Directory. Anyone with a Microsoft account can sign in to chat, but only members of the owning organization should be able to ban users or view users’ chat histories. Furthermore, we might want to restrict certain functionality from certain users. Using the updated features in Preview 7, this is entirely possible. Note how the DomainRestrictedRequirement serves as a custom IAuthorizationRequirement. Now that the HubInvocationContext resource parameter is being passed in, the internal logic can inspect the context in which the Hub is being called and make decisions on allowing the user to execute individual Hub methods.

public class DomainRestrictedRequirement : AuthorizationHandler<DomainRestrictedRequirement, HubInvocationContext>, IAuthorizationRequirement
{ protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, DomainRestrictedRequirement requirement, HubInvocationContext resource) { if (IsUserAllowedToDoThis(resource.HubMethodName, context.User.Identity.Name) && context.User != null && context.User.Identity != null && context.User.Identity.Name.EndsWith("@jabbr.net", StringComparison.OrdinalIgnoreCase)) { context.Succeed(requirement); } return Task.CompletedTask; } private bool IsUserAllowedToDoThis(string hubMethodName, string currentUsername) { return !(currentUsername.Equals("bob42@jabbr.net", StringComparison.OrdinalIgnoreCase) && hubMethodName.Equals("banUser", StringComparison.OrdinalIgnoreCase)); }
}

Now, individual Hub methods can be decorated with the name of the policy the code will need to check at run-time. As clients attempt to call individual Hub methods, the DomainRestrictedRequirement handler will run and control access to the methods. Based on the way the DomainRestrictedRequirement controls access, all logged-in users should be able to call the SendMessage method, only users who’ve logged in with a @jabbr.net email address will be able to view users’ histories, and – with the exception of bob42@jabbr.net – will be able to ban users from the chat room.

[Authorize]
public class ChatHub : Hub
{ public void SendMessage(string message) { } [Authorize("DomainRestricted")] public void BanUser(string username) { } [Authorize("DomainRestricted")] public void ViewUserHistory(string username) { }
}

Creating the DomainRestricted policy is as simple as wiring it up using the authorization middleware. In Startup.cs, add the new policy, providing the custom DomainRestrictedRequirement requirement as a parameter.

services .AddAuthorization(options => { options.AddPolicy("DomainRestricted", policy => { policy.Requirements.Add(new DomainRestrictedRequirement()); }); });

It must be noted that in this example, the DomainRestrictedRequirement class is not only a IAuthorizationRequirement but also it’s own AuthorizationHandler for that requirement. It is fine to split these into separate classes to separate concerns. Yet, in this way, there’s no need to inject the AuthorizationHandler during Startup, since the requirement and the handler are the same thing, there’s no need to inject the handler separately.

HTTPS in gRPC templates


The gRPC templates have been now been updated to use HTTPS by default. At development time, we continue the same certificate generated by the dotnet dev-certs tool and during production, you will still need to supply your own certificate.

gRPC Client Improvements


The managed gRPC client (Grpc.Net.Client) has been updated to target .NET Standard 2.1 and no longer depends on types present only in .NET Core 3.0. This potentially gives us the ability to run on other platforms in the future.

gRPC Metapackage


In 3.0.0-preview7, we’ve introduced a new package Grpc.AspNetCore that transitively references all other runtime and tooling dependencies required for building gRPC projects. Reasoning about a single package version for the metapackage should make it easier for developers to deal with as opposed multiple dependencies that version independently.

CLI tool for managing gRPC code generation


The new dotnet-grpc global tool makes it easier to manage protobuf files and their code generation settings. The global tool manages adding and removing protobuf files as well adding the required package references required to build and run gRPC applications.

Install the latest preview of dotnet-grpc by running the following command:

dotnet tool install --global dotnet-grpc --version 0.1.22-pre2

As an example, you can run following commands to generate a protobuf file and add it to your project for code generation. If you attempt this on a non-web project, we will default to generating a client and add the required package dependencies.

dotnet new proto -o .\Protos\mailbox.proto
dotnet grpc add-file .\Protos\mailbox.proto

Give feedback


We hope you enjoy the new features in this preview release of ASP.NET Core and Blazor! Please let us know what you think by filing issues on GitHub.

Thanks for trying out ASP.NET Core and Blazor!

Daniel Roth
Daniel Roth

Principal Program Manager, ASP.NET

Follow Daniel   



https://www.sickgaming.net/blog/2019/07/...preview-7/

Print this item

  AppleInsider - HomeKit-compatible Intellithings RoomMe presence sensor now available
Posted by: xSicKxBot - 09-09-2019, 06:20 PM - Forum: Apples Mac and OS X - No Replies

HomeKit-compatible Intellithings RoomMe presence sensor now available

 

Intellithings has announced availability and HomeKit support for its RoomMe smart home presence device that helps improve the automation of connected devices.

RoomMe presence sensor

RoomMe presence sensor works with HomeKit

Currently, with HomeKit, lights can be triggered by motion which could include pets or other inadvertent triggers. RoomMe can identify people and make adjustments based on who that person is.

The RoomMe system identifies the specific user by spotting the app on a carried smartphone. A mounted Personal Location Sensor —or PLS —does the identification and executes personalized room-level scenes incorporating lighting, temperature, entertainment, and more.

RoomMe integrates not only with HomeKit devices, but Wink and Sensibo bringing together hundreds of Z-Wave and Zigbee devices.

RoomMe app for creating automation rules

RoomMe app for creating automation rules

“Sensors make the difference between a home that just has a few smart devices installed and a true smart home. Sensors, by name, sense what is happening,” said Oren Kotlicki, founder and CEO at Intellithings. “With RoomMe, we take that idea a step further: This is not a sensor that is triggered by a pet to turn on a light, but a personal location sensor that knows who is in the room and what that person wants the room to do, automatically.”

As an example, when a user enters the living at night, it could close the blinds, lower the lights, set the thermostat to their desired temperature, warm the light’s color, turn on the TV to a user’s preferred input, and adjust the volume. Each of those variables can be unique to each person.

Intellithings won a 2019 Innovation Design Honoree award earlier this year at CES for the RoomMe PLS.

The RoomMe PLS is available as a starter kit for $129 and includes two RoomMe sensors as well as access to the smartphone app. It is available for order now on Amazon.



https://www.sickgaming.net/blog/2019/09/...available/

Print this item

  Fedora - How RPM packages are made: the source RPM
Posted by: xSicKxBot - 09-09-2019, 06:19 PM - Forum: Linux, FreeBSD, and Unix types - No Replies

How RPM packages are made: the source RPM

In a previous post, we looked at what RPM packages are. They are archives that contain files and metadata. This metadata tells RPM where to create or remove files from when an RPM is installed or uninstalled. The metadata also contains information on “dependencies”, which you will remember from the previous post, can either be “runtime” or “build time”.

As an example, we will look at fpaste. You can download the RPM using dnf. This will download the latest version of fpaste that is available in the Fedora repositories. On Fedora 30, this is currently 0.3.9.2:

$ dnf download fpaste ...
fpaste-0.3.9.2-2.fc30.noarch.rpm

Since this is the built RPM, it contains only files needed to use fpaste:

$ rpm -qpl ./fpaste-0.3.9.2-2.fc30.noarch.rpm
/usr/bin/fpaste
/usr/share/doc/fpaste
/usr/share/doc/fpaste/README.rst
/usr/share/doc/fpaste/TODO
/usr/share/licenses/fpaste
/usr/share/licenses/fpaste/COPYING
/usr/share/man/man1/fpaste.1.gz

Source RPMs


The next link in the chain is the source RPM. All software in Fedora must be built from its source code. We do not include pre-built binaries. So, for an RPM file to be made, RPM (the tool) needs to be:

  • given the files that have to be installed,
  • told how to generate these files, if they are to be compiled, for example,
  • told where these files must be installed,
  • what other dependencies this particular software needs to work properly.

The source RPM holds all of this information. Source RPMs are similar archives to RPM, but as the name suggests, instead of holding the built binary files, they contain the source files for a piece of software. Let’s download the source RPM for fpaste:

$ dnf download fpaste --source
...
fpaste-0.3.9.2-2.fc30.src.rpm

Notice how the file ends with “src.rpm”. All RPMs are built from source RPMs. You can easily check what source RPM a “binary” RPM comes from using dnf too:

$ dnf repoquery --qf "%{SOURCERPM}" fpaste
fpaste-0.3.9.2-2.fc30.src.rpm

Also, since this is the source RPM, it does not contain built files. Instead, it contains the sources and instructions on how to build the RPM from them:

$ rpm -qpl ./fpaste-0.3.9.2-2.fc30.src.rpm
fpaste-0.3.9.2.tar.gz
fpaste.spec

Here, the first file is simply the source code for fpaste. The second is the “spec” file. The spec file is the recipe that tells RPM (the tool) how to create the RPM (the archive) using the sources contained in the source RPM—all the information that RPM (the tool) needs to build RPMs (the archives) are contained in spec files. When we package maintainers add software to Fedora, most of our time is spent writing and perfecting the individual spec files. When a software package needs an update, we go back and tweak the spec file. You can see the spec files for ALL packages in Fedora at our source repository at https://src.fedoraproject.org/browse/projects/

Note that one source RPM may contain the instructions to build multiple RPMs. fpaste is a very simple piece of software, where one source RPM generates one “binary” RPM. Python, on the other hand is more complex. While there is only one source RPM, it generates multiple binary RPMs:

$ sudo dnf repoquery --qf "%{SOURCERPM}" python3
python3-3.7.3-1.fc30.src.rpm
python3-3.7.4-1.fc30.src.rpm $ sudo dnf repoquery --qf "%{SOURCERPM}" python3-devel
python3-3.7.3-1.fc30.src.rpm
python3-3.7.4-1.fc30.src.rpm $ sudo dnf repoquery --qf "%{SOURCERPM}" python3-libs
python3-3.7.3-1.fc30.src.rpm
python3-3.7.4-1.fc30.src.rpm $ sudo dnf repoquery --qf "%{SOURCERPM}" python3-idle
python3-3.7.3-1.fc30.src.rpm
python3-3.7.4-1.fc30.src.rpm $ sudo dnf repoquery --qf "%{SOURCERPM}" python3-tkinter
python3-3.7.3-1.fc30.src.rpm
python3-3.7.4-1.fc30.src.rpm

In RPM jargon, “python3” is the “main package”, and so the spec file will be called “python3.spec”. All the other packages are “sub-packages”. You can download the source RPM for python3 and see what’s in it too. (Hint: patches are also part of the source code):

$ dnf download --source python3
python3-3.7.4-1.fc30.src.rpm $ rpm -qpl ./python3-3.7.4-1.fc30.src.rpm
00001-rpath.patch
00102-lib64.patch
00111-no-static-lib.patch
00155-avoid-ctypes-thunks.patch
00170-gc-assertions.patch
00178-dont-duplicate-flags-in-sysconfig.patch
00189-use-rpm-wheels.patch
00205-make-libpl-respect-lib64.patch
00251-change-user-install-location.patch
00274-fix-arch-names.patch
00316-mark-bdist_wininst-unsupported.patch
Python-3.7.4.tar.xz
check-pyc-timestamps.py
idle3.appdata.xml
idle3.desktop
python3.spec

Building an RPM from a source RPM


Now that we have the source RPM, and know what’s in it, we can rebuild our RPM from it. Before we do so, though, we should set our system up to build RPMs. First, we install the required tools:

$ sudo dnf install fedora-packager

This will install the rpmbuild tool. rpmbuild requires a default layout so that it knows where each required component of the source rpm is. Let’s see what they are:

# Where should the spec file go?
$ rpm -E %{_specdir}
/home/asinha/rpmbuild/SPECS # Where should the sources go?
$ rpm -E %{_sourcedir}
/home/asinha/rpmbuild/SOURCES # Where is temporary build directory?
$ rpm -E %{_builddir}
/home/asinha/rpmbuild/BUILD # Where is the buildroot?
$ rpm -E %{_buildrootdir}
/home/asinha/rpmbuild/BUILDROOT # Where will the source rpms be?
$ rpm -E %{_srcrpmdir}
/home/asinha/rpmbuild/SRPMS # Where will the built rpms be?
$ rpm -E %{_rpmdir}
/home/asinha/rpmbuild/RPMS

I have all of this set up on my system already:

$ cd
$ tree -L 1 rpmbuild/
rpmbuild/
├── BUILD
├── BUILDROOT
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS 6 directories, 0 files

RPM provides a tool that sets it all up for you too:

$ rpmdev-setuptree

Then we ensure that we have all the build dependencies for fpaste installed:

sudo dnf builddep fpaste-0.3.9.2-3.fc30.src.rpm

For fpaste you only need Python and that must already be installed on your system (dnf uses Python too). The builddep command can also be given a spec file instead of an source RPM. Read more in the man page:

$ man dnf.plugin.builddep

Now that we have all that we need, building an RPM from a source RPM is as simple as:

$ rpmbuild --rebuild fpaste-0.3.9.2-3.fc30.src.rpm
..
.. $ tree ~/rpmbuild/RPMS/noarch/
/home/asinha/rpmbuild/RPMS/noarch/
└── fpaste-0.3.9.2-3.fc30.noarch.rpm 0 directories, 1 file

rpmbuild will install the source RPM and build your RPM from it. You can now install the RPM to use it as you do–using dnf. Of course, as said before, if you want to change anything in the RPM, you must modify the spec file—we’ll cover spec files in next post.

Summary


To summarise this post in two short points:

  • the RPMs we generally install to use software are “binary” RPMs that contain built versions of the software
  • these are built from source RPMs that include the source code and the spec file that are needed to generate the binary RPMs.

If you’d like to get started with building RPMs, and help the Fedora community maintain the massive amount of software we provide, you can start here: https://fedoraproject.org/wiki/Join_the_package_collection_maintainers

For any queries, post to the Fedora developers mailing list—we’re always happy to help!



https://www.sickgaming.net/blog/2019/08/...ource-rpm/

Print this item

  News - Director’s Cut – Part I
Posted by: xSicKxBot - 09-09-2019, 06:19 PM - Forum: Lounge - No Replies

Director’s Cut – Part I

Hey everyone,

I wanted to try a little experiment with our communications and put together a longer look at where Destiny has been over the last few months and where it’s heading next. I think it’s important to take time to reflect on what’s happened so we can show you where we’re going.

I’m calling this Director’s Cut. Based on how long this ended up being, a key learning from this is “maybe there’s a better way to communicate this than a GIANT WALL OF TEXT!” Let me know. I also may like doing it in a different format in the future, I’ll let you know.

Today, I’m going to talk about more than just the Destiny game and talk some about how we build Destiny and the effects it can have on the team. I think transparency about the game is important and I also want to be transparent about the work required. Sound OK? That’s rhetorical, because a wall of text is coming up.

I’m going to keep referencing that. All the time. Until its true. And then, I’m going to keep referencing it until it’s good enough.*

10 Thoughts on the Last Six Months (Looking Back)


Overall, there are some things about Annual Pass that worked out very well and some real learnings for us along the way. The Annual Pass was a big transition for us. We’ve been moving away from DLC and trying to provide more ongoing reasons to play Destiny. I wanted to start the State of the Game series by looking back at how we got here. I’m going to largely focus on Season of the Drifter to near-present day.

We set up a calendar of content, showed you the plan early, and delivered it. 

A lot of you love Destiny for the chase on the way to improving your characters. Between the Annual Pass drops, questlines, and events in between, the team did a great job of providing stuff to do, items to chase, growing fat with strength, et cetera. Destiny history has had many content droughts, but not this year.

But, the Annual Pass was harder on the team than we anticipated. 

The scope of what we delivered, the pace that we delivered it, and the overall throughput for Annual Pass takes a toll on the Bungie team. I–and many others–had conversations throughout the year with team members–who had jumped from release to release– about the grind of working on Destiny. Working on the game was starting to wear people down. Here’s an example:

During the annual pass, we invented new, bespoke ways to earn rewards each season. Black Armory had its bounties, Season of the Drifter had the “Reckoning Machine,” Season of Opulence had its Chalice. Each of these mechanics – each with their own lessons – were valuable, but also put the team into an unsustainable development cycle. We needed to develop a more systemic, standardized set of mechanics for progression to keep our teams healthier.

We’re going to take this problem on in D2Y3.

We have a Powerful sources problem


As the game’s weekly sources of Power grew and Destiny grew with it, this  – at times – could really feel like a chore. Each season brought with it new Powerful sources and optimizing your character meant that you were maybe still running three story missions every week or returning to the Dreaming City months after those first few magical trips from last fall.

I feel like we needed to do a better job of shifting Powerful sources. We could explore things like changing the value of Powerful sources to create new seasonal efficiencies or retire some Powerful sources as we bring new sources into the game. Simply put, I wish we’d been able do more seasonal curation of the game.

Season of the Drifter Thoughts, Part I


I like Gambit Prime. It felt like a great refinement of Gambit to me. I’d love to hear your thoughts on it.

Matches end quicker, so it feels more efficient. The invading frequency feels lower, so I can Collect and dunk. I think there’s something cool about the roles, although the requirements to get a full set online to inhabit a role meant not enough folks got to appreciate the playstyle diversity.

In the future, we’re going to have to make a choice: Which Gambit is the Highlander of Gambits. Prime or Classic. This isn’t just about removing stuff from Destiny 2 — but the game cannot grow infinitely forever –it’s about focusing refinements and evolutions to the Gambit ecosystem. We think Gambit is sweet and deserves more ongoing support and we want to ultimately focus that support on whichever mode ends up being the Highlander. There can be only one.

That said, we hear you that not everyone is excited about a season that overly focuses on one part of the game. Destiny is a game with a lot of breadth and we agree that this season felt too specialized.

Season of the Drifter Thoughts, Part II aka Let’s Talk About Reckoning


(and Encounter Design)

The first time I used Phoenix Protocol at home, I knew it was over. It’s an exotic coat that refills my Well of Radiance and then refills itself as I “slay,” so that I can continue to place my Well of Stand Here to be Borderline Invulnerable and Deal Tons of Damage. Datto has a great video that talks about Well of Radiance’s effect on the PVE game.

I wondered, How are we ever going to make content that fairly challenges players again? 

With Reckoning in Season of the Drifter, we got a taste of what kind of content we’d need to build to challenge Protocol-wearing Warlocks. Matchmade encounters that accost you from all directions, plant snipers off in the distance, and put players in between a pincher attack of many whelps, handle it (I wanted to link a thing here, but it’s definitely not T for Teen) and giant bosses (also eff you Knight Taken guy).

This is what it had to be. We were breaking encounter rules left, right, and center on the Reckoning bridge, in no small part due to players in always-active Wells of Radiance becoming invulnerable gods, holding all six infinity stones all the time.

In Reckoning, we set out to build an activity that could be relatively easy at Tier 1 and scale up to very challenging at Tier 3. We have an internal team here codenamed: Velveeta (they were formed in the wake of the Crota’s End modem-unplugging debacle to help find the cheesiest things to do/use in the challenging PVE portions of the game) – these players are some of our craftiest.

Once Velveeta can get close to beating something, or beat it outright, that becomes an important data point on our “is this hard enough?” evaluation. We give them a bunch of tips like “here’s how this works, can you beat it?”, so if they can, it’s a good indicator of the action game and gear game working together.

Let’s talk about encounter design. Generally, in activities we expect players to complete alone (dungeons, raids, zero hour-type activities can play by a different set of properties!) or in matchmade groups, there are a number of guidelines we use when we build them.

  • We don’t want to spawn enemies behind the player.
  • We want players to play a game of taking space from enemies.
  • We want players to have cover where their shields and health can recharge, or where they get to be smart using geometry, movement, ability and gunplay to dig enemies out of cover, and make interesting decisions about target prioritization.
  • We want players to be able to understand where in the space enemies will come from, and if we’re going to reverse the combat front on players (AKA spawn enemies behind them, we want to telegraph that.
  • We use dropships, spawn clouds, audio cues, all kinds of tricks to try and prepare players for reinforcements.
  • As character power was dramatically increasing (more on reasons for this increase later on), the encounter rules got thrown out the window.

To summarize this: Destiny had sweet gear and in order to create challenge in the Reckoning we broke a bunch of our encounter design philosophy. That sweet gear, coupled with the encounter design meant the number of ways to viably/efficiently progress was dramatically reduced. We want Destiny to be a game where you have lots of choices with your character, build what you choose to do, and funneling those choices down to only one in Reckoning is something we don’t want to repeat. There’s more about damage and player power sprinkled in this update, and even more on the rest.

Last, last note: I think it’s totally sweet when an activity challenges you to use something other than your favorite item. I don’t think the whole game should work that way, but when it’s time to bust some shields on the Shanks in Zero Hour, I had a use for that Distant Relation scout rifle in my vault.

Season of the Drifter Thoughts, Part III aka Now Let’s Talk about Difficulty and Touch on Sandbox Nerfs


I started to talk about challenge/difficulty above and drifted (heh heh) to encounter difficulty. But, it’s all related.

When the media would come to play our Halo games for an event, we’d always recommend they play the game on Heroic. Heroic changed a bunch about Halo combat – it made enemy weapons more accurate (but not too accurate); enemies would fire more frequently (which made you feel like a hero when you dodged them); it increased projectile speed; and Heroic lowered player outgoing damage (so that the enemies would survive longer and make their way further through their behavior tree – and therefore appear more intelligent). There’s more than just the above going on, but that’s a quick summary of some of the changes.

But here’s why: we asked the media to play the game on Heroic, because when the game is challenging, overcoming the challenge feels incredible.

Important to note here: Challenge isn’t something universal. In an action game, challenge can be largely personal. One person’s challenging might be easy to someone else. We’ve historically thought about the main Destiny campaigns as something we want to be pretty easy (I think D2’s campaign was actually too easy at times), and as players push further into the post-game they’d be able to find more challenge. Across Destiny’s history we haven’t had enough challenge deep into the end game, and that’s definitely something on our list as we head toward fall 2019.

Overcoming challenges is a huge part of what makes an action game’s moment-to-moment engaging. Action games are a delicate balance of growing stronger, the game rising up to push back, introducing new challenges that force you to learn/become more powerful/master a new element and — at their best — creating the fist pumping moment of celebration when you achieve victory.

But Destiny has an RPG component, too. And the RPG component is about customization, optimization, and it’s a way for players to choose how they overcome challenge. The entire time we’ve been making Destiny, the action game and the RPG have been fighting. It’s the forever war. The RPG has the power to dramatically overcome the action game, and the action game has the power to render the RPG game irrelevant. It’s a line – by nature – Destiny will always have to straddle.

In order to create challenge during Season of the Drifter, we needed to break a bunch of encounter rules, have exotics like Phoenix Protocol basically function like a key (or hope you match with multiple Radiance Warlocks) which then unlocks success in the matchmade encounters of Reckoning. There’s a really good video from Slayerage on this in the context of the nerfs we made heading into Season of Opulence.

Those nerfs also saw Whisper of the Worm get its day in court. If I could turn back time, we’d probably not run Whisper as the original Black Hammer infinite ammo design. However, considering the year before had Destiny 2 feeling very restrictive and power-limited, I think we did the best that we could with the knowledge and intuition we had last summer.

Whisper was an outlier that lets you stand still at a safe distance, in a pool that makes you borderline invulnerable, never having to reload or relocate for ammo, and allow players to deal piles and piles of damage on giant bosses who aren’t threatening. This isn’t your fault! It’s ours! We’re making some stuff too easy and allowing players to circumvent parts of the game! Mechanics that circumvent the ammo game (relocate to pick up ammo bricks) or completely ignore the reload animations (a critical part of weapon tuning) are mechanics that create the kind of outliers that we ultimately have to tamp down before the game spirals into the boss health version of Reckoning bridges.

The other significant set of changes we made to the game during this time were taking down the Super Snowball exotics. With as powerful as Destiny Supers have become (they are – on the whole – dramatically more powerful than Destiny 1’s Supers), using your Super to recover your Super is an amplification to player power that the challenge and difficulty game can’t keep up with. But, we’re going to talk about Supers much later on.

Difficulty and challenge are important parts of mastery. There are more changes coming in Shadowkeep (buffs to things like Scout Rifles, nerfs to mechanics that circumvent the ammo economy, refactoring of the way damage stacking rules work) — we’re gonna talk about it in the next episode.

Season of Opulence, Part I: the Pursuits tray is a Caterpillar in a Cocoon–Questlog is the Beautiful Butterfly


I’ve seen streams and videos of people beating activities in Destiny blindfolded. I cannot imagine developing the muscle memory and memorization (nevermind the thumbskill required) to be good at Destiny with the blast shield down.

When things fundamentally change in a way that interrupts muscle memory and mastery, it is frustrating. The initial set of changes to the Pursuits tray earlier this year did a few things beyond upsetting muscle memory. It certainly didn’t get as far as the team wanted in its initial release and it also didn’t feel like an improvement over what previously existed.

It felt like we started to redecorate your house but we didn’t finish it (and sometimes, that’s how things in a live game can feel).

The morning after the Pursuits changes went live, I talked to some folks on the UI team about the feature. They had Reddit open.

“Have you read it, Luke?”

“Nah, I haven’t.”

“Please don’t.”

They were crestfallen. Not just because of the sometimes-harsh-feeling feedback, but because this team wanted make something sweet, exceed your expectations, and meet their own expectations. None of those things happened. We wanted to try something different with Pursuits, in the sense that we knew where we wanted this feature to end up, but that we’d take some iterative steps to get there. I think we’ve got to do a better job ensuring that while we’re remodeling your house, the potential of the renovation is clearer either in the game or via some communication here on the site.

We want a Questlog with great tracking that can help players prioritize what to do next.

Oh, and this fall, bounties will be separated from quests and PC players can assign a hot key that takes them directly to the Pursuits menu.

Season of Opulence, Part II: The Evolving Eververse


Last year, we thought long and hard about Eververse and how we wanted to change the strategy around microtransactions in Destiny.  As some folks have smartly pointed out, MTX is a big part of our business being a live game. I’m not going to say “MTX funds the studio” or “pays for projects like Shadowkeep” — it doesn’t wholly fund either of those things. But it does help fund ongoing development of Destiny 2, and allows us to fund creative efforts we otherwise couldn’t afford. For example: Whisper of the Worm’s ornaments were successful enough that it paid [dev cost-wise] for the Zero Hour mission/rewards to be constructed (this shit matters!).

The storefront, which we launched alongside Season of Opulence is the first part of the strategic shift we’re making with MTX. The decision to run old content in Bright Engrams instead of making new Bright Engrams is another part of the shift. We want to believe that our players would rather just buy things they like from the store. Earlier this summer, we detailed a bunch of the changes coming to Bright Dust and Eververse this fall (and if you haven’t read that, go check it out here).

The storefront is going to get another round of enhancements this fall, too. We’re going to move it to the Director, so you don’t have go to the Tower and see Tess to interact with it. We’re giving it some Class specific content, so if you’re on your Titan looking for Titan Universal Ornaments with smaller shoulders, you’ll see Titan armor on one of the store’s subpages. We’re also going to make it so that the pieces you’ve already acquired from a given set reduce the Silver price of the set. For instance, if you are 3/5 Optimacy set on your Titan, the cost to finish the set in Silver will be reduced by 60%.

There are some other philosophies here that we haven’t made explicitly clear:

We have made deliberate choices related to cosmetic items and not having them come from gameplay. Gameplay rewards are where you get items, power, mods, perk combinations, stats, triumphs, and titles. The aesthetics for armor blurs the line some – we want players to get cool armor from activities and the world that feel thematic to where they were acquired. Cosmetic items like universal ornaments, weapon ornaments, shaders, ships, sparrows, emotes, and finishers typically come from the store (There are exceptions, but generally speaking, that’s how we think about this).

We are continuing to try and separate capability/gameplay from vanity. Armor 2.0 and Universal Ornaments are big parts of this separation. This is also why Finisher perks are mods that can be socketed into equipment, so that their aesthetic can stand alone.

As always, we welcome your feedback and thoughts.

Season of Opulence, Part III: The Menagerie is Sweet


Have you ever been to an amazing party for something like the Super Bowl? It’s the kind of party where there is an incredible spread of snacks rolling out throughout the event, amazingly comfortable seating, an A/V system and TV that makes you jealous, and super sweet people to hang out with. Once you’ve been to this party — the Super Bowl anywhere else never feels the same (invite me back somedayyyyyyyyy).

This is how I feel about Escalation Protocol. Once I had the feeling of running around in public bubbles, fighting giant bosses with a bunch of players (even though getting into a good instance of Mars for Protocol was a pain in the butt!), public gameplay never felt the same. At its peak, when you have a bunch of players slaying big ol’ bosses, Escalation Protocol is one of the best things we’ve added to Destiny 2.

The Menagerie – a six-player matchmade activity where you make progress no matter what – is awesome. Its “learn-by-watching mechanics” means that it doesn’t require communication between players. The way groups can make progress – even if they don’t kill the boss – means the real efficiency gain is by learning and executing the fights quickly. Hasapiko, Beloved by Calus — and also beloved by me — feels like a great translation of World of Warcraft’s Heigan the Unclean** into an action game.

There’s a lot to like about the Menagerie, but I’m going to close the activity part here with: We love the Menagerie, it’s a great middle spot on a six-player activity pyramid, with Raids sitting at the top. Escalation Protocol (aka Partying in Public) is a great base. We want to do more activities like this, but in the context of what we learned and in a way that we can better support them over the long-term.

Season of Opulence, Part IV: The Chalice of Opulence and Somehow Even More Season of the Drifter Thoughts


Having some ways to target and farm some specific gear in Destiny is great. We did a version of this with Black Armory weapons but the very, very long character-specific attunement questline for the Forges was a bit much. We made the Opulence attunement account-wide as a result.

The Chalice was an even bigger version of targeting rewards. Players could unlock different sets of armor, different weapons, and even select their Masterwork perk roll.

Pause on Chalice thoughts. 

We will come back to the Chalice. Let’s talk about how we build the game.

While content for Destiny is released serially, it is largely developed in parallel. For instance, while Forsaken was in its final few months, Black Armory was well underway, and Season of the Drifter was in development while Black Armory was being built, et cetera. For years people have wondered “Why doesn’t release X do the thing content drop Y did? Get it together, Bungie.”

This is one of the reasons why. So even though Menagerie is sweet, and Chalice is great, while Shadowkeep was being built, the Menagerie and the Chalice hadn’t yet been released. So we didn’t know how players would react.

Because we have so much to build, we frequently find ourselves having to place many bets at the same time. This has paid dividends at times – we discover new and awesome things like Escalation Protocol or Menagerie – and this has also resulted in things that feel like setbacks at other times.

An example of a setback is the reward chase during Season of the Drifter. There are a bunch of super awesome weapons in Drifter (One Two Punch Last Man Standing), but the path to them isn’t clear like Black Armory or the Chalice. We didn’t do a good enough job of rewarding players for their time or giving them clearer paths to some of the sweet weapons in the release. If we had a do-over with this season’s rewards we’d probably have dropped Armor directly from Prime and maybe used Reckoning combined with learnings from Menagerie’s fail forward mechanics to let players chase awesome rolls on weapons they could love. While I got pretty lucky with a Rapid Hit Kill Clip Spare Rations, I personally had more fun chasing my Kindled Orchid or Austringer.

Unpause. Back to Chalice. 

The Chalice isn’t perfect. Being held hostage by THE rune you want to drop from a Strike or Crucible to go make the weapon or armor piece you’re coveting is pretty frustrating.

But having more ways in the game to pursue loot in a deterministic fashion, while preserving the hunt for a great roll, is something that we hope to explore.

Things left unsaid-ish while looking back

  • There’s a lot a lot a lot of awesome stuff we didn’t spend time talking about (Tribute Hall, Lumina, that cool Drifter cinematic with the Taken Captain, lore books, Vanguard/Drifter choice, et cetera).
      • Full disclosure: I’m almost always going to focus on opportunities for improvement, rather than celebration!
  • We’re in the midst of Solstice and Moments of Triumph so the learnings for those are still bubbling up.

Looking Ahead to Looking Ahead

The rest of the Director’s Cut updates are going to focus on Shadowkeep and the changes we’re making this year. Here are some of the topics that will be included:

  • Supers and PVP in Destiny 2
  • Armor, Stats, Mods, and Tradeoffs
  • Powerful Sources, Prime Engrams and the World
  • Damage numbers, damage stacking rules
  • And more

I know this is a lot to read (because it was a lot to write). I appreciate you taking the time to make it this far. Like all things with Destiny, it’s a journey. The next two parts of this journey will look at the RPG and Combat game.

See you soon,

Luke Smith

*It’s a set of aspirational goals that can help guide the team to create better experiences for players who love Destiny. And it’s a simple way to describe how we’re thinking about the game to all of you. And even when it’s true, there will always be work left to do. And we’re committed to it.

**Fun fact: Heigan the Unclean was often called the “dance” boss in the WoW Raid Naxxaramas and Hasapiko means “the butcher’s dance” in Greek. It’s a little nod back to Blizzard’s Xûr reference.


https://www.sickgaming.net/blog/2019/08/...ut-part-i/

Print this item

  News - BlizzCon 2019 Commemorative Collectible Celebrates 25 Years of Warcraft
Posted by: xSicKxBot - 09-09-2019, 06:19 PM - Forum: Lounge - No Replies

BlizzCon 2019 Commemorative Collectible Celebrates 25 Years of Warcraft



https://www.sickgaming.net/blog/2019/04/...-warcraft/

Print this item

  News - Season 16: The Season of Grandeur is Now Live
Posted by: xSicKxBot - 09-09-2019, 06:19 PM - Forum: Lounge - No Replies

Season 16: The Season of Grandeur is Now Live



https://www.sickgaming.net/blog/2019/02/...-now-live/

Print this item

 
Latest Threads
௹©Ukraine Shein COUPON Co...
Last Post: udwivedi923
2 hours ago
௹©Morocco Shein COUPON Co...
Last Post: udwivedi923
2 hours ago
௹©USA Shein COUPON Code ...
Last Post: udwivedi923
2 hours ago
௹©Armenia Shein COUPON Co...
Last Post: udwivedi923
2 hours ago
௹©Brazil Shein COUPON Cod...
Last Post: udwivedi923
3 hours ago
௹©South Africa Shein COUP...
Last Post: udwivedi923
3 hours ago
௹©Moldova Shein COUPON Co...
Last Post: udwivedi923
3 hours ago
௹©Malta Shein COUPON Code...
Last Post: udwivedi923
3 hours ago
௹©Luxembourg Shein COUPON...
Last Post: udwivedi923
3 hours ago
௹©Kazakhstan Shein COUPON...
Last Post: udwivedi923
3 hours ago

Forum software by © MyBB Theme © iAndrew 2016