Jump to content
NeoArmageddon

Map Builder - Ingame 3D-Editor for terrain creation

Recommended Posts

Hey man, are we far off from having a way to export in sqm? is there a current method to do this without called sqm's as its hard to place NPC this way

Share this post


Link to post
Share on other sites
With every object you place? Works on our dedicated... strange... What object? Which A3 version? I will look into it.

We only tried with a few A3 objects - ill give it another go and confirm what objects - mind you thinking about it did install the mod on our server as well , which is probably wrong ?

Re,moved Server side and just running client side and all working :) sorry my Bad

*** Did notice you lose the ad-action when you jump out and come back in on dedi

Edited by 1PARA{God-Father}

Share this post


Link to post
Share on other sites
Hey man, are we far off from having a way to export in sqm? is there a current method to do this without called sqm's as its hard to place NPC this way

SQM export is nearly ready (it works but some objects are a few centimeters off). I will probably release an update with it tomorrow.

is there a current method to do this without called sqm's as its hard to place NPC this way

Placing AI (and waypoints and stuff) is off the scope of Map Builder as it is designed to handle objects not units. Sorry. Maybe later down the road.

Share this post


Link to post
Share on other sites

Update time:

Version 0.6 Alpha is now available on the first page. THe changelog:

  • Fixed: Broken relative position and rotation with copied selections (Copy and Paste).
  • Fixed: Keypresses are resettet if the mouse leaves the main view. Prevents stuck movement keys.
  • Added: Map dialog with fast travel (single leftclick).
  • Added: Experimental SQM export.
  • Added: All A3 objects are nor placeable thanks to CypeRevenge. They have the "(MB)"-Suffix in the list of objects.

The SQM export is not perfect and will be tweaked, but I think it is ready to be tested.

Thanks to CypeRevenge and his editor upgrade all A3 objects are now placeable in MapBuilder and 2D-editor. Please not that missions created with these objects also need the MapBuilder-PBOs (but not the missionfiles).

If you experience that the movementkeys don't work, the main window doesn't have focus. Just singleclick in the main view and you should be able to move again. This was implemented to prevent modification of your compositions while using dialogs and menus and prevent stuck keys when exiting the mainview.

Edited by NeoArmageddon

Share this post


Link to post
Share on other sites

Thanks for the update, NeoArmageddon. Will check it out tonight after I finish work. As for putting the map into the next version I'm not so sure. I've had a couple of people who run these Life servers asking to use it "exclusively" for their servers to which I said no to. Their reply? "I'll wait till you release it and just rip it out of your mission." So for now it's getting all pulled serverside so they can't get their grubby hands on it.

Edit - More than happy to give it to you to use so you can see how poorly I probably used your addon!

Share this post


Link to post
Share on other sites
Thanks for the update, NeoArmageddon. Will check it out tonight after I finish work. As for putting the map into the next version I'm not so sure. I've had a couple of people who run these Life servers asking to use it "exclusively" for their servers to which I said no to. Their reply? "I'll wait till you release it and just rip it out of your mission." So for now it's getting all pulled serverside so they can't get their grubby hands on it.

When it is released with MB as example, they can rip it out, sure. But it will be known as your composition from the Map Builder-examples so that they can't claim credit for this (assumed Map Builder will be known around the community).

And if you don't release something because of the Life-Community, the Life-Community wins! :mad: You don't want that, do you?

Share this post


Link to post
Share on other sites

Can I ask how close you are to making the code available in a repository? I'm just curious :)

I've revived a project I worked on last year but abandoned due to losing the database powering it. I managed to restore it last week and I'm now in the process of making it work again.

It's going to be a tool to automatically generate object compositions based on a set of parameters but I think it would be neat if I could add support to your addon for it so people can import the compositions and mess around with them with all the goodness you've brought us.

Share this post


Link to post
Share on other sites
It's going to be a tool to automatically generate object compositions based on a set of parameters but I think it would be neat if I could add support to your addon for it so people can import the compositions and mess around with them with all the goodness you've brought us.

Sounds awesome.

You actually don't need a Fork to experiment with Map Builder, you can just edit the files in the mission itself. The only thing that is packed are the configs for the editor upgrade and FileIO. But you can use the FileIO from SQF like a C++-fstream. Maybe you can switch your db-storage to a file storage loaded with MB-FileIO.

Would be cool if you manage to add your composition creation to MB (or I implement it if you want to). You can contact me via Steam if you need further insight of the MB code.

