• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.
  • We, the systems administration staff, apologize for this unexpected outage of the boards. We have resolved the root cause of the problem and there should be no further disruptions.

World Lookup

DickNervous

SOC-12
Baron
This started as a way to keep track of things for the Pirates of Drinax campaign I am running and has grown into something that I think would be useful for a much wider audience. It is a spreadsheet that allows you to lookup a ton of info about the systems and sectors that you have entered data in for it.

I used raw sector data from TravellerMap.com as well as the API for rendering sector and jump maps. I added in data from the Pirates of Drinax adventure as well as descriptions of the UWP values from the Mongoose Core Rules and put it in a pretty package.

This isn't final yet so please let me know if you find any errors, typos, etc. Also, I am open to suggestions on how to improve it and make it even more useful!

Here is a link to the latest version.

When you click the link it will try to launch it in the browser (which won't work) so click the Open In Excel button that appears.

I am using a link so there is no confusion with the extensions and all that stuff. Please feel free to beat this up and let me know what you think!

Thanks!
 
I would love to try this, but wondered if you could maybe find another place to host it? My screen reader struggles with OneDrive. I can't for the life of me find the button to save the file. Could you possibly put it in a dropbox folder or something?

Thanks for writing this. It sounds like it could be very useful indeed.
 
I would love to try this, but wondered if you could maybe find another place to host it? My screen reader struggles with OneDrive. I can't for the life of me find the button to save the file. Could you possibly put it in a dropbox folder or something?

Thanks for writing this. It sounds like it could be very useful indeed.


Consider it done.
 
Initial impressions: I opened this up in Excel for Mac, and got some warnings about unsupported functionality of some kind. I imagine this has to do with the Travellermap integration, perhaps

Further, there was a message about needing to update info in a linked workbook. It seemed as though it were trying to reconnect to your OneDrive for some reason. Is there another file in there it might be referring to?

I'm wondering what, if anything, might be done to make the jump maps and other data from TravellerMap more friendly for screen readers. As I understand it now the sheet displays that data graphically.

More thoughts later when I get the chance to play. :)
 
Thank you for the feedback!

That thing where it is trying to access another file is leftover from something I tried doing a few version back, I have since removed it.

The unsupported functionality could very well be conditional formatting which I think is new in 2013, and not a big deal. I only used it for color-coding the shading of some cells, so I wouldn't worry about that.

As for the maps and the screen reader, I honestly have no idea. Does the screen reader work when you go to Travellermap.com? I am simply using the API from there to render the maps in Excel.
 
Unfortunately, screen readers and Traveller map itself don't generally play well together. There was some work a couple years back on a way to make sectors play well with my iPad's reader, and that still works, but otherwise I think the map itself is pretty much graphical.

One of the things I miss is a jump calculator. Either it could display the system names accessible by J1, j2, etc from a given starting point, or maybe calculate a route between systems. I gather this is the kind of thing the jump map shows visually. There was one on the web at http://www.joffrehorlor.com/Roleplaying/JRC/, but it seems to no longer be working.

Just some ramblings on things I'd love to see. My perspective is a bit different since it's harder for me to get a sense of what a given sector of space looks like at a glance.
 
One of the things I miss is a jump calculator. Either it could display the system names accessible by J1, j2, etc from a given starting point, or maybe calculate a route between systems. I gather this is the kind of thing the jump map shows visually.

I can implement such a thing very quickly.

The Traveller Map "world data sheet" feature does something similar, but is restricted to jump 2 and the overall page layout may prove challenging to a screen reader. But please give it a try and I can use your feedback to make a more reader-friendly version.

The top of the page is details about the current world with fields explained. The bottom of the page has a list of worlds with the usual compact field codes in a table which act as links to navigate the page.

http://travellermap.com/world?sector=Spinward Marches&hex=1910

I don't want to derail DickNervous's thread, so you can email feedback to me at inexorabletash@gmail.com
 
I can implement such a thing very quickly.

The Traveller Map "world data sheet" feature does something similar, but is restricted to jump 2 and the overall page layout may prove challenging to a screen reader. But please give it a try and I can use your feedback to make a more reader-friendly version.

The top of the page is details about the current world with fields explained. The bottom of the page has a list of worlds with the usual compact field codes in a table which act as links to navigate the page.

http://travellermap.com/world?sector=Spinward Marches&hex=1910

I don't want to derail DickNervous's thread, so you can email feedback to me at inexorabletash@gmail.com

Would you be able to implement something that would return a simply comma delimited list of the planets in a jump range? For example something like this:

/api/jumplist?sector=troj&hex=2223&jump=1 would return "Asim:2123,Pourne:2324"

If you could do something like that I could put that info in the spreadsheet as either text behind the image (if the screen reader would see that) or next to the images.
 
Okay folks, here is the much anticipated update to the tool!

From the user side it may not look too different, but I did a lot of tweaking on the back end to make it easier for people to add their own data as well as import the Tab Delimited sector data from TravellerMap. You can now just dump it right in!

