Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
16. March 2016

 

Xenko Engine, previously known as Paradox, just released beta 1.6.  If you are unfamiliar with Xenko, I have done an in-depth tutorial series here.  This release brings quite a few updates, so let’s jump right in.

 

Updates to Xenko 1.6 include:

  • addition of prefabs enabling reusable content easily
  • archetypes, essentially create new objects using the traits of another object 07
  • particles can now be created directly in Xenko editor
  • curve editor inside Xenko studio (currently particle only)
  • new graphics engine.
  • experimental Direct3D 12 support
  • improved OpenGL support
  • scripts are now components
  • event system for communications between scripts
  • game settings improvements

Plus several smaller changes, fixes, etc:

Enhancements
Assets
Engine
  • The KeyedSortedList now implements ICollection<T> instead of IList<T> and is more consistent with CollectionDescriptor.
Game Studio
  • Support for prefabs, add a prefab editor
  • Create derived assets and support property inheritance
  • Added a curve editor to edit animation curve
  • Layout is saved on a solution basis. When reloading a project, Game Studio will try to present the same layout and reopen all assets that were edited (this include scenes, prefabs and sprite sheets).
  • Add a confirmation dialog to enable saving newly created script automatically.
  • Add a confirmation dialog to enable reloading modified assemblies automatically. This is necessary for the script to appear in the list of components that can be added to an entity.
  • Physics gizmos are shown by default.
  • Preview of an asset can be displayed even if this asset is being edited.
  • Project folder can be opened in Windows explorer from the launcher with right-clicking.
  • Properties of derived asset are displayed in gray, unless they are overridden. In this case they are displayed in bold.
  • Rework scene initialization in the scene editor: the scene will be available almost immediately, and content (model, etc.) will be streamed in as soon as they are (asynchronously) loaded.
  • The entity fixup wizard has been removed. Now when an entity is deleted, all references to it or to one of its component is reset to null.
  • The gizmo and camera menus are now displayed in the top-right corner.
  • Entity hierarchy is synchronized (automatically expanded) with the selected entity in the scene.
Graphics
  • New D3D12 renderer (experimental)
  • New Windows OpenGL and OpenGL ES renderers (experimental)
  • Rewrote most of the low- and high-level graphics code to have better performance and better take advantage of new graphics APIs
  • Properly separated rendering in 4 phases: Collect (collect & cull), Extract (copy data from scene to renderers), Prepare (prepare cbuffer data & heavy computations), Draw (emit draw calls)
  • Introduced concepts of RenderFeature (entry point for extending rendering), RenderStage (effect selection), RenderView and RenderObject
  • Render sorting logic can now be customized (culling will be soon too)
  • Low-level API has been rewritten to match better new API: CommandList, DescriptorSet, DescriptorHeap, PipelineState, etc.
  • Introduced concept of RendererProcessor which are responsible for pushing component data to rendering
  • Many other changes, that will soon be covered in documentation
Input
  • Improved GamePad event management to resemble the keyboard API.
Issues fixed
Game Studio
  • Fix Scripts thumbnail generation during project launch.
  • Fix Settings window sharing columns layout with property grid ([#341](https://github.com/SiliconStudio/xenko/issues/341 (new window))).
  • Fix default IDE settings incorrectly reset to null.
  • Fix a crash occurring when duplicating an object quickly after selecting it.
  • Fix an issue with the message box incorrectly resizing.
  • Tooltips are always visible even if the control (menu, button…) is disabled.
  • Fix several issues with undo/redo.
  • Fix drag and drop of components into properties
  • Sometimes the Game Studio was not asking to save when closed with some changes in a project.
  • Fix some issues related to folders in scene editor.
  • Redo does not re-open asset picker anymore.
Graphics
  • Tangents generation was invalid and might have resulted in various swaps
Physics
  • Improved collision detection reliability
  • Fixed collision filter groups
  • Fixed enable/disable component behavior
Breaking changes
Graphics
  • Extending rendering is quite different from before. Please check SpaceEscape and other samples to have a better idea while we prepare documentation.
  • Many methods of GraphicsDevice have been split off into a second class: CommandList
  • Added objects such as PipelineState, DescriptorSet and DescriptorHeap to better match new graphics API
  • Game now contains a GraphicsContext which gives access to the current CommandList
  • GraphicsDevice.BackBuffer and GraphicsDevice.DepthStencilBuffer are gone. Use GraphicsDevice.Presenter.BackBuffer to access the actual backbuffer.
  • In addition to RenderContext, there is now a RenderDrawContext. Some methods have been changed to expect the latter.
  • ParameterCollection has been rewritten to be much more memory and performance efficient (data is now stored directly in buffers).
  • Transferring values from application to shaders and computation of effect permutations used to be done through various inefficient ParameterCollection overrides. This should now be done using RenderFeatures.
Physics
  • PhysicsComponents are now split into 3 different types (Rigidbody, Character, StaticCollider) which can be added multiple times to an entity.
  • PhysicsElements are now removed, including the Collider, Rigidbody and Character classes. They now are merged into the new components.
Known Issues
  • iOS on ARM64 iPhones encounter crashes after a few second. We are currently investigating this.
  • Sometimes duplicate contacts are detected by the physics engine

Full details of this release are available here.

GameDev News


blog comments powered by Disqus

See More Tutorials on DevGa.me!

Month List