Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
23. October 2018

Amethyst 0.9 was just released.  Amethyst is a Rust powered data driven open source game engine built for highly parallel and performant code and implements an Entity Component System.  The 0.9 release included a new way to draw sprites, a new networking system, an experimental runtime editor support and more.

Complete details of the release from the release notes:

  • Added base networking implementation and the amethyst_network crate. (#969)
  • Support for debug lines using DebugLines pass, and DebugLines component or resource. (#917, #957)
  • Added JsonFormat (#950).
  • SpriteRender pass to draw sprites without using Material and Mesh. (#829, #830)
  • Sprite animation uses the SpriteRenderChannel. (#829, #830)
  • State::handle_event can now handle multiple types of events. (#887)
  • Added Named Component. (#879)(#896)
  • Support for progressive jpeg loading. (#877)
  • New application_root_dir() function in amethyst_utils. (#831)
  • Load node names for glTF prefabs. (#905)
  • Added automatic camera matrix resizing to allow clean screen resizes. (#920)
  • Added the Removal component to facilitate manual entity removal and scene cleaning. (#920)
  • Added DestroyAtTime and DestroyInTime components to easily destroy entities. (#920)
  • Support for loading TGA images. (#934)
  • GltfPrefab adds MeshData as a component on loaded entities. This is not configurable until the Prefab rework. (#946)
  • Added implementation of From<Vector3> for Transform which creates a Transform using Vector3 as the translation vector. (#946)
  • New vertices() method on MeshCreator trait. (#946)
  • Support for text alignment (align left, center, right). (#965)
  • Support for multiline text. (#965)
  • Added custom aspect ratio to OrthoCamera. (#983)
  • Added AntiStorage documentation to the book. (#997)
  • You can now stop the rotation of the FreeRotationSystem by setting HideCursor.hide value to false. (#997)
  • Support for logging to file, toggle for logging to stdout. (#976, #994)
  • Added a Hidden Component, that hides a single entity, and a HideHierarchySystem that toggles Hidden on all children when used. (#1001)
  • Documentation for drawing sprites. (#971)
  • Added shadow_update() and shadow_fixed_update() to the State trait. (#1006)
  • Added configurable width for debug lines. (#1016)
  • Added TextureMetadata::srgb_scale() for default texture metadata with nearest filter. (#1023)
  • Added motivation to use Amethyst over gluing the building blocks yourself in the book. (#1057)
  • Sprites contain their dimensions and offsets to render them with the right size and desired position. (#829, #830)
  • Texture coordinates for sprites are 1.0 at the top of the texture and 0.0 at the bottom. (#829, #830)
  • Made get_camera public. ([#878)]
  • Simplified creating states with SimpleState and EmptyState. (#887)
  • Updated ProgressCounter to show loading errors. (#892)
  • Replaced the imagefmt crate with image. (#877)
  • Optimize Sprite rendering via batching. (#902)
  • Derive Debug and PartialEq for amethyst_input::Axis. (#903, #904)
  • Updated winit to 0.17 (see Winit's changelog). (#906)
  • Updated glutin to 0.18 (see Glutin's changelog). (#906)
  • Updated gfx_window_glutin to 0.26. (#906)
  • Updated hetseq to 0.2. (#906)
  • Removed unwraps from StateMachine (#940)
  • Renamed ArcBallMovementSystem to ArcBallRotationSystem. (#946)
  • Moved the ArcBallMovementSystem::get_axis method to amethyst_input/src/utils: get_input_axis_simple (#946)
  • Ui Y axis is now from bottom to top. (#946)
  • Fixed issue with global anchors not actually aligning ui elements and containers properly. (#946)
  • Fixed issue with ui events not triggering at times. (#946)
  • Reduced the complexity of the UiPass and associated shaders. (#946)
  • Added comments to UiPass and shaders explaining what is going on. (#946)
  • The z in UiTransformBuilder now defaults to 1 instead of 0, allowing to skip defining the z in the ui prefabs. (#946)
  • Added comments to ui prefab. (#946)
  • Summarized all use amethyst:: statements to allow collapsing in IDE's. (#974)
  • Application now uses EventReaders to determine what events to send to the States, more information in the State book chapter (#996)
  • Breaking: Refactor TextureMetadata so filter method and clamping can be configured more easily (#981)
  • Renamed PrefabData functions to be easier to understand (#1008)
  • LMenu and RMenu key codes, following the winit update. (#906)
  • Material ids in GLTF loader caused multiple GLTF files to get incorrect materials applied. (#915)
  • Fix render gamma for most textures. (#868)
  • Joint entities can only be part of a single skin: Materials are not swapped anymore. (#933)
  • Fixed regression in sprite positioning after batching. (#929)
  • Now loading default fonts from the system for UiButton (#964)
  • Fixed single frame animation (#1015)
  • Improved compatibility with older drivers (#1012)
  • Forgotten channel field on examples/ui prefab (#1024)
  • AssetPrefab loaded files at an incorrect time (#1020)
  • Removed unreachable code in TexturePrefab (#1020)
  • Fix OpenGL not rendering on window creation due to glutin bug (#972)
  • Fix debug lines panic when no lines are rendered (#1049)

More information about Amethyst is available here.  The game engine is available under the MIT and Apache licenses on GitHub.

GameDev News

blog comments powered by Disqus

AppGameKit Studio

See More Tutorials on!

Month List