SGI 1.0.9 Build 2212-1531 Beta 3 Released


The first major update in nine months is finally here, hooray!

SGI 1.0.9 Beta 3 brings some exciting new features, and a lot of bug fixes. Some of the bug fixes are so big and important, that I recommend you upgrade your build install immediately. Your code will not need to change for the update from Beta 2 to be successful.

New features of Beta 3 are:

  • Aseprite graphics support. You can now import .ase files directly into your game, and reference them by layer. You can use this for masks, sprites, or backgrounds.
  • Config file support. This means you can now build your own installer, and change properties of the game when it starts. For example, you could change graphics modes depending on what setting is in a json file at a given location.
  • Type checking. This is useful for when you're reading data from a config file. Since the user can send any type of data they want, you would utilise checking to avoid type mismatch runtime errors.
  • Sprite draw mask areas. You can do some real magic with this - such as only drawing a shadow in a given area, or simply using it as a method of walking your character behind objects. Couple this with the new Aseprite file support, and you've got a way of specifying masks, walkbehinds, shadows, etc, all using Aseprite instead of doing it with code. (Your artist and coders will thank you).
  • Random IV and keys can be generated at runtime. Be careful if you're going to use this, as save game files cannot be loaded from a previous build if the IV or key are different.

Bug fixes are plentiful as well:

  • previous_room not reflecting the correct data point after the first room loaded has been fixed. No need to patch your way around this problem anymore.
  • New Inventory was throwing exceptions in particular circumstances. I won't go into the details, but suffice to say it works now exactly as documented.
  • When wordwrap was set to false on the print statement, quotation marks were being replaced with apostrophes. (Ooops!) Just a cosmetic fix.
  • Requesting whatever the current sprite sheet was for a given sprite was generating a runtime error. Fixed.
  • Checking a mask outside of bounds (outside of the screen) threw an exception. Fixed.
  • Casting as an integer threw an exception. Fixed.
  • Sound value was not persisting between scenes. Coders reported they got around this problem by saving the state to a global then restoring it on the new room load, but that shouldn't be necessary - and now, it isn't. Fixed!
  • Full screen toggle was causing an exception on Windows. Fixed.
  • SDL2 on Win64 was often flickering as a total black screen. Fixed.

The quick start tutorial has been removed because it only applied to a very early Alpha version of SGI, and was therefore rightly confusing people. Unfortunately, there is no tutorial as of writing this update, however I intend on supplying a source code demo so people can simply compile that, and change it, to get the idea of how SGI works. The updated documentation is now available at https://kyami.io/docs/sgi/latest/

Well, that's about everything. Please remember I do not provide end user support for SGI while it is in Beta. If you find something you suspect is a bug, Tweet me or Toot me.

Hope you have a great holiday and new year period.

Kyamī

Files

sgi-1.0.9.Beta3.zip 60 MB
Dec 10, 2022
sgi-1.0.9.Beta3.tar.gz 63 MB
Dec 10, 2022
sgi-1.0.9.Beta3.dmg 65 MB
Dec 10, 2022

Get SGI