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,210
» Latest member: hyujgh
» Forum threads: 21,719
» Forum posts: 22,611

Full Statistics

Online Users
There are currently 788 online users.
» 0 Member(s) | 784 Guest(s)
Applebot, Baidu, Bing, Google

 
  [Tut] Python List extend() Method
Posted by: xSicKxBot - 03-14-2020, 08:08 AM - Forum: Python - No Replies

Python List extend() Method

How can you not one but multiple elements to a given list? Use the extend() method in Python. This tutorial shows you everything you need to know to help you master an essential method of the most fundamental container data type in the Python programming language.

Definition and Usage


The list.extend(iter) method adds all elements in the argument iterable iter to an existing list.

Here’s a short example:

>>> lst = [1, 2, 3]
>>> lst.extend([4, 5, 6])
>>> lst
[1, 2, 3, 4, 5, 6]

In the first line of the example, you create the list lst. You then append the integers 4, 5, 6 to the end of the list using the extend() method. The result is the list with six elements [1, 2, 3, 4, 5, 6].

Try it yourself:


Syntax


You can call this method on each list object in Python. Here’s the syntax:

list.extend(iterable)

Arguments



Argument Description
iterable All the elements of the iterable will be added to the end of the list—in the order of their occurrence.

Video




Code Puzzle


Now you know the basics. Let’s deepen your understanding with a short code puzzle—can you solve it?

# Puzzle
# Author: Finxter Lee
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst1.append(lst2) lst3 = [1, 2, 3]
lst4 = [4, 5, 6]
lst3.extend(lst4) print(lst1 == lst3)
# What's the output of this code snippet?

You can check out the solution on the Finxter app. (I know it’s tricky!)

Examples


Let’s dive into a few more examples:

>>> lst = [1, 2, 3]
>>> lst.extend({32, 42})
>>> lst
[1, 2, 3, 32, 42]
>>> lst.extend((1, 2))
>>> lst
[1, 2, 3, 32, 42, 1, 2]
>>> lst.extend(range(10,13))
>>> lst
[1, 2, 3, 32, 42, 1, 2, 10, 11, 12]
>>> lst.extend(1)
Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> lst.extend(1)
TypeError: 'int' object is not iterable
>>>

You can see that the extend() method allows for all sorts of iterables: lists, sets, tuples, and even range objects. But what it doesn’t allow is an integer argument. Why? Because the integer argument isn’t an iterable—it doesn’t make sense to “iterate over all values in an integer”.

Python List extend() At The Beginning


What if you want to use the extend() method at the beginning: you want to “add” a number of elements just before the first element of the list.

Well, you should work on your terminology for starters. But if you insist, you can use the insert() method instead.

Here’s an example:

>>> lst = [1, 2, 3]
>>> lst.insert(0, 99)
>>> lst
[99, 1, 2, 3]

The insert(i, x) method inserts an element x at position i in the list. This way, you can insert an element to each position in the list—even at the first position. Note that if you insert an element at the first position, each subsequent element will be moved by one position. In other words, element i will move to position i+1.

Python List extend() vs +


List concatenation operator +: If you use the + operator on two integers, you’ll get the sum of those integers. But if you use the + operator on two lists, you’ll get a new list that is the concatenation of those lists.

l1 = [1, 2, 3]
l2 = [4, 5, 6]
l3 = l1 + l2
print(l3)

Output:

[1, 2, 3, 4, 5, 6]

The problem with the + operator for list concatenation is that it creates a new list for each list concatenation operation. This can be very inefficient if you use the + operator multiple times in a loop.

How fast is the + operator really? Here’s a common scenario how people use it to add new elements to a list in a loop. This is very inefficient:

import time start = time.time() l = []
for i in range(100000): l = l + [i] stop = time.time() print("Elapsed time: " + str(stop - start))

Output:

Elapsed time: 14.438847541809082

The experiments were performed on my notebook with an Intel® Core™ i7-8565U 1.8GHz processor (with Turbo Boost up to 4.6 GHz) and 8 GB of RAM.

I measured the start and stop timestamps to calculate the total elapsed time for adding 100,000 elements to a list.

The result shows that it takes 14 seconds to perform this operation.

This seems slow (it is!). So let’s investigate some other methods to concatenate and their performance:

Python List extend() Performance


Here’s a similar example that shows how you can use the extend() method to concatenate two lists l1 and l2.

l1 = [1, 2, 3]
l2 = [4, 5, 6]
l1.extend(l2)
print(l1)

Output:

[1, 2, 3, 4, 5, 6]

But is it also fast? Let’s check the performance!

Performance:

I performed a similar experiment as before for the list concatenation operator +.

import time start = time.time() l = []
l.extend(range(100000)) stop = time.time() print("Elapsed time: " + str(stop - start))

Output:

Elapsed time: 0.0

I measured the start and stop timestamps to calculate the total elapsed time for adding 100,000 elements to a list.

The result shows that it takes negligible time to run the code (0.0 seconds compared to 0.006 seconds for the append() operation above).

The extend() method is the most concise and fastest way to concatenate lists.

Python List append() vs extend()


I shot a small video explaining the difference and which method is faster, too:



The method list.append(x) adds element x to the end of the list.

The method list.extend(iter) adds all elements in iter to the end of the list.

The difference between append() and extend() is that the former adds only one element and the latter adds a collection of elements to the list.


You can see this in the following example:

>>> l = []
>>> l.append(1)
>>> l.append(2)
>>> l
[1, 2]
>>> l.extend([3, 4, 5])
>>> l
[1, 2, 3, 4, 5]

In the code, you first add integer elements 1 and 2 to the list using two calls to the append() method. Then, you use the extend method to add the three elements 3, 4, and 5 in a single call of the extend() method.

Which method is faster — extend() vs append()?


To answer this question, I’ve written a short script that tests the runtime performance of creating large lists of increasing sizes using the extend() and the append() methods.

Our thesis is that the extend() method should be faster for larger list sizes because Python can append elements to a list in a batch rather than by calling the same method again and again.

I used my notebook with an Intel® Core™ i7-8565U 1.8GHz processor (with Turbo Boost up to 4.6 GHz) and 8 GB of RAM.

Then, I created 100 lists with both methods, extend() and append(), with sizes ranging from 10,000 elements to 1,000,000 elements. As elements, I simply incremented integer numbers by one starting from 0.

Here’s the code I used to measure and plot the results: which method is faster—append() or extend()?

