New Editor

Moderator: andrewmac

43 posts Page 1 of 5
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Tue Jul 07, 2015 2:57 pm
I know it's been a little quiet in this section for the last week or two. I've been in the lab experimenting and nothing really solidified until now.

I've never been entirely convinced the original editor I was making was the best path to take. I'm not sure running the editor inside the engine is the best way to handle it. It's certainly not a terrible way to do it, but it has drawbacks. One thing I like about Unreal Engine 4 is the ability to launch the editor, create a project, work on it, then export it to a folder that's ready to ship. I'd like to achieve the same thing. While it's possible with the editor running inside the engine, it gets really messy. Having the editor as an engine plugin was another drawback, as this makes using the editor to manage plugins kind of.. uh.. awkward.

The biggest thing that made me change my mind on building the editor inside the engine is having to constantly expand the GUI system to support things people have come to expect from modern applications. Resizing, rearranging, docking, multiple windows, etc. The ability to utilize multiple monitors. It all becomes very painful with the editor running inside the engine.

With the decision made to build the editor outside of the engine I needed a GUI library that was robust and cross platform. First two choices that came to mind are Qt and wxWidgets. I pursued Qt for about a week, but in the end it felt like too much. It's good at what it does, but it's very robust, and required precompilation steps, etc. It was hard to fit into the build system, and I wasn't really gaining anything extremely valuable from all the extra hassle. I tried out wxWidgets, which I've used in the past in the form of wxPython, and it seems to fit the bill much better. I've begun adapting the engine to be able to run inside of an existing application and it's going quite well.

Screenshot of the game window docked:
Image

Undocked:
Image

As you can see I've also rigged up the telnet remote console inside the application so you can use the console from the editor. Last but not least, wxWidgets has a styled text control which uses Scintilla as the backend. This allows us to implement a torquescript IDE right into the editor. @
User avatar
LukasPJ
has begun implementing the lexer for torquescript. The end goal here is to build a solid script editor like Torsion inside of the editor suite.

Here's an in-progress shot of @
User avatar
LukasPJ
's work:
Image

I'll be honest I'm no UI designer, and I've never put together an editor suite before. That's why I'm making this thread. I'm going to start posting some design/layout ideas and I need feedback to help shape the editor suite.
Chelaru
Posts: 186
Joined: Wed Jul 01, 2015 10:33 am
by Chelaru » Tue Jul 07, 2015 7:11 pm
Hello.

You could take a look at cryengine .

But in short words : Keep it simple.
razvanab
Posts: 18
Joined: Tue Jul 07, 2015 8:02 pm
by razvanab » Tue Jul 07, 2015 8:04 pm
Unreal Engine 4 has the best interface i work with. It is very clean and well structured.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Tue Jul 07, 2015 9:19 pm
@
User avatar
Chelaru
: Yeah, CryEngine is likely what it will end up being closest to. I'm hoping it comes out a little better organized though. Since I've never used CryEngine for an extended period of time it's hard to tell if their big dashboard of icons makes it easier having everything at your fingertips, or makes it daunting having so many buttons to press.

Image

Lots of icons. At least at first glance they don't seem to break things up too much. For instance there doesn't look to be a "Terrain Editor" mode, etc. Looks to be all thrown into one spot. Maybe someone who's familiar with CryEngine could comment further.

@
User avatar
razvanab
: Yeah, I'm currently using UE4 for a game project as well and I love the editor. It will definitely be influencing this project.
Chelaru
Posts: 186
Joined: Wed Jul 01, 2015 10:33 am
by Chelaru » Wed Jul 08, 2015 9:03 am
A nice feature will be to be able to move the gui elements as the artist see fit.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Fri Jul 10, 2015 1:49 am
This is the sort of layout I think I've settled on:

Image

It's similar to cryengine. The game window is the main window and it cant be undocked. Everything else is docked around it or floating. You can move the toolbar to anywhere you want, same with the console. All the windows you open for various tools will be floating and dockable.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Fri Jul 10, 2015 2:34 am
Script editor added, though it still needs LukasPJ's TorqueScript syntax highlighting:
Image
buckmaster
Steering Committee
Steering Committee
Posts: 321
Joined: Thu Feb 05, 2015 1:02 am
by buckmaster » Mon Jul 13, 2015 2:15 pm
Love it. I mean, I don't love 'yet another embedded text editor', though if it's hooked into the debugger so you can step through scripts, then awesome :D.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Wed Jul 15, 2015 12:16 am
@
User avatar
buckmaster
: I've looked into the telnet script debugger and I'm pretty confident I can implement it.

With the help of @
User avatar
LukasPJ
the torquescript highlighter in in place. I've created a very basic script browser and tabbed editing:
Image

With all the talk of profiling lately I figured I'd try my hand at writing a little profiler tool in the editor. It runs torques profiler for a set of frames, stops it, then dumps the data to a cache which I grab in the editor and put into an easy to understand format:
Image

I also replaced the timing calls with calls to bx, which bgfx uses:
https://github.com/bkaradzic/bx/blob/master/include/bx/timer.h

That way I could convert the times measured into milliseconds. The times shown are the average over the number of frames the profile runs for. Because the editor ticks the engine it can control exactly how many frames the profiler runs for. I'll expand the profiler with more options and data later.
andrewmac
Posts: 295
Joined: Tue Feb 03, 2015 9:45 pm
 
by andrewmac » Thu Jul 16, 2015 12:52 am
Video of the editor in action:


Doesn't do much actual editing yet, but it gives you an idea of what interacting with it is like.
43 posts Page 1 of 5

Who is online

Users browsing this forum: No registered users and 1 guest