Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
24. December 2015

 

Care of /r/gamedev, Ultraviolet released version 1.3.  In their own words, Ultraviolet is:

Ultraviolet is a cross-platform, .NET game development framework written in C# and released under the MIT License. It is heavily inspired by Microsoft's XNA Framework, and is intended to be easy for XNA developers to quickly pick up and start using. However, unlike MonoGame and similar projects, Ultraviolet is not intended to be a drop-in replacement for XNA. Its current implementation is written on top of SDL2 and OpenGL, but its modular design makes it (relatively) easy to re-implement using other technologies if it becomes necessary to do so in the future.

At present, Ultraviolet officially supports Windows, Linux, Mac OS X, and Android. Support for additional platforms will be forthcoming in future releases.

 

From the release 1.3:

 

Core

  • Ultraviolet Framework now supports Mac OS X.

Installer

  • Installer will now install project templates for Visual Studio 2015.
  • Installer will no longer install project templates for Visual Studio 2010.
  • Installer will no longer install project templates for Visual Studio 2012.

Graphics

  • Completely rewrote the text layout engine.
    • Text layout engine now does a better job of inserting line breaks.
    • Text layout engine now supports non-breaking spaces.
  • Implemented glyph shaders.
    • Glyph shaders allow custom logic to be applied to each glyph at the time it is rendered, allowing for complex visual effects.
    • Added support for the |shader| formatting command.
    • Added methods to TextRenderer for specifying glyph shaders.

Presentation

  • Lots of miscellaneous fixes, refactorings, cleanup, and general improvements.
  • UVML binding expressions been significantly improved.
    • Binding expressions can now contain arbitrary C# 4.0 code, i.e. {{2 + 2}} or{{DateTime.Now}}
    • Binding expressions must be compiled into an assembly using the new binding expressions compiler. This can be done ahead-of-time or at runtime on platforms which support it (Windows, Linux, OS X).
    • Added arrow syntax for directly referencing elements in the same view, i.e. {{foo->Value}}
  • UVSS has been improved and has gained some new operators.
    • UVSS parser now understands the inheritance relations between styled types.
    • Added "navigation expression" operator (|) and "type conversion" operator (as)
      • As foo | bar as Baz meaning "property bar on foo, which has type Baz."
    • Added "logical child" operator (>?)
      • As x >? y meaning "y is the logical child of x."
    • Added "templated child" operator (>>)
      • As x >> y meaning "y is the templated child of x."
    • Added "exact type" operator (!)
      • Referencing TypeName will apply the style to elements of type TypeName and any of its descendants. Qualifying this with the exact type operator, i.e. TypeName! will cause the style to only apply to elements of that exact type.
  • Added support for touch devices.
  • Implemented visual effects for elements.
    • Implemented BlurEffect built-in effect.
    • Implemented DropShadowEffect built-in effect.
    • Implemented ShaderEffect built-in effect.
  • Implemented element transforms (render and layout).
    • Implemented TransformGroup transform.
    • Implemented IdentityTransform transform.
    • Implemented MatrixTransform transform.
    • Implemented RotateTransform transform.
    • Implemented ScaleTransform transform.
    • Implemented SkewTransform transform.
    • Implemented TranslateTransform transform.
  • Implemented element adorners.
  • Implemented keyboard and game pad navigation.
  • Implemented tool tips.
  • Implemented modal dialog boxes.
  • Implemented cursor queries.
  • Implemented TabControl.
  • Implemented PasswordBox.
  • Completely rewrote the TextBox control.
    • TextBox can now edit multiple lines of text.
    • TextBox should now generate significantly less collection pressure while typing.

Ultraviolet is available on Github.

GameDev News


17. December 2015

 

The recently rebranded Xenko game engine just announced the release of version 1.5.  New animation funtionality, a new profiler, runtime physics debug shapes and UI improvements top the new features.  Here is the highlight list  from the release:

