This page lists the most recent journal entries related to role-playing games (RPG). There are some more pages on the related German page (Rollenspiele).

Free web apps I wrote:

Looking for gamers here in Switzerland? → SpielerZentrale, NearbyGamers, RPG Zürich on Facebook. Networking is important so that people moving here can find D&D games in Zürich, Switzerland.

Logo for my RPG feed

2017-08-12 Zak on Games

Zak wrote a blog post StoryGame Design is (Often) The Opposite of OSR Design where he goes into the differences of the Old School Renaissance and Narrative Design. I’m not sure how easy it is to read if you don’t like the Old School Renaissance, but since I like many different games, I don’t mind. And within this outer framing device, I find the post has an excellent set of refutations for various comments about the games I like that I’ve seen – or opinions I’ve had myself, often describing two different approaches to the various statements he picked.

I need to remember this!

The post is long. The points are good. You can come back later and read more. Just scroll until you see a point that speaks to you and read what Zak has to say, think where you stand on the subject, do you agree, disagree, why? I like this process.

”The game’s about what the rules are about—the more rules a given subject takes up, the more the game is going to be about that, the less space a subject takes up in the rules, the less it’ll be about that”

”Games Teach Appropriate Normative Behavior So Their Content Should Be Considered To Have Great Moral Meaning”

”If you want personality, emotions, romance, you need rules for that”

”Violating genre expectations is bad”

”I Want To Play The Game, Not The GM!”

”The Game Should Teach You The Best Ways To Play Them”

”It’s Escapism! Make Players Feel Powerful And Competent”

”Failing Forward is Always Good And There Are More Interesting Consequences Than Death”

”The Rules Should Help You Get Story Moments”

”Focused Games Are Good Games”

”Rules That Detail Random Aspects Of The World Are About ’Simulationism’—They’re For People Whose Goal is To Immerse Themselves In The World”

”Unattached Murderhobo Players Are Bad”

”Hodge Podge Systems Are Bad, Everything Should Work On The Same Mechanic”


Add Comment

2017-07-18 Items for Sale

Once again, my players went to the adventurer’s shop, wanting to buy stuff for their expedition into the sewers. This is a game of gold spent = xp gained, so that might explain some of their willingness to part with their cash.

  • 50gp for the dwarven miner’s helmet which is the equivalent of a helmet (10gp) with an integrated lantern (25gp) and a pint of flaming oil (2gp); I sold two of these
  • 5gp per flask of greek fire which reignites even when extinguished by water and thus the equivalent of flaming oil (2gp); they each bought 10 flasks
  • 10gp for a wooden portable apothecary box to store all those flasks in; each came with a large bronze plaque saying “FLAME PIG”
  • 10gp for a pump and nozzle contraption to help pump oil at burning targets; when asked I made sure to explain that there was absolutely no difference to throwing individual flasks, you still needed a roll to hit but you didn’t need to search your backpack for the flask itself; I sold two of these
  • 100gp for a small eternal light in a locket made by the local headmaster of the wizard guild by casting continual light; sold it
  • 400gp for the helmet of an elf lord, with two gaps for the horns that are sure to grow at higher level; not sold


Add Comment

2017-07-18 Building a Dungeon

A player of a wizard told me his wizard was going to build a secret dungeon under his tower back in town. I suggested rolling 2d6 + Int bonus for planning on the following table:

2miserable planning, breaking through the ceiling of the sewers, 1 in 6 chance of discovery by unsavory characters every week, for four weeks (patching it up is hard)
3-5bad hiring decisions or insufficient bribes, rumors start spreading about a digging operation in your street, 1 in 6 chance of discovery by unsavory characters, just once
6-8cramped digging conditions, paying bribes, hiring cutthroats, but it works as planned
9-11good planning, smooth sailing
12lucky break, ancient plans you managed to procure from dwarven miners deciphered and access to one of the old dwarven vaults secured and integrated into the construction; add three secret doors and three traps for free

He got “good planning, smooth sailing” I didn’t have to create a rooster of unsavory characters.


Add Comment

2017-07-17 Heroic Scenes

Some thoughts from a thread of mine on G+.

Is it possible to encourage awesome, heroic scenes in role-playing games? I don’t think so: either it is dangerous and the people play suicidal characters or it is not in which case it is empty embellishments. Role playing games don’t tell the same stories as video games and movies.

There is a classic blog post on Grognardia talking about “story” being something that appears in retrospective. Newer thoughts on ad-ventures and stories emerging through adversity on the False Machine blog.

