Project Scorpio: i dev kit sono pronti per la scalabilità e la compatibilità con Xbox One

Nelle scorse ore, a seguito di un articolo apparso su Windows Central che riporta alcune dichiarazioni di una “fonte fidata” inerenti la prossima console made in Redmond, molto probabilmente avrete avuto modo di leggere sparse per il web notizie focalizzate sul fatto che Scorpio potrà far girare i titoli UWP sviluppati per PC.

Si tratta di una gradita notizia ma è un qualcosa di scontato che non dovrebbe sorprendere nessuno; è intrinseco nella stessa logica che sta dietro al concetto di Universal Windows Platform e al conseguente ecosistema unico accessibile tramite One/One S, Scorpio o PC Windows 10. Nell’articolo di Windows Central, a mio avviso, è un altro il passaggio di maggior interesse e ha a che fare con i concetti di compatibilità e scalabilità all’interno della famiglia di hardware Xbox. Ma andiamo con ordine passando in rassegna quanto pubblicato da Windows Central.

Our source told us that any game programmed natively for UWP on Windows 10 will run on Project Scorpio with a trivial amount of changes. This has always been Microsoft’s vision for UWP.
When a game is being run by a customer, it will detect the hardware making the runtime request and unpack the correct assets dynamically. Since UWP games on PC already support most Xbox features, including controllers, there will be a minimal amount of work involved when bringing PC UWP games to the Xbox consoles.
Questa è la parte che più è stata ripresa dalle testate giornalistiche ma, come dicevamo prima, è anche quella che più di tutte non dovrebbe sorprendere; deriva dalla definizione stessa di UWP e cioè dalla possibilità, semplificando al massimo il discorso, di sviluppare un gioco (ma più in generale una app) con una parte di codice core comune a più device e altri blocchi di codice e asset specifici per i vari dispositivi.
Our source told us that games such as Gears of War 4, ReCore, Rise of the Tomb Raider and Forza Horizon 3 are already using this system on Xbox One and Windows 10 PCs today.
Non serviva una fonte fidata per fare questa affermazione, è risaputo che questi titoli nell’ecosistema One-Win10 viaggiano su UWP. Anzi è già stato più volte dichiarato da Microsoft che titoli come FH3 e GOW4, grazie alla scalabilità con cui sono stati realizzati, sono oggi già pronti per Scorpio dove il codice pescherà a piene mani dagli asset più avanzati e già belli che pronti perché sviluppati per le versioni PC.

Project Scorpio will run on the Xbox One OS, with additional features that support VR and 4K gaming. Whether it will retain the same visual interface is unknown, but considering Project Scorpio is designed to sit alongside the Xbox One, rather than supersede it, it makes sense.

This means that all of the investment in features for Xbox One, including backward compatibility with Xbox 360, the upcoming Arena, Looking For Group and Clubs update, Beam streaming integration, Cortana, UWP apps, your Xbox One game library and more will be available on Project Scorpio

E’ abbastanza logico e anche rassicurante che One e Scorpio condivideranno lo stesso sistema operativo e che, di conseguenza, il grande lavoro che Microsoft vi ha fatto e che continua a farvi non vada sprecato in alcun modo. Anche perché alla fine già ora su Xbox One il kernel è quello di Windows 10 e lo stesso si dovrà avere su Scorpio, altrimenti tutto il discorso UWP e ecosistema unico non starebbe in piedi.
Our source told us that Project Scorpio dev kits will be a “one-stop shop” for all Xbox platform development. Project Scorpio will be able to mimic an Xbox One at a hardware level so developers can test how their games scale between different power levels. This system is known internally as Project Helix.
Qui arriviamo al passaggio più interessante. Nulla di sconvolgente, ma è già più meritevole di attenzione perché fa capire come Microsoft faccia sul serio quando dice che le due macchine (Xbox One e Project Scorpio) faranno parte della stessa famiglia e che nessuno verrà lasciato indietro. Come ho più volte sostenuto, la parola d’ordine per la coesistenza di One e Scorpio senza azzoppare quest’ultima sarà “scalabilità” e il fatto che gli sviluppatori possano lavorare su questo aspetto agendo sul medesimo kit di sviluppo è un’ottima notizia. Sappiamo infatti che le due console, fatta eccezione per i titoli in realtà virtuale che approderanno solo su Scorpio, a livello software saranno del tutto compatibili condividendo il medesimo parco titoli con, ovviamente, performance tecnico-grafiche differenti. L’augurio, dato il notevolissimo gap prestazionale, è che i miglioramenti su Scorpio siano ben evidenti. Affinché ciò avvenga è, per l’appunto, fondamentale che Microsoft metta a disposizione degli sviluppatori strumenti adeguati a perseguire al meglio la scalabilità del software. I dev kit di Scorpio in grado, secondo queste indiscrezioni, di “simulare” a livello hardware una Xbox One consentiranno agli sviluppatori di portare avanti più agevolmente lo sviluppo dei giochi all’interno dell’allargata famiglia Xbox.

Nel quadro appena delineato, come capirete bene, agli sviluppatori serve anche la possibilità di “scendere” sulle varie macchine in modo da sfruttarne le peculiarità ed evitarne un sottoutilizzo rispetto alle reali potenzialità di calcolo. Un discorso del genere potrebbe sembrare in contrasto con l’opera di unificazione del codice in un unico pacchetto perseguito dalle UWP. In realtà non è così perché con l’avvento delle UWP non cessa mica d’esistere l’XDK (Xbox Development Kit)Lo sviluppo con le UWP permette oltre all’utilizzo concorrente di più linguaggi differenti anche il ricorso ad SDK di estensione per scendere sulle specificità di ogni macchina della famiglia Windows (Xbox One e Scorpio incluse). Ecco cosa si legge in una guida introduttiva allo sviluppo per UWP destinata agli sviluppatori:

  • Esiste una superficie di API comune per tutte le famiglie di dispositivi.

    Le API di base per la piattaforma UWP (Universal Windows Platform) sono uguali per tutte le famiglie di dispositivi Windows. Se la tua app usa solo le API di base, potrà essere eseguita in qualsiasi dispositivo Windows 10.

  • Gli SDK di estensione permettono all’app di mettere in evidenza determinate funzionalità in dispositivi specifici.Gli SDK di estensione aggiungono API specifiche per ogni famiglia di dispositivi. Se la tua app è destinata a una determinata famiglia di dispositivi, puoi mettere in evidenza le funzionalità specifiche del dispositivo usando queste API. Potrai comunque usare un solo pacchetto dell’app che viene eseguito in tutti i dispositivi, verificando la famiglia del dispositivo in cui è in esecuzione la tua app prima di chiamare un’API di estensione.

Insomma sembra che le premesse per vedere una coesistenza di One e Scorpio all’insegna sia della piena compatibilità sia della massima scalabilità ci siano. Non ci resta che attendere per capire se e in che modo si concretizzeranno.