/ 

Featured & Recent Items

Mourning Edition #3-1 & #3-2: Free Adventures for Cyberpunk Red

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![dancing.png](/static/img/mm/artflow/screamsheets/3/dancing.png) Mourning Edition is a free adventure series for Cyberpunk Red. The screamsheet is published by independent cyberpunks, for a general audience, trending towards those living on or near the street. The adventure content is heavily RP-dependent and focuses on street-level play and finding ways to do a little bit of good instead of just blowing everyone's brains out on sight. The series continues with branching possibilities for the third issue. I'll publish each part of Mourning Edition #3 as it's completed, and update this post to include all three of its branching paths. The second adventure in the series, "Her Biggest Fan", has three main possible outcomes. The best possible ending leads to another opportunity to increase the PC's Reputation, by playing as security and entertainment at a major local band's afterparty. Here, they'll get the chance to schmooze with other street-level movers and shakers, and maybe have another run-in with the potential cyberpsycho from adventure #2. Best of all, any Rockers/Medias in the crew will have an opportunity to impress an exclusive crowd of local influencers using whatever kind of material they're good at making. [Get Mourning Edition 3-1 here! (PDF)](/static/pdfs/Mourning-Edition-3-1-full.pdf) If the PC's did good at the show but not enough to get the band's attention, a Media will track them down for an interview. The interview pays next to nothing, but the interviewer can also do the PC's a favor -- introducing them to a new Fixer, and/or setting them up with a selection of fairly lucrative gigs. [Get Mourning Edition 3-2 here! (PDF)](/static/pdfs/Mourning-Edition-3-2-full.pdf)

Mourning Edition #2: A Free Adventure for Cyberpunk Red about Music Therapy!

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![6c5bf2b2a03546229532e1f45fb0fd47.webp](/static/img/mm/artflow/entertainment/6c5bf2b2a03546229532e1f45fb0fd47.webp) Mourning Edition is a free adventure series for Cyberpunk Red. The screamsheet is published by independent cyberpunks, for a general audience, trending towards those living on or near the street. The adventure content is heavily RP-dependent and focuses on street-level play and finding ways to do a little bit of good instead of just blowing everyone's brains out on sight. I'm on a roll! This screamsheet series has just become an ongoing campaign, with the story continuing in Mourning Edition #2. I may have gotten a little bit of Steven Universe in your Cyberpunk. I'm not sorry. [Get the PDF here.](/static/pdfs/Mourning-Edition-2-full.pdf) Sometimes the peaceful option is the best option, and sometimes the reward for playing is letting your GM get you in the feels. As I said when publishing part 1, this is a gutterpunk level campaign, but of course the PC's will be able to gradually work their way up the social ladder and maybe become edgerunners someday. My goal is to show players how they can get maximum enjoyment out of the street-level version of Cyberpunk. I hope you like it!

Mourning Edition #1: A Free Adventure for Cyberpunk Red

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![01fbc41c2a6f42bca30395e7bc5af990.webp](/static/img/mm/artflow/screamsheets/1/01fbc41c2a6f42bca30395e7bc5af990.webp) Mourning Edition is a free adventure series for Cyberpunk Red. The screamsheet is published by independent cyberpunks, for a general audience, trending towards those living on or near the street. The adventure content is heavily RP-dependent and focuses on street-level play and finding ways to do a little bit of good instead of just blowing everyone's brains out on sight. I've always loved the Screamsheet format, and Cyberpunk Red has brought it back. Here is my first homemade Screamsheet from a news zine I've named "Mourning Edition" -- it contains a low-level adventure with the potential for big (temporary) gains and a lot of fun. It also has the potential to introduce three new characters to the crew, if you're looking for a way to bring in new players. And (as is my tendency) the adventure offers a chance to do a little bit of good... As is also my tendency, the content is more gutterpunk than edgerunner, which I feel is more authentically Cyberpunk, especially for a starting adventure or the beginning of a campaign... [Get it here! (PDF)](/static/pdfs/Mourning-Edition-1-full.pdf)