What are “heroic” scenes? Something worth a medal for heroes? +Adam McConnaughey proposed the definition given by the Carnegie Hero Fund:

  • A civilian
  • ho voluntarily risks their own life, knowingly
  • to an extraordinary degree
  • while saving, or attempting to save, the life of another person.

Excellent stuff! I was mostly thinking of Ben Milton's post, to be honest. He says “landing the killing blow on a giant doesn’t count. Spending several rounds climbing him, cracking open his skull with a hammer and then cooking his brain with a fireball does.” That got me thinking about Fate and the like, where you can spend points to do awesome-sounding things, rerolling tests or adding bonuses, but I always had the feeling that the deed to be heroic, it had to be dangerous. Thus, “voluntarily risks their own life, knowingly, [t]o an extraordinary degree” is exactly what’s missing in systems where failure can be patched over. That’s where I’m coming from: either your characters are going to die a lot, or their deeds aren’t heroic.

Or, to take Fate and similar games for a positive spin: the entertaining part about the game for the people at the table is not that you can succeed when it really matters; it’s that you actually want to fail every now and then.

And that’s where my disconnect with a lot of other people comes from, I suspect. I’ve played Barbarians of Lemuria and “crazy heroics” is a weird way of putting it. Mayyybe? A strange action movie, for sure. At certain points dozens of mooks are being killed left and right. But there was never a last stand, a suicidal last charge, and I rarely feared for my character. That’s why “heroic” never really covered it, for me.

See also: 2012-02-28 I don't like Bennies.

Is there a way to encourage awesome, heroic scenes in role-playing games? My vague feelings are that we just need strict rules for dangerous play, like classic D&D or Traveller, and some way for sacrifice to not only have meaning right now but also have meaning to the player in future sessions. That’s how they would want to make that sacrifice. Personally I think Ian’s bonus for the next character doesn’t go far enough. But if we’re running a domain game, a clan game, an entourage game, the players continue playing characers that benefited from the sacrifice and it would mean something to the player.

Sadly, D&D domain games or retainers sacrificing themselves for main characters doesn’t quite get me there and I don’t know the missing link to the next level.

If you have any ideas, I’m all ears!

My takeaway from the discussion on G+:

  • it has to involve player choice
  • some continuity between characters might help encourage heroic behaviour (i.e. diminishing its cost)
  • having missions encourages heroic self-sacrifice
  • alternatively, choosing games with tragic overtones
  • or more traditionally, encourage a detachment from characters: players win, even if their characters loose


Add Comment

2017-07-14 Name Generator

I was wondering how to give each random Traveller sector or subsector generated its own “touch” and I remembered the notes on generating names for the Twitter bot @unchartedatlas.

My generator uses a digraph based random generator, an idea going to back to the original Elite. What I’m doing now is randomly generating the list of digraphs to use for each sector or subsector, thus making the generated names more or less similar to each other. If you want to experiment with the name generator on its own, I installed it as a separate web application. Perhaps it can be useful to generate random names in fantasy languages. The Help page shows how to start with lists of digraphs based on the Japanese and Hawaiian language.

Who knows, it might be useful for your orc needs...

I then added code to parse multiple characters as one – moving from code digraphs to linguistic digraphs like “ch” or “th”. These can then be counted as a single consonant.

The Traveller generator now picks a random subset of English consonants and vowels, including some digraphs, as I said, and I think it works rather well.


Add Comment

2017-07-12 Magic Items

Stuff I recently posted on G+:

An ancient trophy: Broken Antler Crown of the Elf Lord Orne Melethron, found in an old throne room deep below, chained to the ceiling. When worn, the elven glammer makes you shine with inner starlight, beautiful and stern. All living things must save vs. spells before they can attack you. This is awesome. Sadly, you must also save vs. spells or feel the broken hearts of all of Lord Orne Melethron’s kinsmen and family, dead or alive, tortured, broken, staring at dungeon cell walls, clawing at the dirt in total darkness deep underground. If you fail your save, scream your anguish out into the world, pouring liquid starlight from your eyes and mouth. It is also quite impressive, but sadly nobody feels bad about attacking a screaming elf lord wanna-be. [1]

The Mace of Demogorgon is a simple mace +1 with a metal demon head; the only drawback is that it watches and listens to everything you do, possibly reporting it, and whenever there’s a peaceful conversation going on nearby, it will insult the other party, making parley a difficult proposition. The safest place to keep such a thing would probably be a bag of holding.