import time def list_by_append(n): '''Creates a list & appends n elements''' lst = [] for i in range(n): lst.append(n) return lst def list_by_extend(n): '''Creates a list & extends it with n elements''' lst = [] lst.extend(range(n)) return lst # Compare runtime of both methods
list_sizes = [i * 10000 for i in range(100)]
append_runtimes = []
extend_runtimes = [] for size in list_sizes: # Get time stamps time_0 = time.time() list_by_append(size) time_1 = time.time() list_by_extend(size) time_2 = time.time() # Calculate runtimes append_runtimes.append((size, time_1 - time_0)) extend_runtimes.append((size, time_2 - time_1)) # Plot everything
import matplotlib.pyplot as plt
import numpy as np append_runtimes = np.array(append_runtimes)
extend_runtimes = np.array(extend_runtimes) print(append_runtimes)
print(extend_runtimes) plt.plot(append_runtimes[:,0], append_runtimes[:,1], label='append()')
plt.plot(extend_runtimes[:,0], extend_runtimes[:,1], label='extend()') plt.xlabel('list size')
plt.ylabel('runtime (seconds)') plt.legend()
plt.savefig('append_vs_extend.jpg')
plt.show()

The code consists of three high-level parts:

  • In the first part of the code, you define two functions list_by_append(n) and list_by_extend(n) that take as input argument an integer list size n and create lists of successively increasing integer elements using the append() and extend() methods, respectively.
  • In the second part of the code, you compare the runtime of both functions using 100 different values for the list size n.
  • In the third part of the code, you plot everything using the Python matplotlib library.

Here’s the resulting plot that compares the runtime of the two methods append() vs extend(). On the x axis, you can see the list size from 0 to 1,000,000 elements. On the y axis, you can see the runtime in seconds needed to execute the respective functions.


The resulting plot shows that both methods are extremely fast for a few tens of thousands of elements. In fact, they are so fast that the time() function of the time module cannot capture the elapsed time.

But as you increase the size of the lists to hundreds of thousands of elements, the extend() method starts to win:

For large lists with one million elements, the runtime of the extend() method is 60% faster than the runtime of the append() method.

The reason is the already mentioned batching of individual append operations.

However, the effect only plays out for very large lists. For small lists, you can choose either method. Well, for clarity of your code, it would still make sense to prefer extend() over append() if you need to add a bunch of elements rather than only a single element.

Python Append List to Another List


To append list lst_1 to another list lst_2, use the lst_2.extend(lst_1) method. Here’s an example:

>>> lst_1 = [1, 2, 3]
>>> lst_2 = [4, 5, 6]
>>> lst_2.extend(lst_1)
>>> lst_2
[4, 5, 6, 1, 2, 3]

Python List extend() Returns None


The return value of the extend() method is None. The return value of the extend() method is not a list with the added elements. Assuming this is a common source of mistakes.

Here’s such an error where the coder wrongly assumed this:

>>> lst = [1, 2].extend([3, 4])
>>> lst[0]
Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> lst[0]
TypeError: 'NoneType' object is not subscriptable

It doesn’t make sense to assign the result of the extend() method to another variable—because it’s always None. Instead, the extend() method changes a list object without creating (and returning) a new list.

Here’s the correct version of the same code:

>>> lst = [1, 2]
>>> lst.extend([3, 4])
>>> lst[0]
1

Now, you change the list object itself by calling the extend() method on it. You through away the None return value because it’s not needed.

Python List Concatenation


So you have two or more lists and you want to glue them together. This is called list concatenation. How can you do that?



These are six ways of concatenating lists (detailed tutorial here):

  1. List concatenation operator +
  2. List append() method
  3. List extend() method
  4. Asterisk operator *
  5. Itertools.chain()
  6. List comprehension
a = [1, 2, 3]
b = [4, 5, 6] # 1. List concatenation operator +
l_1 = a + b # 2. List append() method
l_2 = [] for el in a: l_2.append(el) for el in b: l_2.append(el) # 3. List extend() method
l_3 = []
l_3.extend(a)
l_3.extend(b) # 4. Asterisk operator *
l_4 = [*a, *b] # 5. Itertools.chain()
import itertools
l_5 = list(itertools.chain(a, b)) # 6. List comprehension
l_6 = [el for lst in (a, b) for el in lst]

Output:

'''
l_1 --> [1, 2, 3, 4, 5, 6]
l_2 --> [1, 2, 3, 4, 5, 6]
l_3 --> [1, 2, 3, 4, 5, 6]
l_4 --> [1, 2, 3, 4, 5, 6]
l_5 --> [1, 2, 3, 4, 5, 6]
l_6 --> [1, 2, 3, 4, 5, 6] '''

What’s the best way to concatenate two lists?

If you’re busy, you may want to know the best answer immediately. Here it is:

To concatenate two lists l1, l2, use the l1.extend(l2) method which is the fastest and the most readable.

To concatenate more than two lists, use the unpacking (asterisk) operator [*l1, *l2, ..., *ln].

However, you should avoid using the append() method for list concatenation because it’s neither very efficient nor concise and readable.

Python List extend() Unique – Add If Not Exists


A common question is the following:

How can you add or append elements to a list, but only if they don’t already exist in the list?

When ignoring any performance issues, the answer is simple: use an if condition in combination with the membership operation element in list and only append() the element if the result is False (don’t use extend() for this fine-grained method). As an alternative, you can also use the negative membership operation element not in list and add the element if the result is True.

Example: Say, you want to add all elements between 0 and 9 to a list of three elements. But you don’t want any duplicates. Here’s how you can do this:

lst = [1, 2, 3]
for element in range(10): if element not in lst: lst.append(element)

Resulting list:

[1, 2, 3, 0, 4, 5, 6, 7, 8, 9]

You add all elements between 0 and 9 to the list but only if they aren’t already present. Thus, the resulting list doesn’t contain duplicates.

But there’s a problem: this method is highly inefficient!

In each loop iteration, the snippet element not in lst searches the whole list for the current element. For a list with n elements, this results in n comparisons, per iteration. As you have n iterations, the runtime complexity of this code snippet is quadratic in the number of elements.

Can you do better?

Sure, but you need to look beyond the list data type: Python sets are the right abstraction here. If you need to refresh your basic understanding of the set data type, check out my detailed set tutorial (with Harry Potter examples) on the Finxter blog.

Why are Python sets great for this? Because they don’t allow any duplicates per design: a set is a unique collection of unordered elements. And the runtime complexity of the membership operation is not linear in the number of elements (as it’s the case for lists) but constant!

