Sign in to follow this  
Makak

Game Engine Editor

Recommended Posts

Makak    110
I have been wanted to create a game-engine for some time now and I have recently started this project, my problem is now that I can't find any free for commercial-use GUI SDK's for Win32. I looked at Qt, which is only free for 30 days. I want it to be free for commercial-use if I someday reach a state where I would like to publish it.

What is a good Win32/C++ UI SDK?

Share this post


Link to post
Share on other sites
Tangletail    2915

I have been wanted to create a game-engine for some time now and I have recently started this project, my problem is now that I can't find any free for commercial-use GUI SDK's for Win32. I looked at Qt, which is only free for 30 days. I want it to be free for commercial-use if I someday reach a state where I would like to publish it.

What is a good Win32/C++ UI SDK?

 

Other than Qt, there aren't a lot of good UI sdks for C++.

If you don't mind using C#, take a look at Sony's AFS

Share this post


Link to post
Share on other sites
Alundra    2316
I think working on an engine along with its editor makes much more sense than creating an editor as an afterthought.

For example, Maya can be the editor of the game, it has enough sense to be used a lot like that.

One option could be to have one big base and use this base for each game editor.

Doing one good editor takes monster time if you want it artist friendly.

Edited by Alundra

Share this post


Link to post
Share on other sites
Amr0    2230

 

I think working on an engine along with its editor makes much more sense than creating an editor as an afterthought.

For example, Maya can be the editor of the game, it has enough sense to be used a lot like that.

One option could be to have one big base and use this base for each game editor.

Doing one good editor takes monster time if you want it artist friendly.

 

 

Yes, some game studios use Maya as a level editor, including some well known titles. I've become aware of that after noticing most of the customers who bought my Maya plug-in (in my sig) are game studios. But using Maya as an editor for an engine limits the target audience of the engine, though the target audience often happens to be co-workers when it's an in-house engine.

Share this post


Link to post
Share on other sites
Makak    110

 

Other than Qt, there aren't a lot of good UI sdks for C++.

 

There is Sciter. I've been using it for a few months now and I ABSOLUTELY LOVE IT! I used to use pure win32 GUI programming, and I know my way around it very well, but it's unquestionably unwieldy. Then I stumbled upon Sciter (can't really remember how), and I've in love with it ever since. I will never get back to pure win32 programming after this.

 

Sciter is an embedded HTML/CSS/Tiscript (like javascript) engine with a native C++ interface. It's lightweight, and once you get the hang of it, you will find it very much fun to work with. I switched my current project to Sciter, and honestly it saved me countless hours of work. My code is now even cleaner, with a clear separation between the UI layer and the application layer. Also it being free was important for me as a poor indie.

 

To get a feel of what it can do, just download the SDK and run the sciter.exe application to view some of the included samples. You will get tired before you finish seeing them all. Each sample is typically made of one html file which contains along with the html some styling and tiscript code. So if you know basic html and javascript, you'll be good to go with not much effort.

 

I'm not affiliated with it in any way, but I honestly think it's an awesome library that deserves to be much better known. It has just got a new website a few days ago, so you will find the community forums rather empty unfortunately, and the developer is still working on improving the documentation. But the library is quite mature and has been around for a good while now.

 

Good luck. I think working on an engine along with its editor makes much more sense than creating an editor as an afterthought.

 

Sciter is amazing, I have been using it for 1 hour now and it is so simple to setup and use. This is by far the best UI framework I have ever tried. 

Thank you :)

 

- Makak

Share this post


Link to post
Share on other sites
Tangletail    2915

 

Other than Qt, there aren't a lot of good UI sdks for C++.

 