Add Comment

2017-07-11 Traveller vs. Traveller

I’ve been comparing the subsector generation of Mongoose Traveller (MGT) and Classic Traveller (CT) in the incarnation of The Traveller Book.

Here’s what I noticed:

The distribution of starports is different. Note how Classic Traveller has only a bit less D and a lot more A starports.


Bases are different: Mongoose Traveller has Research, Traveller Association, Imperial Consulate and Pirate bases; Classic Traveller only has Naval and Scout bases.

Temperature is different: Classic Traveller does not have it. Then again, I was always confused by the fact that it doesn’t show up in the Mongoose Traveller Universal World Profile (UWP).

Hydro is different: Mongoose Traveller has a modifier for temperature; Classic Traveller does not. That explains why temperature doesn’t appear in the UWP: it wasn’t used by CT.

Population is the same and limited to a maximum of A when rolling, but the table in Mongoose Traveller also describes B and C. Perhaps this is a nod to Coruscant, the world city in Star Wars?

Government is the same and produces a range of -4 to 15 (F) when rolling. Both only describe governments 0 to 13 (D), however. How strange.

But reddit has the answer:

E Religious Autocracy. Government by a single religious leader having absolute power over the citizenry

F Totalitarian Oligarchy. Government by an all-powerful minority which maintains absolute control through widespread coercion and oppression

– MegaTraveller Referee’s Manual, apparently

Law is similar in that the dice throw produces a range of -5 to 15 when rolling, assuming we limit Government to 0 to 10 (A). Mongoose Traveller only describes Law 0 to 9; Classic Traveller describes Law 0 to 10 (A).

Tech is different. Mongoose Traveller has modifiers in the table for populations B and C, but you can’t get more than A so this is a bit strange. Mongoose Traveller increases Tech by +1 if you have Hydro 0. Mongoose Traveller increases Tech by +2 if you have Government 7 (Balkanisation), which is weird. Mongoose Traveller decreases Tech by -2 for Government 12 and 13 (charismatic oligarchy and religious dictatorship); Classic Traveller only does this for Government 12. No penalties for religious dictators, I guess.

Trade is also different, mainly in that some codes are missing in Classic Traveller: Barren (Ba), Fluid Oceans (Fl), Garden (Ga), High Population (Hi), High Technology (Ht), Low Population (Lo), Low Technology (Lt).

Travel Codes (Red, Amber) are not codified in Classic Traveller; Mongoose Traveller suggests when to use the Amber code.

Routes appear only in Mongoose Traveller.

The pirate bases, the travel codes, and the routes sure make the maps generated for Mongoose Traveller more interesting to look at.

Here is an example subsector generated. Notice the limited bases created.

Traveller Subsector UWP List Generator (1619343301)

Tizita           0102  C41058A-11          NI A
Vibannare        0105  D7A38A6-3           A
Nafaxe           0204  E447301-4           NI A
Zititu           0207  B648663-7       S   Ag NI
Mavifainti       0208  X3016AB-3           Na NI Va IC A
Pavima           0210  D200103-6           NI Va A
Vinxena          0301  D88A644-8       S   NI Ri Wa
Zoziq            0302  B454842-8          
Tituteluzi       0305  A310420-12          NI A
Rabama           0306  B545412-8       N   NI
Totamavi         0310  B678563-7       N   Ag NI
Zon              0401  E88A522-7           NI Wa
Qnq              0410  C87997A-11          In A
Mavota           0504  A99A977-12          In Wa A
Razutife         0505  B754867-8       S  
Zomanzi          0507  D67A355-10      S   NI Wa
Vizoetuvo        0508  B120510-12          NI Po De A
Lurinan          0509  C4555A8-9           Ag NI A
Zotato           0510  A66A632-9           NI Wa
Lunainrina       0601  B747564-6       N   Ag NI
Rizo             0604  B77A7BF-8       S   Wa A
Lutomata         0605  C9769CF-6           In A
Patoin           0607  A436784-13         
Ineratu          0608  A978753-11      S   Ag
Zozota           0610  C220202-10          NI Po De A
Femavita         0701  A302666-10          Na NI Va IC
Titutemana       0703  BA9A796-12     NS   Wa
Titezofa         0705  C99A543-6       S   NI Wa
Favorivi         0709  C130383-11          NI Po De
Qtelu            0710  AAA9000-0           NI A
Nnafema          0802  C5376B9-5           NI A
Tuzinare         0803  A564304-12          NI A
Zupaezi          0804  B210964-12      N   Na In
Zoreluzu         0805  C78A589-6           NI Wa A
Tofevomaq        0806  A200756-10      N   Na Va
Texebain         0807  C4428AE-7           Po A
Favifabafa       0808  B99A88C-11      N   Wa A
Reinxenazi       0809  B401588-8           NI Va IC
Zufate           0810  B9C8644-8           NI A
                       ||||||| |
