Sunday, December 10, 2023

A Dissonant Chord - Part 5

In part 4, Ikram escaped from an elder wolf that chased him. He found an abandoned house and discovered strange artifacts and humanoid remains locked in the basement. After attempting to leave, he was instantly transported back to the edge of the forest. He continued his journey and saw a family of broken emerge from a cave and he was later almost drowned in a flooded river by a sodden.

27th day of spring, year 132

In the morning I immediately left for Greatrock. I realized en route that my provisions were ruined by water and something was growing on most of my fabrics. Camping would be difficult under the circumstances, so I decided to press on, hoping I'd soon find some road or settlement. The hilly terrain meant less dense forest, so I covered quite a distance before reaching dense foliage again, where I had to take a night's rest before continuing. I still couldn't sleep properly. I kept dreaming of that sodden. Was I getting too worried? I had more mundane things to worry about.

28th day of spring, year 132

I had no breakfast to eat this morning. I jumped on Valeri and left for Greatrock. I finally reached Greatrock! I went straight to the shops and reprovisioned for 18 arrowheads. I ate and slept in the inn.

29th day of spring, year 132

In the morning, I checked around town for any odd-jobs. I stumbled upon a mercenary who was looking for a crew to go after a nearby settlement of broken. I was shocked when he said the job would pay well because it was sponsored by both Greatrock's mayor and the "Cove of Lament" clan. I asked another man in the crowd who the "Cove" is. He told me the cove is the elf-bound clan led by Namura, Greatrock's newest mayor. I felt my heart sink. I had come to the base of my enemy to find help to defeat my enemy. I left before anyone could realize how shaken I was. I started walking toward the inn, thinking about my next step. Obviously, they were not actively looking for me, and they wouldn't expect me in their hometown either. But the chances of a random encounter would have been high, very high, based on my experience outside Mournwood. I finished loading Valeri and jumped on her. I had to camp alone outside the city and think about what to do next when my mind would be clearer. I found a good place in the forest, far from the road and hidden from Greatrock's view. I tried to sleep.

30th day of spring, year 132

I felt rested in the morning. I eventually would need to go into the city, so I needed some way to conceal my face. I experimented with applying a bit of mud to my skin, trying to find a way to make myself look more wrinkled. Then I cut my hair much shorter and tried tying it differently, but if anything, this seemed to make me stand out more — at least based on my rippling reflection in water. I wished I had an actual mirror or a shiny metal surface. In the evening, I spent some time rehearsing different fake voices. I got a few nailed down really well! But it was getting late.

31st day of spring, year 132

I woke up feeling rested again. I walked to the edge of the forest closest to the city gates. I spent the day watching who went in and out. That evening I saw a group of warriors, clearly part of the Cove by their clothes and armor, leaving Greatrock with their leader and enough provisions for a very long trip. I wasn't sure if many more remained in the city, but I was willing to risk spending some time there to learn more about them. I walked in and went straight to the inn. I sat next to an older man and ordered some food and ale for me and another ale for him. "You're not in a rush, are you?" I asked. "I haven't had a chance to talk with someone for days!" I added. He seemed friendly. We began talking. I kept buying ale for him, hoping to get him to open up, but I seemed to be getting drunk more quickly than him. His name was Cortin. He did not seem eager to discuss his past, but he was extremely enthusiastic about telling me all about his future hopes — to write a book about the elves and convince the Cove clan to take him along on their next trade journey. I asked if he was certain this was a good idea and how much he really knew about the Cove, whether he could trust them. He said he didn't know much but had secured a meeting with one of them the next morning. "Here at the inn?" I asked. "No, they have their headquarters in the east side of town," he replied. We had a few more drinks before I got a room to sleep.


In the next part, Ikram forms an alliance with an unusual couple who promise information and aid for one of his difficulties in exchange for assisting with a perilous mission. Danger, cunning, deception and arcane objects lie ahead as they plan their next steps.

To be continued...

Wednesday, December 6, 2023

A Dissonant Chord - Part 4

In part 3, Ikram came across a strange abandoned outpost that seemed designed for children or small people. He returned to Mournwood and completed his trade with Padma, receiving a large payment of arrowheads for the books. However, when Ikram tried to have a couple from his village distribute the arrowheads among the survivors rebuilding Graycliff, he was betrayed as the couple attempted to run off with the money. He eventually took money himself to his village. He then set off for Greatrock to seek mercenaries but was caught in a snowstorm.

23rd day of spring, year 132

The storm didn't allow us to sleep very well, but by the time we woke, the sky had cleared, so we continued our trip refreshed. We reached a grove. I heard a lot of howling coming from within, so I decided to ride around it instead of through. The extra distance took its toll on my and Valeri's stomachs. While eating, we were suddenly attacked by an elder wolf, possibly one that caught our scent while we were circling the grove. We were no match for this beast. We immediately broke into a gallop with the beast right behind us. "Smoke!" I thought - and thick gray smoke did appear, even more than I imagined! Valeri was engulfed in it, though I could still somehow see the beast through it. The beast was also getting enveloped in a smaller cloud. "And mirrors." I thought next. A horse the same chestnut color as Valeri now galloped closer to the beast than us. "Not bad," I thought, hoping for more. "Run!" I said, kicking Valeri. She sped up, putting some distance between us and the beast. I thought of more mirrors, and one more copy of me and Valeri popped into existence. But the beast was fixated on the real us. I started to panic as it closed the distance. I "tried" to make us disappear, whatever "trying" means when it comes to invocations, and failed. The beast was getting even closer. "Run girl! It's up to you now!" Valeri gave it her all. We kept distancing ourselves from the beast until it seemingly got tired or bored and stopped chasing us. We kept going for a good ten minutes more. When we finally stopped, I got off Valeri to check if she was alright. Her legs had been bloodied from running through branches and brambles. I gave her some water and patted her neck. Both of us knew she had saved us that day. I looked around for berries as night fell. By the time I had collected enough, it was already dark, so I set up camp for the night in a cave I found nearby.

24th day of spring, year 132

