file New map editor for making DIFs?

  • LegoCreator768
  • LegoCreator768's Avatar Topic Author
  • Offline
  • Experienced Marbler
  • Experienced Marbler
  • Always on technology
  • Posts: 148
  • Thank you received: 19
24 Mar 2015 02:18 #1
Hello!
I think QuArK/Constructor aren't the best for MB levels. It'd be cool for a MB-specific map editor, to make MPs and curves and everything else easier. The program would make a .map file (that's in it's own code) and convert into a DIF when compiling and interior test it. It'd have a drag/drop 2D view for shaping and a 3D view for editing vertices and texturing and stuff like that.

Here's my code idea:
Code:
new squarePlatform { (L,R,F,B,D<EDGE_WHITE> U<GRID_COOL2>); //Set the position pos(0,0,0); //Set specialties //No specialties }; new MovingPlatforn { (L,R,F,B,D<EDGE_WHITE> U<GRID_WARM>); pos(4,4,2); groupName=("Moving1"); InitialTargetPosition=(0); }; new Marker { pos(<position>); targetTime=(999999); };

Well, there's my idea. Let me know what you think about my idea. Post any ideas you have for this!

Thanks for reading!

Please Log in or Create an account to join the conversation.

  • Frostfire
  • Frostfire's Avatar
  • Offline
  • Senior Marbler
  • Senior Marbler
  • Multiplayer Mastery
  • Posts: 915
  • Thank you received: 446
24 Mar 2015 02:29 #2
Beautiful

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Elite Marbler
  • Elite Marbler
  • PlatinumQuest Programmer
  • Posts: 1680
  • Thank you received: 204
24 Mar 2015 03:49 #3
good luck programming one :)

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
24 Mar 2015 03:53 #4
Why not use JSON? Sounds a lot easier than trying to make your own format...
Also have fun with OpenGL

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }

Please Log in or Create an account to join the conversation.

  • LegoCreator768
  • LegoCreator768's Avatar Topic Author
  • Offline
  • Experienced Marbler
  • Experienced Marbler
  • Always on technology
  • Posts: 148
  • Thank you received: 19
24 Mar 2015 22:01 #5
Right now, I only know how to make batch games with text graphics. OpenGL and JSON are quite a big feat. This was just a little idea that I made up.

Please Log in or Create an account to join the conversation.

  • Jeff
  • Jeff's Avatar
  • Offline
  • Elite Marbler
  • Elite Marbler
  • PlatinumQuest Programmer
  • Posts: 1680
  • Thank you received: 204
24 Mar 2015 22:04 #6
OpenGL and JSON are both industry standards. If you are serious about this and want to do this, I would look into using a framework utilizing c++.

I am a programmer. Most here know me for being one of the major contributors to Marble Blast Platinum and PlatinumQuest.

Please Log in or Create an account to join the conversation.

  • LegoCreator768
  • LegoCreator768's Avatar Topic Author
  • Offline
  • Experienced Marbler
  • Experienced Marbler
  • Always on technology
  • Posts: 148
  • Thank you received: 19
28 Mar 2015 00:11 #7
I just had a neat little idea that I thought I'd share. Maybe when I get into OpenGL and have more knowledge of graphics programming I'll make a map editor for MB.

Please Log in or Create an account to join the conversation.

  • RDs.The-dts-guy
  • RDs.The-dts-guy's Avatar
  • Offline
  • Developer
  • Developer
  • Blender pls
  • Posts: 719
  • Thank you received: 188
29 Mar 2015 20:25 - 29 Mar 2015 20:54 #8
First of all even with decent OpenGL/3d programming knowledge it will be pain to make. I can give you few examples of homebrew brush editors but they never got any far and are HARD to use, Quark and Hammer 3D (with its other deprivations) rule the market and hammer is used even by professionals (though bsp format by itself is horribly outdated) I think it would be plain easier to develop plugins for more geometrical shapes in constructor or improve existing ones instead of wasting so much time trying to make tool that already exists, believe me you will run into MANY problems along the way, brush editors are more than rendering triangles, it's math, lots of it that is.
Constructor works the way you just explained your tool to be, you just have to configure views and have some experience or ask someone around here, there are few people here who know how to make messy stuff, thing I love about constructor is that you can edit things even in 3D view and texturing is really easy, it's way more intuitive too. The core problem with Constructors moving platforms is 1. no multibrush MP's 2. slightly buggy and crashy 3. less intuitive.
Now talking about direct exporting, i know about this trick ever since ive started using constructor.