Example: Say, you want to add all elements between 0 and 9 to a set of three elements. But you don’t want any duplicates. Here’s how you can do this with sets:

s = {1, 2, 3}
for element in range(10): s.add(element) print(s)

Resulting set:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

The set doesn’t allow for duplicate entries so the elements 1, 2, and 3 are not added twice to the set.

You can even make this code more concise:

s = {1, 2, 3}
s = s.union(range(10)) print(s)

Output:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

The union method creates a new set that consists of all elements in both operands.

Now, you may want to have a list as a result and not a set. The solution is simple: convert the resulting set to a list by using the list(set) conversion method. This has linear runtime complexity and if you call it only once, it doesn’t change the overall runtime complexity of the code snippet (it remains linear in the number of set elements).

Problem: what if you want to maintain the order information and still add all elements that are not already in the list?

The problem with the previous approach is that by converting the list to a set, the order of the list is lost. In this case, I’d advise you to do the following: use two data structures, a list and a set. You use the list to add new elements and keep the order information. You use the set to check membership (constant rather than linear runtime complexity). Here’s the code:

lst = [1, 2, 3]
s = set(lst) for element in range(10): if element not in s: s.add(element) lst.append(element) print(lst)

Resulting list:

[1, 2, 3, 0, 4, 5, 6, 7, 8, 9]

You can see that the resulting list doesn’t contain any duplicates but the order information is maintained. At the same time, the runtime complexity of the code is linear because each loop iteration can be completed in constant time.

The trade-off is that you have to maintain two data structures which results in double the memory overhead. This nicely demonstrates the common inverse relationship between memory and runtime overhead.

Python List extend() Return New List


If you use the lst.extend(iter) operation, you add the elements in iter to the existing list lst. But what if you want to create a new list where all elements were added?

The answer is simply to use the list concatenation operation lst + list(iter) which creates a new list each time it is used. The original list lst will not be affected by the list concatenation operation.

Here’s an example that shows that the extend() method only modifies an existing list:

>>> lst_1 = [1, 2, 3]
>>> lst_2 = lst_1.extend([42, 99])
>>> lst_1
[1, 2, 3, 42, 99]

And here’s the example that shows how to create a new list as you add elements 42 and 99 to a list:

>>> lst_3 = [1, 2, 3]
>>> lst_4 = lst_3 + [42, 99]
>>> lst_3
[1, 2, 3]

By using the list concatenation operation, you can create a new list rather than appending the element to an existing list.

Python List extend() Time Complexity, Memory, and Efficiency


Time Complexity: The extend() method has linear time complexity O(n) in the number of elements n to be added to the list. Adding one element to the list requires only a constant number of operations—no matter the size of the list.

Space Complexity: The extend() method has linear space complexity O(n) in the number of elements n to be added to the list. The operation itself needs only a constant number of bytes for the involved temporary variables. The memory overhead does not depend on the size of the list.

If you’re interested in the most performant ways to add multiple elements to a list, you can see extensive performance tests in this tutorial on the Finxter blog.

Python List extend() at Index


If you want to insert a whole list at a certain position and create a new list by doing so, I’d recommend to use Python slicing. Check out this in-depth blog tutorial that’ll show you everything you need to know about slicing.

Here’s the code that shows how to create a new list after inserting a list at a certain position:

>>> lst = [33, 44, 55]
>>> lst[:2] + [99, 42] + lst[2:]
[33, 44, 99, 42, 55]

Again, you’re using list concatenation to create a new list with element 99 inserted at position 2. Note that the slicing operations lst[:2] and lst[2:] create their own shallow copy of the list.

Python List extend() Thread Safe


Do you have a multiple threads that access your list at the same time? Then you need to be sure that the list operations (such as extend()) are actually thread safe.

In other words: can you call the extend() operation in two threads on the same list at the same time? (And can you be sure that the result is meaningful?)

The answer is yes (if you use the cPython implementation). The reason is Python’s global interpreter lock that ensures that a thread that’s currently working on it’s code will first finish its current basic Python operation as defined by the cPython implementation. Only if it terminates with this operation will the next thread be able to access the computational resource. This is ensured with a sophisticated locking scheme by the cPython implementation.

The only thing you need to know is that each basic operation in the cPython implementation is atomic. It’s executed wholly and at once before any other thread has the chance to run on the same virtual engine. Therefore, there are no race conditions. An example for such a race condition would be the following: the first thread reads a value from the list, the second threads overwrites the value, and the first thread overwrites the value again invalidating the second thread’s operation.

All cPython operations are thread-safe. But if you combine those operations into higher-level functions, those are not generally thread safe as they consist of many (possibly interleaving) operations.

Where to Go From Here?


The list.extend(iter) method adds all elements in iter to the end of the list (in the order of their appearance).

You’ve learned the ins and outs of this important Python list method.

If you keep struggling with those basic Python commands and you feel stuck in your learning progress, I’ve got something for you: Python One-Liners (Amazon Link).

In the book, I’ll give you a thorough overview of critical computer science topics such as machine learning, regular expression, data science, NumPy, and Python basics—all in a single line of Python code!

Get the book from Amazon!

OFFICIAL BOOK DESCRIPTION: Python One-Liners will show readers how to perform useful tasks with one line of Python code. Following a brief Python refresher, the book covers essential advanced topics like slicing, list comprehension, broadcasting, lambda functions, algorithms, regular expressions, neural networks, logistic regression and more. Each of the 50 book sections introduces a problem to solve, walks the reader through the skills necessary to solve that problem, then provides a concise one-liner Python solution with a detailed explanation.



https://www.sickgaming.net/blog/2020/03/...nd-method/

Print this item

  Blender 2.82a Released
Posted by: xSicKxBot - 03-14-2020, 08:08 AM - Forum: Game Development - No Replies

Blender 2.82a Released

Fast on the heels of the Blender 2.82 release, comes a minor but appreciated stability release, Blender 2.82a.  This release fixes 20+ bugs, including:

You can learn more about the release in the Blender release notes.  Blender is available for download on multiple platforms right here.  You can learn more about the recent 2.82 release here or in the video below.

[embedded content]

GameDev News


<!–

–>



https://www.sickgaming.net/blog/2020/03/...-released/

Print this item

  AppleInsider - Apple to close all retail stores outside of China until March 27
Posted by: xSicKxBot - 03-14-2020, 08:07 AM - Forum: Apples Mac and OS X - No Replies

Apple to close all retail stores outside of China until March 27

Apple CEO Tim Cook in a letter published late Friday detailed the company’s response to the ongoing COVID-19 pandemic, saying it will close all retail outlets outside of Greater China until March 27.