The cave helped Valeri and I both relax and enjoy a good night's sleep. I ate a big breakfast in the morning and continued my journey. We passed by a very tall cliff and later reached a small lake. I thought this would be a good place to restock on some fish or frogs, so I spent time until sunset fishing but didn't manage to catch anything edible. I ate some more from my supplies and had to throw some away as it seemed to have gone bad. After that, I fell into a tired sleep.

25th day of spring, year 132

I woke hungry but decided to keep my supplies for now as I was entering the Deep Wilds, unsure how easy it would be to find food. The first thing of note that we stumbled upon was an abandoned house. Like the outpost I saw on the 18th, the door, windows and height of the edifice seemed more appropriate for children than adults. I decided to squeeze in and take a look around. What I found were a couple strange contraptions. Both seemed to be made of bronze - the first looked like an alembic with one glass tube still filled with a blue fluid, while the other resembled a keychain but with more rigidly attached keys on a bigger ring. Even just for the bronze, these things held value. The blue liquid drew my attention as it seemed familiar. I opened the tube's lid - with a pop, a gray-blue steam started escaping and filling the room with the usual "smell." I closed my eyes, feeling it around me; almost seeing it. I started absorbing it but then felt like someone was watching me. I quickly opened my eyes and looked around. Some of the steam was being drawn into a crack on the floor. After closer inspection, it was a trapdoor with no apparent handle except for some holes forming a circle. The keychain! I rotated all the keys to point in the same direction and slid them all at once into the trapdoor's keyholes. Without even rotating anything, a click was made by the mechanism and the trapdoor popped upward a tiny bit, revealing a handle on its side. I opened it and peered into the coal-black room underneath. I lit a torch and went in. The room was full of metallic tablets (I think they were copper but they felt lighter than they should have been, even for their thinness) with unknown characters punched onto them. The tablets were mostly tidied onto stone shelves with some strewn on the floor next to some small skeletal remains. The clothes of the deceased human(oid?), or whatever rotten remains were left of the clothes, looked unfamiliar. The bones looked human but child-sized, perhaps a little thicker than I'd expect, but I was no expert in bones. I assumed the person was locked in here, probably by someone else, since the door would lock only after pressing it down and removing the keys. I looked around the house some more for any useful utensils to grab, then set up camp outside. I buried the remains and then fell into rest until morning.

26th day of spring, year 132

After an amazing night's sleep, I woke to find some berry bushes full of ripe berries right in front of the house, which I could have sworn were not there the day before. I ate as many as I could hold and packed a few more for the road. I then used some of my charcoal and paper to make copies of a few random tablets before continuing my journey. But as soon as I started to take a last look behind me, what I saw instead of the house was the same cliffs of the Ragged Coast that I had left behind when entering the Deep Wilds. I was somehow again at the border of the forest. Was this an attempt to impede my quest, or a friendly warning, a second chance to rethink delving into these otherworldly wilds? I didn't think I'd be any safer back, so I rode forwards into the forest again. As I rode through a hilly area, I encountered a cave. A gaunt face appeared in the dark depths. She started screaming at me, eyes wide open and fixated. More screams joined hers from within. I immediately remembered the stories my mother used to tell me about the broken. About four individuals came out of the cave's dark depths, wailing and waving their hands like madmen, followed by a child. I felt sorry for the kid - it seemed like a regular Ironlander child. I wondered how long it would take for the child to become like its parents, if any of them survived. I kicked Valeri and sped away from them. I ate some dried fruits and continued my journey. We reached a hill but Valeri was bothered by her wounds. I cleaned them with some water but I needed to apply some medication. Thankfully, I had some in my pack. I washed it up and bandaged it on her front legs. It was getting late, so I set up camp near some rapids freezing-cold water. That was a bad decision. I woke up suddenly when the river flooded the ground where I was sleeping. I jumped up and started looking for my things in the starlight. They were getting soaked and even being carried away by the rising water! First, I threw my bedroll as far onto dry ground as I could. It reached dry land but was already a bit wet. Then I noticed my backpack was almost in the river because of how much the water had risen. I raised my hands toward it, with my palms open, and caused it to jump out of the water from a distance and onto dry land. Then I saw some fabric flowing down the river. It was Valeri's night cover. Again, I telekinetically threw it onto dry land. It was too dark to make out anything else, so I turned my hand into a flaming torch that lit up the area. Everything was on dry land except me. I jumped over the water toward the forest, but two cold, gray hands grabbed my legs and pulled me into the water. It was a sodden! Even underwater, the unnatural flames on my hand kept burning. I turned to see my assailant: he looked like an old man with white eyes and mottled skin. I freed my left foot and stomped on his face, causing him to release me. I grabbed the grassy ground and pulled myself onto it as fast as I could. Shaken, I gathered my things and moved them near the trees where Valeri was standing. I was shaking both from the cold and because I knew I would see this sodden again. I lit a fire and tried to warm up and dry my things until dawn.


In the next part, Ikram arrives at Grayrock hoping to find clues about the Cove of Lament but quickly comes to an unwelcome realization that will waste his time and unfortunately some of yours too, as he tries to figure out what he should do next.

To be continued...

Aperito v1.6.0

     Version 1.6.0 of Aperito renames the compare command to compareboth. It also adds a lot more compare commands that print files fulfilling different combinations of seen and existing in the saved state file you are comparing too: comparefileonly, compareseenonly, comparediffonly. Compare now prints everything, even files that are both seen and in the state file.

 The latest version can be downloaded from here, and the signature from here. Source code is included in the zipfile.

A Dissonant Chord - Part 3

In part 2, Ikram reached the town of Mournwood seeking information about the elf-bound warriors who had attacked him and his village. There, he agreed to sell more old world books to Padma, a rarities trader, in exchange for a large payment of arrowheads. While traveling, Ikram encountered two of the elf-bound warriors whom he fought and narrowly escaped them. Ikram reached the frozen cavern, encountered some mysterious whirling mist, and eventually picked up hundreds books and headed back to Mournwood.

17th day of spring, year 132