Best part is you can configure exporter whatever you wish, you can use .csx format (constructor will export it to map if asked) which doesn't make triangle geometry disappear on map load. You can say where stuff to export etc etc.
Complicated geometry? There are 2 choices: aether blender it up (trust me, it's not easy there eather) or use constructor and some trickery, with higuys scale two zero plugin ( higuy.me/scaletwozero.php ) it has never been easier, just make complicated things and pray that MBmap2dif_plus won't leave holes in.
I can't ditch quark too, it's program with many years of stability, constructor is something that was slapped together quite quickly and it's a mirracle it even works so well, it is buggy at times but it's the simplest brush editor you can find around. It really depends on your workflow though, some love quark more than constructor because they have different workflow.
I'm not saying you shouldn't make it, more like suggesting for you to not reinvent the wheel and do bit of research, maybe ask someone here who uses constructor or quark quite often about what they seemed both programs lacked when making MB levels, of course coding anything is great for education but if you want to make this into serious tool you may end up putting lot of work for nothing. ;)
IMO i think only thing constructor lacks (excluding better MP hadling) is displacement's, they can be sortof manually done but it's hard to do them so that they feel natural. With proper tool it would be easier to make more natural MB maps.


EDIT: here is also this tool, it costs a lot, it's workflow is very interesting but that has 3 years of stability now.

Some guy that does DTS shapes and levels.

AWESOME time HINT : When making PQ level place your custom interiors and textures in platinum/data/interiors_pq/custom
makes life easier for you and everyone else :)
Last edit: 29 Mar 2015 20:54 by RDs.The-dts-guy.

Please Log in or Create an account to join the conversation.

  • LegoCreator768
  • LegoCreator768's Avatar Topic Author
  • Offline
  • Experienced Marbler
  • Experienced Marbler
  • Always on technology
  • Posts: 148
  • Thank you received: 19
30 Mar 2015 23:06 #9
Okay, thanks for letting me know! Also, I am interested in QuArK. I saw a video on it and it looks cool, but I am using Constructor right now. I also learned that Constructor + multiple MPs = pain, since you may have to sort in Notepad++. You made a great point of using plugins.

Thanks! :)

Please Log in or Create an account to join the conversation.

  • RDs.The-dts-guy
  • RDs.The-dts-guy's Avatar
  • Offline
  • Developer
  • Developer
  • Blender pls
  • Posts: 719
  • Thank you received: 188
31 Mar 2015 08:05 - 31 Mar 2015 08:16 #10
See for yourself, making things in quark imo is slower and the main disadvantage is that making courves/spirals while being possible is very hard, but it's pretty stable program, theres tools for debugging the map and according to some people it is prone to make certain brushes less buggy, also as you said MP's are easier to be made there. If you can utilize both programs then you have huge potential, Pablo and few oldies used to use both of them for single maps and results where pretty astonishing (ofc they also where very talented level makers). So good luck on that :)
Also I tested multibrush combining in constructor and it isn't that hard, you don't even have to make every brush that is part of multibrush to be door_elevator, we managed to just take any brush from brush tree and paste them under door_elevator. Thingy though is that once you do that you can't load map in constructor because it will break all MP's and you'll have to remake them.

Some guy that does DTS shapes and levels.

AWESOME time HINT : When making PQ level place your custom interiors and textures in platinum/data/interiors_pq/custom
makes life easier for you and everyone else :)
Last edit: 31 Mar 2015 08:16 by RDs.The-dts-guy.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
31 Mar 2015 23:52 - 06 Apr 2015 21:44 #11
Constructor + multiple MPs = pain? Fear no longer for I have made a plugin (yesterday) that solves this issue. Install to <constructor>/plug-ins/
Download Here

Just a quick script hack, let me know if you have any issues. I'll probably make a better looking post about this in the future, but can't be bothered right now.

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }
Last edit: 06 Apr 2015 21:44 by HiGuy.

Please Log in or Create an account to join the conversation.

  • RDs.The-dts-guy
  • RDs.The-dts-guy's Avatar
  • Offline
  • Developer
  • Developer
  • Blender pls
  • Posts: 719
  • Thank you received: 188
01 Apr 2015 16:29 - 01 Apr 2015 16:29 #12

Holy shit, you did it again. You have nearly solved 2nd most annoying thing about Constructor. Thanks a bunch!