Apple Store

Source: Deirdre O’Brien via Instagram

Cook in the letter acknowledged the severity of COVID-19, noting Apple “wants to continue to play a role in helping individuals and communities emerge stronger” from the crisis.

The executive said Apple learned a great deal from combating the virus in China, where the company just today reopened its chain of 42 stores, and came away with a set of best practices that will assist it and others in formulating a global response.

“One of those lessons is that the most effective way to minimize risk of the virus’s transmission is to reduce density and maximize social distance,” Cook writes. “As rates of new infections continue to grow in other places, we’re taking additional steps to protect our team members and customers.”

While China’s stores remain open, albeit with reduced operating hours, Apple will close all other outlets around the world to mitigate transmission and spread of the virus. Prior to Cook’s letter, the company on Friday announced store closures across Spain and one U.S. location in Pennsylvania.

Apple’s online storefront, accessible via the web or the official Apple Store app, will be open during the two-week hiatus for brick-and-mortar stores. Customers looking for technical support and repairs are urged to visit support.apple.com, where they can be connected with local Authorized Service Providers or request a product to be mailed in for service.

During the temporary shutdown, all hourly workers are set to receive full pay, Cook said. Further, Apple has updated work policies to accommodate personal or family health circumstances resulting from COVID-19, including recovering from an illness, caring for sick family members, mandatory quarantining, or childcare challenges due to school closures.

As with past global emergencies, Apple is donating funds to the global COVID-19 response. According to Cook, the company’s commitments reached $15 million worldwide, with funds going toward treatment and to “help lessen the economic and community impacts” of the virus. Apple is also matching employee donations on a two-to-one basis to support local, national and international COVID-19 response efforts.

Cook closed the letter by thanking those fighting on the front line, specifically first responders, doctors, nurses, researchers, public health experts and public servants.

“We do not yet know with certainty when the greatest risk will be behind us,” Cook writes. “And yet I have been inspired by the humanity and determination I have seen from all corners of our global community. As President Lincoln said in a time of great adversity: ‘The occasion is piled high with difficulty, and we must rise with the occasion. As our case is new, so we must think anew, and act anew.’ That’s always how Apple has chosen to meet big challenges. And it’s how we’ll rise to meet this one, too.”

Deirdre O’Brien, Apple’s SVP of Retail and People, issued a short statement on Instagram to announce the coming store closures and thank retail employees.

“I am profoundly grateful to our exceptional team members all around the world who have shown such deep care for our customers and each other during this difficult time,” O’Brien said.

Today’s announcement should come as no surprise, as Apple’s response to the coronavirus pandemic has been swift and wide-reaching. Apple Stores in China were initially closed in late January, followed by a complete retail and corporate shutdown in early February. The company this week shuttered all outlets in Italy on the back of a national quarantine, suspended all Today at Apple sessions in the U.S. and instituted strict global policies with hopes of minimizing the spread of the virus.

Most recently, Apple on Friday announced this year’s Worldwide Developers Conference will be held completely online due to ongoing COVID-19 concerns.



https://www.sickgaming.net/blog/2020/03/...-march-27/

Print this item

  Microsoft - Swiss Re announces a strategic alliance with Microsoft
Posted by: xSicKxBot - 03-14-2020, 08:07 AM - Forum: Windows - No Replies

Swiss Re announces a strategic alliance with Microsoft

Logos for Microsoft and Swiss Re

  • Swiss Re to create a Digital Market Center using Microsoft’s data analytics and artificial intelligence capabilities to transform how risks are predicted, managed and insured
  • Microsoft to support Swiss Re in developing go-to-market strategies for new risk management solutions and insurance products based on data insights
  • The Digital Market Center’s initial focus will be on connected vehicles and mobility, Industry 4.0 and natural catastrophe resilience

Zurich, March 12, 2020 – Swiss Re and Microsoft Corp. announced today a strategic alliance to further advance insurance innovation and extend financial protection to more people globally. The centrepiece of the strategic alliance is the launch of Swiss Re’s Digital Market Center, which will help develop next-generation large-scale tools to transform the way the insurance industry predicts and manages risks, as well as how the industry creates tangible products based on Swiss Re’s risk knowledge.

Swiss Re’s new Digital Market Center will draw on Microsoft’s next-generation Azure cloud technologies, internet of things and artificial intelligence capabilities. The first areas of application are planned to be connected vehicles and mobility, industrial manufacturing (“Industry 4.0”), and natural catastrophe resilience. The Digital Market Center will also develop innovative cyber platforms to measure business risks in a digital environment and enable a new class of risk technology solutions.

Swiss Re’s Digital Market Center will offer insurers a broader understanding of risks and their ripple effects on society, governments and economies. For example, powered by Microsoft’s automotive data capabilities, Swiss Re will be able to develop a much deeper analysis of automotive risks such as a car’s safety performance when using the latest driving assistance technologies. By providing data-driven insights from this type of data, Swiss Re can enable insurers to design innovative new motor insurance products, such as pay-as-you-drive covers.

Swiss Re’s work in this area will go beyond new product creation and provide broader risk insights for complex, interconnected systems. For example, risk managers can get a greater understanding of how the loss of a ship’s cargo may impact global supply chains, or how natural catastrophes will impact a government’s key infrastructure investments. Based on these type of data insights, insurers can develop solutions that proactively mitigate losses before they occur.

As part of the strategic alliance, Swiss Re will transform its internal operating platform by modernising and moving it to the Azure cloud. This move will increase the efficiency and effectiveness of the core processes by leveraging the most advanced data processing and AI capabilities at scale.

Thierry Léger, CEO Swiss Re Life Capital, said: “Swiss Re’s alliance with Microsoft will help accelerate the digital transformation of the insurance industry, with benefits across all lines of business. By building digital markets and not just isolated products, we aim to transform the way businesses approach the risks they face. The alliance between Swiss Re and Microsoft present an exciting opportunity for the insurance industry.”

Anette Bronder, Swiss Re Group Chief Operating Officer, said: “Digital transformation can only be achieved through strong partnerships. The strategic alliance with Microsoft will greatly advance our ability to make our risk expertise available to our clients. At the same time, we can achieve significant efficiency gains for our own internal platforms and processes. This is an important step for Swiss Re’s evolution as a leading data-enabled risk knowledge company.“