Night City 2045 in Pictures

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![8bf634c7bc26411cb81a6a15efc71a25.webp](/static/img/mm/artflow/other/8bf634c7bc26411cb81a6a15efc71a25.webp) I'm loving the amount of detail Cyberpunk Red puts into its setting -- and I'm slightly overwhelmed by it. Thankfully, [artflow.ai](https://artflow.ai) exists to create images out of basically any idea or set of visual elements... So, to help me tell the districts apart, I'm creating this pictorial guide. I hope it helps you, too! As a quick note: these aren't buildings or vehicles from the canon, they're just atmosphere. Districts are presented in the order they're given in the Cyberpunk Red core rulebook.

Immersive Hacking for High-Tech RPG's (Cyberpunk, Shadowrun, etc)

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![Let's make RPG hacking rules more exciting without changing the rules.](/static/img/mm/cyberspace/ai-gcd7b59be5_1280.jpg) Here's a hot take: when I first read the Netrunning rules for Cyberpunk Red, I hated them. I've always been partial to the hacker, in whatever high-tech RPG I play. My interpretation of the Cyberpunk Red netrunning rules was the same as my interpretation of how hacking rules have changed over the years in Shadowrun: too many people complained about them, so they were dumbed down. (Full disclosure: I'm that one guy who likes the Shadowrun 1st Edition decking rules.) As a lifelong computer nerd, I want the hacking rules to make me *feel* like a system cracking expert. But RPG rules will always be abstractions. And perhaps the RPG industry will be forever spooked, thanks to that time the US government raided the GURPS studios because the hacking rules for *their* cyberpunk game were a little too accurate... As players and GM's, we're accustomed to making narratives out of abstract rules. In this article, we're going to map real-world hacking concepts onto RPG hacking rules.

ConcisionRun: The Ultimate Cheatsheet for Shadowrun 1st Edition (Core Rules Only)

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![ConcisionRun - helping you survive the mean streets since 2020](/static/img/mm/cyberpunk/streets-g234df07df_1280.jpg) I've been sick for a week, so here's a low-effort post spotlighting something I did years ago but am still proud of. I call it ["ConcisionRun" -- it's a concise rewrite of the rules for 1st Edition Shadowrun](/static/pdf/__ConcisionRun-0_1-(2022-09-18).pdf). It's been stuck at version 0.1 all its life, partly because I like conservative version numbers, and partly because I got it done in one big push and have barely made any revisions to it since. It's just 40 pages long, broken down as: - 7 pages of core mechanics, game loop suggestions, and lore - 4 pages for character creation - 9 pages for combat including vehicle combat - 12 pages for the magic chapter - 7 pages explaining the matrix and decking rules Features include: - art from independent artists (used in accordance with their Creative Commons licenses) - PDF bookmarks to help you find what you need - searchable (obviously) - core book page number references for anything omitted or benefitting from further explanation - color coded per chapter - table of contents at the beginning of each chapter I've been told numerous times by members of the [Classic Shadowrun discord](https://discord.gg/HBDPU6k) that it's helped people rope their friends into trying first edition Shadowrun. Of course, it's free, but you still need the core rules to play.

How to Code: The Fundamentals, pt 4

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![She dreams in code](/static/img/mm/coding/jswoman-g6612c97cb_1280.jpg)There's one major difficulty in writing this series: everything should come first. That is to say, whatever I could possibly put into lessons 2, 3, or 4, it should have been in lesson 1. The goal of this series is to write for people who are frustrated because project-based tutorials can only teach so much. You've slammed into some bugs and don't have the fundamental JavaScript knowledge to fix them. But specifically JavaScript-related knowledge isn't the end-all, be-all of coding in JavaScript. To write good code in any language, you need to grok **logic**. But what does that mean? For programmers, logic means breaking your tasks down to tiny steps: finding where the `if` and `else` statements should go, along with the other control flow features; specifying exactly what those `if` statements will hinge on; figuring out what variables and functions you need; discovering what those functions should take as input (parameters), and give as output (return values); checking the specifics of any API's you plan to use, so that you can account for their input and output formats; and so forth. When I was a kid, we did all this and turned it into flowcharts, but I think **pseudocode** is better. Starting with pseudocode puts you in the trenches of your project and allows you to seamlessly switch between writing code and pseudocode, inline with each other. But what's perhaps even better than pseudocode, for a beginner doing beginner projects: a plain old list. Mastering programming logic leads to making fewer mistakes. Each mistake can easily cost you an hour or more. Let's get started.

How to Integrate Your Node/Express Website with Google Authenticator for Two-Factor Authentication in 2022

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![fingerprint-g27965da2f_1280.jpg](/static/img/mm/data/fingerprint-g27965da2f_1280.jpg) I've been making personal websites off-and-on since the 90's, so one can probably assume I've lost websites to hackers in the past. Once the rootkit is installed on your host and the sketchy ads are in your articles, it's very difficult to get them all out. So security is best handled as a preventative measure, not a reactive one. In this article, I'll walk you through the entire process of integrating with Google Authenticator for 2FA (two-factor authentication). I'll be using MongoDB, Node.js, and Express.js. If you've seen other articles covering this topic, you may have noticed that they use `speakeasy`, an NPM package that hasn't been updated in 7 years. That's not the best look for a security kit. Thankfully, another author has forked that package and updated it just this year, so we're good to go. Other articles also tend not to cover the front-end, which is crucial to understanding how 2FA is even supposed to work. This article takes you through the entire integration. ### Ingredients - your existing login system - the NPM package `express-session`, which you should already be using in your login system - the NPM package `connect-mongo`, probably - the NPM package `@levminer/speakeasy`, a fork of `speakeasy` - the NPM package `qrcode` - a couple of database methods - a significant rejiggering of the registration and login processes

How to Code: The Fundamentals, pt 3

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![digital-identitySmall.jpg](/static/img/mm/cyberspace/digital-identitySmall.jpg) In part 2 we dealt with `async`/`await`, objects and classes. In part 3, we're getting into Arrays and a little further into objects, plus we're taking another bite of control flow. These unrelated topics are closely linked in actual use. In this lesson, we'll cover: - arrays - how to find your way around objects and arrays - data type methods & built-in objects - comparison operators - `for` loops and the `Array.forEach` method - the Increment (`++`) and Decrement (`--`) operators - `while` loops

How to Code: The Fundamentals, pt 2

URL copied to clipboard
By AstroMacGuffin dated  last updated 
![Blue electronic nodes comprising a field of nodes](/static/img/mm/cyberspace/daffodill-nodesSmall.jpg) If you finished part 1 of this series and thought to yourself, "that wasn't enough for one lesson, I need more immediately!", then you're an odd one, because that was a lot of information. But here we go again! After a quick roundup of smaller topics we're going into objects, classes, and async/await (aka asynchronous code)! ### This Lesson First a round-up of important topics that don't fit elsewhere: `null` and `undefined` as both data types and values; and Garbage Collection aka GC -- JavaScript's technique for memory management. Then I explain everything a beginner needs to know about asynchronous code aka `async`/`await`. Then we jump headfirst into objects and classes. Until recently, programming meant writing lines of code in full confidence that, when you run that code, line 1 would finish before line 2 would begin. And, today, it's still mostly the same. But then a rookie slams headfirst into an asynchronous function. Today we're going to treat `async`/`await` as a fundamental. It's also time to cover objects and classes. Object Oriented Programming is probably the single most powerful tool in rapid programming ever. You'll learn how to treat code like layers in an image, stacking them on top of each other to create an end result that can save a professional programmer hours per task.

/toybox/

Unfinished Pixel RPG Platform using webGL via PIXI

By AstroMacGuffin last updated 

/ref/

Series: "How to Code: The Fundamentals"

By AstroMacGuffin last updated 

How to Code a Singleton in Node.js

By AstroMacGuffin last updated 

How to Code: The Fundamentals, pt 0

By AstroMacGuffin last updated 

How to Code: The Fundamentals, pt 1

By AstroMacGuffin last updated 

How to Sanitize Inputs for Web App Security in Node.js

By AstroMacGuffin last updated 

How to Code a Simple Media Manager & File Uploader for a Node/Express Site in 2022

By AstroMacGuffin last updated 

How to Convert a String to Unicode "\u0XXX" Symbols, but Only the Special Characters, using JavaScript

By AstroMacGuffin last updated 

How to Code Relevance-Weighted Search with Node & MongoDB

By AstroMacGuffin last updated 

/blog/

Converting Sega CD's Lunar The Silver Star to PAL (with the Un-Working Design Patch)

By Xhojn last updated 

The Tithe System - A Way for Player Characters to Meet Each Other

By Xhojn last updated 

How to Disassemble Mega Drive/Genesis ROMs (or BIN files to be more exact)

By Xhojn last updated 

Converting Lunar: Eternal Blue to PAL - Work In Progress

By Xhojn last updated 

Shock to the System: Running System Shock as a Cyberpunk Red Adventure

By Xhojn last updated 

GameBot v0.3 is Live: The Shadowrun 1st-3rd Edition Discord Bot Gets an Overhaul

By AstroMacGuffin last updated 

What I'm Doing With My Time

By AstroMacGuffin last updated 

 
🔍

Valid HTML!Valid CSS!Powered by Node.js!Powered by Express.js!Powered by MongoDB!