• 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.

Looking for traveller Utilities

I'm looking for A cargo planer for Traveller. I know I found one a while back...about two years ago...but I have no idea were that was I saw it.

If you know were I can find such a thing let me know.

Detail is nice, but its even nicer when you can click a button and have a computer detail it for you in half a second.
 
A while ago I started a C#/XML cargo program, basing it on the LBB2 cargo stuff and the BITS cargo codes (and there may be some copyright issues from that....). Yes, yet another program for cargo handling...below is a copy of the original notes on that.

There are essentially 4 parts:
the actual program (the .exe)
the cargo definition file (an external file, allowing the user to modify it as they want for TTU)
the cargo manifest file (another external XML file, tracking cargoes for a specific ship and allowing you to print out a very basic manifest)
the subsector XML file (used to calculate distances and cargo availability)

it is in dire need of work but then I got sidetracked by RL & work. There is actually an MSI file that has it all

if interested, the default XML cargo file looks like:
http://webpages.charter.net/coliver988/cargos.xml

the cargo manifest file looks like:
http://webpages.charter.net/coliver988/OneJumpAhead.XML

and the Regina subsector data file (yes, yet another sector file definition; eventually I may play with being able to import other versions out there) note that Regina is expanded out to include the LBB6 description, and that this is a work in progress for some potential future project:
http://webpages.charter.net/coliver988/SpinwardMarches.xml
(and after reviewing some XML formats posted around here somewhere I may use that format instead - it was cleaner).

And the cargo profile:
http://webpages.charter.net/coliver988/cargodefs.xml

My reasoning behind using external XML files to contain the data is:
1. it allows the users to make manual adjustments if they want to (the prime example would be to modify the cargo definition file to use the more 'standard' Traveller cargo container sizes)
2. using XML/XPATH makes a lightweight database system that, if using Windows at least, has no overhead since it is simply a text file that is very easily searchable
3. there are many free XML editors out there
4. most web browsers can do basic tree views of an XML file
5. as originally posted, I needed to do some experimentation for work

Finally, you can download the program as well from here:
http://webpages.charter.net/coliver988/Cargos.exe
(installer version w/files: http://webpages.charter.net/coliver988/CargoSetup.msi )

You will need the above XML files as well - just stick them all in the same place if you want to try this out. There are a few known bugs I plan on working out if there is any interest.

Here's the main page where you select cargoes (and I just realized this is only for speculative cargoes - I probably should allow you to pick the bulk cargoes & passengers as well. And I need to update the links: if connected to the web the program actually uses Josh Bell's Traveller map, and he's just released all those APIs I need to dig through!):
lbb2_main.JPG
 
I've released a slightly updated version - I was working on being able to create the BITS-style cargo codes. The manifest prints out the description, cost, dTonnage, originan, destination, notes & that code. I was thinking of adding a short-version that only printed the dT & cargo code, so that if the players weren't paying attention may not notice the hazard codes. At least that was my original thoughts. It also prints the description in Bilidani to look more official (off to the side).

Anyway, the initial creation for that is partially there, and I plan on being able to add created cargoes to the cargo file of your choice eventually, so that you can modify the cargo files in use w/o having to resort to a text or XML editor (while some of us actually like to do things like that, I can understand why you may not want to!).

If there is continued interest, send me the list of bugs and requests and I'll get to them as time permits. Things like the ability to have custom cargo files based on system (expand out the sector file to include a spot for the cargo file, for instance), and to fix the Traveller Map link (Josh Bell's great website, and he's added some generic APIs I still need to look at that I think will make mapping easier)

(installer located at: http://webpages.charter.net/coliver988/CargoSetup.msi )
 
I just found this. It looks great. :) Any new updates?

I would be willling to work on the Spinward Marches data file (more subsectors then just Regina) when I get a chance if others are using this.

I noticed in the sector date file, links to The Traveller Map. It doesn't appear the "view map" option is fully available yet. Not a biggy for me. Just a couple of the planets from Regina subsector have details including other planets, moons, link to the map, etc. I assume this is just something that is being worked on but not fully implemented yet? What are the planets and moons entries for? I see the entries in the data file, but nowhere in the program itself. The worlds that are supported for map view seem to link only to the main Traveller universe map, not zoomed to the world chosen. The links in the file seem to be correct, but when "View Map" is clicked in the program, the zoomed out map is opened.

I can't seem to get the cargo code generator to work, but I don't really mind since I don't think I will need that much detail myself.
 
ahh, no updates. I decided more than halfway through it that a better solution would be to make a Traveller class to handle the data manipulation, so that I could re-use it in other places. That, and I also decided that I needed to be able to import the SEC files that everyone else uses. That, and real life keeps getting in the way!

I'll restart it momentarily since there does appear to be some interest.

Just FYI: this is a C# program, so if there is also interest in source code for those wanting to deal w/C#, let me know. I think if we made a really useful Traveller class object, then it could be used by anyone who programs in C#/VB.Net - a sort of open source Traveller class. While there is a certain disdain among some people for the entire .Net thing (including myself sometimes!) it does provide a very strong framework for Windows programming. And that class could be used for web applications as well. And since that is 85% of what I do (the other 15% on Linux, oddly enough, using a language that has Linux & Windows support, so that the data files are on Linux but both Windows GUI & Linix server programs use the exact same index/data files - really cool if you think about it. Ok, cool to me at least) I actually like the .Net stuff.
 
I haven't programmed since.......Fortran, Pascal, and Basic. :) Used to be able to make pretty good stuff using all three of those, but I haven't kept up with the times hehe.
 
I just found this. It looks great. :) Any new updates?