Did some testing and thing works great, combines brushes like charm.
But one optional problem still persists, i think you allready attempted to solve it with this script since behavior has changed a bit and now door elevators aren't removed upon reload but at least are replaced with worldspawn that still works, theres another issue though. Basically you make your MP>close constructor>open it>open the map> duplicate/add normal brush and map gets instantly corrupted (aka map2dif crashes instantly upon starting to export). The way to fix that is by redoing all MP's, is there any way to fix that, I assume it would be hard though, so if you can't fix that it's not even necessary since you can easly make 2 maps with all MP's being in separate map or do MP's complete last thing on map.

Some guy that does DTS shapes and levels.

AWESOME time HINT : When making PQ level place your custom interiors and textures in platinum/data/interiors_pq/custom
makes life easier for you and everyone else :)
Last edit: 01 Apr 2015 16:29 by RDs.The-dts-guy.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
01 Apr 2015 19:56 #13
I can't quite seem to replicate the crash you're getting. Are you trying to create brushes after creating MPs and then having map2dif crash? How are you creating the brushes (copy/paste or with the create tab)?

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }

Please Log in or Create an account to join the conversation.

  • RDs.The-dts-guy
  • RDs.The-dts-guy's Avatar
  • Offline
  • Developer
  • Developer
  • Blender pls
  • Posts: 719
  • Thank you received: 188
07 Apr 2015 19:58 - 07 Apr 2015 20:13 #14

HiGuy wrote: I can't quite seem to replicate the crash you're getting. Are you trying to create brushes after creating MPs and then having map2dif crash? How are you creating the brushes (copy/paste or with the create tab)?


More testing reveled following things. As proven before .map is a pretty buggy format when it comes to constructor saving in it directly. (map on it's own is fine, it's constructor that messes it up) When I used .csx the crash explained above never happened, there was also bug with moving platform triggers messing up interior test which has been gone upon using .csx. .csx doesn't crash piramids upon map reload. Only small thing is you have to reset all brush origins upon every map reload, quark users can't do anything with it unless its saved as map and file size of .csx is greatly bigger then for same thing saved as map (ex last big scale .csx I did was 5MB for 3.5k brushes while being saved as map it would yield aprox 1.2MB). of course map2dif can't export .csx so it is necessary to export it directly through constructor. What constructor does it exports it to map automatically and then pushes it through exporter. Setting this for someone who hasn't done this before is quite tricky so hopefully Ill be able to make tutorial in following days. I think seizure and somebody else have been using this not including me(I started doing .csx's 2 years ago to address breaking pyramids) but this could help somebody else.
In general .csx greatly reduces buggines of constructor but it has it's own small cost. I'd say it has solved most of critical problems of map saving for constructor.

Some guy that does DTS shapes and levels.

AWESOME time HINT : When making PQ level place your custom interiors and textures in platinum/data/interiors_pq/custom
makes life easier for you and everyone else :)
Last edit: 07 Apr 2015 20:13 by RDs.The-dts-guy.

Please Log in or Create an account to join the conversation.

  • HiGuy
  • HiGuy's Avatar
  • Offline
  • Lead Developer
  • Lead Developer
  • PQ Developer Emeritus
  • Posts: 1334
  • Thank you received: 605
07 Apr 2015 23:28 #15
Huh, can't say I've ever tested using this with csx. I updated the build at the link, as the old version would produce way too many empty entities. Let me know if that solves any of the issues you were having.

This signature is real code
Code:
function clientcmd12dothepq() { commandToClient(LocalClientConnection, '34onthedancefloor'); }

Please Log in or Create an account to join the conversation.

  • Posts: 4
  • Thank you received: 0
16 May 2015 00:11 #16
Why don't we make a plugin for the Hammer World Editor to export DIF files?

Please Log in or Create an account to join the conversation.

  • Posts: 50
  • Thank you received: 22
16 May 2015 04:02 #17

Feoix wrote: Why don't we make a plugin for the Hammer World Editor to export DIF files?


I did some research and quickly realized that this would be a bad idea because of the following:

Hammer World Editor EULA wrote: (a) use VHE solely to develop New Levels for Half-Life and other compatible Valve products;

(b) reproduce and distribute New Levels, solely to licensed end users of Half-Life or other compatible Valve products, without charge;


In a nutshell, it is prohibited to use Hammer to make maps for non-Source engine games, unless you get explicit permission from Valve, which is basically impossible.

Please Log in or Create an account to join the conversation.

Moderators: Doomblah
Time to create page: 1.221 seconds