SGI 1.0.0 Build 2201B Released


Hi team!

Today I'm releasing a new build of SGI, with a few enhancements, a few bug fixes, and some new documentation.

The biggest change of this release is a new text auto-completion function!


For those of you that have developed games in previous versions, please be aware that game.halt() now causes your game to stop without prompting. If you want the old behaviour of prompting before stop, you'll need to change all of your instances of game.halt() to game.stop() instead.

Full documentation for the new version can be found at : https://kyami.io/docs/sgi/1.0.0.2201B/

So, what's new?

You can see the summarised list in the documentation (https://kyami.io/docs/sgi/1.0.0.2201B/about.html) - however I'll detail them below:

There is now a Window class. There are only two methods at the moment, one allowing you to change the window caption, and one allowing you to take a screenshot. Screenshots are always saved under the current user's home directory.

The big news however is I've also introduced an Input class. Technically the input class always existed, it just wasn't documented. However I've also introduced a couple new functions relating to input auto-completion. Auto-completion is switched off by default, so, if you want input hints to be on by default, you'll need to set input.hint.enable = True in your logic 0 file.

There are now primitive colliders implemented within the Sprite class. The colliders are a simple one statement command to check if one sprite is overlapping another by it's boundary box, or, by it's baseline value. This means no more complex if x >= Y and y >= X etc. Should make your code a bit more succinct and clean. If you need more refinement, you're better off checking relative positional values in your code. The other primitives are rect (rectangle), and circ (circle). Check out the documentation to learn how to use those.

The sprite class also now has width and height values which can change depending on your current sprite view and frame, which honestly I should have had in the first build. I shouldn't need to explain why that's beneficial.

The Print function now has a flag variable, autowrap. Autowrap has always been permanently on in previous versions, but now you can switch it off. Generally for in-game dialogue and such you'll want to keep it that way, however, say you wanted to make an "About this game" dialog box, this is when switching autowrap off can come in handy.

The Said function has now been documented. (How'd I miss that!? That's super important!)

And what's been fixed?

Oh I'm so glad you asked!

I am usually pretty slack in tracking all my bug fixes, however, two major ones for this version are:

The important one: The sticky control key problem has been fixed. This was frustrating a few of you, so I had a good dig through the code and figured that one out, so control keys will now actively be reported (and won't require a second hit if they get "stuck").

Monochrome graphics no longer dithers interface items. This means the border won't look dithered, it will be solid.

And what hasn't been done?

I still haven't written a tutorial or demo program for this latest release, sorry! If you best learn by example, it's still worth looking at the demo source code download to learn about the general structure of an SGI game and how it works.

Finally, thanks again for all your support.

See you at the next update!

Kyamī

Files

sgi-1.0.0.2201B.zip 51 MB
Jan 19, 2022
sgi-1.0.0.2201B.tar.gz 51 MB
Jan 19, 2022
sgi-1.0.0.2201B.dmg 57 MB
Jan 19, 2022

Get SGI