We slept perfectly. In the morning, I made some adjustments to Valeri's bags to better distribute the load on her back. Then I went foraging. I found a lone shroud crab hiding under some rocks; its eyes followed me as I passed, but it seemed non-aggressive, so I left it be. Unfortunately, I found no food. I jumped onto Valeri and headed off. We passed by a beautiful pond when Valeri grew tired. I let Valeri rest awhile by a pond full of frogs. As I hunted around, I caught several frogs whose dried legs would sustain me for days. I even caught an enormous fish that had eaten one of the frogs I was pursuing. I rode a bit further before camping, as the pond was lovely but quite noisy, and I might not have heard someone approaching. As we walked next to each other, I ate some of the meat and came upon a ruin of some sort. Was it an old temple? That whole area was eerily silent — not even birds were around. We camped for the night.

18th day of spring, year 132

We didn't sleep badly, but the silence was quite eerie, to be honest. We set off and reached an outpost. Strangely, everything seemed to be designed for children or someone of that stature. I wonder what could have used this place? While scavenging around for anything useful, I found a bit of leather in a chest. Upon closer examination, it appeared to be reptilian in origin. That is not a common nor inexpensive type of leather to find in these lands. We continued our travels and reached a forest. I spent a long time cutting wood and then set up camp for the evening.

19th day of spring, year 132

I had a great sleep. We set off after some route planning. Before I knew it, we entered Mournwood with no sign of the warriors. I went straight to Padma's shop and placed the sack of books on the floor. "I was wondering if you were captured by those elf-bound who came asking about you," she said. "I ran away from them. Do you know them?" I asked. "They have been passing through Mournwood for the past few months, since the start of winter, I'd say. Bastards, they are carrying prisoners to those freaks," she scoffed. "Why are they let into the city if they are criminals?" I asked. "Because they are bringing living wood. They are our only source of it currently. And they may seem like assholes but are not really dangerous for the city," Padma sighed. "Until they burn it down like my village." "Wait, what? Why would they do that? This is horrible, I'm really sorry," she said. "Because I was stupid enough to resist them when they tried to rob me. I didn't think through how exactly I was going to fight a whole clan," I replied. "I don't think it's your fault. It sounds like you just stood your ground but you got really unlucky. I hope you can use the money to rebuild your village and speaking of..." She went to the backroom of her shop and came back with a small barrel. "Four thousand arrowheads, as promised. I trust you on the book count," I thanked her, wished her good luck with reselling the books, and promised to come back after taking care of the elf-bound problem. "Do you know how their clan is named, by the way?" I asked. "Oh yes,  Coven of Lament or something equally ridiculous," she smirked. I thanked Padma again and left Mournwood, which seemed like a bad place to seek help fighting these elf-bound. It was probable that any mercenaries would sell me off to the clan upon learning my target. Additionally, if they asked Padma about me, it's possible they had already turned people against me. I moved one hundred arrowheads to my purse, leaving another three thousand nine hundred in the barrel. I transferred all my belongings from my backpack to Valeri's saddlebags and emptied the barrel into my pack. Consulting my map, I saw the town of Greatrock deeper in the wilds but decided to offload some arrowheads first to help rebuild Graycliff. I set off for Stoneford as night fell, making camp at a foothill.

20th day of spring, year 132

In the morning, I checked my map and set off for Stoneford. I reached it by midday and as I was walking to the tavern, Beltran, the local head, stopped me. He explained that the warriors had come to Stoneford and inquired about me, saying one of their number was wounded and they would return tomorrow. I told him that I was sworn to kill them all for what they did to Graycliff. I asked whether he could coordinate with the survivors to rebuild Graycliff if I funded it, but he snapped back that he didn't want to get Stoneford further involved. I said I understood and looked for the survivors. In the tavern, I found Sidan and Nekuna, a young couple who had lived downhill from my house. They looked devastated but happy to see me. I asked them how many survived and where they were. They said 25 people survived, more than two-thirds of the population, and most had gone back to camp near Graycliff while repairing what they could to make it habitable. "I came across a lot of arrowheads," I told them. "Can I trust you to distribute them equally among the survivors?" I added. "Sorry Ikram, we're not going back. We will rebuild here," they replied. "I'm not asking you to go back - just to distribute the money and you can have your share too, 120 arrowheads for every survivor. Just swear you'll do it as instructed and I'll give you the arrowheads now." They looked at each other and nodded. "Alright, we'll do it," said Sidan. They both swore on Sidan's knife to follow my instructions. We moved to a quiet corner where I took 3,000 arrowheads from my backpack and put them in Nekuna's sack. We thanked each other, and I rented a room for the night, feeling both literally and figuratively lighter of burden.

21st day of spring, year 132

It was time to leave for Greatrock in hopes of finding mercenaries. However, the trip would be a formidable one, with days worth of distance to ride through the Deep Wilds. I ate something and left Stoneford quietly. As I rode up the hills on Valeri, I came across two Ironlanders. When I approached them, my heart sank. "What are you two doing all the way out here?" I asked them. They pressed against each other and looked at me without speaking. "You're running off with the money, aren't you?" I said flatly. "Look..." Sidan started, but I cut him off: "Give it back to me. Now." They looked at each other for a second, then Nakuna knelt and took her backpack off. She opened it, took out some food, and pushed the backpack towards Valeri's hooves. "All but 10 arrowheads are in here," she said in a low voice as she stood up. Sidan and Nakuna then walked back towards Stoneford, with Sidan looking back at me just once with what seemed like anger. I jumped down from Valeri and counted the arrowheads. Along with my own, I now had 3,890 arrowheads in the bag and 100 arrowheads in my purse. With this load, I wouldn't be able to travel safely, and I would risk losing the money, so I took a detour to Graycliff first. I gathered everyone rebuilding the village and told them to split 2,890 arrowheads equally amongst themselves. I kept 900 arrowheads on Valeri and 100 in my purse, sleeping in a somewhat repaired house for the night.

22nd day of spring, year 132