Skeleton asset

A new Skeleton asset (*.xkskel) has been introduced. Both models and animations now hold a reference to a skeleton. This allows to reuse the same skeleton definition in multiple assets and to retarget models and animations to different skeletons.

Skeletons can be created alongside other assets, when importing an FBX file or other model format.

Root motion support for models, cameras, lights, etc.

Animations now apply root motion if they have no skeleton, or the ‘Root Motion’ property is enabled on the animation asset. The animation will then move the entity itself, instead of the skeleton’s root bone. This is especially useful to import animations of lights, cameras or unskinned models, without the need to bind them to the bones of a skeleton.

The FBX importer will now also import animations of various camera parameters (near-plane, far-plane, field of view) and apply them to the CameraComponent of the animated entity. More properties may be supported in the future.

New animation update system

The animation system now internally uses a new UpdateEngine to update objects. This allows us to animate arbitrary properties of entities, while accessing them in a highly efficient way. It will be the foundation for a future animation curve editor inside the GameStudio.

The new ‘Animated Properties’ sample demonstrates how to create animations of any property from a script.

Simple Profiling system

It is now possible to visualize profiling information of all the game systems and custom profilers directly within your running games. To get started, use the Game Profiler built-in script, attach it to an entity and when the game is running press LCtrl-LShift-P.

Physic debug shapes at runtime

It is now possible to enable the rendering of physics collider shapes during runtime. The debug shapes are normal entities and they must be enabled for each physics shape that requires it. The best way to start with this feature is to use the Physics Shapes Render built-in script and attach the script to any entity that has a Physics Component and when the game is running press LCtrl-LShift-P.

Asset View

The Asset view has been improved to help you better organize and manage your assets.

New ‘view options’ menu

The view options are gathered in a single menu accessible from the asset view toolbar.

You can display all the assets in the current folder only, in the current folder and its sub-folder. The third option let you display the assets and the sub folders.

You can also sort your assets by name, order, type or modification date.

New asset filter bar

With the new asset filter bar, you can filter your assets by name, tag, type or a combination of those. Each ‘filter tag’ can be disabled by a single click or removed from the active filters.

To add a filter, type in the filter bar and matching filters will be displayed. Click on the one you want to add it to the list of active filters.

Only the assets matching the active filters will be displayed in the asset view. Note that type filters are inclusive, while name and tag filters are exclusive.

Folder support in asset view

If the ‘Assets and folder in selected folder’ options is selected, the first level of sub-folder will be displayed in the asset view. You can drag and drop assets inside them. You can also copy/paste complete folder structure.

 

Copy-paste assets with their dependencies

You have now the ability to copy assets with their dependencies. To do that use the new entry ‘Copy with dependencies’ from the asset view context menu, or press Ctrl+Shift+C.For example, if you copy/paste a model with its dependencies, you will get a copy of this model along with a copy of all its dependencies (skeleton, materials, textures)

Border and Center support in sprite sheet editor

For ‘Sprite2D’ sprites, you can move the position of the center by selecting the icon in the toolbar of the sprite editor. Grab and move the cross to the desired position.

For ‘UI’ sprites, you can change the borders by selecting the icon in the toolbar of the sprite editor. You can then resize each border (left, top, right and bottom) separately in the same way as the texture region, by grabbing and moving one of them. Note that the icon lets you ‘lock’or ‘unlock’ the sprite borders while resizing the texture region.

New built-in scripts

We added a few more built-in scripts with this release such as an FPS camera script and First player controller script. To use them, just click on “New Asset”, “Script source code”, select the desired script and attach it to an adequate entity.

Precompiled Sprite Fonts

Font rights are quite restrictive and it is quite common that only some persons of the project have access to the font files. This was preventing some people to build the game. To solve this problem, we created a new type of asset, the precompiled sprite fonts. It is an asset taking as input an image and containing all the glyph information required to render the set of character specified. Inside your games you can used it exactly like a standard sprite font. To generate a precompiled sprite font, the owner of the original font file just have to right click on an existing static font and choose “Generate Precompiled Font”.

 

