Ultraviolet C# Game Framework 1.3 Released

 

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


Scroll to Top