In the morning, I bid everyone farewell and left Graycliff with Valeri. We passed through a flatland and then started following a trail. Suddenly, the weather took a turn for the worse as a snowstorm swept through the relatively open area. With no natural refuge in sight and the strong wind making it impossible to set up camp, we were forced to just press through the storm. Exhausted, we eventually reached a sick and sparse forest providing enough cover to set up camp and weather the ongoing snowstorm.


In the next part, as Ikram journeys into the mysterious Deep Wilds, he faces new dangers at every turn in the dense forest  forced to call upon abilities he does not fully understand in order to escape the clutches of a dangerous foe. Further into the woods, Ikram discovers secrets long forgotten and unnatural forces that make him reconsider his journey. Unnerving encounters with the forest's inhabitants leave him on edge. Most disturbing of all, a menacing entity that weighs him down for the rest of his journey.

To be continued...

Tuesday, December 5, 2023

A Dissonant Chord - Part 2

In the first part of "A Dissonant Chord," the journal entries of the character Ikram were introduced. Taking place in the fictional Ironlands setting, the entries described Ikram leaving his hometown of Graycliff after his mother's passing. While traveling, Ikram and his companion Themon were attacked by a group of elf-bound warriors. Ikram managed to escape but was forced to abandon Themon. Upon returning to Graycliff, Ikram found it destroyed with Themon's head mounted as a gruesome display. Swearing vengeance, Ikram began exploring mysterious woods and caverns, discovering odd books and strange powers within himself. He then set out for the town of Mournwood seeking information about the elf-bound warriors, hoping to continue his quest for retaliation.



8th day of spring, year 132

I woke early, refreshed enough to consult my map and survey the surrounding area. I set off again toward Mournwood. I walked downhill toward a fen. All this traveling around left me quite hungry — for food, that is. The other hunger, which based on the notes I am convinced is mystical in nature, persists. Thankfully, that one is much easier to bear compared to hunger for sustenance. Pressing on, I reached a waterfall shadowed by the cliffs around it, dropping its water into a small lake below that likely flowed underground. I chose to make camp here overnight.

9th day of spring, year 132

It turns out I was camping very close to Mournwood, as it took me less than two hours to reach it in the morning. I had never seen a city before — it was huge and built around some ruins, with the nearby forest seeming to invade the city from one side. I wondered why the ruins at the center of the city had not been reused for building, which according to my grandfather was what had happened to the ruins Graycliff was built around. First things first, I needed some money. I looked around and met Padma, a rarities shopkeeper, who needed help sorting through an extensive collection of books. We spent the daylight working, and she compensated me with 10 arrowheads. I asked if she was interested in more old world books, as I saw a few in the box. She said yes, so I asked how much she was willing to pay for the three I had. She offered 30 arrowheads for each. I asked if she would like more. She suggested 2,000 arrowheads for 200 books. I asked for double. She last offered 4,000 arrowheads for 250 books, which I accepted. She swore an iron vow to pay me when I bring them. She said she would need to call in a few favors to get the full amount but was sure it would not be an issue. I slept at the inn for 2 arrowheads.

10th day of spring, year 132

I couldn't rest at all last night. I kept thinking about the money. I could easily hire mercenaries to take care of those warriors, or I could spend it on finding out more about "invocation". I set off immediately for the frozen cavern. The sooner I get the books, the better. But as I exited the city, I crossed paths with two of the warriors. I recognized them by their armor. I attempted to obscure my face, yet one of them saw me and wanted to know where I was from. They were not sure I was who they thought. I told them the first far-away village name I could think of, but one recognized my voice. I gave Valeri a kick, and we took off, with both warriors chasing us on horseback. At first, I struggled to put any distance between us. I tried to take some sharper turns by going into the woods to make it harder for them to shoot at me. There were many broken branches littering the ground and Valeri stumbled badly on one. I tried to stand her up, but failed. Somehow though, as if Valeri knew, she stayed silent and the two warriors didn’t see us as they rode past. I tried again to help Valeri up, but I was too slow. The warriors found us. Valeri, panicking, stood up on her own and I jumped on her. The warriors prepared their bows; I too took aim. We shot at each other. I missed; they barely missed. That was too close. I started panicking, thinking "Is this the same fight all over again?" as I hastily repositioned further from them and accidentally dropped my purse. I heard arrows whizzing around me, terrifying me even more. Then one asked if I liked the decorations in Graycliff. He said it was his idea. I tried to focus again. They were just toying with me. I took a shot at them, which hit, but they also hit my water pouch. I kept shooting and barely avoiding their shots. Then, suddenly, an arrow hit my arm from the back side. More warriors. I couldn’t survive this. I tried to run away, scared out of my wits. Eventually, I somehow managed to put enough distance between us for them to lose track of us. I needed to rest. Once I calmed down, I went hunting, killed a boar, and then set up camp.

11th day of spring, year 132

In the morning, I devoted some time to exploring the area, which seemed devoid of warriors. I continued traveling just to be safe, though. Later, I came across a grim battlefield strewn with the unburied bones of corpses. I wondered why nobody had bothered to care for the bodies of the fallen fighters. Were they fighting for no one? Or did the victors murder all who would have cared for their opponents? I quickly left and traveled through some cold fields before reaching a small village. I asked its name. "Timberwall," they said. I checked my map — I was a bit off course but close to the Black Tunnels. Unfortunately, when they saw my clearly man-made wounds, they kicked me out of the village because they didn't want trouble. Bullshit. I used some of my fabric to change the bandages on my injuries and then spent the night outside the village, but I got very little rest.

12th day of spring, year 132

In the morning I went hunting again, but it was a complete waste of time. Then I tried foraging, once more finding nothing edible. What a shitty place. I set off to travel. After a long while, I arrived at a peaceful coast close to the caverns. I tried fishing but only snapped my line. I tried again with a new line and got two huge fish. Finally, some fresh food. I tried to find some wood along the coast but some animal stole one of my fish while I was away. So I went fishing once more, thankfully catching some more. I set up camp but it turns out these fish were not edible. My stomach was upset all night.

13th day of spring, year 132

The next morning I went inland to forage. It took some time, but I found some fruit and gathered wood. I then spent time searching for herbs. Afterwards, I used more time crafting new pouches for water and arrowheads. I went to sleep early.