Jean-Philippe Courtois, Executive Vice President and President, Microsoft Global Sales, Marketing and Operations at Microsoft, added: “I am looking forward to seeing how this collaboration enables new pathways for innovation in how insurance solutions are built and managed. By combining Swiss Re’s risk expertise with Microsoft Azure, we have the opportunity to deliver greater peace of mind to people and to enrich their experience with the insurance industry.”

Swiss Re

The Swiss Re Group is one of the world’s leading providers of reinsurance, insurance and other forms of insurance-based risk transfer, working to make the world more resilient. It anticipates and manages risk – from natural catastrophes to climate change, from ageing populations to cybercrime. The aim of the Swiss Re Group is to enable society to thrive and progress, creating new opportunities and solutions for its clients. Headquartered in Zurich, Switzerland, where it was founded in 1863, the Swiss Re Group operates through a network of around 80 offices globally. It is organised into three Business Units, each with a distinct strategy and set of objectives contributing to the Group’s overall mission.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

For more information, press only:

Microsoft Media Relations, WE Communications for Microsoft, (425) 638-7777, rrt@we-worldwide.com

For logos and photography of Swiss Re executives, directors or offices go to https://www.swissre.com/media/electronic-press-kit.html

For media ‘b-roll’ please send an email to media_relations@swissre.com

Cautionary note on forward-looking statements
Certain statements and illustrations contained herein are forward-looking. These statements (including as to plans, objectives, targets, and trends) and illustrations provide current expectations of future events based on certain assumptions and include any statement that does not directly relate to a historical fact or current fact.

Forward-looking statements typically are identified by words or phrases such as “anticipate”, “assume”, “believe”, “continue”, “estimate”, “expect”, “foresee”, “intend”, “may increase”, “may fluctuate” and similar expressions, or by future or conditional verbs such as “will”, “should”, “would” and “could”. These forward-looking statements involve known and unknown risks, uncertainties and other factors, which may cause the Group’s actual results of operations, financial condition, solvency ratios, capital or liquidity positions or prospects to be materially different from any future results of operations, financial condition, solvency ratios, capital or liquidity positions or prospects expressed or implied by such statements or cause Swiss Re to not achieve its published targets. Such factors include, among others:

  • the frequency, severity and development of insured claim events, particularly natural catastrophes, man-made disasters, pandemics, acts of terrorism or acts of war;
  • mortality, morbidity and longevity experience;
  • the cyclicality of the reinsurance sector;
  • central bank intervention in the financial markets, trade wars or other protectionist measures relating to international trade arrangements, adverse geopolitical events, domestic political upheavals or other developments that adversely impact global economic conditions;
  • increased volatility of, and/or disruption in, global capital and credit markets;
  • the Group’s ability to maintain enough liquidity and access to capital markets, including sufficient liquidity to cover potential recapture of reinsurance agreements, early calls of debt or debt-like arrangements and collateral calls due to actual or perceived deterioration of the Group’s financial strength or otherwise;
  • the Group’s inability to realize amounts on sales of securities on the Group’s balance sheet equivalent to their values recorded for accounting purposes;
  • the Group’s inability to generate sufficient investment income from its investment portfolio, including as a result of fluctuations in the equity and fixed income markets, the composition of the investment portfolio or otherwise;
  • changes in legislation and regulation, or the interpretations thereof by regulators and courts, affecting the Group or its ceding companies, including as a result of comprehensive reform or shifts away from multilateral approaches to regulation of global operations;
  • the lowering or loss of one of the financial strength or other ratings of one or more companies in the Group, and developments adversely affecting its ability to achieve improved ratings;
  • uncertainties in estimating reserves, including differences between actual claims experience and underwriting and reserving assumptions;
  • policy renewal and lapse rates;
  • uncertainties in estimating future claims for purposes of financial reporting, particularly with respect to large natural catastrophes and certain large man-made losses, as significant uncertainties may be involved in estimating losses from such events and preliminary estimates may be subject to change as new information becomes available;
  • legal actions or regulatory investigations or actions, including in respect of industry requirements or business conduct rules of general applicability;
  • the outcome of tax audits, the ability to realize tax loss carryforwards and the ability to realize deferred tax assets (including by reason of the mix of earnings in a jurisdiction or deemed change of control), which could negatively impact future earnings, and the overall impact of changes in tax regimes on the Group’s business model;
  • changes in accounting estimates or assumptions that affect reported amounts of assets, liabilities, revenues or expenses, including contingent assets and liabilities;
  • changes in accounting standards, practices or policies;
  • strengthening or weakening of foreign currencies;
  • reforms of, or other potential changes to, benchmark reference rates;
  • failure of the Group’s hedging arrangements to be effective;
  • significant investments, acquisitions or dispositions, and any delays, unforeseen liabilities or other costs, lower-than-expected benefits, impairments, ratings action or other issues experienced in connection with any such transactions;
  • extraordinary events affecting the Group’s clients and other counterparties, such as bankruptcies, liquidations and other credit-related events;
  • changing levels of competition;
  • the effects of business disruption due to terrorist attacks, cyberattacks, natural catastrophes, public health emergencies, hostilities or other events;
  • limitations on the ability of the Group’s subsidiaries to pay dividends or make other distributions; and
  • operational factors, including the efficacy of risk management and other internal procedures in anticipating and managing the foregoing risks.

These factors are not exhaustive. The Group operates in a continually changing environment and new risks emerge continually. Readers are cautioned not to place undue reliance on forward-looking statements. Swiss Re undertakes no obligation to publicly revise or update any forward-looking statements, whether as a result of new information, future events or otherwise.

This communication is not intended to be a recommendation to buy, sell or hold securities and does not constitute an offer for the sale of, or the solicitation of an offer to buy, securities in any jurisdiction, including the United States. Any such offer will only be made by means of a prospectus or offering memorandum, and in compliance with applicable securities laws.



https://www.sickgaming.net/blog/2020/03/...microsoft/

Print this item

  News - Coronavirus Isolation Is Causing A Spike In Online Gaming Traffic In Italy
Posted by: xSicKxBot - 03-14-2020, 08:07 AM - Forum: Nintendo Discussion - No Replies

Coronavirus Isolation Is Causing A Spike In Online Gaming Traffic In Italy

Fortnite

We’re all more than aware of the havoc being caused by the coronavirus outbreak – E3 is the latest major gaming event to be cancelled as a result – but the spread is naturally causing unique situations depending on your location.

Italy is one of a number of countries which has decided to close its schools in an attempt to prevent further spreading of the virus. With kids being left to occupy themselves at home, a sudden surge in internet traffic has been reported with a new boost in online gaming serving as one of the main contributors.

