📜 ⬆️ ⬇️

First steps in Xenko

Anyone who is interested in the world of game engines, knows that from December 1, 2015, the former Paradox3D changed its name to Xenko, but since there are no tutorials on Habré either on the first or the second - I decided to make a short article for those who want to try that something new (or not so) and tell about the features of Xenko. If you are interested in it - welcome under the cat!



License


Almost open-source engine ( GitHub ), licensed under the GPL v3 license, using it for free in two cases:


For other license options you need to contact the developers.
')

Design features


The latest version of Xenko (at the time of writing - 1.5 Beta) supports launching only on the 64-bit version of Windows 7 SP1 + / 8 + / 10, for writing scripts one of the following IDEs is required:


Support platforms for which you can make the game wants the best. Now you can develop for the Windows family (Desktop, Store, 10 Universal, Phone) , as well as for Android and iOS (only with Xamarin licenses), but Silicon Studio assures that it will soon be on MacOSX, and Linux, and even on next-gen consoles.

Beginning of work


First of all, you need to install the engine itself, as well as additional elements for working with .NET. Installation along with downloading the entire software takes about 25 minutes. With Xenko Launcher, you can either install a new version or switch between installed versions.



Run the desired option, create a new project (all settings can be left as default) and wait for our Xenko Studio to load.

We are met by a rather ordinary UI, vaguely reminiscent of Visual Studio.



  1. Scene elements
  2. Solution Explorer (all folders and files that are relevant to the project)
  3. View resources (assets). When choosing a resource, it is highlighted for a moment.
  4. Preview resource; History of action; Dependencies (here are two tabs: Referencees - shows all assets that are needed for the current resource; Referencers - on the contrary, shows all assets that are dependent on the current one)
  5. Property editor

To start the game, just press F5 - your project will be compiled and run using MSBuild (which, by the way, is not very fast).
You can add new entities using the " + " on the left, and new resources - from the bottom.



After selecting an item, all its properties can be viewed in the window on the right (Property Grid). Here and transformation, and textures, and physics, and other components.

By the way, without a texture resource, our model will not be displayed (this can be done by clicking on the small “hand” in the Material tab.

This visual abilities almost end. Among the disadvantages of navigation, one can note the complexity of control in 3D space (the main functions are performed using WASD and Shift / Alt + LMB / PKM / SCM ) and the inability to display the collision area (collision volume), which in some cases significantly aggravates the situation.

Robot code


Since Xenko Studio works well in conjunction with Visual Studio - I use it. Selecting VS from the top of the menu will open our project in Visual Studio.



In the same Solution Explorer you can see that now there is only one file ( MyGameApp.cs in my case) that launches our game. If you chose more platforms when creating a project, you will have separate directories for each platform.

For example, make our model move. First you need to create a separate Moving.cs class and add the code below to it.



using System; using SiliconStudio.Xenko.Engine; namespace MyGame { public class Moving : SyncScript //    ,    public { public override void Update() //      { if (Game.IsRunning) //,    { //   / -    X if (Input.IsKeyDown(SiliconStudio.Xenko.Input.Keys.Right)) { this.Entity.Transform.Position.X += 0.1f; } if (Input.IsKeyDown(SiliconStudio.Xenko.Input.Keys.Left)) { this.Entity.Transform.Position.X -= 0.1f; } //   / -    Z ( Y, ..   ) if (Input.IsKeyDown(SiliconStudio.Xenko.Input.Keys.Up)) { this.Entity.Transform.Position.Z += 0.1f; } if (Input.IsKeyDown(SiliconStudio.Xenko.Input.Keys.Down)) { this.Entity.Transform.Position.Z -= 0.1f; } } } } } 

Save in the folder MyGame.Game ; Check if there are any errors ( Ctrl + Shift + B build the project).



In Xenko Studio, selecting our scope, click Add component -> Scripts and add our script.

Bildim (wait), and see that our sphere moves when you click on the arrows. If you do not have our script in the list, then most likely you need to reload the project ( File -> Reload Project ) or you have errors in the code.



PS if your sphere does not go where it is necessary - change in the code - = to + = and vice versa. It depends on the location of the camera.

Support, community and documentation


Unfortunately, the documentation is not so much, the one that is, often incorrect or just missing, and the engine is too raw for a large community.



Therefore, rely only on yourself and the help of the hall .

Conclusion


Xenko is quite an interesting engine, but because at the beta stage - can not yet offer something very new to the world of GameDev. If you worked in Unity - it will be easy for you to work in Xenko. For newbies, it will seem too complicated and incomprehensible, but I think this will be fixed in the next releases.

Pros:


Minuses:

Source: https://habr.com/ru/post/275859/


All Articles