Share this post


Link to post
Share on other sites

Hey Neo,

awesome project, really improves mission building (e.g. creating bases etc.) :).

One feature request though: would it be possible to add exporting to mission.sqm which you can load in editor and then already has all the objects placed so you can manopulate them in editor (e.g. edit init lines) instead of a script which you have to run that spawns all the objects during the mission?

//Edit: Ok, just read through a few pages here and noticed that is already planned - you are doing awesome work :).

Share this post


Link to post
Share on other sites
//Edit: Ok, just read through a few pages here and noticed that is already planned - you are doing awesome work :).

Actually sqm export was part of todays update. Just load 0.6 Alpha and click "Export to SQM".

Share this post


Link to post
Share on other sites
Sounds awesome.

You actually don't need a Fork to experiment with Map Builder, you can just edit the files in the mission itself. The only thing that is packed are the configs for the editor upgrade and FileIO. But you can use the FileIO from SQF like a C++-fstream. Maybe you can switch your db-storage to a file storage loaded with MB-FileIO.

Would be cool if you manage to add your composition creation to MB (or I implement it if you want to). You can contact me via Steam if you need further insight of the MB code.

Thanks, I'll take a look at the mission files later on. I'm pretty good at figuring out most things on my own but expect to hear from me if I have any questions :)

I plan to make a proper config parser later on so I can import any addons, not just what's available from other sources. That way it becomes a lot more flexible.

At the moment all the data is in a MySQL-database, imported from Six Config Browser through PHP. I used the Arma MySQL mod to set up an in-game measuring script using the bounding box function to grab the size of each object and save it back to the DB. I'm also linking everything that's linkable (ammo to magazines, magazines to muzzles, muzzles to weapons, etc). Not sure if I'll ever end up doing anything with that info but if I could get it to a point where my scripts could generate weapon configs and the like, well :yay:

Share this post


Link to post
Share on other sites

Sounds very complicated. Have a look how things are done in MapBuilder, maybe this could be a good inspiration for a simplier approach. Maybe you can even write a config parser in SQF.

Share this post


Link to post
Share on other sites