A Bloomberg report notes that Telecom Italia, a major Italian telecommunications company, has seen the amount of data passing through its network surge by more than two-thirds in the past two weeks. Games such as Fortnite and Call of Duty have been highlighted in the report, as their vast number of players are using more bandwidth than working adults’ business programs and conference calls.

“We reported an increase of more than 70% of Internet traffic over our landline network, with a big contribution from online gaming such as Fortnite,” says Telecom Italia CEO Luigi Gubitosi.

Reportedly, traffic from games like the ones mentioned above can spike even higher on days when updates are pushed live as keen players all jump online to download the latest content at the same time.

Of course, the popularity of online games like Fortnite may well grow further as more and more people are forced to stay at home. Pokémon GO developer Niantic has actually introduced new updates to allow players to enjoy the game from home, rather than having to go out and about.



https://www.sickgaming.net/blog/2020/03/...-in-italy/

Print this item

  News - Review: Dead Or School – Mutant-Slaying With A Sense Of Style
Posted by: xSicKxBot - 03-14-2020, 08:07 AM - Forum: Nintendo Discussion - No Replies

Review: Dead Or School – Mutant-Slaying With A Sense Of Style


Dead or School is a game full of obvious jank: likely the product of a tiny team of three working on a very tight, crowdfunded budget to realise a very – perhaps overly – ambitious creative vision. It’s questionably optimised, particularly in handheld mode, where it chugs quite a bit. Its 2D sprites appear obviously paper-thin when the camera shifts to a slight angle. Its pre-rendered cutscenes look considerably worse than the in-game polygonal backdrops, which already look a bit dated. And its huge (albeit lovely-looking) interface occasionally covers up the action.

Yet somehow, there’s some real magic at work here; the core appeal of the game is such that all of these issues simply cease to matter after just a few minutes because you’ll be having too good a time to notice. What we have here is a wonderfully enjoyable 2D side-scroller that deserves a lot more attention than it’s probably going to get. It’s such a fundamentally satisfying, good-natured experience that has clearly been put together with such love it’s hard to be mad about anything it could do a little bit better.


Dead or School is a post-apocalyptic tale, developed as a speculative side-story to director and artist Mokusei Zaijuu’s self-published sci-fi manga Machine Doll Nanami-chan. More than seventy years have passed since a war between humanity and mutants – a conflict which drove mankind underground and left the mutants to roam unchecked on the surface. The people have, for the most part, accepted their lot up until now – at least partly due to the fact that no-one seems to be able to remember the details of the war or where the mutants came from – but the third generation of subterranean humans are restless.

Protagonist Hisako is one of these third-generation underground residents and is fascinated by the forbidden world above. She learns that there were once places called “schools” on the surface, and that young people could gather, learn and play together there. Irresistibly drawn to this symbol of hope, Hisako wishes to do what she can to take back the surface and build a school where she and her friends can live in happiness. Her grandmother, recognising a fire in Hisako’s eyes that she hasn’t seen in anyone else for a very long time, gives the youngster her old school uniform, and encourages her to gather some allies, arm herself and do her best to realise her dream. Because what does humanity have to lose at this point?


The premise might initially seem ridiculous, but it’s actually the catalyst for an interesting, very sincere narrative that uses its lively, naïve protagonist to deliver a message of hope in a bleak world. And, as Hisako starts to uncover the truth behind the war – as well as the true motivations of several groups of humans that have formed beneath the ground – things build to a surprisingly epic climax with some intriguing twists.

The story is what provides the incentive to progress in Dead or School, but it’s the gameplay where it shines the brightest. What we have here is a huge side-scrolling 2D platformer with tight controls, weighty combat, lots of loot, and some seriously varied challenges of skill, intellect and dexterity.

Hisako is equipped with three weapons: a melee implement, a gun and an explosive launcher. Within each of these categories are numerous variations that handle differently to one another. In the melee category, for example, a fencing sword delivers rapid attacks to quickly chip down an enemy’s health, while a war hammer delivers a huge burst of damage one monstrous swing at a time.


There’s no one “correct” weapon loadout; you’re free to make decisions according to your preferred playstyle and the loot you’ve acquired. Weapons can also be modded in various ways to boost their statistics or add additional abilities to them. There’s a lot of customisation on offer here – though as always with games of this type you’re a little at the mercy of dear old RNGesus.

Enemy types are drip-fed throughout the duration of the campaign, so you’re always seeing new foes whenever you enter a new area. And the sheer variety in enemy types and attack patterns — not to mention the huge bosses – means that all three weapon categories are useful, so you’d better get comfortable with all of them.

There’s also an excellent dodge-roll mechanic, which both provides generous invincibility frames for negating attacks as well as a Bayonetta-style “slow time” mechanic if you scoot out of the way at just the right moment. Watch your stamina bar, though; this is not a game where you can just hammer the attack and dodge buttons and hope for the best.


Dead or School is mostly structured in “encounters”. While making your way from one save point to the next, you’ll run into situations where you’ll have to clear out several waves of enemies before you can proceed. These waves are predefined, so if you find yourself struggling, you can learn them and prepare accordingly before trying again. Until you reach the next save point, you’ll have to clear this encounter every time as you pass; once you’ve made it through, however, the encounter becomes optional and can be bypassed if you wish.

Progression through the game is, in this way, actually rather more linear than the open-looking maps might suggest – though there are numerous branches from the critical path that allow you to acquire optional collectable “souvenirs” and rescue trapped refugees. These are inevitably concealed beyond a self-contained challenge of some description, and many of these segments provide some of the most interesting set pieces in the game.

Deep beneath Tokyo’s “electric town” Akihabara, for example, you’ll find yourself shooting lightbulbs to reveal a path forward into the darkness; elsewhere you’ll be chased up a crumbling building by ever-advancing buzzsaws, invited to play an arcade machine that has somehow survived the war or even provided an opportunity to perform a guitar solo with a friendly mutant.


Meanwhile, the main path through the game takes you through a wide variety of environments, providing Hisako’s journey with a great sense of scale and context. In one stage, you’ll be making your way through the claustrophobic tunnels of the sewers; in another, you’ll be battling through the streets on the surface as chaos unfolds in the background. There’s always something new and exciting to see as you progress, and it’s this as much as the story that keeps you pushing ever onwards through Hisako’s perpetually satisfying adventure in the hope that one day, she will finally get to school.

Conclusion


