Posts

Showing posts from 2018

A few talks about python and coding

https://www.youtube.com/watch?v=OSGv2VnC0go Idiomatic Python https://www.youtube.com/watch?v=o9pEzgHorH0 Don't use classes (in Python) unless you really have to https://www.youtube.com/watch?v=ZsHMHukIlJY Talk about style in software

Poverty is not lack of character

About poverty https://www.ted.com/talks/rutger_bregman_poverty_isn_t_a_lack_of_character_it_s_a_lack_of_cash

Il museo delle 4 di mattina

Non il tipo di TED talk che ti aspetti: https://www.ted.com/talks/rives_a_museum_of_4_o_clock_in_the_morning#t-827337

Thank you washing machine

https://www.ted.com/talks/hans_rosling_and_the_magic_washing_machine

You have to be carefully taught

Ieri sera mi sono accorto che stavo tenendo uno strano comportamento: da un lato ero in procinto di prendere l'aereo, e il maltempo su Dublino rischiava di impedirmi di partire; dall'altro lato, invece che tenere d'occhio le notizie sul maltempo, passavo il tempo a consultare le pagine politiche di un tot di giornali italiani (senza particolari preferenze: Corriere, Repubblica, la Stampa, il Fatto Quotidiano, il Giornale). Mi sono allora chiesto il perché di questa asimmetria tra quello di cui avevo bisogno e quello che stavo facendo. Alcune risposte possibili: ho ancora amici e conoscenti in Italia, quindi me ne interesso; quello che succede in Italia potrebbe avere influenza sulla mia vita qui all'estero (e.g. pensate se l'Italia facesse una corbelleria modello la Brexit); sono abituato a leggere certe notizie quindi continuo a farlo; Anche se in tutte queste c'è qualche cosa di vero, ho l'impressione che ci sia dell'altro. A cosa sono a

Remote surveillance

https://www.ted.com/talks/christopher_soghoian_government_surveillance_this_is_just_the_beginning

ADnD, Low Pass Filter and Extract Method

As I am very fond of old style Role Playing Games, I am working on a toy project about Advanced Dungeons and Dragons, 1st edition. Now, this game is full of strange rules. For example, when the characters encounter a group of monsters, both parties have to roll a d6 (standard six faced die); if one of the parties rolls 1 or 2, that party is surprised. Also, in this case, the value of the die (1 or 2) indicates the number of "segments" (6 seconds period) for which that party is surprised. In my first Python implementation, this lead me to write a method in the Party class, which was something like this: def surprise_segments(self): roll = random.randint(1, 6) return roll if roll <= 2 else 0 Pretty simple, right? This simple piece of code didn't satisfy me very much. The roll variable wasn't very useful here: it was just a temp variable to keep the roll value so that it could be used in the following expression. So, I decided to extract that pa

You've got to be taught to hate and fear

You've got to be taught to hate and fear You've got to be taught from year to year It's got to be drummed in your dear little ear You've got to be carefully taught You've got to be taught to be afraid Of people whose eyes are oddly made And people whose skin is of diff'rent shade You've got to be carefully taught You've got to be taught before it's too late Before you'r six or seven or eight To hate all the people youre relatives hate You've got to be carefully taught

Consciousness as a shared hallucination

https://www.ted.com/talks/anil_seth_how_your_brain_hallucinates_your_conscious_reality

Adding initiative table

Image
A new version of the Calc spreadsheet to handle the combats. I added on the right side the initiative order; also, the current attacker is highlighter both on the initiative order table (right side) and on the couplings table (middle). I also restructured a lot the table on the left. My idea was to make it a little more "storytelling" and a little less "data entry". The labels will change according to what is the next expected action (by me or by the players) and thus I should avoid to be confused during the combat resolution. I plan to create a new sheet to resolve social and academic actions, so that they can have the required depth as well.

Game session of Sunday

Image
Yesterday was Sunday, and as usual, we had our (short) session playing Decipher's Lord of the Rings RPG. In this game, I am the Narrator (or Dungeon Master if you prefer); my wife plays Carawen, an Elven female warrior from Mirkwood, and my daughter plays Luna, a (very young) wizard, pupil of Radagast, from the land of Rohan. They are in year 2700 from Third Era. At the moment, they are traveling in the Iron Hills directed to Cape East, the most eastern of the Dwarven settlements in the Iron Hills. They are following the tracks of another Dwarf, Nar son of Dar, who was hunting a Dragon years before. In the last short session, while they were camping on the road they met Morwen, a mysterious woman who was traveling alone coming from Cape East. During the night, they were attacked by a group of six orcs, but they were able to overcome them, also thanks to the prowess of Morwen with her sword. While they were warned about the possibility of attacks of Orcs on this r

A toolbar for the combat spreadsheet

Image
Another version, with a few more changes, namely: the buttons have been moved away from the spreadsheet to a toolbar the grid has been removed and re-added only where necessary a new sheet has been included which I will use to look-up the attributes, reactions and skills a problem with critical hits has been fixed: only melee critical were shown

Calendars, weather sense and honesty

I am currently running a couple of RPG campaigns in Tolkien's Middle Earth; the first one is set seventy years before the fall of Erebor, and the second one four years after the Quest for Erebor. So, I decided the day of the year (in game time) when the two campaigns were going to start, and we started from there. My players were very diligent in keeping track of the time, and we had a nice journal with all their notes about the events. After a while, I decided to use some random weather generator. The first one was https://donjon.bin.sh/d20/weather/ ; this is a very simple weather generator, which is very good if you have to generate a week or two of data, but it becomes somehow cumbersome if you want to generate a longer calendar. The second one was https://www.reddit.com/r/DnDBehindTheScreen/comments/6ckopi/rpg_weather_generator_daily_weather_based_in / ; this is a very detailed generator, which will generate one year of weather. I modified it so that the names and descriptio

Combat spreadsheet in progress

Image
As you can see from the new image, the spreadsheet is progressing. You don't need anymore to have two sheets open side by side (even though it was fun to do) and you can run all your combat from a single sheet. Here are the additions: there are a bunch of new buttons: "Stordisci" (the enemy is staggered), "Sanguina" (the enemy is wounded and it is losing one HP/round), "Atterra" (the enemy is Prone) "Fai alzare" (the enemy stands up), "Mostra critica" (shows the description of the critical); "Infilza" (Lodged arrow) is currently not working; the "Danni" (Damage) button will parse the damage type (e.g. 2d6+3) and calculate the appropriate amount of damages; the spreadsheet shows temporary conditions (Staggered, Prone) or permanent (Dead) conditions for attacker and defender; on the right side, there is a new range (called Couplings) where you can record, for the attackers, their targets; this is usefu

Running a battle from OpenOffice Calc.

Image
This is a screen capture of some of the sheets I am using to run the battles in my campaign for the (now defunct) Lord of the Rings RPG. The left part contains the stats for the PC and NPC in the battle, the right part contains the controls to resolve the combat itself. As this is still a WIP, when I will have something more complete I will actually upload the (OpenOffice) sheet.