Game Engine Editor

Started by
18 comments, last by nhold 8 years, 6 months ago

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

Advertisement

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.

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.

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.

Sean Middleditch – Game Systems Engineer – Join my team!

I confirm, MFC is a no-way nowadays.

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.

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).

Sean Middleditch – Game Systems Engineer – Join my team!

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 :)

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

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.

Engineering Manager at Deloitte Australia

This topic is closed to new replies.

Advertisement