This change log includes the Bink development history for both Bink 1 and Bink 2 (which are licensed separately).If you'd like to be notified when there's a new version of Bink, you can follow us at twitter.com/radgametools.
The recent leak of the Xbox One development tools - along with the accompanying documentation - gives us a fascinating insight into the creation and evolution of Microsoft's latest console. Recent innovations, such as the release of a seventh CPU core for game developers, have come to light owing to the leak, but the docs contain much more in the way fascinating background information. In fact, they give us an entire timeline of the system's development from the moment alpha devkits first arrived with developers way back in April 2012, all the way through to refinements and enhancements added as recently as November 2014.
Xbox Development Kit (XDK) 64 bit
As the first alpha development kits made their way to developers, there was no Xbox One as we know it - Microsoft's next-gen console project was known only by its codename, Durango (a Mexican state, if you're interested). Indeed, at this point, there was no actual console hardware in existence - developers were provided with what was basically a generic-looking PC, broadly equivalent to Microsoft's vision for technical capabilities of the retail console. It's this machine that noted hacker SuperDAE acquired, presumably via the platform holder's developer portal, eventually ending up for sale on eBay. At this time, the basics of the machine became evident - Durango was based on low-power 64-bit x86 cores, and would use DirectX 11-class graphics hardware.
So what was the state of the actual Xbox One silicon at this point? Well, the APU containing the CPU, GPU, Move Engines and ESRAM would have been designed, but the physical hardware would still have been in development in Microsoft labs. However, software development continued apace on the alpha platform. What's clear is that much of the coding effort was still concentrated on multimedia features. Connectivity to other devices using SmartGlass, natural user interface features based on Kinect 2.0, and a focus on multimedia as a whole are themes that many of the updates seem to focus on during this period.
Graphics: The original development PCs shipped with a standard AMD PC graphics card and developers were provided with a generic DirectX 11 "manufacturer supplied driver". As early as April 2012, however, Microsoft began to roll out a Durango specific driver with limited functionality known as the "Durango user-mode driver" or UMD. Additional features were added regularly to the UMD including hardware video encoding and decoding, D3D 11.1 tessellation functionality, changes to shader handling and more. By August, the user-mode driver becomes the default; two months later, support for the generic legacy driver is removed altogether. Driver updates continue to appear regularly, as one might expect, but it isn't until the later release of the D3D Monolithic driver - the highly optimised GPU interface that Microsoft continued to work on until the UMD was eventually deprecated - that things started to really take off.
Development tools: In May of 2012 Microsoft reintroduces the excellent PIX performance profiler, which has long served the Xbox development community for analysing and understanding the performance characteristics of in-development code. The initial release seems rather basic and improvements to PIX come fast and heavy following its introduction. This manifests itself with the addition of a resource browser with views into render targets and the depth buffer, a visual timeline of GPU draw events, an evolving user interface and the ability to capture low-overhead run-time timing data from CPU and GPU events for more detailed analysis. On top of that there's user-defined event support, and the initial release of a system monitor used for real-time profiling, capable of displaying performance counters streamed from the devkit in real-time. Additionally, plenty of additional tools are added and improved throughout this early period, including changes to the Visual Studio coding environment, additional templates, faster deployment for testing, architecture changes, and improved code generation.
By early 2013, we're fast approaching the official reveal of the console. By this point the design of the system finally comes together. Somewhere around February, beta devkits are in circulation with developers, based on the retail console form-factor and using final silicon - although the supporting software was still very much in development at this time. The early beta kits are described as 'zebra' hardware - white consoles with black livery. Contemporary reports suggest that the black patterns vary from kit to kit in order to identify the source of any hardware leaks - a faintly amusing state of affairs given that SuperDAE and VGLeaks had already revealed virtually everything there was to know about Durango's technological make-up. It's interesting to note that some of these old leaks still exist almost verbatim in the leaked documentation.
By March 2013, all support for the original alpha hardware is gone, and the Zebra beta hardware becomes the standard box for developers to work with. Across the following months, these kits are eventually replaced by production Xbox One hardware, differentiated from the Zebra kits not just by their more standard physical appearance, but also in their ability to adapt to the final, enhanced CPU and GPU clock-speeds (1.75GHz and 853MHz respectively). During this period, development in the software side continued:
GameDVR: Obviously in development for some time, it's nevertheless curious that the GameDVR's appearance in the development environment as of March 2013 coincides with the announcement of PlayStation 4 and its very similar feature-set. Sharing of the gameplay experience was a key consideration for both Sony and Microsoft, and doubtless would have been informed by the very similar hardware architecture both companies opted to license from AMD.
At Digital Foundry, we have something of a burning need to understand how gaming hardware works, and the SDK leak offers us the largest mine of information we have on developing for the Xbox One since we interviewed the hardware architects way back in October 2013. The technical minutiae is often inconsequential, sometimes revelatory, but always fascinating, providing plenty of insight into the direction Microsoft has been moving across a hectic 19 months of console development.
Of course, it's worth noting that improvement doesn't happen in a vacuum. It's difficult to imagine that Sony hasn't boosted the capabilities of its hardware in a similar fashion. There's no doubt that Sony is slower to roll out feature updates to consumers but the development side remains a mystery at this time. Information tends to trickle out slowly and conservatively, usually via GDC/Siggragh developer presentations (it took around eight months for our story on the PS4 system memory reservation to be confirmed officially), but maybe the Xbox One leak may be matched with a Sony equivalent at some point soon. Regardless, the major takeaway is that titiles should improve in 2015 - not just because of refined development tools, but also because game-makers will be embarking on their second-gen PS4/Xbox One projects - and we can't wait to see those in action.
The development environment runs on Windows. Portability to the Windows platform is a consideration, but there are a lot of external factors such as the architecture of the game itself that make it impossible to say that a game is 100-percent portable to a Windows-based PC. One of the key goals of XNA is to enable developers to easily build game content for both Windows and Xbox.
The are basically two types of development consoles: the standard Xbox 360 Development Kit (XDK) and the XDK-GB, which is equipped with additional memory. For more information, see the discussion of the XDK-GB in Types of Xbox 360 Development Kit Platforms
Certain tools, including some profilers and DVD emulation, will require a 1:1 relationship. Most tools will not. For day-to-day development, the version of the XDK used on the Windows PC and the development kit must match. As was the case with Xbox, a development kit is accessible to other Windows PCs over the network.
We are providing XUI, a full-featured vector-based UI run-time engine for games to use as they see fit. Performance and resource usage are key considerations in the design and implementation of the XUI Runtime. We are also providing a full-featured tool to assist in the design and development of content for the XUI Runtime.
The Retail console is the normal Xbox 360 that someone can purchase at a retail outlet. Unlike the other systems that run your development content, the Retail console is the only type of console that can play games from retail DVDs.
Development consoles and Test consoles are available in the following models: standard consoles with the same amount of memory as Retail consoles (512 MB), and Xbox 360 GB consoles that include 1 GB of memory. The extra memory can be helpful during development process for these reasons:
1. Back up your NAND. You will need a tool called Flash360. Place this on your hard drive's development volume via Neighborhood and run the .XEX file and select "Backup current NAND to file". After doing so you should find flashdmp.bin in the same place you saved Flash360 at. Place this somewhere safe on your PC where you will not lose it. You should do this after every fresh recovery. It also doesn't hurt to keep multiple backups in case one somehow corrupts.
The OpenXR framework is the multi-company standard for VR and AR development. With the OpenXR plugin, you can target multiple XR devices with the same API in Unreal Engine. The OpenXR plugin also supports extension plugins from the Marketplace so you can add functionality to OpenXR without relying on Engine releases. 2ff7e9595c
Comments