14th day of spring, year 132

I prepared some replacement arrows, as my stock was running low. This place was pleasant. I would stay here for a few days to relax and repair my equipment.

15th day of spring, year 132

I climbed a nearby hill today and actually saw the bay where the shack stood in the distance.

16th day of spring, year 132

My wounds had pretty much stopped bothering me, so I packed up and left. I arrived at the frozen caverns by midday and immediately delved deeper. I went straight to the vast chamber with the weird mystical energy. To my surprise, when I arrived, I saw a huge whirling cloud of mist almost filling the chamber. I walked carefully around, trying to find any opening. There was none, but I noticed that the swirling slowed periodically. I timed my first attempt to enter it wrong and the rotating mass flung me against a wall, dislocating my shoulder. It wasn’t the first time I had to put my shoulder back, so I downed a lot of alcohol, waited 10 minutes, and forced it back into place. I retried timing my entry again, took my time to do it right, and it worked. I was in the eye of the rotating mass. And here was that smell again. I breathed in and relaxed. Cold. I saw the swirling mass closing in on me. Was it trying to stop me? I tried again, tried to relax and take in my surroundings. Suddenly, silence. When I opened my eyes, there was no swirling mass anymore, and I felt satiated like never before. I knew I could do things now. I pressed on to the library and, once I reached it, I opened my sack and filled it with books — 250 of them. They weighed quite a lot. It would make traveling harder, but thankfully, I had Valeri with me. I retraced my steps but one of the ice formations had toppled over, blocking my path. I used some rope, a knife, and a heavy book to make a makeshift ice pick and started chipping away at the ice blocks until it broke. Once I got out and back to Valeri again, we set off immediately for Mournwood. We didn’t go far before Valeri started complaining about the extra weight. We halted to set up camp, and I noticed she had been slightly rubbed raw by the heavy bags.


In the next part, as Ikram leaves Mournwood out of fear his enemies could discover his plans for vengeance, he remains focused on his quest. Back in Stoneford, he hopes the money will help rebuild what was lost in Graycliff. But he finds out that trust in a harsh world is not easy to come by.

To be continued...

Sunday, December 3, 2023

A Dissonant Chord - Part 1

This serialized story follows the journal of Ikram, a character in my solo Ironsworn campaign. In his world, iron arrowheads serve as the common currency. Each year consists of 160 days divided equally among four seasons. The people of Ikram's version of the Ironlands use a calendar that tracks the approximate years since humans migrated from the old world to the Ironlands. While most of the standard details about the Ironlands remain as described in the official Ironsworn materials, there is an overarching custom backstory that has emerged over numerous game sessions. This underlying narrative will gradually reveal itself through Ikram's journal entries as the story progresses. Ikram is from Graycliff and suffers from a severe case of wunderlust. As I am writing this blog post, the campaign is still ongoing and has two distinct arcs.



35th day of winter, year 132

After the passing of my mother, I sold the family home and most of our possessions in order to purchase saddlebags, a horse named Valeri, provisions for a long journey, and a better set of clothes. Themon, who sold me Valeri, asked that I explore an abandoned silver mine north of the village known as the Black Tunnels. While traveling there, we passed through some rough mountain terrain. Further along the path, we encountered a caravan of warriors who appeared to be transporting prisoners. Hoping to avoid conflict, we attempted to take a different route. We made camp at a peaceful spot along the trail, but the warriors later found us. When they tried to take all of our supplies, we pleaded with them to let us go freely, but to no avail. One warrior knocked Themon unconscious before I could draw an arrow in our defense. Valeri had wandered away from me as well. Barely avoiding the fist of one attacker, I managed to jump onto Valeri's back. Taking careful aim, I fired an arrow at the warrior assaulting us, but Valeri startled and stumbled, ruining my shot. I pulled her reins to put distance between us and the warriors chasing after, and she responded perfectly. Taking aim once more, my next arrow found its mark in the face of one warrior, killing him instantly. But the others continued closing in. By circling around our camp while firing arrows back at our pursuers, I was able to gradually gain more ground between us until an arrow grazed my arm, eliciting a scream from me. After recovering from the pain, I once more pulled her behind some trees to put distance between us and the warriors. They mocked me from afar, and I thought of Themon still lying unconscious in the camp. Worried for his safety, I knew I had to return to him swiftly. When I emerged from behind the trees to change positions, I saw the warriors running towards me, which frightened me greatly. As I rode Valeri away from them, I noticed the warriors becoming entangled in some brambles that grew between us. Taking aim with my bow, I loosed an arrow in their direction but missed completely, as we had moved further from the campfire's light. I circled Valeri around to approach the camp from a different angle. An arrow then grazed her again, followed by another. Upon nearing the camp, I saw the warriors standing over Themon's still body. Continuing to move did not seem to be helping my situation. Exhausted from the prolonged fight and fearing I could not defend us much longer, as I attempted our escape another arrow struck Valeri and we both fell to the earth. More warriors appeared, blocking off another route of exit. However, I spotted an opening on one side and fled from the approaching men on foot, accidentally dropping some of my arrows in the process. Though I managed to escape with my life, I was forced to abandon our supplies and the unconscious Themon. Realizing I had failed in my vow to help him, I discarded an iron arrowhead as a symbol of breaking that oath, and began the long walk back home.

36th day of winter, year 132

To my surprise and relief, Valeri found me! I do not know how she managed to locate me, as I had assumed she perished with the fall. She appeared badly injured. Creating a makeshift camp on a withered hillside, we were both too wounded and fearful to rest, so we continued our journey together. As we passed through some corrupted woods, an unsettling event transpired - the surrounding trees seemed to wither before my eyes, and I felt a strange urge to somehow absorb them into myself. I grabbed some twigs form the ground and smelled them, the sensation was akin to a deep hunger that I didn't know I ever had, finally being sated for the first time. Late that night, I arrived at Graycliff only to find it destroyed. Themon's head had been mounted on a central pike in the town square. My legs weakened at the gruesome sight, yet anger fueled my resolve to remain standing. I pondered the identity of the warriors and how events may have differed had I surrendered our supplies without a fight. Swearing an iron vow for vengeance, I made camp in the forest outside of Graycliff to plan my retaliation.

