This is both a ‘’’wiki’’’ (a website editable by all) and a ‘’’blog’’’ (an online diary about the stuff Alex Schroeder reads and does). If you’re a friend or relative, you might be interested in reading Life instead of this page. If you’ve come here from an RPG blog, you might want to head over to RPG. There are other similar categories to be found on the SiteMap.
Für Rollenspieler gibt es ebenfalls eine eigene RSP Kategorie.
I’m super happy with my dwarven faces!
Pink Bliss has improved somewhat. Mostly, I just added some magit faces.
You know you want it! Download from GitHub!
Emacs, in it’s maximized glory:
I’m trying to make a list of web apps I have written for role-playing games…
Ich habe mal vor einiger Zeit mit der Bestätigung in zwei Schritten von Google angefangen, für Google, Dropbox, Gandi. Das ist eine App auf dem Telefon und zeigt Nummern an. Will ich mich bei einem der drei Services neu anmelden, muss ich die Nummer abtippen. Das ist gut, weil mein Passwort klauen nicht mehr reicht: Man muss auch mein Telefon klauen. Das nicht super, weil ich die verdammten Zahlen immer wieder mal tippen muss. Wenn ich nun einen coolen USB Stick hätte, der an meinem Laptop steckt, der das gleiche erreicht, dann wäre das cool. Man müsste mein Passwort und meinen USB Stick klauen, um an meine Daten zu kommen.
Mir scheint, der billigste FIDO U2F Security Key erfüllt den gleichen Zweck wie die Lösung mit der Mobilen App auf dem Telefon.
Everything is better! My Face Generator is progressing nicely. I think the galleries for men and women are already pretty good. The entire app is running on Hypnotoad behind Apache/mod_proxy. It’s fast! And I’m going to support multiple artists. Please help me if you can! I’m not great with faces. I have barely drawn any until this project started. I had to read How to Draw a Face on WikiHow, that’s how bad I was!
Here’s how I’m doing it right now. The basic instructions are on GitHub.
First, print a copy of my empty.pdf.
Download the PDF!
Make sure you don’t scale the image to fit the page. Try to use 100% of the image.
Then you draw 25 images of a particular element: hair, eyes, nose, ears, mouth, chin. 10% of all faces also get an extra element. Good for scars. My experience is that you need around 50 components for every element to provide enough variety – two sheets for each element is what I suggest.
Then you scan it. You should get something like the following:
There are more examples on Flickr.
If you have something like the above your work is done. Send the images to me and I will do the rest!
What does the rest involve? You crop it and resize it to 2250×3000 pixels. My scanner is notoriously bad about this.
I have scripts to extract whatever you draw from the helping lines of your scan. I have three variants ready to go:
convert -blur 0x1 +dither -remap tintenblau.png scan1.jpg source1.png
convert -blur 0x1 +dither -level 30%,80% scan1.jpg source1.png
convert -blur 0x1 +dither -level 50%,80% -grayscale rec709luma scan1.jpg source1.png
I think you need to think about speed. Two sheet per element with six elements means 12 sheets. Save yourself the time of inking! Fiddle with the
-level argument instead. The first percentage means that every pixels darker than this much is going to end up black. The second percentage means that every pixel lighter than this much is going to end up white. Raise the first number until you’re happy with the darkness of your image. Lower the second number until the helping lines disappear.
You should end up with something like the following:
Now’s the time to use my
cutter script. It splits the image into 25 images of 450 x 600 pixels each. You must tell it the element (hair, eyes, nose, ears, mouth, chin, extra) and the type (man, woman, elf) you want to save it under. The result is a bunch of files.
And that’s it! I commit it to my repository on GitHub and deploy it on my server.
If you’re running the web application, there’s even the possibility to debug faces.
I’m going to link to the debug interface so that you can take a look – but in the end, you won’t be able to save any changes.
I’d like to generate random faces, quickly. I’d draw them myself if I had any talent and a wider range of faces I knew how to draw. Sadly, I’m not that good. So here’s the idea: draw a bunch of eyes, noses, mouths, hairs (or hats?), ears, whatever it takes. Assemble at random. If we want to get fancy, we can tag those elements (male, female, elf, dwarf, halfling) to get better faces but perhaps we can do without.
In order for this to look good, I fear that we’d want a single artist to do all of these elements. That’s how we’d get a cohesive style, I think. I’d propose to work using a regular grid, like this:
But then again, if you’re going to volunteer, then you set the rules. I’ll do the cleaning up, extracting, coding, hosting, whatever it takes to makes this real. I’d want to use an open license so that other people can build on it in case we drop off the Internet one day.
I have a prototype up and running:
Once we have the artwork, I’ll add more features to the web app. Most importantly, we’d want to redirect random faces to an URL that encodes the elements used such that each face gets its unique URL. Then we can use them elsewhere on the Internet. We can also generate a gallery of many faces. It’ll be easy.
If we really want to, we could also move the entire library of elements to SVG and have SVG output. This would allow us to print the faces without pixelating it all. We’ll work it out.
We’ll work it all out. Dimensions, number of colors, number of elements, and so on. All you need to do is get in touch.
I’m connecting to Kallobombus via SSH. It runs Debian 7.9 aka Wheezy. Recently a new problem appeared. I can no longer use Emacs unless I’m root.
alex@kallobombus:~$ emacs emacs: Could not open file: /dev/tty alex@kallobombus:~$ sudo emacs alex@kallobombus:~$ ls -l /dev/tty crw------- 1 root root 5, 0 Sep 18 08:28 /dev/tty alex@kallobombus:~$ cat /etc/debian_version 7.9 alex@kallobombus:~$ which emacs /usr/bin/emacs
What’s the problem?
On a different server, running Ubuntu 14.04.1 LTS:
kensanata@po6:~$ cat /etc/debian_version jessie/sid kensanata@po6:~$ ls -l /dev/tty crw-rw-rw- 1 root tty 5, 0 Sep 15 11:42 /dev/tty kensanata@po6:~$ emacs
So, is the solution to
chmod o+rw /dev/tty?
Oh well, I ran
sudo chmod go+rw /dev/tty and that seemed to fix the problem. I just hope it didn’t create any security issues.
Gavin Norman has been writing about rogues on his blog. In the comments, a commenter says: “It’s a great take on the class and it avoids those hard percentages people whine about.” I am one of those whiners!
Here’s the Skills chapter from my Halberds and Helmets house rules.
Thieves improve over time. They’ll be faster at opening locks, disarming traps, finding secret doors, moving silently, hiding, hearing, and so on.
The big table of d6:
|Kick in doors, add your strength bonus||1–2|
|Trigger, evade or disarm traps||1–2|
|Dwarfs are better at finding secret constructions||1–2|
|Dwarves are better at finding traps||1–2|
|Elves can hear better||1–2|
|Elves are better at finding secret and concealed doors||1–2|
|Halflings are better at hiding and sneaking||1–2|
|Halflings are even better at hiding and sneaking outdoors||1–5|
|Thieves are better at everything||1–2|
|Thieves from 3rd level onwards||1–3|
|Thieves from 6th level onwards||1–4|
|Thieves from 9th level onwards||1–5|
Gavin Norman has been writing about rogues on his blog. There, he introduces such maneuvers as Garrote and Black Jack:
Garrote: Make an attack roll. If the attack succeeds, you have the garrote in place, causing 1d4 damage. Each subsequent round, the victim suffers 1d4 damage and must save versus paralysis or fall unconscious […]
Black Jack: Make an attack roll. If it succeeds, the victim suffers 1d4 damage and must save versus paralysis. Failure indicates that they’re knocked unconscious.
In a subsequent discussion on Google+ I said that I had a different way of thinking about combat maneuvers.
I always wonder: What would Conan do? In my game, if Conan is a level 10 fighter, then I have a hard time understanding how lowly thieves can put him down without bringing down his hit-points. Similarly, nobody gets to push Conan around, trip him or disarm him, unless he’s out of hit-points.
You could of course claim that this isn’t much different from a hold person spell. If Conan fails his save against hold person, he’s helpless and can be killed in a round. In which case the garrote is a bit like a wand of hold person with unlimited charges, right? It’s very powerful. Specially compared to the lousy backstabbing thieves usually get: double damage in old school games.
I think I mostly settled on my interpretation of hit-points because I decided that hit-points was about luck, endurance, will to live, experience, toughness and when you’re at zero then you’re giving up. You have no more will to live. The next hit will kill you, or make you roll on the Death and Dismemberment table. That is when you force your enemies to submit.
Thus, in my game, I tell people that they need to reduce people to zero hit-points and then they can do with them what they want. That is, unless their enemies are suicidal in which case they’ll rather take the hit than submit. Submission is therefore being disarmed and giving up, or tripping and falling on your back and giving up, or being pushed over the edge and falling to your death. A maneuver is not an alternative to a hit for the attacker – submission to the maneuver is the alternative to death for the victim.