For some, the technical jank may be enough to put them off engaging with Dead or School fully. That’d be a real shame, though; allow yourself to get wrapped up in the narrative, the mechanics, the piles of loot, the beautifully designed stages and the game’s wonderful sense of style, and there’s something truly special to enjoy here; an honest-to-goodness hidden gem if ever there was one.



https://www.sickgaming.net/blog/2020/03/...-of-style/

Print this item

  News - Division 2, Far Cry, Assassin's Creed, And More Get Major Xbox One Discounts
Posted by: xSicKxBot - 03-14-2020, 08:07 AM - Forum: Lounge - No Replies

Division 2, Far Cry, Assassin's Creed, And More Get Major Xbox One Discounts

Earlier this week, Microsoft kicked off its new set of weekly Xbox One deals, offering discounts on a bunch of great games like Call of Duty: Modern Warfare, Hitman 2, and Borderlands 3 Deluxe Edition. While you still have time to grab those deals, a new sale, dubbed the Triple Threat Sale, has popped up on the Xbox Store. For the next six days you can save on the Assassin's Creed and Far Cry franchises as well as games falling under the Tom Clancy umbrella.

The Division 2's Warlords of New York expansion released earlier this month, and right now you can grab the Warlords of New York Edition--which includes the base game and the $30 expansion--for $40.19 (was $60). The Ultimate Edition, which also includes the Year 1 Pass, all DLC released to date, and an Ultimate Pack filled with weapons and armor to use in-game, is down to $60 (was $80).

If you've missed out on some Assassin's Creed games, now's your chance to stock up for less. The most recent entries in the franchise, Assassin's Creed Odyssey and Assassin's Creed Origins, are on sale for $15 each (were $60). Odyssey's Season Pass, which includes two well-regarded expansions and Assassin's Creed III Remastered, is 50% off at $20. Alternatively, you can grab Odyssey's Gold Edition for $25 (was $100) and get the base game and season pass as a bundle. The Assassin's Creed Triple Pack--containing Black Flag, Unity, and Syndicate--is $29.69 (was $90). Going even further back, The Ezio Collection--Assassin's Creed 2, Brotherhood, Revelations--is just $12 (was $40).

Continue Reading at GameSpot

https://www.gamespot.com/articles/divisi...01-10abi2f

Print this item

  Microsoft - Microsoft announces change to its board of directors
Posted by: xSicKxBot - 03-14-2020, 01:04 AM - Forum: Windows - No Replies

Microsoft announces change to its board of directors

REDMOND, Wash. — March 13, 2020 — Microsoft Corp. today announced that Co-Founder and Technology Advisor Bill Gates stepped down from the company’s Board of Directors to dedicate more time to his philanthropic priorities including global health, development, education, and his increasing engagement in tackling climate change. He will continue to serve as Technology Advisor to CEO Satya Nadella and other leaders in the company.

On June 27, 2008, Gates transitioned out of a day-to-day role in the company to spend more time on his work at the Bill & Melinda Gates Foundation. He served as Microsoft’s chairman of the board until February 4, 2014.

“It’s been a tremendous honor and privilege to have worked with and learned from Bill over the years. Bill founded our company with a belief in the democratizing force of software and a passion to solve society’s most pressing challenges. And Microsoft and the world are better for it. The board has benefited from Bill’s leadership and vision. And Microsoft will continue to benefit from Bill’s ongoing technical passion and advice to drive our products and services forward. I am grateful for Bill’s friendship and look forward to continuing to work alongside him to realize our mission to empower every person and every organization on the planet to achieve more,” said Microsoft CEO Satya Nadella.

“On behalf of our shareholders and the Board, I want to express my deep appreciation to Bill for all his contributions to Microsoft. As a member of the Board, he challenged us to think big and then think even bigger. He leaves an enduring legacy of curiosity and insight that serves as an inspiration for us all,” said John W. Thompson, Microsoft independent board chair.

With Gates’ departure, the Board will consist of 12 members, including John W. Thompson, Microsoft independent chair; Reid Hoffman, partner at Greylock Partners; Hugh Johnston, vice chairman and chief financial officer of PepsiCo; Teri L. List-Stoll, executive vice president and chief financial officer of Gap, Inc.; Satya Nadella, chief executive officer of Microsoft; Sandra E. Peterson, operating partner, Clayton, Dubilier & Rice; Penny Pritzker, founder and chairman, PSP Partners; Charles W. Scharf, chief executive officer and president of Wells Fargo & Co.; Arne Sorenson, president and CEO, Marriott International Inc.; John W. Stanton, chairman of Trilogy Equity Partners; Emma Walmsley, CEO of GlaxoSmithKline plc (GSK); and Padmasree Warrior, founder, CEO and president, Fable Group Inc.

About Microsoft

Microsoft (Nasdaq “MSFT” @microsoft) enables digital transformation for the era of an intelligent cloud and an intelligent edge. Its mission is to empower every person and every organization on the planet to achieve more.

For more information, press only: Microsoft Media Relations, WE Communications for Microsoft, (425) 638-7777, rrt@we-worldwide.com



https://www.sickgaming.net/blog/2020/03/...directors/

Print this item

  News - Dragon: Marked For Death Is Receiving A “Massive Update” On 21st April
Posted by: xSicKxBot - 03-14-2020, 01:04 AM - Forum: Nintendo Discussion - No Replies

Dragon: Marked For Death Is Receiving A “Massive Update” On 21st April

Dragon Marked For Death

The side-scrolling action-RPG Dragon: Marked for Death by Inti Creates was definitely an interesting concept, but the game itself didn’t live up to expectations. Since its release early last year, it’s been patched a few times over, and soon it’ll be bumped up to Version 3.0.0.

According to the Inti Creates Twitter account this “massive update” will be released next month on 21st April, and will include the new characters – Oracle and Bandit. You can see these characters in action and listen to their Japanese voice cast in the trailer below:


We’ve also got some community patch notes, that have been gathered from the recent live stream (thanks for the tip, Ardisan):


Version 3.0.0 RELEASE DATE APRIL 21

– Bandit and Oracle will be added to the game
– Empress, Warrior, Shinobi and Witch will get new abilities
– Light Sword, Greatsword and Orb weapon types will be added to the game
– Character level cap increased to 100
– Quest level cap increased to 110

*Player Character new infos
*
Oracle
– 4 Japanese voices to choose from
Yui Ogura, Tomita Miyu, Saori Hayami, Yui Horie
– Oracle is free for everyone who owns the game regardless of whether physical or digital
– Players have to meet a certain requirement to unlock her
– We don’t know the requirement yet
– As long as you have already met the requirement, you should be able to play her
– Oracle can be built for both physical and magic dps role
– Oracle can be played as a primary support role
-magic only has homing and 1 power up

