Open sourcing, new platforms and more

Xenko is going Open Source!

We are thrilled to announce that Xenko is going open source on github! This is an important step toward the empowerment of game developers. We hope that this will make you more confident in using Xenko. You will have also an unique opportunity to contribute to the project and see by yourself how Xenko engine is working.

Xenko is now delivered with two licences types:

  • Binary Release version
  • Source version

Binary Release version

Xenko binary release (as distributed on our website, with unmodified signed assemblies) is under the "Xenko 1.x version" License Agreement.

It allows you to create games and distribute them freely and royalty-free, as long as you use the signed binary runtime.

Source version

  • Most of Xenko source code is released under the GPL v3 License (unless otherwise stated).
  • A few specific parts (stated explicitely in the source header) are released under MIT, CPL or Apache 2.0 (usually matching license of original contribution).
  • Some libraries (i.e. SiliconStudio.Core) will probably be converted to MIT later.

It means that if you use Xenko built from sources (either unmodified or modified), you must publish source of your game, as well as any changes to Xenko that you might have done (as per GPLv3 license).

Even for Binary Release version users, it allows to easily browse the sources and understand what's happening inside Xenko.

If you want specific license terms (i.e. use a modified and/or self-compiled version of Xenko for your project), feel free to contact us at [email protected]

Contributions

We gladly accept external contributions. Feel free to submit us pull requests and we will consider them for inclusion.

Contributors will need to sign electronically a Contributor License Agreement, available here (based on Harmony). It allows us to use your changes in the commercial version, and relicense code easily (in case we decide to go MIT at some point for example).

Otherwise you are free to fork, as long as you maintain GPL v3 License.

New Platforms

We are also pushing a new release 1.0.0-beta01. This release is most notably adding support for two new platforms:

  • Windows RT/Store
  • Windows Phone

It means that you can now target easily several major platforms:

  • Windows
  • Windows Phone
  • Windows Store
  • iPhone
  • iPad
  • Android Phone
  • Android Tablet

You will be able to upgrade the platforms on your existing project by simply using the contextual menu Update Package\Update Platforms on a package in Xenko Studio.

New Samples

We are also delivering 3 new samples:

  • SimpleTerrain that demonstrates how to generate an entity model/mesh at runtime by displaying a heightmap terrain
  • SimpleDynamicTexture that demonstrates how to dynamically upload CPU textures to the GPU
  • RenderSceneToTexture that shows how to render your models in a render target from another camera point of view and display in a texture

Roadmap

Towards the coming months, we are expecting to deliver lots of new features!

This is a short list of the things we have in the pipe:

  • A full scene editor
  • An improved animation system
  • Real-time dynamic scripting from Xenko Studio and Visual Studio while the game is running (on Windows, at development time)
  • Several advanced new rendering techniques and post effects.
  • Support for more platforms (OSX, Linux...)

As we have done so far, we will try to provide a sustained delivery of new versions, with lots of small fixes and enhancements along the bigger features, as soon as they are ready (even in an alpha stage).

At some point, we will open a user voice to collect your votes. Don't hesitate to post your thoughts on our answers hub!

Release notes 1.0.0-beta01

Release date: 2014/10/17

New Features

  • Assets: Materials can be compiled into a shader without being attached to a mesh. Use the key MaterialAsset.GenerateShader in your pdxfxlib file to allow this feature.
  • Engine: Add support for Windows Store and Windows Phone projects.
  • Misc: Assemblies are now all signed.
  • Studio: Create Windows Store and Phone Projects.
  • Studio: Deploy Windows Phone project directly from Game Studio.
  • Studio: Add and remove platforms of existing game. Force to regenerate platform specific projects.
  • Studio: Choose what platforms to create when starting from a sample.
  • UI: Add support for MouseOver on Windows (mainly MouseOverState property/event in UIElement)

Enhancements

  • Samples: Load material and lighting configuration for the stand in ForwardLighting and DeferredLighting.
  • Shaders: Incorrect shaders are no longer cached preventing NullReferenceException errors at compilation time.
  • Studio: Generated solutions are created with VS2013 as default.
  • Studio: The 'sprite' editor can now be used on UIImages too.
  • UI: Improve default design of Button and EditText.
  • UI: Make the EditText's caret blink and dissociate caret/selection colors.
  • UI: Add support for mouse selection in EditText on Windows.
  • UI: Create default design for ImageToggle.
  • UI: UIImages are now regrouped into UIImageGroup the same way as SpriteGroup. The runtime-time and assets classes share the same hierarchy.

Issues fixed

  • Assets: Orientation of meshes from the assimp importer is now correct (#22).
  • Assets: Mesh and materials are correctly associated during assimp import.
  • Materials: Material always contains a diffuse part even if their color is black.
  • Samples: Exhaustive shaders permutations for DeferredLighting.
  • Shaders: The default shader is correct even when there is no parameter to generate it (no diffuse, no specular...).
  • Shaders: Fix specular in deferred shading.
  • Shaders: Correctly rename class in AmbientMapShading.pdxsl.
  • Shaders: Fix issues related to geometry shader creation.
  • Studio: New LightingAsset asset can be created in GameStudio.
  • Studio: Unsupported assets are ignored when trying to be imported (#42).
  • Studio: Fix issue with asset thumbnails sometimes not being updated.
  • Studio: Some properties of the Material assets displayed with wrong/missing controls.
  • UI: Fix problem in Canvas MeasureOverride method when measured with infinite values.

Breaking changes

  • Assets: SpriteGroup asset field 'Sprites' has been renamed 'Images' (.pdxsprite files can recovered by renaming the field inside the file).
  • Assets: UIImage assets does not exist any more and have been replaced UIImageGroup assets. The old .pdxuiimg files cannot be easily recovered. The new .pdximage files can be easily created using the GameStudio 'sprite' editor.
  • UI: EditText's EditInactiveImage and EditActiveImage properties have been renamed InactiveImage and ActiveImage.
  • UI: Simplify ToggleButton. It now behaves like a Button with persistent states.

Known Issues

  • iOS: On slow phones, app might be too slow to start with Visual Studio attached (it gets killed by iOS). We will rearrange our initialization sequence.
  • iOS: Rebuild might sometime not use latest version.
  • Samples: Due to the way we now create platform-specific projects, samples specific icons on non-Windows platforms are currently gone. Later, a project setting page in Game Studio should make this setting available again.
  • Samples: Since there is no accelerometer Input API yet, Accelerometer sample is currently removed.
  • Windows Store/Phone: UI EditText and Game Resume/Destroy cycles are not implemented.
  • Windows Store/Phone: SharpFont.dll is still compiled against .NET 4.5 (might not pass certifications).

Comments