C++ PROGRAMMERS: What would be the best option for a cross platform, modern hammer replacement? Created 1 year ago2022-08-30 16:10:35 UTC by brannanz brannanz

Created 1 year ago2022-08-30 16:10:35 UTC by brannanz brannanz

Posted 1 year ago2022-08-30 16:10:35 UTC Post #346826
I've been thinking of making a cross-platform valve hammer editor replacement in C++. I know Jackhammer exists, and I use it extensively, but it is not open source or free (and nobody uses the out of date free Jack, I hope.) Trenchbroom could be a viable option, but half-life support is still under development, and is quite different to hammer. (I'm aware there's a four-pane view, I personally use that.) There may be an other option out there that I am not aware of, but as far as I know, something should be made addressing this "problem".

Here's what I think:
Qt | Seems like a viable option, but I cannot find any tutorials on this framework that don't utilise Qt Creator or Qt Designer. (This may be from a lack of research though!)
Dear ImGui | I don't think this can be made to look like a normal application. (?)
Win32 API | Probably the fastest, but is not cross platform.

Gtk might work, but I don't know enough about this.
brannanz brannanzBUGBUG
Posted 1 year ago2022-08-30 18:20:16 UTC Post #346827
and nobody uses the out of date free Jack, I hope.
There are more users of "free J.A.C.K." than "paid Steam" ones that's for sure.
Trenchbroom could be a viable option, but half-life support is still under development
A lot of progress has been made and support for GoldSrc is still on-going, it's use-able for geometry/texturing and probably most of the other things unless it's very specific.

Do note that making a level editor from scratch is going to take a lot of time, effort and knowledge. Some people who gave it a try can back that up.

If you insist so much on writing a replacement for Hammer in C++ and want a cross-platform UI framework: Qt.
Posted 1 year ago2022-08-30 18:34:36 UTC Post #346828
Hey, I've been thinking about something similar too.
but it is not open source or free (and nobody uses the out of date free Jack, I hope.)
There is absolutely nothing wrong with the free version, I and many others use it lol.
Dear ImGui | I don't think this can be made to look like a normal application. (?)
The real problem is the lack of a good, decent file browser plugin for it, and if you care about laptops, the fact it has to redraw everything so it'll use more battery.

It is possible to create new Qt UI without touching Creator/Designer. I think that's how TrenchBroom goes about it, actually!
There may be an other option
Well, there does exist a certain Hammer-style editor: http://www.evolved-software.com/mapscape/mapscape
However it's closed-source. I remember seeing another repository with a C++ CSG map editor, but that was long inactive and it just said to use TrenchBroom, and I forgot the name...

What do you think about CopperSpice? It is a flavour of Qt but gets rid of some of its baggage.
Also, what about C# instead of C++? There's Eto.Forms which is pretty nice, WinForms but cross-platform basically.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 year ago2022-08-30 18:56:04 UTC Post #346829
What do you think about CopperSpice? It is a flavour of Qt but gets rid of some of its baggage.
I looked up copperspice, and did not find anything relating to actual code examples, or any tutorials about it. This is probably just me being terrible at researching, but a seemingly big lack of anything about the thing leaves a bad taste in my mouth. It may be great though, so I'll have to do some more research.
Also, what about C# instead of C++?
I don't know much about C#, but I have fiddled around with it a few times, from what I saw, it seems to be a good language.
There's Eto.Forms which is pretty nice, WinForms but cross-platform basically.
From what I see, it doesn't look too bad! I'll have to get around to trying it out.
It is possible to create new Qt UI without touching Creator/Designer. I think that's how TrenchBroom goes about it, actually!
Seems promising. Ill look up the trenchbroom source code to see how they did it.
Thanks for the help!
brannanz brannanzBUGBUG
Posted 1 year ago2022-08-30 21:13:30 UTC Post #346830
I looked up copperspice, and did not find anything relating to actual code examples,
This is because all Qt code examples should work with CopperSpice just fine. Qt has an extensive documentation, so, yeah. Though, vanilla Qt should also work just fine, as Shepard suggests.

The reason I asked about C# is, some things you might wanna do are a lot easier there than in C++, like native plugins if you ever wanna add that.
Do you have any sorta design document for the editor, or is this a type of pre-planning phase?

Here's mine for example:
https://docs.google.com/document/d/134Chx1BxZPiWVkfK1hIfz5STCDqLrYRA3KRCA18-vQ4/edit?usp=sharing
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 year ago2022-08-31 00:28:33 UTC Post #346831
This got me good since I was thinking about getting the paid version of J.A.C.K.
and nobody uses the out of date free Jack, I hope.
I've been using the free version for ages now. What features does the paid version have that make the free that obsolete?