I just had a look at your scripts. Nice code styling! Apart from the { being on a new line, it's very similar to my own and very easy to read. I couldn't help but thinking back to the time I cracked open a DayZ anti-hack, dear lord that was an abomination.

I don't think I'll have any problem writing an addon that can hook into yours, it's so easy to follow the flow. If I can find the time this weekend I'll do a quick test and let you know if I have any trouble.

And it's not as complicated as it may sound, in my opinion at least :D

I've automated a lot already and once I have the config parser written, the import process will just be a button you click after supplying the config files that you want parsed.

At the moment, this is how it works:

The Six Config Browser is automatically scraped, I simply took the category lists from cfg_weapons and cfg_vehicles on their site and change the URL in a loop. I must've had a massive brainderp though since I grabbed the XML version instead of JSON but since I plan on writing a proper config parser I can't be bothered to change that atm.

Anyway, that data is then imported into the right tables and linked to those categories. Since both the weapon and vehicle data contain references to their respective weapon, magazine and ammo capabilities, I decided to import those as well and save their relations.

This is where I'm at right now.

I can generate an array of stuff that I feed to my measuring script in Arma 3 which spawns the vehicle, runs the boundingbox function on it and saves that back to the database. This way I have the measurement of any object you can load into Arma all in one place. I only imported vanilla stuff so far but the counter's already at 2816 vehicles and 802 weapons with only a small part of those being dummies that don't translate to a real object in-game.

Since the configs also hold the loadouts for each unit, I'll be saving those too when the config parser's ready.

I want to build a database for Arma that will allow you to do:

Mission generation

Town generation

Base generation

Loadout generation

Unit generation

Weapon generation

Magazine generation

I know it's a pretty heavy feature list and it'll be a long time before they're all finished. Hell, some might even be impossible to pull off for me but so far I've had quite some fun with automating editing stuff for Arma. Once I feel the whole thing is stable enough, I'll put the PHP source on BitBucket together with a dump of the database. It's currently tied into a CMS I'm building on the Phalcon framework.

The whole thing would be possible in SQF but it would at least double the time I need to build it. Once I have working PHP code that's been completely debugged, it becomes a matter of porting it which would be a lot faster.

There's one other thing I've been trying to figure out, the possibility to automate screenshots but I think I'll need an outside app for that. But that way my measuring script could take screenshots at the same time. I have a full image collection of all in-game objects already but they're not mine and I don't want to release them with the DB.

Edited by BadLuckBurt
spoilered my explanation - it should be in it's own thread really.

Share this post


Link to post
Share on other sites

Still having an issue...

When I test this it all work fine in MP pop it onto my dedi and any Object that has MB next to it - when I place it down I cannot then select it again and move it - other add-ons i.e JBAD , MBG killhouse etc.. all work fine and can move them

Any idea why MB objects are not movable on dedi ?

Also only 1 player can move an object it seem as soon as someone else try's to move an object it all stops the rest can only place things down ?

Edited by 1PARA{God-Father}

Share this post


Link to post
Share on other sites

Any idea why MB objects are not movable on dedi ?

Probably because static global object are local to the host.

Will look into it, but will probably fix itself when I go to the new networking script where every item is local to everyone.

There's one other thing I've been trying to figure out, the possibility to automate screenshots but I think I'll need an outside app for that.

http://killzonekid.com/arma-extension-scr_cap-dll-screen-capture/

I just had a look at your scripts. Nice code styling!

The script is a mess (like my flat) and I need to clean up when I have some time (like my flat).

Share this post


Link to post
Share on other sites

Oooooh, thanks :D

Once I figure out how to frame the camera automatically to the size of the objects I can has nice pictures :3

Share this post


Link to post
Share on other sites

There is a small floating point bug when exporting to TB. Some objects may appear misplaced when reimporting to TB. I will upload a fixed version (thx to Mondkalb) tomorrow.

Share this post


Link to post
Share on other sites

Hi Neo

What about keeping the locality of all objects server/host side and just move them local to the client when he is interacting with it and move it back to the server/host after interaction stopped?

using:

local

EH local

owner

setOwner

Something like, select object composition (sever->client)

Move object composition (client)

Unselect object composition (client->server)

With local objects only i see a lot of inconsistency problems.

Share this post


Link to post
Share on other sites
Hi Neo

What about keeping the locality of all objects server/host side and just move them local to the client when he is interacting with it and move it back to the server/host after interaction stopped?

[...]

Something like, select object composition (sever->client)

Move object composition (client)

Unselect object composition (client->server)

With local objects only i see a lot of inconsistency problems.

Keeping all objects on the server is a bad idea, I tested this. That will make nearly all objects unmoveable as the connection between client and server is to slow for a smooth dragging of objects (new position every 0.1 seconds).

In the next step, every object will be local at every client (if you create a object, a similar object is created local at every client) and everyobject will receive a global ID. With this ID the objects will be updated on remote clients. To limit the network traffic, only final positions will be synchroized (so you will not see someone dragging an object, but you will see the change when he release it).

I also uploaded a Hotfix 0.6.1 which increases the floatingpoint precision of export drastically. Thanks to CypeRevenge for reporting and Mondkalb for the solution.

Share this post


Link to post
Share on other sites

Well i think you misunderstood my suggestion ^^

only untouched static obbjects are server side.

the objects that are getting moved around by the players are local to the client interacting with them until he releases them.

after he release the objects, the locality would switch back to the server like i explained above:

Select object composition locality changes (from sever-> to client)

Move object composition locality on client while interaction (client)

Unselect object composition locality changes (from client-> to server)

Share this post


Link to post
Share on other sites
To limit the network traffic, only final positions will be synchroized (so you will not see someone dragging an object, but you will see the change when he release it).

Maybe you could add a simple easing function to help transition the object from one position to the other?

I haven't tested in a server environment yet, just locally so I don't know how choppy / jarring the changes are when you receive them from the server but if anyone start complaining, tweening between the two positions should help.

Share this post


Link to post
Share on other sites

Made a small scene in VR and exported to mission.sqm but when I try and load that file it states "Read only File" and none of the objects show up. I checked the sqm file and all objects are saved..?

Share this post


Link to post
Share on other sites
Made a small scene in VR and exported to mission.sqm but when I try and load that file it states "Read only File" and none of the objects show up. I checked the sqm file and all objects are saved..?

A mission.sqm has to be named "mission.sqm". Otherwise A3 does not recognize it as mission-file.

Share this post


Link to post
Share on other sites

If the filename is not the problem, right-click on the mission.sqm in Windows Explorer and open the properties.

Windows sometimes blocks files that have an 'external' origin, I had some trouble with a DLL that I installed for Apache. If it is blocking the file, you'll see an Unblock-button, click that and it should load afterwards.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×