There is Sciter. I've been using it for a few months now and I ABSOLUTELY LOVE IT! I used to use pure win32 GUI programming, and I know my way around it very well, but it's unquestionably unwieldy. Then I stumbled upon Sciter (can't really remember how), and I've in love with it ever since. I will never get back to pure win32 programming after this.

 

Sciter is an embedded HTML/CSS/Tiscript (like javascript) engine with a native C++ interface. It's lightweight, and once you get the hang of it, you will find it very much fun to work with. I switched my current project to Sciter, and honestly it saved me countless hours of work. My code is now even cleaner, with a clear separation between the UI layer and the application layer. Also it being free was important for me as a poor indie.

 

To get a feel of what it can do, just download the SDK and run the sciter.exe application to view some of the included samples. You will get tired before you finish seeing them all. Each sample is typically made of one html file which contains along with the html some styling and tiscript code. So if you know basic html and javascript, you'll be good to go with not much effort.

 

I'm not affiliated with it in any way, but I honestly think it's an awesome library that deserves to be much better known. It has just got a new website a few days ago, so you will find the community forums rather empty unfortunately, and the developer is still working on improving the documentation. But the library is quite mature and has been around for a good while now.

 

Good luck. I think working on an engine along with its editor makes much more sense than creating an editor as an afterthought.

 

 

Where has this been all my life... +1 buddy.

You can use Maya as a level editor. But it's also fairly limited in what you can do with it. And the game studios that do use it also have an inhouse level editor. If the target audience for the engine is just you, Maya is perfectly fine to an extent. If not, then I suggest hooking to Blender.

 

For C# with directx, you have a few libraries availible. But you really don't need to write the same code twice. You can put your rendering system into a DLL and hook it up to Directx. Sony has an open source level editor that has an example of this. A good chunk of game studios uses the sony ASF, but it's documentation is pretty sub par. Luckily they have an active google group.

Share this post


Link to post
Share on other sites
xeyedmary    163
If you're going to write a windows application using C++ why in the world would you use anything other than MFC?? You might as well use the tookit written by the platform developer itself. If its some kind of cost issue, well, I won't get into it, but there are ways to do it without paying a huge amount of money. Might as well go to the source and use the tools the creators have created.

Share this post


Link to post
Share on other sites
SeanMiddleditch    17565

If you're going to write a windows application using C++ why in the world would you use anything other than MFC? You might as well use the tookit written by the platform developer itself.


So, XAML, which is the standard GUI library framework used by Microsoft these days.

Our AAA engine's toolset was originally written in MFC. It's a ****ing nightmare, between all of the bugs that only happen because MFC is too hard to use correctly, and all the missing features that require Herculean effort to implement in MFC. Cost isn't an issue like you imply, as MFC is completely free.

Share this post


Link to post
Share on other sites
c-smile    165
Thanks Amr0.
 
Just in case: I am an author of the Sciter engine. Discovered this topic in logs of my sciter.com so is this message.
 
In fact Sciter is used by various gaming labels quite a while.
Either as side utilities like game catalog launchers :
alawar-gamebox-beta-screens.jpg

or as level editors or the like. I do not remember for whom I did this skecth but here it is:

gaming-map.png
 
(it probably makes sense to put this as an example into Sciter's SDK )
 
Sciter is also used to render 2D games itself. It uses DirectX /Direct2D backend and allows to draw stuff 
not only using HTML/CSS primitives but also directly using so called immediate mode drawing on elements surfaces:
gameCanvas.paintContent = function(graphics) {
  // graphics here is <canvas> alike set of drawing primitives
}

gameCanvas.amimate(function() {
  this.refresh(); // will cause gameCanvas.paintContent to be called
  return true;
})

Internal animations are rendered with 60 FPS and so this one too.

 

Cheers.
 

Edited by c-smile

Share this post


Link to post
Share on other sites
SeanMiddleditch    17565
I'd love to see a comprehensive detailed review of Sciter, CEF, and Coherent, comparing:

(a) price for student/hobby use, professional use, with full source access, and without GPL "viral" limitations
(b) HTML/CSS/JS standards conformance, ability to use off-the-shelf Web libraries and toolkits
(c) ease of use and integration, documentation, support
(d) platform support, e.g. mobile, consoles, etc.
(e) efficiency for 60-120hz in-game HUD updates and rendering

Based on my research, I know where I _think_ those three products are on those scales*, but I'd prefer to see a detailed analysis (not performed by the authors themselves, of course, because bias).

Share this post


Link to post
Share on other sites
Makak    110

I think that Sciter could use a wiki for user created explanations of the functions and how they work. I don't think the documentation is that good for when you are learning tiscript. It would also help with some tutorials or something similar on the on the website :)

Share this post


Link to post
Share on other sites
c-smile    165

I think that Sciter could use a wiki for user created explanations of the functions and how they work. I don't think the documentation is that good for when you are learning tiscript. It would also help with some tutorials or something similar on the on the website smile.png

 

Check these articles:
http://www.codeproject.com/Articles/33662/TIScript-Language-A-Gentle-Extension-of-JavaScript
http://sciter.com/developers/sciter-docs/script/script-language/
http://sciter.com/developers/sciter-docs/script/script-runtime/
http://sciter.com/developers/sciter-docs/dom-classes/

For those who know JS or Dart: http://sciter.com/docs/js-dart-tis.html

 

Share this post


Link to post
Share on other sites
CRYP7IK    1327

I use wxwidgets. I find it easy to use and it has a lot of functionality. 

 

I like it too and here are the reasons to use wxWidgets:

  • Non-restrictive licence [1]
  • Open Source
  • Cross-Platform
  • Native look and feel

If you need those features then you should use wxWidgets, it has many other features and pluses but that's the best use case.

 

[1] The wxWindows Library Licence is essentially the L-GPL (Library General Public Licence), with an exception stating that derived works in binary form may be distributed on the user's own terms. This is a solution that satisfies those who wish to produce GPL'ed software using wxWidgets, and also those producing proprietary software.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this