Ag Agricultural        ||||||| |            In Industrial
As Asteroid            ||||||| +- Tech      Lo Low Population
Ba Barren              ||||||+- Law         Lt Low Technology
De Desert              |||||+- Government   Na Non-Agricultural
Fl Fluid Oceans        ||||+- Population    NI Non-Industrial
Ga Garden              |||+- Hydro          Po Poor
Hi High Population     ||+- Atmosphere      Ri Rich
Ht High Technology     |+- Size             Wa Water World
IC Ice-Capped          +- Starport          Va Vacuum

Bases: Naval – Scout – Research – TAS – Consulate – Pirate

I’ve left the Mongoose Traveller suggestions for routes in place and this is what we get:

Classic Subsector

(If you click the image, you’re going to see the Traveller Subsector Generator with a secret parameter for creating Classic Traveller maps.)

On G+, I got linked to TRAVELLER: Out of the Box – Interlude: Two Points Where I Prefer the 1977 Edition Over the 1981 Edition talking about the old 1977 trade routes. When I tried it, not bad! (Also note this forum thread, Default CT 1977 and CT 1981, comparing the 1977 and 1981 editions.)

Classic Subsector

(Classic Traveller map, with minimal spanning tree)

I decided to drop the optimising I had been doing, to get a feel for the “raw” data. This also required some rewriting and this always messes with the random number generator. That’s why this map cannot be easily compared to the one above.

Classic Subsector

I did some rewriting and added the minimal spanning tree algorithm again. It looks less busy, the clusters are still clusters. But there are some drawbacks. Take a look at the top right corner: 0802 and 0703 are connected (distance 1, shorter connections go first), 0701 and 0703 are connected (distance 2), and thus 0701 and 0802 cannot be connected because that would introduce a loop.

Classic Subsector

(Classic Traveller map, with minimal spanning tree)

I think for the time being I’ll remove the minimal spanning tree optimisation again.


Comments on 2017-07-11 Traveller vs. Traveller

There should be a space lane between 0601 and 0701 by the 1977 rules (A-B J-1 is 1+ to have a space lane). Also 0504-0505 and 0508-0607, hmm and a bunch more...

– Frank Filz 2017-07-13 07:31 UTC

Indeed! A bug!

– Alex Schroeder 2017-07-13 09:25 UTC

New code produces:


– Alex Schroeder 2017-07-13 09:35 UTC

Highlighting jump-1 routes:


Not sure about the colour scheme. And the legend at the bottom needs fixing.

– Alex Schroeder 2017-07-13 10:59 UTC

Nice, I like the red to highlight the J-1. When I did my subsectors, I ended up not rolling for the J-3 and J-4 routes. I also didn’t bother with a J-2 route that was already connected by J-1 (for example 0604-0804 above, there’s already an implied J-2 route as 0604-0705-0804). Similarly you could remove the 0305-0604 J-3 route (unless there isn’t a J-2 between 0305-0505 and that blue line is actually JUST a J-4 route 0305-0705...).

– Frank Filz 2017-07-13 16:28 UTC

Hm... Isn’t that a bit like the minimum spanning tree optimisation? As Ian Borchardt said on G+:

One problem with your optimised paths is that you are assuming that space == time, which isn’t the case with Traveller jumps, because any jump takes two weeks, regardless of distance. [IIRC]

Which means it’s not cheaper (time wise) for a starship to call in at an intermediate port. So given a choice between A-B-A and A-A most people will still choose A-A by preference because it gets there in half the time. It has a greater efficiency.

I responded with the following:

As for trade route optimisation: one might say that the trade routes indicate the most popular trade routes and thus two jump-2 segments will be more popular than a single jump-4 segment because there will be more ships that can handle it, even if that makes the route take twice the time. Well, that was my argument when I realised that too many routes just made for an ugly map.

So basically the jump-2 route 0604-0804 says that ships can and will make this jump directly – unlike the jump 0604-0703, which is also a jump-2 but somehow the dice have decided that it’s not profitable enough to do. It’s up to the referee to explain the difference. At least, that’s Ian’s argument.