37th day of winter, year 132

I attempted to reach Stoneford but became lost due to fatigue and hunger.

38th day of winter, year 132

Still lost, I spotted a familiar hill and got back on track. Later I became lost again, but eventually arrived back at Graycliff. But how? There are only two more days left in winter. I thought I would never reach Stoneford. I felt completely useless — if anything, my skills only gave me a false sense of security in surviving. I realized I would need greater power for my revenge. I would need more of whatever empowered me in the forest, although I still did not know its nature. Just as I knew I needed food and rest, so too did I know I required "that." I pressed on toward Stoneford once more, as I needed assistance.

39th day of winter, year 132

Somehow I made it to Stoneford. I told everyone about the destruction of Graycliff but did not mention that I drew my arrow first — that secret I would take to my grave.

6th day of spring, year 132

The people of Stoneford have helped me greatly. Valeri and I are both feeling well once more. Zanita, a forester from Stoneford who went to Graycliff to look for survivors, returned today with a few others who fled into the forest during the attack. I asked her about the warriors and she said that from what she gathered, she believes they are one of the elf-bound clans that guard the Deep Wilds and trade with the elves. The elves provide them rare medicinal plants and types of living wood (wood that repairs itself when carved using special procedures), and the clans provide the elves with anything they request — very often humans with specific characteristics. No one knows why they need them or what they do with those taken. I left all my arrowheads at the church to thank them for taking care of me and left again for the corrupted woods. On the way, while passing by an isolated bay, I stepped down from Valeri to look at an abandoned shack. Beneath the shack, I found a frozen cavern through a trapdoor. The cavern "smelled," if I can call it that, just like the corrupted woods, and I felt compelled to explore it. The cavern was extremely dark, so I used some cloth to make a torch and delve deeper. I found a vast chamber that had that "smell" and I somehow let it into me. It made me feel more full, more ready — to do what, I was not sure. I was plunged into darkness when my torch unexpectedly went out, but then it started emitting flames again even though there was no oiled cloth on it. I should probably have used it to go back, but there was more there to explore and I knew I was close to something important. Adding to my perplexity, I stumbled upon a library. I took a few books with me: "The Final Alliance," "Surviving the Ocean," and "Unlikely Victories: A Review of Our History." These must have been old world books, as their quality was amazing. On the back side of the library, there was a locked iron door. I felt compelled to open it. After much searching, I located the key in the library, but it snapped when I tried to use it. Perhaps it wasn't even the right key. But I had come so close! I really thought I'd hear the lock click. And then, I did! The lock made the sound, but it remained locked. Did the mechanism move itself, or was I losing my mind? I thought perhaps I did manage to rotate the key a bit before it broke, and now the mechanism simply fell into place. I looked at the keyhole and again considered how close I must have been — it just needed a few more degrees to the left. I tilted my head, and then the clicking sound again. "Am I doing that?" I wondered. I tilted my head again, thinking of the rotating key. "Click," but this one was fuller, louder. I pushed the door, and it opened. Behind it was a small room with a desk containing some books and a stone arrowhead in the middle. I took the stone and looked around the desk. Some notes with a drawing of it mentioned that it is an invoker's lodestone and that an expert invoker should be able to use it to reduce the risks of invocations, as well as find sources of "mystical energy" and "phase rifts". I retraced my steps to the surface with the notes. Night had fallen, so I made camp.

7th day of spring, year 132

I set off for Mournwood, one of the border towns next to the deep wilds, hoping to find information about the elf-bound warrior clan. I passed a hill covered with water running downhill. It was likely the beginning of the new spring, as the water had not yet eroded the earth. I pressed on to a river rich with fish. I used my bow to fish but by evening it had grown dark, so I made camp for the night.


In the next part, Ikram visits Mournwood where a business opportunity awaits. But danger lurks closer than expected, as he encounters more weird phenomena and finds himself in yet another life-threatening situation.

To be continued...

Wednesday, November 29, 2023

Trash Favorites: Games

Here are some hot takes, because I love venting by shitting on people's favorite games. I will also suggest superior alternatives.

GTA San Andreas

This game has aged like a smartphone. The camera sucks, the controls are mediocre at best, and the sound quality is inconsistent. Fights are based on finding a way to cheese them, and the lack of either a proper save system or proper checkpoints means so much replaying that, in an age where I have another hundred games that I want to play, it means I won't bother replaying this one. I used to like this game a lot when it came out, but nowadays? I only touch this again because there are no other good open world games on Switch. Superior alternative: Postal 2

Doom Eternal

Possibly the biggest disappointment in my life when it comes to gaming. I loved the Doom reboot. Loved it. With the exception of some of the optional challenges and the shitty boss fights (I dislike inorganic boss fights and bosses with phases as they feel cheap to me), Doom 2016 is one of the best games I've ever played. I pre-ordered Eternal, thinking I'd get more of the same. Instead, I got an annoying puzzle platformer shooter. Now, I wish I could find what else the designers of this game worked on so that I can avoid buying it. In fact, that's a good idea for a website that I'll consider making. Anyhow, the level design looked good to the eye but made zero sense: Two titans (who at that point you have no idea what they are) are frozen in place as one struck the other with a lance. You need to find a battery to plug into the lance so that it turns on and pierces the chest of the other titan so that you can slide through the wall and fall behind the titan in a place looking like Bowser's castle, with spinning flaming chains, and other silly distractions and traps. What the hell were they thinking when designing this level? They were simply trying to make it "look cool" with no consideration of whether it makes sense, if it is fun or even what game they are designing levels for. The graphics were great. The music was fine, though Mick did a much better job in Doom 2016 in my opinion. The gameplay was garbage, focusing on quantity over quality, with the challenge being mainly to figure out the correct sequence of enemies to kill and with what weapon and on what weak spot instead of just going with the flow like in 2016. You used to have a set of amazing tools to have fun with, now you have an array of puzzle pieces to be selected in the right order when they aren't cooling down or out of ammo. And, maybe worse of all, the story and the protagonist would only need to be slightly worse in order to reach the point where they are so bad that they become good again. Unfortunately, they didn't reach that point, so they are both left being just shit. The protagonist, who I refuse to call Doomguy or Doomslayer as he is clearly a different character, since he can't even punch as hard or move as fast as the 2016 Doomslayer or even the original Doomguy unless he has his abilities charged and not in a cooldown or whatever. So anyway, that new boy bent the knee to some king almost at the start of the game. Absolute Haram. Meanwhile, the Doomslayer in 2016 was smashing screens on the ground because he couldn't bother to listen to Hayden's attempts to provide exposition. This new boy is some Game-of-Thrones-nerd's wet dream and does not belong in a series like Doom. Superior alternative: Doom (2016)