Bandit
– 4 Japanese voices to choose from (at least 1 eng voice?)
Kaji Yuki, Daisuke Kishio, Kenta tanaka, Daiki Yamashita
– To unlock Bandit, you need to complete the DLC quest story-line
– And also meet a second requirement
– Dragon Claw hitstuns the target
– Dragon Claw only has a DP cost on startup, extra continuous grapple has no cost for upkeep
– “Bandit’s power depends on how you build him”
– thunder bandit’s dragon dash has i-frame but somersault portion has no i-frame
-magic relic max number increases for the element same as the contract
-poison bandit’s poison magic relic boost more then other contracts
-thunder bandit’s thunder magic relic can be used multiple times in the air

Empress
– The Empress’s new movement depends on wearing Light sword
– Using the new Light Sword, after you do the basic aerial attack (spinning slash) and the Dragon Sword in the air, it initiates an even stronger, longer Dragon Sword
– Using Dragon Shot in the air to increase airtime allows you to maintain the stronger Dragon Sword
– Using DP, you can do a piercing dash stab with invincibility frames
– After the rapid stab attack, the piercing dash stab has less startup lag (animation cancelling)

Warrior
– If you do a normal ground combo as Warrior using a Greatsword it’ll do an upwards swing, but if you do a air slash afterwards, it’ll slam down the enemy
– “War cry” increases Berserk bonus and shockwave of charge atk
– The War cry boost depends on contract
– For Wind Warrior it’s about 2.1x ish
– Wind Warrior’s smash width has increased and moves forward a bit

Shinobi
– Giant Shuriken is similar to Shield Boomerang (surrounds the Shinobi defensively damaging nearby monsters); if locked on, it becomes homing
– Dragon Meteor is a powerful downward kick
– The longer you extend your aerial combo, the more damage Dragon Meteor does
– Elemental Contract determines the length of the combo you need to do to deal max damage, and also the max damage value itself

Witch
– Witch’s Orb gives her a Regen spell, Cure spell (remove status effects) and a Buff spell (increase specific stats)
– If you upgrade Cure, it becomes a Bizarre Bone buff (less time then 30sec? )

*Drops & Weapon Upgrade System
*
– You can start upgrading weapons from the Weapon Store/General Store using the Enhance Cubes that drop from monsters
– From +0 you can upgrade to +1, +1 to +2, +2 to +3
– However, the upgrade cost is massive
– “We’re not improving the drop rates, but we’ll make it easier in another way”
– “Not all weapons can be upgraded.”
– Only weapons below Lv.70 can be upgraded from +2 to +3
– “The drop rates for normal chests have been improved somewhat”
– You can appraise items individually; skip the Gacha animation by pressing +
– To work around deviation of equipment drops such as duplicate Kunai and Shuriken,
you can bring multiples of weapons of the same rarity (stars) along with materials and money to the Black Market and exchange them for their counterpart (i.e you can trade a bunch of Shuriken for a Kunai of the same tier)

*Training Stage
* solo only
– There will be a new training stage quest
– When you pick that quest, you can fight specific bosses
– In the beginning you can only fight certain bosses and low quest level
– Defeating bosses in their own quests will unlock them in the training room
– If the boss doesn’t exist at Q.Lv50, it won’t show up in the Q.Lv50 training room
– The bosses aren’t exactly the same, but they should be similar enough to their original variations
– You don’t consume your items if you use them in training
– You won’t get any drops, exp or gold from the training room

*Miscellaneous
*
– Sandbag/dummy added to the town (dmg, hit!#s, dps rates)
– Standing/idle animations for all characters when talking
– Backgrounds will have more details
– Quest info layout changed so that more information is on the right
– ability to skip new gold, exp gain animation by pressing +
– The new coins have bronze and silver (gold?) variants
– We’ll have three save files instead of the two currently (new characters should be playable on the new files if any saves reached the requirements)
– Gold reward from quests will be increased up to 20x for certain quests
– Patch is still in development so things are being adjusted as we speak
– If you fail a quest, the items you used won’t be consumed (same as abandoning quests currently)


Will you be returning to Dragon: Marked for Death to try out this new update? Comment below.



https://www.sickgaming.net/blog/2020/03/...1st-april/

Print this item

  News - Best-Selling Games And Console Of February 2020 Revealed (US)
Posted by: xSicKxBot - 03-14-2020, 01:04 AM - Forum: Lounge - No Replies

Best-Selling Games And Console Of February 2020 Revealed (US)

The NPD Group has revealed the best-selling games of February 2020, which comprises physical games and a limited amount of digital data. In addition to recent heavy-hitters like Call of Duty: Modern Warfare and Dragon Ball Z: Kakarot, Grand Theft Auto 5 continues to chart more than six years after its initial launch.

Call of Duty: Modern Warfare was followed by NBA 2K20 and Grand Theft Auto 5 in February, with Dragon Ball Z: Kakarot and The Division 2 rounding out the top five. Ring Fit Adventure was also in the top 10, which could come in handy for those looking to stay away from a public gym during the coronavirus outbreak.

Interestingly, there was not a single February 2020 game included on the top 20 list. It was a relatively slow month that saw the launch of a few games like Dreams and Darksiders Genesis, but they launched later in the month.

Continue Reading at GameSpot

https://www.gamespot.com/articles/best-s...01-10abi2f

Print this item

 
Latest Threads
(Indie Deal) No Clean Sta...
Last Post: xSicKxBot
3 hours ago
(Free Game Key) Steam | W...
Last Post: xSicKxBot
3 hours ago
News - PlayStation Plus E...
Last Post: xSicKxBot
3 hours ago
(Indie Deal) FREE Whiskey...
Last Post: xSicKxBot
Today, 01:45 AM
(Free Game Key) Steam & E...
Last Post: xSicKxBot
Today, 01:45 AM
News - Activision’s Lates...
Last Post: xSicKxBot
Today, 01:45 AM
(Xbox One) Vantage - Mod ...
Last Post: dylansirois12
Yesterday, 03:44 PM
WoW Admin Panel (Probably...
Last Post: Berrybrave
Yesterday, 11:30 AM
Black Ops (BO1, T5) DLC's...
Last Post: Prdzch
Yesterday, 11:20 AM
(Indie Deal) Approaching ...
Last Post: xSicKxBot
Yesterday, 08:59 AM

Forum software by © MyBB Theme © iAndrew 2016