I also converted the VLOOKUP functions to INDEX/MATCH so that the data source doesn't have to be sorted, streamlined things, and just generally made it more robust (at least I think so).

I am still working on it, and you can see some of my ideas on the "Dev Notes" tab, so feel free to let me know if you want something added or if anything is broken or doesn't work right.

I am also looking to find ways to integrate with other resources to pull more data in from other sources. I am going to look into using Heaven and Earth, but I'm not to hopeful. If anyone knows of web-based tools that can generate things like trade data, passenger lists, world maps, etc. that has an API where I could pull stuff in, please let me know!

In the meantime, here it is:

World Lookup Tool v2.00
  • System Requirements:
  • Microsoft Excel 2010/2013 with Macros enabled
  • Internet Connection to be able to render maps from TravellerMap.com

It might work on Excel 2007 though I think some of the formatting will not work. It does not work on Google Docs or the web versions of Excel due to the VBA code in it. I have no idea if it will work with OpenOffice, but I am guessing that it will not.
 
Would you be able to implement something that would return a simply comma delimited list of the planets in a jump range? For example something like this:

/api/jumplist?sector=troj&hex=2223&jump=1 would return "Asim:2123,Pourne:2324"

Sorry, missed this.

The jumpworlds API exists:

http://travellermap.com/doc/api#jumpworlds

It outputs XML or JSON format. If that's insufficient I can look into CSV or Tab Delimited
 
Okay folks, I have decided to put on my big-boy programming pants and make this tool into a real stand-alone application, but I need some feedback from the community on the direction to take. IF you are not familiar with the spreadsheet it is linked earlier in the thread. Here are two questions for you.

Fully Connected vs Partially Connected Application

Option 1: Connected Application
This would be an application that would only work when connected to the Internet. It would rely on TravellerMap.com to lookup systems and get the basic info and than use a local data store to provide the expanded details of the info such as the full description of each UWP value, etc. In addition to that, it would create a local record for any systems that you enter any notes for.

Pros:
  • You can look up data on ANY system that is on TravellerMap.com
  • Requires less local storage (though this isn't really an issue)
Cons:
  • Requires a connection to do anything.
  • Can't load alternate sectors into the database as it relies on TravellerMap
  • Performance is heavily dependent upon your connection speed.

Option 2: Partially Connected Application
This would work similar to the Excel spreadsheet. The only systems you could look up would be ones that you imported into the application. Everything would be stored locally. The only thing it would require a connection for would be to render the sub-sector map and jump maps which would be supplied via TravellerMap.com. However, everything else would still work without a connection.

Pros:
  • Internet connection is NOT required, though some functionality will be lost without it.
  • You can load up custom sectors and systems
Cons:
  • Will require a tiny bit more local storage

Platform
Which platform would you be most likely to use an appplication like this on:

  1. Windows (laptop or desktop)
  2. Android Tablets
  3. iOS Tablets

Thanks for your feedback!!!!!
 
Suggestion: You could default to Option 1 if internet access was available and degrade functionality to Option 2 if not.

I used Travellermap for mapping in my Mac SectorMaker app (Option 2) and I think that's a reasonable approach.

BTW, since I released my CT TAS Form 2 app for iOS on Feb 29, there's been about 30 downloads. So there's a data point for you.
 
Absolutely option 2 for iOS and/or Mac. I'm using both the new Trav app and Mongoose' new character generator on my Mac and your spreadsheet provides that missing component admirably. More than willing to pay for it too if you decide to market it. Great work so far.
 
Thank you for the feedback!

I figured Option 2 was going to be the choice, but thought it worth asking.

The tricky part is that I am more of a "hacker" than "programmer", meaning that I haven't taken a programming course since learning PDP-11 Assembler, Pascal, and COBOL in college. Everything since has been self-taught by pulling apart other people's applications and figuring them out enough to make them do what I want, using Google, and courses on Lynda.com. This project is a perfect example, when I started I didn't know the first thing about Visual Basic and programming in Excel. It took me a few months to get the app to where it is now, which I think is pretty good.

So with that in mind it may take me a while, and I would not turn down any advice or assistance that anyone may want to offer. My plan is to use Java (even though I hear Python could do what I want and is easier) for the following reasons, though I am open to other suggestions if they make sense.

  1. It is multi-platform and can run on Windows, Mac, Android, and iOS.
  2. It is probably the most popular programming language out there.
  3. A friend is taking a Web Programming class where she is learning Java and I have been tutoring her, despite the fact that I don't know it. So I am getting familiar with it.
  4. I am a "Technical Specialist" for my company (which means that I do 2nd/3rd level support, some QA, and on occasion, some development) and our applications/platforms all either run on or are beign migrated to, JavaEE So it could be useful at work.
  5. It could lead to other employment opportunities eventually.

I will start off with a version for Windows since that is what I have to test on. From there is should be simple enough to get it to run on Mac. Next step will be tablets, starting with Android (again, it is what I have to test with). When I am ready to test on Mac and iOS I will be asking for volunteers. :)

Now for another question for my fellow developers....

