ScaleUI

C

Crazy Star

Guest
Greetings,

I decided I could use a GUI for GMS2 and maybe so could others.
I haven't been working on it for too long, but a dev log sounds like fun, right? :)

LATEST PROGRESS

I just updated to version 0.4.0, scroll down a bit to see the accompanying post.
This project may not be updated too often so please remember to watch this thread!


LINKS
Download: https://crazy-star.itch.io/scaleui
GitHub: https://github.com/SpectreNectar/ScaleUI



Features so far (subject to change):
  • Floating containers, child elements can be dragged from one to another.
  • Simple lightweight core. Easy to use.
  • All types can be configured individually using an extension mechanism. This mean you can change how borders or windows are drawn, how hovering and dragging works for each type and in general what happens when actions are triggered.
  • (Changeable skins)
  • New types like tabs, splitters, scrollbars etc.
  • ...

SCREENSHOTS / GIF'S
v0.3.0
splitter.png

v0.2.0


v0.1.0

Suggestions and requests welcome.
 
Last edited by a moderator:
C

Crazy Star

Guest
Thank you for the interest =)

I did some more work on the extension mechanism. More info in this video (feedback on the video much appreciated):

I'll keep working on this, and probably do more customization like skinning etc. next.
 
C

Crazy Star

Guest
So what's happening? Well, I started this project right around Nov/Dec last year and decided not to publish it before it was at least useful. Actually, I've put a ton of work into this since and just haven't posted it anywhere.

Complexity Overload
One of the reasons was that I got a little crazy with rotating/scaling transforms, polygonal edges and masks. These complicated features made progress pretty slow because every time I worked on it some new bugs and problems I hadn't anticipated came up. GMS2 hasn't got the best routines for handling matrices so I had to write those myself too, and I'm not an expert on that.

penta.gif



Revamp and ugly skins
I since decided to get rid of all that and just stick to the bare bones skeleton I had written, and which worked pretty well. Now progress is far more smooth, and I have implementing tabs/splitter containers as well as begun making skins. It sure ain't pretty though! If you want, you can leave a comment with feature requests or decoration tips :)

splitter.png



Upcoming features
I'm planning to improve the program flow with "dirty rectangles" and whatnot. As of now many elements has an update event and are redrawn over and over which is hardly what you'd expect from a GUI.

Right now skinning works by setting a default color (eg. Silver), and mixing others colors with that. What I'd really like would be to have a form of extension to the build in drawing routines which better handles gradients on arbitrary shapes.

Aside from standard controls like buttons and input fields, I'll probably also have to create menus before releasing the first demo. I actually already made menus, but had to delete them again at a point because they weren't "polygonal" =)

Thanks for reading, following, liking etc.



You can always follow progress on the GitHub repository here:
https://github.com/SpectreNectar/ScaleUI

Also, if you're on itch.io, feel free to participate in the thread there:
https://crazy-star.itch.io/scaleui/devlog/28702/i-believe-now-is-the-time-to-start-a-devlog



~Crazy Star
 
C

Crazy Star

Guest
0.4.0

Finally another update to this project is out. I've mostly been improving on the core functionality. That's actually still my focus. I want this to be as easy as possible to pick up for first use, expand, extend etc..

For now I haven't included many features aside from checkboxes and menus, so that's left as an exercise for people curious about the UI :)
 
Top