JujuMapper: Open Beta

  • plamzi
  • plamzi's Avatar Topic Author
  • Offline
  • Administrator
More
02 Oct 2013 05:50 - 02 Oct 2013 05:55 #1 by plamzi
JujuMapper: Open Beta was created by plamzi

JujuMapper is a vector-based plugin that can handle even nutty non-Euclidean worlds. It is now in open beta and loads on the app page. It can be used by game admins and players alike, with the game admin's maps becoming automatically available to players.

Unlike other mappers, Juju does not require rooms to have x, y, z co-ordinates. Instead, it tries to place the rooms relative to other rooms automatically, and then provides the user with the ability to tweak for best results.

Getting Started:
j(document).ready(function() {
    var mapper = new JujuMapper();
    Event.listen('gmcp', mapper.gmcp);
});

If you have a relatively straightforward world, you can jump-start things by clicking "Edit" in the Juju toolbar, then selecting "Upload":


Juju also supports incremental mapping (for this release, GMCP in the Aardwolf room.info format). This is also how it expects to get the current location from the server:
{"num":3001,"name":"The Temple Of Garathorm","zone":"Garathorm Inner City","terrain":"City","exits" {"n":3059,"e":3054,"s":3005,"w":3000}}

For this release, only cardinal and diagonal exits (ne, sw, etc.) are supported. Limited custom exit support may be added in the future, if there is interest.

Unique room numbers are required at this time. You don't have to send the "actual" room number, but it needs to be unique in the grand scheme of things. It does not have to be a number--a unique string passed in "num" should also work.

To add new rooms to the map, and to update existing, the edit mode has to be on.

If you don't want certain rooms to be mappable, you can send them without any exit info.

Passing terrain = "Inside" makes Juju generate shorter room links.

In edit mode, click on individual rooms to select them, or Ctrl+click to select all visible rooms belonging to a zone.

Players can tweak the map and save it to their own copy, leaving your official map intact.

With edit mode off, click to move should work for relatively near rooms.

There's a lot more to be said for this major release, but I'll let people ask questions and report issues as they begin to use it.

A lot more is coming in terms of flexibility (e. g. other protocols) and customize-ability (e. g. downloading map data for offline tweaking, choosing colors). For starters, let's focus on technical issues rather than feature requests :)
Last edit: 02 Oct 2013 05:55 by plamzi.

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

More
18 Mar 2016 01:25 - 18 Mar 2016 01:28 #2 by eckol
Replied by eckol on topic JujuMapper: Open Beta
Hello!
I am trying to understand how to use Jujumapper, but so far I did not manage to draw any room :(
By now I only like to understand the basics, I paste a JSON with a couple of rooms but it does not draw them.

Could you provide a simple example?

Thank you!
Last edit: 18 Mar 2016 01:28 by eckol.

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

  • plamzi
  • plamzi's Avatar Topic Author
  • Offline
  • Administrator
More
20 Mar 2016 22:41 #3 by plamzi
Replied by plamzi on topic JujuMapper: Open Beta
I made some improvements to the starting workflow for this feature:

* You will now notice a little globe icon in your scrollview corner when you connect to a game that doesn't already load the mapper. You can invoke the mapper from that button.

* The mapper will automatically enter edit mode if your game is in early stages of mapping (less than 10 rooms). You will also be dropped into the first room, even if the game is not yet sending location info in a way that the mapper can understand.

* When you select "Upload room data", you will now see something like this:



You can actually copy and paste the example into the text area, do "test" and "upload".

Let me know if this helps and if you hit any snags.

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

More
06 Jun 2016 15:28 #4 by arholly
Replied by arholly on topic JujuMapper: Open Beta
Hello:
I'm relatively new to using this. I've turned on the juju mapper, but don't know how to get it to start automapping. Is there something I need to setup in my code to get this to work. I'm using relatively stock Rom 2.4.

Thanks,
Arholly

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

More
07 Jun 2016 13:32 #5 by arholly
Replied by arholly on topic JujuMapper: Open Beta
Also, do exits only support n/s/e/w or does it also support north/south/east/west?

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

  • plamzi
  • plamzi's Avatar Topic Author
  • Offline
  • Administrator
More
09 Jun 2016 21:03 #6 by plamzi
Replied by plamzi on topic JujuMapper: Open Beta
Are you sending out-of-band location info using any commonly known protocol such as MXP, MSDP, GMCP?

If not, it would currently be pretty difficult to map this kind of game. It will require some code from you to parse the right location info out of the user-visible server input.

If at any point in time someone exported your world into a text file, you may be able to leverage that. The plugin can ingest a JSON formatted in a specific way and just lay out your entire world at one go. Then you can easily go over it and tweak room positions as you like.

Diagonal and custom exits (e. g. "trapdoor") are supported.

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

More
10 Jun 2016 00:43 #7 by arholly
Replied by arholly on topic JujuMapper: Open Beta
I've got KaVir's protocol snippet, so I can using MSDP. Do I need to rename it anything so it will recognize it?

I've also got a snippet which I wrote for ROM which will export one area at a time to JSON format. But, it doesn't update the players' location that way.

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

  • plamzi
  • plamzi's Avatar Topic Author
  • Offline
  • Administrator
More
10 Jun 2016 02:58 #8 by plamzi
Replied by plamzi on topic JujuMapper: Open Beta
Unless you have a really small world, I think your best option is to convert your JSON zones into the importable format and bulk-import them.

Then, you can use MSDP to relay the player's current location. All you will need is about this much code:
var mapper = new JujuMapper({

listen: 'msdp',

process: function(d) {
/ * if msdp package contains a location, grab current room number from msdp and do: */
at = { num: <unique room number / id > };
go(at);
return d;
}

});

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