For myself, I’m still undecided. All I can say is that it looks busy and messy and I don’t like it too much.

As for distance, I guess from a player perspective, at the beginning of a typical campaign all we care about are jump-1 and jump-2 routes. Perhaps I should just use a third colour for jump-2 routes.

– Alex 2017-07-13 16:52 UTC

Support for sectors, click to zoom. Note how I used a third color for jump-2 routes.

Click to zoom!

– Alex 2017-07-13 18:03 UTC

D’oh. I just noticed that my generator never generated any gas giants. Fixed!

This also means that all the random seeds will now generate different maps. Nooooo!

– Alex 2017-07-13 18:33 UTC

As for picking a subsector capital, Ian Borchardt says:

Definitely an A class spaceport (and it will have an attached Imperial naval and scout base). It probably should be a Rich world (Atmosphere 6-8, Population 6-8), and I’d assign it a Government Type of 8. The TL should be amongst the highest in the subsector (and a minimum of 12).

And regarding trade routes, he says:

This is the approach I would take.

First generate the main routes.

(1) Connect all Starport A within Jump 2 of each other.
(2a) Connect all Starport B within Jump 2 of a Starport A.
(2b) Connect all Starport B within Jump 1 or each other.
(2c) Connect an unconnected Starport B to another Starport B within Jump 2.

If a connection in step 2 connects Starport A to the sector capital then upgrade it to a main route.

Next comes the feeder routes.

(3a) Connect Starport C to a single Starport A within 1 jump.
(3b) If not connected, connect Starport C to a single Starport B within Jump 1.
(3c) If not connected, connect Starport C to a single Starport A within Jump 2.
(3d) If not connected, connect Starport C to a single Starport A within Jump 2.
(4a) Connect Starport D to a single Starport A within 1 Jump. (optional)
(5) Class E starports are never connected by a trade route.

If in need of direction, assume the shortest path to the subsector capital.

This defines the regular services (for various definitions of regular). Everything else relies on tramp freighters.

[In your example map the small disconnected group of systems to coreward might have better trade connections to coreward than it does with the subsector it is technically a part of. Or it may be a different polity. And yes, I cheated with the rosette of class A and C starports to rimward, because of a fondness for benzene rings...]

– Alex Schroeder 2017-07-13 22:31 UTC

One thing I did to simplify my route maps is that if you have three worlds, One, Two, and Three, and there is a J-1 route from One to Two, and a J-1 route from Two to Three, I also assume the J-2 route from One to Three is also regularly travelled. I also in a few places, having rolled just the J-2 route, assumed that the J-1 routes were thus also regularly travelled (this makes a world that might otherwise have had less access have more, I’m not that bothered by that, and would rather have a simpler map).

– Frank Filz 2017-07-31 16:02 UTC

Add Comment

2017-07-11 Tales to Astound

With my renewed interest in Traveller comes a new blog, Tales to Astound!

Some samples!

«And I type all this up to say–the game was written and designed to play this easy, fast, and loose play–and you can play this way too. No long, detailed introduction from the Referee about politics that the Player Characters can’t influence anyway. No thoughtfully pre-planned adventure the Player Characters are supposed to follow. No expectations of what the Players will do.» – An Improvised Classic Traveller Convention Game

«Why van Rijn, let alone anyone, would be hauling around whisky between the stars and assume to make a profit is insane, of course. But that’s exactly what the trade rules in Traveller model.» (Comes with some interesting quotes from books that are said to have inspired Marc Miller as he wrote Traveller in 1977 and 1981.) – TRAVELLER and “Hard Science Fiction” — I don’t think so…

«It really reinforces the nature of the Referee as impartial judge, the dice as oracles, and the rolls not as “skill rolls” but as impartial tools to determine outcomes. The point of the roll is not to see “How well the character did,” but to see what happened when the character did something, which in turn leads to the character having to do the next thing, based on the outcome of the roll.» – TRAVELLER: Out of the Box-An Approach to Refereeing and Throws in Original Traveller (Part I)

«It has long been noted that the Classic Traveller does not have a unified task resolution system. Instead it has an ad hoc system of Throws, with different Throws for different skills, and many of the rolls left without any sort of specific procedure or definition. For many, many people this is a problem. People want to know how the game works in a simple, consistent manner.» – TRAVELLER: Out of the Box–An Approach to Refereeing and Throws in Original Traveller (Part II)