Speaking of ideas for a new modern map editor. I'd say GTK or Qt would be the way to go, maybe even Dear ImGUI. Also something that I thought would be cool is having a lighting preview option like Hamer++ has.

EDIT: One thing just came to my mind, a good portion of Linux users run gtk themes which may break the look of your editor to them. So be careful if picking that one.
Posted 1 year ago2022-08-31 07:37:52 UTC Post #346832
Do you have any sorta design document for the editor, or is this a type of pre-planning phase?
No, I didnt. But since you said, I made a very rough document. I've never really written something like this before so don't expect much. I have a pretty unoriginal name for it right now: "Worldcraft 2". I hope it doesn't stick, because I personally hate it. (I HAVE NOW RENAMED TO ENTITYMAPPER.)
https://docs.google.com/document/d/1eADHztwz66zedpZGnFkG8Sf87Ytg_KEp5AApeip-3Lc/edit?usp=sharing
Here's the link.
I've been using the free version for ages now. What features does the paid version have that make the free that obsolete?
I'm pretty sure they haven't updated that in ages. The Steam version has automatic mod setup which I think is unique to that version. It also had a big update a little while ago, if memory serves me correct.

UPDATE:
I've just tried Eto.Forms, and I'll admit.. I don't like it at all, lol.
brannanz brannanzBUGBUG
Posted 1 year ago2022-08-31 12:30:49 UTC Post #346833
I've checked it out, not bad. This is basically the same idea as J.A.C.K. but open-source?
I'm pretty sure they haven't updated that in ages. The Steam version has automatic mod setup which I think is unique to that version. It also had a big update a little while ago, if memory serves me correct.
Automatic mod setup is a plus, but I've done it so many times I speedrun it now. Besides, you won't be making myriads of mod configs, no?
I am not sure about that big update. There's some features in the beta, like sub-unit precision (which is reportedly pretty janky), and the developer still hasn't fixed UV locking. IMO the features it brings are mostly not that useful and don't justify the price tag.

Re: Eto.Forms
Oof, guess Qt is next.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 year ago2022-08-31 12:37:23 UTC Post #346834
This is basically the same idea as J.A.C.K. but open-source?
Pretty much. Although J.A.C.K is basically a carbon copy of hammer, which I would try to avoid, because there's probably a better way to handle the four-pane interface. Trenchbroom does it niceley, for example.

About J.A.C.K, I just bought it to support the developers. The supposedly "large" update didn't bring that many features, so it's pretty much the only reason to get the steam version. It even has DRM, so you can't run it without steam open and logged in.
brannanz brannanzBUGBUG
Posted 1 year ago2022-08-31 18:34:10 UTC Post #346835
Isn`t sledge editor open source and witten in c# ?
Posted 1 year ago2022-08-31 20:13:13 UTC Post #346836
Inactive tho' and not cross-platform.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 year ago2022-09-01 14:37:47 UTC Post #346840
Automatic mod setup is a plus, but I've done it so many times I speedrun it now. Besides, you won't be making myriads of mod configs, no?
I think it would be best to have no "automatic game/mod setup", just let the level designer do the manual setup as there are too many things that can be different. At least an "import/export" function to backup/restore or share a game/mod profile to a beginner and have him update it or whatever.

I saw in your document you added "Half-Life 2" support, Not to discourage you but there's a lot more work and effort than Quake/Half-Life (filesystem, material, shaders to quote one of the many obstacles awaiting for you)
Posted 1 year ago2022-09-02 06:00:44 UTC Post #346842
I mean, I personally feel we should get some sort of updated Half-Life 1 tools for the new decade... I would love to have a new Hammer that the community could collaborate on. There's a lot of talented programmers here, so anything is possible, but I do agree that if the tools have managed to hold up over a period of time.

Oh well, if it ain't broken, don't fix it.
Posted 1 year ago2022-09-02 07:36:40 UTC Post #346843
I saw in your document you added "Half-Life 2" support, Not to discourage you but there's a lot more work and effort than Quake/Half-Life
That's why I added a question mark.
brannanz brannanzBUGBUG
Posted 1 year ago2022-10-24 20:23:09 UTC Post #346991
please add realtime rendering
Posted 1 year ago2022-10-25 13:13:13 UTC Post #347000
"please add realtime rendering"
Hammer, J.A.C.K., even Worldcraft, all have real-time rendering. You can control the camera in real time with your mouse and WASD, and it renders at 60fps. That is real-time rendering, yes.

I imagine you're asking for real-time lights or maybe a lightmap preview. That's probably unlikely. This thread isn't about ideal editor features, but rather, what tools might be good for a programmer to develop one map editor.
Admer456 Admer456If it ain't broken, don't fox it!
You must be logged in to post a response.