...
I noticed in the sector date file, links to The Traveller Map. It doesn't appear the "view map" option is fully available yet. Not a biggy for me. Just a couple of the planets from Regina subsector have details including other planets, moons, link to the map, etc. I assume this is just something that is being worked on but not fully implemented yet? What are the planets and moons entries for? I see the entries in the data file, but nowhere in the program itself. The worlds that are supported for map view seem to link only to the main Traveller universe map, not zoomed to the world chosen. The links in the file seem to be correct, but when "View Map" is clicked in the program, the zoomed out map is opened.

I can't seem to get the cargo code generator to work, but I don't really mind since I don't think I will need that much detail myself.


and for the rest of the reply....the map thing does need to be re-worked, especially since there are several new applicable APIs that would work a lot better that the initial permalink thing. I want to use the 6 jump map API, for instance, since that is more traditional. Heck - I may even stick an HTML pane in there for direct viewing in the program rather than loading your browser up. The cargo generator requires that you select the sector & stuff on the settings tab (you can save that off so that it uses those the next time). Unfortunately it is not a very user-friendly program at the moment, but if you get all the basic tables pointed to on that tab, then the rest should work.

The whole moons thing was an attempt to get the LBB6 info in a searchable database of sorts. XML has several advantages over flat files for this sort of thing, plus there are probably a near-infinite number of XML editors/parsers out there (like Traveller software, everyone wants to roll their own!). I've seen a couple of better XML implementations out there for this. And I've also thought of adding starport data in there, but never progressed far (either too much detail or not enough; I've a hard time striking a decent balance). The long-term idea was something like Heaven & Earth, a database that the user could deal with (at least XML is plain, if oddly worded, text).

Guess I'll restart this project when I've got some time. My plan is to allow for either the XML data input as I've already done, or the SEC files since those are apparently widely available.
 
I haven't programmed since.......Fortran, Pascal, and Basic. :) Used to be able to make pretty good stuff using all three of those, but I haven't kept up with the times hehe.

I've done the Fortran, Pascal, COBOL, a few varieties of assemby, a few SQL versions, basic on several platforms, C, C++, and now a lot of C#.

Heck - I've written Traveller software over 25 years, from Apple][ basic, Commodore 64, Pascal (yes, I wrote Traveller software in Pascal! good times...), PL/B (which used to be Databus,a business language by Datapoint Corporation, which is the company that actually had the 1st LAN, designed the 8088 before selling it to Intel, and also started using the 1st monitors rather than teletypes [hence the name]). They just had horrible marketing: their LAN was years ahead of anything for years). None of those programs exist anymore, but they were fun to write.
 
Last edited:
Coliver:

Still kinda off-topic, but this talk has got my thinking of attempting to learn a modern programming language to use to make simple RPG software for myself. Like I said I haven't used any of the modern languages, I last used "spaghetti code" with "If Then" and "Goto" statements. :)

What do you suggest for an attempt for what will be a complete beginner again? From my own research I'm thinking of learning VB Express. It's a free version of VB offered by Microsoft. It appears that it will easily be powerful enough for my uses (character generation programs, clickable sector maps, etc). I haven't seen anything about the Express version that says I won't be able to make and use my own such programs with it. Express also has a huge tutorial divided into web development and windows-based development (my choice). And like I said, it's free. Anything else I should look at or consider?
 
No language wars, please. That's why my site provides APIs via web standards (everything is just a REST URL), and returns data in XML or JSON as desired. Use whatever language or system you want to poke at it!

Data interchange standards are more interesting than code libraries for that reason. Traveller is based on those - think of UPPs, UWPs and USPs. 30 years old and you can still tell what A788899-C means - that's staying power!

coliver988 - you probably want to design a namespace rather than a single class; a class should map to a single concept - either a thing ("person", "world", "ship", etc), collection with meta-properties ("subsector", "fleet"), abstraction ("ship class"), or property ("spinal weapon type", "skill"). When thinking of how to carve up a space into objects and types, think of the logical relationships, actions, how callers will use them, and look at other APIs (e.g. take your favorite UI toolkit) of inspiration.
 
no, no language wars here! most languages have their strong/weak points, and no single language does everything well. There are more holy wars in programming languages than in Traveller - trust me on that! It all depends on what you want to do, and what platform(s) you want to do it on.

As for learning languages, again, that depends on what you want to do. There are dozens of free ones out there (MS has express versions of everything pretty much, and then there are scripting languages as Python, Ruby and dozens of others available on the net).

So first you need to decide what platform you want: Mac, Linux, Windows, web, or all the above. Then just start reading up on reviews for various languages and decide for yourself. Learning to program is also somewhat separate from anything actually language-specific: it is about thinking in a logical way and being able to break larger problems into smaller ones. If you had the time & resources, taking a class is a bit better: most self-taught programmers do an awful lot of spaghetti coding with the GOTOs and stuff like that (heck - I'm in the middle of converting asp with 600+ line if/else statements, with nested case stuff with hundreds of lines. And apparently random indentation!).

Right now, because of work, I do use Microsoft's C#. The advantage for me is that since we're doing a web interface for the various systems, the same programming style/language works (back when I got my BS in CS, while we had the internet the WWW was not around yet. I actually learned IBM 360 assembly using punch cards! That's when Traveller's huge computers made sense - they had to have the punch card machines and the readers!)

As for the namespace thing - good idea. I'll have to look more into that. I've got the world stuff in a class now (essentially an extended UWP structure and various methods for extracting useful info from that). I was starting to put the cargo stuff in there and was thinking it should be another class, really. I've only been dealing with the object/class stuff for a couple of years - COBOL just did not use those concepts directly!

And my only problem with a pure internet/web approach is that I don't always have access to the web, so I like to be able to take my data/software with me. Eventually internet access will be ubiquitous, just not yet.

[Edit: found this, and this is another reason I like Windows development: you can take it with you!]

Argh. I hate this. I have found fir traveler and other RPGs online generators which disappear when the authors loses his geocities account.

I would like it to be downloadable.
 
Last edited:
Coliver988 made some good points to which I'll add:

If you ever do anything in one of those older legacy languages (like COBOL) then you could do worse than learn Jackson Structured Programming. Its a methodology that allows you to banish spagetti coding by allowing you to structure your code in a consistant way.

VB6 is now dead ... but it has a very easy learning curve compared with VB.NET. So if you do get a chance to pick up a copy then its worth considering. Actually I say "dead" but I still use it professionally. And if you've seen Universe that was written as an exercise by me to teach myself VB6 (I didn't want to write another "Hello World" program).

On the other hand, if you have the time to spend learning, C#.NET will be more future-proof ... and may have the edge on VB.NET when it comes to performance. (Don't fall for the VB.NET is VB7 or whatever. .NET is .NET, and VB.NET is just VB-flavoured .NET.)
 
Python is pretty easy for new developers. It also can be used to build GUI programs which can be cross platform. It's widely ported.

There are a lot of very different flavors of basic out there. My personal favorite is TNTBasic, but I'm on a mac. Metal isn't bad, either.

C/C++ is still the backbone of the Mac, Linux, and Unix OS development, and ships on all the above. Objective C is also shipped with Macs. All three can do a variety of platforms, including windows, with the right libraries.

If you are an old spaghetti coder, the first step is to learn about object oriented programming; Learn C on the Macintosh was an excellent intro, and most learn C books will include object orientation to some degree.
 
a final semi-plug for .Net: that class I'm developing should also work on my phone (running Windows Mobile 6.0). So in theory (always with the theories, rarely the proof!) if I get that namespace or class done, then I could write a WM version relatively easily. Or a web version - with .Net it is all pretty much the same.

Some other threads on this forum dealing with progamming langauges:
Web-based automatic sector generator: http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=10806

starport design software (more theory and little real action, sorry!) http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=13770

new high guard design program: http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=11727

XML back-end stuff from T5: http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=11691

character generator (older thread) http://www.travellerrpg.com/CotI/Discuss/showthread.php?t=7534

anyway, I just searched on programming language in the forum and stopped after a few checks. Apparently the search option does not use quotes for exact matches as per most search engines, 'cause I was hoping that "programming language" would narrow the result set from programming language. It did not.

[Edit: here's a link to a bunch of languages as well; however, most of these would not be for someone just wanting to learn to program: [http://dobbscodetalk.com/index.php?...-You-Can-or-just-learn-Scala-.html&Itemid=29] ]
 
Last edited:
Back
Top