«The dense layer of procedural generation of Worlds, Encounters (NPCs, Animals, Legal, Patron), Encounter Range, and NPC Reaction lets me generate content on the fly and help me come up with new ideas, locals, and situations I would never come up with on my own.» – My Favorite SF RPG…


Add Comment

2017-07-10 New Characters

Random Face From a discussion I’ve been having on Mastodon: What about group character generation? Remember all those Fate games where you describe past events where your character was in a scene with another character? Was this awesome and made for a better game? Or was it boring and you just wanted to get into the game and have an adventure now instead of talking about adventures your characters had without you?

The problem with this approach is that not everybody enjoys this process; I’d rather begin playing right away. In my mind, character generation is not play.

And then there’s the problem with new players arriving over the years. Their characters will be different, so how much have you actually gained in the long run? Eventually, none of the characters in the party will have that shared past. All of them will simply have adventured together, at the table. And that’s great. Perhaps there was no need for group character generation.

That’s why I like character generators. When newbies join the campaign, I just let them pull a random character from the stack. Play starts immediately.

I have long running campaigns with people slowly dropping out and coming in, so party cohesion is usually provided by the old hats and newcomers are just tagging along until they develop their own characters.

As for the rules, I usually just hand-wave all that and tell them that we’ll explain it as it comes up. I guess that’s why handing out random pre-generated characters works for me.


Add Comment

2017-06-30 Traveller Subsector Generator

Yesterday I posted some Traveller links. Today I refactored my Traveller Subsector Generator and moved to a new web framework. I also merged my UWP Generator and my SVG Mapper for Traveller into a single web app, the Traveller Subsector Generator. I hope it’s pretty obvious how to use it, but I know that sometimes I get confused myself so here’s what it can do:

You start with an editable example UWP:

  • Generate Map gives you the SVG map
  • Communication and Trade Routes gives you a list (text)
  • Random Map gives you a random SVG map

If you’re looking at an SVG map and you got here via Random Map:

  • UWP in the bottom right gets you the read-only UWP that generated the map
  • if you do that you can click on Generate Map and get the same SVG map
  • this works because the random map has a unique id

If you’re looking at an SVG map and you got here via Generate Map:

  • since you might have edited the UWP, it doesn’t have a unique id
  • and thus you don’t get the UWP link

If you’re looking an a read-only UWP:

  • Random UWP generates a new, random, read-only UWP
  • Generate Map takes you to the SVG map, as I said
  • Edit Map takes you back to the edit screen for this UWP
  • this works because the read-only UWP has a unique id

OK, so the only weird thing is that sometimes there is no UWP link back from the map, right? Well, if you’re looking at https://campaignwiki.org/traveller/edit/344450615 and click on Generate Map then you can always use that id in the URL and type https://campaignwiki.org/traveller/map/344450615 into the address bar of your browser. And now the missing UWP link appears!

I don’t even know why I’m posting all this. I makes me realise that the user interface needs more tinkering and I’m tired. If you have an idea for how to make it more obvious, specially if you haven’t used it before and you’re confused, I’d like to hear about it. Perhaps we can improve the web app together.


Comments on 2017-06-30 Traveller Subsector Generator

Made some changes, and added random sector generation (32x40 instead of 8x10).

– Alex 2017-07-05 06:07 UTC

How to get a random UWP from the command line:

perl traveller.pl get /uwp/874568503 2>/dev/null | xmllint --html --xpath '//pre/text()' - | perl -MHTML::Entities -pe 'decode_entities($_);'

– Alex Schroeder 2017-07-05 14:57 UTC

How to generate a SVG file from the command line:

perl traveller.pl get /map/874568503 2>/dev/null > 874568503.svg

– Alex Schroeder 2017-07-05 14:58 UTC

Generating a simple SVG file from a map on the command line (URL-escaped):

perl traveller.pl get --header 'Content-Type:application/x-www-form-urlencoded' --method POST --content "map=Rezufa%200101%20E310000-0%20Ba" /map 2>/dev/null

– Alex Schroeder 2017-07-05 15:09 UTC

Generating an SVG map from UWP in a text file:

perl traveller.pl get --header 'Content-Type:application/x-www-form-urlencoded' --method POST --content map=$(cat 874568503.txt|encodeURIComponent) /map

This assumes you defined the following alias:

alias encodeURIComponent='perl -pe '\''s/([^a-zA-Z0-9_.!~*()'\''\'\'''\''-])/sprintf("%%%02X",ord($1))/ge'\'

– Alex Schroeder 2017-07-05 15:21 UTC

Add Comment



Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.