Red Dead Redemption 2 Online

An empty, boring hub-world that you very slowly traverse, going from mini-game to mini-game, because that is all Rockstar knows how to do nowadays. Superior alternative: Any Civcraft-style Minecraft server.

GTA V Online

See Red Dead Redemption 2.

Skyrim

This is still one of the best games I've ever played, but Bethesda deserves a ton of shitting for still having game-breaking bugs even after re-releasing the game countless times and for not providing a save-fixing service for console players, not even as a paid service. My opinion about Skyrim is oscillating between 0/10 and 11/10 fast enough to be audible to humans. Superior alternative: Skyrim, when it works.

The Witcher 3

Also buggy, but also not as good as Skyrim. The Witcher 2 actually kept me playing a bit longer then 3 before I went back to Skyrim. I may finish this someday. It's just not high in my priorities based on what I saw after a few hours of playing. Superior alternative: Skyrim

Stardew Valley

I liked fishing in this game. And that was all I liked. Everything else I hated. Farming was tedious. I couldn't care less about the villagers. I constantly wanted to take my protagonist back to his previous career. Finally, I got extremely pissed during the egg hunt because it would not let me go fishing. Overall, it has this mildly puke-inducing Nintendo-goodie feeling that I cannot stand in games. Superior alternative: Rimworld in peaceful difficulty.

Undertale

Yeah, ha-ha, genuinely smart gimmicks all over the game but it was uninteresting and had boring gameplay, mediocre graphics, and an annoying cast of characters. Some amazing music though. Superior alternative: Browsing /b/ for 20 minutes and then going out with a real person.

Bloodborne

Other than the amazing graphic design and atmosphere, this was a disaster for me, one that I thankfully didn't pay for. Not only do I not like the idea of souls-like games in general, because I get precisely zero kicks out of overcoming tedious, hard, trial-and-error challenges, but Bloodborne also seemed unpolished to me. I didn't bother to go past the first two fights or so. Superior alternative: Diablo 2 or 3.

Monster Hunter Generations

Horrible world design with invisible walls all over. Practically unplayable without looking up stuff in the wiki unless you luck out. Needlessly complex mechanics. No feeling of control, it was like I was simply SMSing my character what to do next and the character would sometimes do it while some other times maybe he didn't have time to really check his SMSes right then and there. Basically take the cheap, inorganic boss fight mechanics that I keep complaining about and make a crappy game around them and only them. Superior alternative: Terraria

Rainbow Six Siege

Pretty boring. I played it with friends too, so I had someone to talk to while I was down. Still, I got bored by how little action this game had. The action is good but so little as a ratio of time spent on the game! And I wasn't even half bad - I did fine after some rounds - but the only reason that I didn't uninstall it after a few round was that I had friends in my party. I played for a few days, then dropped it for something else. Superior alternative: TF2 or Overwatch.

BF2042

This is not really a hot take, as this is, after all, widely considered one of the worst Battlefield games. First of all, it does not feel like BF. Specialists? Really? Are they copying Rainbow Six? And the cringe every time they open their mouths is truly unbearable. At least EA reduced it a bit in the latest patches. I should have guessed the series would eventually become a cringe-fest from back when they started selling ridiculous atmosphere-destroying cosmetics in BF5. Superior alternative: BF2142

Baldur's Gate 1

I did not play this back in the day. I got this and BG2 after I liked (though not loved) playing BG3. I still have not tried BG2, but BG1 was unplayable for me. At this point you'd have to pay me quite a lot to play this. It is basically a save-load simulator: Tons of trial and error, and I mean tons. Easy to die. Needlessly complex mechanics. Random deaths galore. I played for some hours and got rid of it. I don't care how innovative this was when it came out, it is complete garbage by today's standards, and there are tons of other games from the same year that are still perfectly enjoyable even today. Maybe BG2 is better, but I doubt it, we'll see. Superior alternative: Divinity: Original Sin II

GTA Vice City

More punishing than San Andreas. Again, I don't care how innovative these games were. There is no enjoyment to be had by playing this today for the first time. If you are nostalgic about it, then fine. But there are tons of other games from the same era that are excellent even by today's standards. FFS, the way-older GTA 2 is much better and super fun to play, even today. Superior Alternative: GTA 2

Mario Odyssey 

Nice controls and graphics but I couldn't find anything interesting in this game. It felt slow, unrewarding, and pointless. Superior Alternative: Super Mario Bros.

It Takes Two

I never finished this game. Developers seem to forget something: Players have the option to stop playing. If you make your story so shit that the "best ending" is to actually stop playing, some players with brain cells will actually do so. We are not bound to the couch, nor did we run out of other games to play. The moment the psychopathic elephant scene was finished, we decided that we do not want our characters to succeed. We were immediately pitted against them. Any willingness to help them get back to their daughter was completely eradicated. So I finished the game, with the actual good ending, by uninstalling it so that they never go back to their daughter. I bought this game because I liked "A Way Out" but I'm not buying any more of this tone-deaf moron's creations. This game really did make me feel like I was scammed out of my money. Superior alternative: Unravel Two

Heavy Rain