Full release notes are available here.

GameDev News


15. December 2015

 

Back in October I had the following Twitter conversation with Nat Friedman of Xamarin.

image

 

It appears that this process has begun, at least for a limited time and for published developers.  From this announcement at Xamarin:

Christmas comes early for indie game developers

Because we love seeing indie games succeed, Xamarin wants to support indie game developers all over the world in bringing their games to billions of mobile gamers. We want every indie game developer to enjoy the power of C# and Visual Studio, so we have an amazing special offer this December:

Free, community-supported subscriptions of Xamarin.iOS and Xamarin.Android, including our Visual Studio extensions

Indie game developers only need to have published a game in any framework on any platform to qualify. We’ll use your published details to verify your indie status:

This offer is limited to independent game developers who have published a game on or before Tuesday, December 15, 2015 in any reputable public store for indie games, such as Steam, Apple App Store, Google Play Store, Windows Store, Xbox Store, PlayStation Store, or Nintendo eShop. No more than one subscription will be granted to any given publisher. This offer expires on December 31, 2015 at 9 pm ET.

 

The published title restriction is a bit of a mind twister for me…  isn’t this a matter of preaching to the choir?  Wouldn’t it make a lot more sense to try and attract aspiring developers instead of a group that already committed to the .NET ecosystem?

GameDev News


11. December 2015

 

Don’t you just love it when someone else does your job for you?  As part of my recently completed Tiled tutorial series I was considering doing a pretty detailed tutorial on integrating it into one of the modern C# based game engines.  One engine certainly up for consideration was the Wave Engine, somewhat recently featured in the Closer Look At series.  Well thankfully I didn’t, because they went ahead and did it for me!

 

From the WaveEngine blog:

Using TiledMap to create your 2D game level

With TiledMap, developing 2D games in WaveEngine will not be the same anymore. Tiled maps have been used for a long time in games, now you can load and integrate TiledMap (.TMX) files, created by theTiled Map Editor (http://www.mapeditor.org/), the most popular map editor based in tiles. With Tiled, you can easily design your 2D map levels and run in WaveEngine like a charm.

Load a TiledMap (.tmx) in WaveEngine

1. Install WaveEngine.TiledMap NuGet package

First of all, you need to install WaveEngine.TiledMap NuGet package into your Game solution. This action allows you to use the TiledMap components into your project:

 

series continues here. 

 

With the NuGet TiledMap package, the process is actually quite simple.  They also have a Tiled map example available on Github.

Programming


7. December 2015

 

Last week I announced the Xamarin port of Urho3D to .NET and in the resulting /r/gamedev conversation it was discovered that the license it was released under required you to use Xamarin products.  This obviously caused a great deal of annoyance within the community.  Fortunately today Miguel de Icaza CTO at Xamarin announced that the license was a mistake at that it was being changed.

 

From the /r/gamedev conversation:

Hello lovers of Urho and .NET,

I just found out about this thread. It was not really our intention to annoy anyone, I used the license that was published as a blend of expedience and flexibility. It would have allowed me to decide when and where to license the code.

We have now released the source to our Urho bindings and put them under the MIT license:

http://github.com/xamarin/urho

https://github.com/xamarin/urho/blob/master/LICENSE

The NuGet package still has the old license purely because I do not want to break all the samples (NuGet hardcodes a reference to the version in project, we still need to figure out a good strategy to release NuGet packages). But you can regenerate your own from the sources now.

Thanks to everyone that participated in this thread and voiced their opinion.

I can not wait to see what people do with this.

Miguel.

 

This is certainly a positive development and makes UrhoSharp useful to a much larger audience of developers.

GameDev News


GFS On YouTube

See More Tutorials on DevGa.me!

Month List