• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Question - IDE What is the GMS2 IDE written with?

rIKmAN

Member
Without getting into a debate on the usability of the UI or personal opinions, I was wondering what was used to create the GMS2 UI.

I really like the aesthetics, and the the way the UI sort of flows and reacts - sliding panels, dockable windows that can be moved and attached anywhere, the workspaces, tabs etc - I just really like the way the UI handles everything and feels smooth - again not wanting a debate on usability, just talking about the core backend UI mechanics.

So I looked around and found the "Licences" option in the Help menu, and noticed ANGLE and jQuery listed in there as libraries used.

Is the UI just a HTML canvas wrapped into a window?
I thought maybe Qt was used but I didn't see it listed in the Licenses section, although I seem to remember one of the C languages being mentioned as being used to write it - C++ or C# maybe?

Any info appreciated which could help me go in the right direction to getting the right tools and libraries to learn to create something similar (to the UI look / feel, not GMS2!) for an application I want to write.

Obviously YYG staff would be best placed to answer this, but if anyone else knows anything from previous threads or info they have learnt elsewhere please let me know!

Mods: Move this if you think it's in the wrong place, it seemed the most appropriate forum to ask about it.

Cheers.
 
Last edited:

Mike

nobody important
GMC Elder
The IDE is written in C# (with some native DLLs), while the underlying OS interface is OpenTK which takes care of native windows, keyboard etc. The windowing system is completely custom written from the ground up, and sits on top of OpenGL with a custom abstraction layer so that it could be replaced if required. In fact it's much like the GML Primitive interface. The windowing system implements it's own custom skinning based on HTML style cascading style sheets (CSS) concept.

The entire structure of the IDE is reasonably complex and would require quite a bit to explain, but this is the basics. :)
 

rIKmAN

Member
The IDE is written in C# (with some native DLLs), while the underlying OS interface is OpenTK which takes care of native windows, keyboard etc. The windowing system is completely custom written from the ground up, and sits on top of OpenGL with a custom abstraction layer so that it could be replaced if required. In fact it's much like the GML Primitive interface. The windowing system implements it's own custom skinning based on HTML style cascading style sheets (CSS) concept.

The entire structure of the IDE is reasonably complex and would require quite a bit to explain, but this is the basics. :)
Great info, thanks for the reply Mike.

Obviously I'm not looking at creating something as complex as the GMS2 UI, but would you have any suggestions on where to start or what libraries to look at first to create something much simpler but similar in look and feel?

Appreciate your time.

PS. Nice cameo in "From Bedrooms to Billions - The Amiga Years" - watched it last night :)
 

Mike

nobody important
GMC Elder
Of course.... part of the reason we did it like this, was there wasn't anything like it out there :D

If you ignore the "zoom" and the CSS/skinning stuff, then you could do the rest of it with basic windows stuff. wouldn't feel quite as nice/smooth, but it would do it. I'd guess windows Modern UI would be pretty close - but totally unportable (which was obviously a requirement for us).
 

rIKmAN

Member
Of course.... part of the reason we did it like this, was there wasn't anything like it out there :D

If you ignore the "zoom" and the CSS/skinning stuff, then you could do the rest of it with basic windows stuff. wouldn't feel quite as nice/smooth, but it would do it. I'd guess windows Modern UI would be pretty close - but totally unportable (which was obviously a requirement for us).
OK thanks Mike I'll take a look at the suggestions you've made and see if any seem like a good fit - portability isn't an issue at this stage although it might be later so it's something to take into consideration for sure.

The Spine UI and the GMS2 UI are the ones which I really like aesthetically and would be a good fit for the application I'm looking at building.

Thanks again! :)
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
QT would be other valid option if you aren't after fancy things like workspace zoom - it is cross-platform and offers component styling via it's own variant of CSS.
 

Jobo

Member
GMC Elder
I would suggest Windows Presentation Foundation (links to a comprehensive introduction that looks fairly good at a glance... although ignore the part where it says "next-generation system"... blergh). It is highly customizable and like anything Microsoft does these days it's built to handle anything and everything.
 
Top