Annoying controls, annoying camera, extremely boring story - gameplay slow enough to be played by a tree. I dropped it midway, read the rest of the story on Wikipedia and I am thankful I didn't continue playing it. I loved Beyond Two Souls, but Heavy Rain was just unbearable in every aspect. Superior alternative: Beyond Two Souls

Another World / Out Of This World

One of the worst "games" I've ever played. I get it: amazing graphics for the era, but it, and other similar games like Dragon's Lair, are basically walking simulators with the difficulty turned to "impossible" so that you have to fail at every scene a few times until you find what to do, each time having to replay previous scenes. I don't understand why "games" like this even get anniversary editions. There's zero fun to be had there unless you are a masochist or have been completely blinded by nostalgia. Just go watch the whole thing on YouTube. Superior alternative: Another World walkthrough videos.

Dwarf Fortress

A shitty game with great ideas that served as the basis for so many great games. I would not recommend it to anyone, not even the new graphical version. I just cannot picture any person I know that would enjoy this. There is no sound, alerts don't interrupt by default the game even if they are important (have fun changing the default behavior by going through a list of hundreds of alerts choosing which ones you want to interrupt the game when you don't know what half of them even are until you lose a game for missing them), the game runs too quickly by default. All of these contribute to having no clue about what is going on around your fortress. Top that off with the slowest saves ever so that you cannot save-scum by saving every day and you are basically forced to eat shit whenever the game feels like it. It takes an inordinate amount of reading wikis and forums to find out how to do the most basic things. Nothing is intuitive. Nothing. Every single serious choice in the UI is made in the most awkward way. I really wanted to like this. It seems like there is a gem behind all the trash, but I don't have enough time to waste trying to find the gem only to be tricked by not knowing something and losing it again. Games take a long time to restart too, it's not like this piece of crap gives you a quick way to learn from your mistakes. I also strongly believe that the game will become even worse in the future as more features are added to it when what it needs is 1 metric ton of polishing and a major redesign of the interface, which becomes harder and harder as more bloat is added. Superior alternative: Rimworld

Do you disagree with me? Leave a comment and I guarantee that it will be ignored because you are objectively wrong.

Monday, November 20, 2023

Aperito v1.5.5

     Version 1.5.5 of Aperito allows the load command to read from pipes, opening the way on Linux to read from sets of files at once using the <(cat *.asd) construction. It also fixes a few mistakes in the help page.

 The latest version can be downloaded from here, and the signature from here. Source code is included in the zipfile.

Monday, April 17, 2023

Aperito v1.5.4

     Version 1.5.4 of Aperito fixes some potential multi-threading issues.

 The latest version can be downloaded from here, and the signature from here. Source code is included in the zipfile.

Wednesday, February 22, 2023

Failure track analysis

The Delve expansion for Ironsworn describes an optional mechanic that rewards players for their rolls that result in a miss. Every time they miss, they add 1 tick (or 3 ticks if the roll was a progress roll, but I'll completely ignore these for this analysis) to a failure track. Every 4 ticks constitute a full mark and the failure track can have up to 10 marks. Once the track has 6 marks (in other words after 24 miss-rolls) the player can choose to "learn from their mistakes". This move is resolved by a roll and resets the fail track to zero ticks again. The resolution is a simple progress roll against the fail track where a strong hit awards 3 XP, a weak hit awards 2XP and a fail rewards 1XP. Additionally a strong hit will let the player discard an asset for more XP (which I will ignore for this analysis) and a weak hit will narratively force the player to learn the wrong lesson from their failures which is in my opinion a hefty penalty if role-played correctly.

I did a small analysis of the 5 different points when a player can trigger the "learn from your mistakes" move:

Learn from your mistakes when you have this many marksMiss-rolls to gain 1XPMiss-rolls to have to learn the wrong lesson
61296
712.73175
813.33355.6
913.85900
1014.294000

Triggering the "learn from your mistakes" move as frequently as possible gives more XP overall but the difference is minor: less than 20% extra XP compared to waiting for a full failure trackbefore you trigger. At the same time frequent triggers will result in a 4066% increase in how often you'll be learning the wrong lesson compared to waiting for a full failure track before triggering!

If someone wants to verify the code that produced the above table, I wrote it on a casio fx-3650P II just for fun so I can't exactly upload the code but here's a rough dump:

For 6->M To 10:
0->X:
0->Y:
1->A:
Lbl 1:
1->B:
Lbl 2:
(M>A)+(M>B)+1+X->X:
(M<=A)+(M<=B)=2=>Y+1->Y:
B+1->B:
B<=10=>Goto 2:
A+1->A:
A<=10=>Goto 1:
M[output triangle symbol]
M*400/X[output triangle symbol]
M*400*Y[output triangle symbol]
Next

Wednesday, January 25, 2023

Aperito v1.5.3

    Version 1.5.3 of Aperito doesn't show the message about applying permissions to directories when there are none to apply. It also stops affecting the modification times of directories in the source tree (those would change as files were moved out of them). A bug that could stop read-only files from being moved has been fixed as well as a potential crash when "keep shallow" was used and a few bugs regarding the preservation of mofication times in directories on the target tree were squashed. Finally the copy commands will no longer overwrite files in the target directory, not even if you use the nonstop command because that's not what nonstop is supposed to be doing. Finally Aperito now has an end2end test suit (mind you, I have not yet tested the test framework on anything but Linux) which I'll keep expanding to see if I've missed any cases. Upgrading is highly recommended.

 The latest version can be downloaded from here, and the signature from here. Source code is included in the zipfile.

Wednesday, January 18, 2023

Aperito v1.5.2

   Version 1.5.2 of Aperito fixes a problem I encountered when it had to copy or move files into a write protected directory. Directory permissions are now applied at the end of the process, after all files have been copied or moved.

 The latest version can be downloaded from here, and the signature from here. Source code included in the zipfile.

Thursday, January 5, 2023

Aperito v1.5.1

  Version 1.5.1 of Aperito has some more examples in its help and is open source for the first time under GNU GPLv3. The source code and my build script is in the zipfile.

 The latest version can be downloaded from here, and the signature from here.

Popular Posts