For the data storage, what should I use? There will be a number of very small, static tables which can be text files that are read into arrays when the app is loaded, but the main data table (all the system data) could get too big to do that if you load up more than one sector into the application. Though I guess I could ask which sector you want to use and just load up the data for that from a text or XML file instead of using a SQL database of some sort. But that might be a performance issue if you are going back and forth between systems that are in different sectors.
 
So with that in mind it may take me a while, and I would not turn down any advice or assistance that anyone may want to offer. My plan is to use Java (even though I hear Python could do what I want and is easier) for the following reasons, though I am open to other suggestions if they make sense.

  1. It is multi-platform and can run on Windows, Mac, Android, and iOS.
  2. It is probably the most popular programming language out there.
  3. A friend is taking a Web Programming class where she is learning Java and I have been tutoring her, despite the fact that I don't know it. So I am getting familiar with it.
  4. I am a "Technical Specialist" for my company (which means that I do 2nd/3rd level support, some QA, and on occasion, some development) and our applications/platforms all either run on or are beign migrated to, JavaEE So it could be useful at work.
  5. It could lead to other employment opportunities eventually.

Frankly, the hot tip for this is to do a detached, "stand alone" web app.

What does that mean?

It's basically a "SPA" (Singe Page Application) written for a web browser, in Javascript. This is an application that can/will persist on the client computer after the initial download from the website.

Why this?

First, it's the most portable and cross device venue currently on the market. Your application will run on Windows, Mac, PC, Tablets, Phones, etc. And, ideally, unchanged. Same code, same packaging, etc.

If the zeitgeist is pointing at anything today, it's applications in HTML, CSS, and Javascript. Both client and server side. I'd argue that Javascript is the most popular language on the planet right now, it's certainly the widest deployed on the planet.

I appreciate the work towards Java, I'm a Java guy, we do everything in Java.

But if you're talking a "disconnected/sometimes connected app", client side JS is more portable than Java. Java doesn't really work on the tablets etc. And even on desktops, with all the security nonsense, Java can be a pain (you would have to publish a Java WebStart application).

The bright side, is your app may need little to no server infrastructure to support it (outside of delivery), but you won't need to go through any of the app stores or anything like that.

If you don't run the the bleeding edge of JS tech, your code should run reasonably well on all of the modern browsers, but as with anything portable "write once, test everywhere".

But if your first cut was "Sorry, I've only tested this on Chrome", that's not an arduous requirement for folks to work with it, and eventually you can debug any issues on other browsers (notably the tablets).

The dark side of javascript is that it is literally the wild west. It is very fast moving, there are uncountable options and frameworks and idioms being projected everywhere. So it is very easy to chase technology rather than just getting work done.

But if you're looking something to "run anywhere", this is the place to be.
 
Frankly, the hot tip for this is to do a detached, "stand alone" web app.

What does that mean?

It's basically a "SPA" (Singe Page Application) written for a web browser, in Javascript. This is an application that can/will persist on the client computer after the initial download from the website.

Why this?

First, it's the most portable and cross device venue currently on the market. Your application will run on Windows, Mac, PC, Tablets, Phones, etc. And, ideally, unchanged. Same code, same packaging, etc.

If the zeitgeist is pointing at anything today, it's applications in HTML, CSS, and Javascript. Both client and server side. I'd argue that Javascript is the most popular language on the planet right now, it's certainly the widest deployed on the planet.

I appreciate the work towards Java, I'm a Java guy, we do everything in Java.

But if you're talking a "disconnected/sometimes connected app", client side JS is more portable than Java. Java doesn't really work on the tablets etc. And even on desktops, with all the security nonsense, Java can be a pain (you would have to publish a Java WebStart application).

The bright side, is your app may need little to no server infrastructure to support it (outside of delivery), but you won't need to go through any of the app stores or anything like that.

If you don't run the the bleeding edge of JS tech, your code should run reasonably well on all of the modern browsers, but as with anything portable "write once, test everywhere".

But if your first cut was "Sorry, I've only tested this on Chrome", that's not an arduous requirement for folks to work with it, and eventually you can debug any issues on other browsers (notably the tablets).

The dark side of javascript is that it is literally the wild west. It is very fast moving, there are uncountable options and frameworks and idioms being projected everywhere. So it is very easy to chase technology rather than just getting work done.

But if you're looking something to "run anywhere", this is the place to be.

From my research it seems that Java is the language for writing Android apps. And there is a framework for running Java on iOS devices. So while it may not be as simple as using JavaScript/HTML5/CSS, it isn't difficult.

But about a year ago I decided to write a character generator for MgT based upon the MegaTraveller one that is written in JavaScript. I got it working but gave up when I realized how much data entry I would have to do (entering all the Events and stuff) and the fact that I couldn't figure out how to access a database or create a local file to store the characters because JavaScript didn't have a way to access the local file system.

After reading you post I did a quick Google search and if I understand what I found it seems that there is now a File API for HTML5 that would allow me to do read/write files from the local machine. And that there seems to be one for JavaScript as well. Is that correct?
 
Back
Top