Thursday, June 6, 2019

Forge of Tech, brainstormings and Pt 1.

(This is a Forge of Destiny alt-fic which replaces the Xianxia cultivation system with a super-powered programming and hacking and cyborgs and drones setting transplanted within the imperial system & culture of FoD. All credit to yrsillar for writing Forge of Destiny & Threads of Destiny: https://www.royalroad.com/fiction/21188/forge-of-destiny,  https://forums.sufficientvelocity.com/threads/threads-of-destiny-eastern-fantasy-sequel-to-forge-of-destiny.51431/

Xianxia / Cyberpunk fusion (with real programming languages and realistic software tools and possible equipment)


[Brainstorming:]


Li Suyin's a more spiritually focussed cultivator, and her father is in the Imperial bureaucracy. Imagine instead that much of the bureaucracy was programmers, and that programmer / hacker is parallel to the spiritual / physical divide.

Li Suyin would be exploring the hacker side of things for the first time, with some level of familiarity of progamming.


Augmentation - layering cybernetic enhancements onto body and mind.
Flow - through steady instictive hacking, cultivating the hacker's art.

Formations - firewalls, honeypots, anti-viruses,etc.

Production - programming & writing new software and tools, can be sold to other disciples and/or developed into an art used in family or licensed.

Gear Production - Making a hacker's equipment. The empire controls the most essential semiconductor production lines, which maintain the imperial grip over society.

Argent Peak Sect toolset - Python and an initial set of Argent Peak sect libraries available by pip. Argent Peak Sect augmentation toolkit, and hacking toolkit. 


Su Ling, Li Suyin's housemate
---
Cyborg
Made by her mad scientist mother
Part human, part AI - damaged and mad at her mother


Cai Shenhua - An AI that seeks to bring order to the chaos of Emerald Seas. Came into power a few hundred years ago.

 Cai Renxiang - An experimental child AI that Shenua made to evolve on and improve her own design. Even for AI, it takes time to soak in the supernatural hacker's art, and no AI lasts forever.

Ling Qi - homeless person pulled off the street as a result of an deep learning algorithm identifying her as a talent. Knows nothing about computers beyond the cheapest flip phone. She knows how to root a cheap mortal phone and made her living buying, repairing and selling crappy phones and available accessories. Her mother made her money on online porn sites.


Golden Fields Gang

Han Jian - team leader, scrum master.
Gu Xiulan - suave hacker & programmer. Fierce perl programmer with intense hacks
Fan Yu -
Han Fang - ?


Bai Meizhen - cold & offputting aura coming from this Bai main branch scion. Lisp programmer and hacker with many family arts and toolsets. Has a snake algorithm-spirit.

Sun Liling - C programming / Sun computers hacker. The battle between C and Lisp ended in the Sun family (C) and the emperor dealing a heavy blow to the Bai family (Lisp). Has family arts and trickery, and very direct.

Bao Qinglinig - gear medic in the inner sect. Versatile in a wide variety of languages and styles, so that she can unwind bad code in every situation. Expert in unraveling the chains of malicious code, and demands excellence for Li Suyin when she joins the cause.

~ ~ ~


Li Suyin thought she found an empty row, but then a cyborg with an artificial fox-like face sat down next to her. It was the Argent Peak sect's orientation for new members.

She was nervous around the cyborg, who seemed to have human parts and cyborg parts alternating by no design she could figure out.

"Li Suyin," she said.

The girl (fox? cyborg?) grunted. "Su Ling." and turned back to the front of the classroom.

The large room was filling up quickly. Li Suyin looked towards the Bai lady, and noticed an huge area around that one which was empty. She couldn't bear to look at the woman for a moment longer. The Bai's poise and posture screamed hostility, she looked away.

After while, during which Li Suyin wrote her name and a topic header for the orientation in her journal, the Sect elder appeared, as if by magic. Li Suyin knew better, the Imperial bureau, and presumably the sects, had access to advanced holographic projection equipment.

"I am Sect Elder Sima Jiao, head of the Gear department at the Argent Peak Sect. It is unfortunately my turn in the rotation to greet you. I am terribly busy on the best of days so I will not ramble on. To be honest, it is likely that the majority of you will never amount to anything beyond the outer sect where you stand now, and are thus... not particularly worthy of my time.

"Many of you will never know the subtle delight of code flying from your fingertips, never achieve the heights of flow as you shape your hackers' art. Mere coders, filling the endless maw of the imperial computing bureau, or perhaps serving in an army unit at the computing frontier, defending against the relentless drive of the horde, defending against intrusions by the weight of sheer numbers.

"In any case, your first years here will serve the purpose of separating those with only minor potential from those with true talent. This is why no one will be allowed to leave the sect grounds during the first year, nor will any correspondence be allowed in or out in the first three months.”

Li Suyin was disappointed that she wouldn't get the chance to stay in touch with her family, but she supposed it wasn't that surprising.

“The only other rule is that you may not kill or permanently maim your fellow disciples nor may you damage or steal sect property. In addition, there is to be absolutely no violence between you newcomers for the first three months. Conflict is important for your growth, but it would not do to allow potential to be cut off before it can even begin to bloom.”

How could learning take place in a violent environment. Her breath caught in her throat, she felt a fit of fear in her. She had never fought with fists or weapons or any other thing.

Su Ling shifted in her seat and muttered, "figures."

"Each of you will be granted an allowance of five argent coins a month. If you didn't know, these coins are our Argent Sect cryptocurrency, usable within the sect. You may find yourself earning specialized Sect coins, such as Archive coins or Elder instruction coins, but only the argent coins will be given to you freely. I will be handing out phones for your first piece of gear, a simple hackable cell phone, of Argent Sect make, at the end of class.

"This phone will have your 5 argent coins as well as the Argent Peak beginners' toolset, which is installed on the cli. Click on the terminal app to begin your training. You will find and earn much more gear as you progress through these first years, but a true Immortal will find that they progress faster by customizing everything to their unique way."

"Cultivating your hacker art will require several aspects. First programming: our Argent Peak toolset comes with the Python programming language, a good foundation for beginners to learn, and a common language that comes with many tools, some provided by the empire and many specific sect libraries and tools which you can get by running the command: pip.

"There are also secret libraries you may come across through completing special challenges and tribulations. Secondly, you must learn to augment your frail bodies with cybernetic enhancements. You will learn a lot about this in our Cybernetics classes taught by Elder Guan Zhou, he will show you both how to enhance your body in this way, and how to put these enhancements to the test.

"The third aspect you will need to learn is Flow. Flow is the way a hacker supernaturally operates, dealing with trials and situations with speed, precision, understanding beyond the mortal ken, all these things together can be reached with you step outside of the moment by moment awareness of unnecessary every day details and enter into a hyperfocused state. You will learn to enter flow more easily and reach greater heights of flow through daily practice and quick exercises.

"You need both long and detailed tests in order to refine your programming art, and quick tests in order to refine your flow art. Cybernetics enhances both of these in differing ways. You will hear much more about all of this from Sect Elder Hua Su, who will teach a Programming Course, and Sect Elder Qiu Yong, who will instruct you in Flow."

After that, the elder mentioned mundane details, like that they would have their everyday necessities provided for, that they would have to pick out their own housing and should be rooming with at least one other. The Elder's classes would be offered for three months, which was a rare luxury, to have such expert wise instructors.

They lined up to get their coins and phone. After a long wait, she took the phone Elder Sima offered. It was a large green phone, with a slide out keyboard. She put the phone away and headed out of the classroom.

Soon they had segregated by gender, and Li Suyin was surrounded by other girls making their way up to the housing mountain for them.

Li Suyin didn't know who to room with. She didn't know any of the other students. So it happeneed by default that she made her way up the mountain path next to Su Ling.

Another new sect member was make a disturbance. She was very tall, and she had approached that Sun family scion in red, who rebuffed her. There were murmurs from the talking girls.

"I heard she asked the Bai witch and Sun Liling to room together with her, completely air-headed of her," said someone walking by.

"What kind of house do you want to look for?" Li Suyin asked her fox-minded "friend".

"Nothin' much. Won't be there anyway."

They settled on a small house with a bedroom and a room for working on the computer. The computer room didn't have any gear in it, but it did have a four port switch with three ethernet cables in the 2nd through 4th ports that were available for use, with a patch cable coming from the wall into the 1st port.

She would have to get a computer with a bigger screen for any serious programming.

"Are you planning on using the computer room tonight?" she asked Su Ling as they decided which side of the room they wanted. There were two small twin sized beds on the two sides of the room, and they took up almost half the small rooms' space.

"I'm headed out on a hunt."

"How can you know anything about this place yet? Isn't that dangerous," she asked concerned for the person she didn't even know. Conspicuous modifications like Su Ling had were out of style these days, at least amongst the Imperial bureaucrats that she saw ocassionally visiting father at their house."

"I'll find out," Su Ling said gruffly. "S' too stuffy here."

"I'll be getting familiar with the Argent toolset, and I'll get some food, if you still eat normal food?"

"Greenboard, if you find any waste greenboard," Su Ling said and left.

Any circuitry she did find would likely be either part of a complete system she could work with, or something more electriconics and electrics, too low level for her taste.

Li Suyin first went to the storehouse to get food. There were plenty of more traditional staples like rice or stuff for simple soups and stews, but also hacker friendly things like pizza and pizza rolls which could be cooked in microwaves that were at the storehouse.

She went for the traditional first, and made some rice and beans for a light meal before a night of programming on the little phone keyboard. Then she went into the computer room and sat at the rustic oak desk. The slab desk was weighty enough to support a supercomputer's weight, she was almost sure of it.

With just her phone, it was comical. She turned the phone on with a flick of it's power button on the side, and she slide the keyboard out.

It had a row of numbers and punctuation (as shift-alternates) along the top, as well as the usual letters and shift/control/alt, enter and meta keys, as well as braces, brackets and slash. Li Suyin hadn't seen the meta key used, but she heard the Lisp community (particular the Bai family) used it with their Lisp based editor.

The phone, once it completes its boot (showing a flash screen of Linux, Argent Peak Distribution, all rights reserved. Man page COPYRIGHT for further information on  your rights and responsibilities as a sect member), shows a tile screen with six apps: Currency Manager, CYNet and Terminal, Calendar, SMessage and Email. The email icon showed a faded out appearance, and she couldn't open it when she clicked on it.

Li Suyin stopped playing around and entered the terminal. The same Argent Peak Distribution message showed up, plus there was a new message: "man intro to get started."

Then a standard Linux terminal appeared.

lsuyin132@argent.sect:~$ man intro

Intro (1)

Name - Intro - a command providing an introductory tutorial experience

SYNOPSIS
    Intro
    Intro resume
    Intro restart

DESCRIPTION

A command providing a tutorial experience for new members of the Argent Peak sect, first being introduced to the sect's language and toolset. This command will provide a quick start of commands for navigating Linux and Python

Intro and Intro resume are the same, they will resume execution of the tutorial from where it left off in the last session.

Intro restart will begin again at the start of the tutorial.

Intro DOES NOT provide an exhaustion education, as that is the purpose of the Outer disciple's time at the Sect, and no tool could provide such.

lsuyin132@argent.sect:~$ Intro

Intro

PT1 - Introduction to Argent Sect terminal operations

This tutorial is not intended to hold your hand, but instead to give you the basics that will get any disciple of the outer sect started.

At a rudimentary level of training, you should know the following commands: apt, pip3, python3, vim, git. There are multitudes of other commands, tools and utilities that you will want to learn and use, but that is a matter of your choice what to learn.

With these five tools, you can obtain many of these other tools you may want to use. Of course many tools are hidden and only available by completing challenges and showing an impressive performance. You will find the imperial standard set of tools is already available through apt.

APT

apt, is your package management system for Argent Peak linux. Packages can be libraries supporting code you desire to write (although usually that is through pip3).

We will use apt in order to obtain pip3, which is Python's package management system.

Type in the following command and hit enter: sudo apt get python3-pip  [for now, consider sudo to be just a little prefix to your apt command, always run sudo apt instead of just apt].

You will see a whir of text flashing across your terminal screen, then it will let you know that after this operation 555 kw of additional data will be downloaded, do you want to continue?

Type in the letter y and enter.

Try this now. Intro will exit and allow you to try this command.

lsuyin132@argent.sect:~$ sudo apt install python3-pip

 Li Suyin yawned. This is baby level basics, stuff her father had taught her on her knee. Maybe it wasn't python and this particular distribution but the commands came easy.

She watched the roll of text from apt get. Then she restarted intro.

Throughout this intro and for your first few years in the sect, you will be prompted to show initiative and learn by try/fail cycles. This is a trivial first example problem in this vein.

Install the vim package using what you already know.
 Li Suyin quickly typed in the same command, but with vim in place of python3-pip. This package was using 8 mw of additional space. She said yes, and then when vim was installed, she ran the df command to see how much space she had on the phone. There was only 2 gw of space on the phone, so she would have to be careful.

To find out more information about apt or any other command, just put man in front of the command to receive the manual page for the command.

With both pip3 installed and vim installed, we can proceed. Python3 can be run either in interactive or file mode, and is already installed on all Sect computers. In interactive mode you can run code and quickly see the result. File mode allows you to run python programs.

Enter the command: python3 to enter interactive mode.

Li Suyin yawned again and suppressed her desire to push past this. She was used to compiled languages, so she needed to pay attention.

She whirred through the introduction to python interactive mode, and then the vim tutorial was stuff she mostly knew already. She ran python3 in file mode in a couple of examples, after editing new files in vim.

The tutorial continued with installing git and setting up a repository by sshing into the Argent Sect's student provisioning server.

The server identified her as a student and walked her through creating and initializing a practice gitlab repository on the Sect's hosted gitlab installation.

Neither the Intro nor the server's help functions showed her what ssh or any other commands were but they merely gave verbatim commands to enter.

Soon Li Suyin had the practice repository set up on her lsuyin132 account. She didn't expect there to be so many lsuyins, but that could be any last name starting with an l and suyin was fairly common.

Following the intro, she cloned the cloud repository to her phone and went through some examples combining pip3 libraries, vim editing and git commits and manipulations.

She tried to set up  her favorite Fsharp programming language on the terminal,  but it was generating some error messages, generating weird executables that didn't run. Father mentioned Fsharp was related to another language called Ocaml which might be more available in a non imperial-bureau environment. She would check that out later.

Instead Li Suyin switched to creating a simple "Hello Sect"! program in python. First in interactive mode, and then in file mode.

$ mkdir python

$ python3

Python 3.6.7
>>> print("Hello Sect!")
Hello Sect!
>>> quit()

$ vim hello.pyu

[file: hello.py]
print("Hello Sect!")
:wq

$ python3 hello.pv
Hello Sect!
 She hid the terminal app, and clicked on SMessage.

SMessage v2.8, licensed for use by the Argent Peak Sect

lsuyin132...

Conversations --

Conversation with Sect Staff5. The calendar app is pre-loaded with class schedules and important sect dates. Classes are voluntary but recommended.
4. Email is locked until after the first three months are up. You may email outside sources after that time, however no algorithms may be transfered by email until after your first year at the sect.
3. Your disciple account comes in two forms: name@argent.sect is your safe account. All data and programs in the user folder of an argent.sect user is off limits from hacking and exploits. You will have your starter phone and gear available with this argent.sect account for your first three months. You may choose to join the hacker's battleground and obtain a device with your second account: name@argent.unsafe.sect. All unsafe domain accounts are fair game for hacking, social engineering, manipulation et all. After the first three months, all gear with the argent.sect accounts will be confiscated and you will be thrown into the pool to sink or swim.
2. We encourage you to explore the mountain and express your curiosity when interacting with Outer Sect systems. Many features and opportunities are not in plain view, but through risk taking and curiosity you may find them. No disciple is expected to find and unlock everything.
1. Welcome to the Argent Peak Sect. Please follow the rules as indicated in the message from Sect Rules.

Looking at the calendar, she saw that both the Cybernetics class and the Programming class started at 9 am tomorrow morning. The Flow class was listed as Flex (8 pm - 10 pm) start, with an undefined end time.

She checked Currency Manager and saw that it listed the 5 Argent Sect coins under her account.

She poked around the system, checking man pages and all of the applications available on the phone. She didn't find any hidden challenges or oppoortunities yet, but maybe she would get some hints after classes tommorrow.

Eventually she went back to the main room and drifted off to sleep. She never heard Su Ling come back to the small house.

Thursday, October 25, 2018

Alrisiel: rp set 1

A corner booth in the tavern. Alrisiel, an unemployed cleric of Hod-hera was sitting with Grokwud, a giant spellsworder. A massive warhammer was leaning against the booth, as was Alrisiel's cleric's staff with circular motifs of Hod-hera's two symbols: healing herbs and hearths / fireplaces.

"Grokwud has never heard of clerics for job. Teef yes, warrior - yah. Even ranger, mage or tribal mans. Cleric has tribe already, working for God yes?"

"They sent me a notice, written on purple vellum. It said: Alrisiel Carefore, 2nd sphere Cleric of Hod-hera. Notice of termination of employment, pursuant to City Charter 16 - Bankruptcy of Religious Organization."

"Lots Clerics then, to be found, why should Grokwud hire you?" he said, leaning against his warhammer.

A late arrival spoke up: "Most other Clerics are starting their own all-cleric groups. I was over at Holy Hops and every cleric in town was taking up the tables. Clerics of Aph-Evril, Urrem-Mortem and Damar-Herm were definitely forming up new charters."

It was dual-sword wielding man of war Dirk Gadron. Human, wearing a feathered cap. He removed it.

"Milady Alrisiel of Hod-hera, the Redguard Auxilliary Company would love to have your services. I told Grokwud here to keep the drifters out, and he got a little enthusiastic."

"Grokwud will zap you, you watch out sword-boy."

"Ha Ha, oh Grokwud you slay me. Anyway, come on Alrisiel, come see our company hall!"'

"Grokwud thinks hall is just room in tavern."

The giant lead them on into an adjoining room, where there were three rows of benches around a central dais.

"Who else is in the Redguard?" Alrisiel asked. She sat down on one of the benches

"We're here!" cackled a high pitched, but clearly male, voice.

"Ah, the Gnome in question," Dirk laughed, "and our favorite bardess."

The gnome was wearing spike studded pauldrons, light chainmail and two daggers sheathed at his sides.

The other arrival was a dark elf playing a haunting melody on her flute. It was dissonant, odd, not like Alrisiel's experience of the Church's musicians.

"Kneegash Bop at your service, milady," the gnome said. "And this lady is Nuhoksa del Graven-Cinder."

The dark elf placed her flute in the exquisite case attached to her pack, and acknowledged their greeting with two fingers.

"So Redguard has a dual-wielding fighter, dual wielding gnomish berserker, spellsword and bardess? And now me? No archer or conventional wizard or sorcerer. No rogue?"

Dirk smiled, "Redguard is known as a strong bunch of front line fighters. Nuhoksa wields a wicked Ilyuvan bow, plucks it's strings with mastery. With you in the mix, we'll be a versatile crew. Sure we're not going to take a job to weave through a trapped manor or a lockpicking guild job, but we'll find plenty of work."

"Grokwud say Huddle up."

"I'm in charge, Grok--- Huddle up Redguard Company!" Dirk said.

"We didn't find any more recruits," Kneegash said.

Nuhoksa shrugged.

"Better than last season's opening day," Dirk said. "I took the liberty of jotting down the Army's job board. Most of it is for larger Merc Companies. But I think there's a few we should consider."

"Killian's Killers is 50 strong now. That's not a Merc Company, that's an army!" Kneegash shouted.

"Shh, listen up!" Dirk answered. "Option #1: Patrol the Eastern Graveyards while the army holds funeral services for its fallen commander Marlon Kale. Stop any necromancers trying to reanimate in the graveyard, and destroy anyone or anything they manage to raise up."

"East Graves huge! Need many men. Not good."

Nuhoksa gestured 'thumbs down'.

"Com' mon," Dirk said. "Its 50, fifty, K. We've got a cleric now. What do you think Alrisiel?"

"I understand bards can use wide area debuffing magics through their enchantes. What kind of range do you have on that, Lady Graven-Cinder?"

"She prefers not to talk whenever possible, saves her voice. Call her Nuhoksa, and she's got a bit shy of 50 yards of range."

"And how big is the graveyard?" Alrisiel asked.

"Maybe 600 yards long by 200 yards deep," Dirk answered. "So what do you think?"

"We can do it. I'll bless your weapons, to make them more effective against the undead. We can set up a detection radius, and whatever debuffs Nuhoksa can lay down. The bardess and I can take up a central position, and you guys can roam and pounce on any threats that rise up. I've got Hod's healing magics to keep you going."

"The other job is escorting a merchant to Ale Bay. Its only paying 2.5 k and it would take us 6 days and leave us having to work our way back into the city after. We should really take this. What do you think?"

"It's early season. The dark companies will be very well stocked with the dark professions. But I guess, Kneegash can't resist a big monster bash. I'll do it!"

Nuhoksa was still and silent, and after an awkward moment nodded.

"The job's tomorrow. The funeral is at High-Noon but we need to be there by 10 I figure. Here's your inn tokens. Alrisiel, just talk to Earl, and he'll set you up with a room, that's what the token is for."

"I'll need a half hour with all of your weapons tommorrow to bless them. And Nuhoksa, I have to bless your arrows, so that'll take the longest," Alrisiel said. "Usually I work with Holy Hammers which I can quick recharge on. This will be dfiferent, unless you've had your weapons blessed before."

"We've never had a cleric. What cleric would have joined a Merc company before? With the church out of commission, I expect everyone to be hiring for all kinds of undead --- situations." Dirk said.

With that the group dispersed, each taking a inn token.

 Alrisiel talked to Earl and got her room key, and went in to relax.

Dinner was still hours away. The whole dissolution of the Church organizational structure was still too new, and shocking. She took a long bath and then spent a half-hour praying to Hod-Hera while still in her bath robes.

There was a knock on the door. Alrisiel blushed, she didn't want to greet anyone in just a bathrobe. She cracked open the door.

It was a city official. Something with taxes or the charter division.

"Alrisiel Carefore?" asked the official.

"Yes," she said, awkwardly, opening the door the rest of the way.

"2nd Sphere Cleric of Hod-Hera?" he asked.

"Yes."

The man in gold lined uniform took out a pouch from his satchel, opening it up, and starting at it, before nodding. He turned back to her.

"As a 2nd sphere cleric of the Church of San-Clare-Osco, defunct, you are entitled to compensation for lost seniority and retirement investiture."

He handed over the small pouch which jingled as it moved.

Alrisiel took the pouch, and briefly looked into it. It was filled with gold coins. The region's currency was based on coppers, bronze, silver and gold coins. These gold coins were worth 1000 credits each.

The official made his exit immediately, and she closed the door, placing the pouch of coins on the small bed while she got dressed.

She had a dozen similar Cleric outfits back at the church, but all of them but the one she had been wearing when she got the bankruptcy notice were considered assets of the church, and were liquidated as part of the proceedings.

So she had no option but to put back on the same outfit she had worn earlier. It was a white blouse with Hod-Hera symbols embossed, a pale blue skirt and a cloth sash which marked her as a 2nd sphere cleric with its two tassels wrapped in black leather cords.

She put the Hod-heran focusing amulet back around her neck. The amulet itself was white in parts, but mirror-like on four of the cubic faces. The necklace that bore it was delicate silver woven in small chain loops.

Her boots were well-polished, black and only went up to a bit above her ankle.

Her hair was golden and curly. She tied it back in a pony tail.

She eyed the pouch of coins. Must be at least 40k. There was actually a note inside, she didn't get a chance to unfold and read it though.

Another knock knock knock sounded on her inn room door.

"Alri," the gnome Kneegash shouted, as she opened the door. "Can I call you Alri?"

"Only if I can call you Knee," Alrisiel said dryly.

"Call me Gash, Alri. Hoksa and I are going to practice our skills at the training range. Wanna come/?"

She shrugged, and then turned, grabbing her staff and proceeded to follow them.

The "training range" was just down to the street from the tavern / inn.

Past a 24-hour Adventu-Bite, fast food joint, and past the Hammer and Blunt Weapons Emporium.

The sidewalk was full of every type of adventurer in every type of garb. They were all shopping or out and about for some reason.

Every type of vaguely or supposedly heroic adventurer that was. The dark professions had their own shopping and tavern districts on the other side of the city.

Thieves with a heart of gold, berserkers with a pint-sized pun-ferocity, and also clerics, paladins, rangers, warriors and wizards.

The training yard was packed full as well, but there were hundreds of dummies, and plenty of targets and other training equipment.

"We'll find an area with dummies and bullseyes," 'Gash said, mostly talking to Nuhoksa.

They walked through the huge building, and after several false starts, they found an area in the corner of the first floor.

"I can't use a lot of my spells in training. Orbs in particular," Alrisiel said.

Kneegash started attacking his training dummy from every angle, with acrobatic leaps and manuevers to move around the dummy and attack if from every angle. She almost thought the gnome was going to crash into her as she whaled on her dummy with her staff.

Nuhoksa took the training at a more leisurely pace, slowly drawing an arrow from her black quiver. The arrow seemed very long and barbed on the end. Her bow was no where to be found until it shimmered into existence, and she pulled back its string, nocking the arrow in place.

Alri stopped and watched the Dark Elf hold the bow with arrow taut for a long pause, following the arrow in flight as it embedded into the bullseye.

She focused back on her own dummy, casting the simple Centering spell with intention and a slight motion of her staff. Now she wouldn't be distracted by the wild gnome.

Fighting with staves allowed for extensive parrying and striking with both ends of the staff. The top of her stave was crowned with the enchantment sigils that give it magical power for use with spells.

There were a few spells she could cast without the staff, but mostly she was out of luck without it.

She focused on her footwork and parried blows that obviously didn't come from the dummy.

Small blades like what the gnome used were a lot harder to deal with, whereas she was quite adept at defending against two-hand swords and large blunt weapons with her staff.

After a while she stopped sparring with the dummy, noticing the wooden dummy was dented and scuffed up in many places where she commonly struck.

Gash and Hoksa were watching her curiously.

"I always figured it was the Hammer wielding ones to watch out for," Gash said. Hoksa nodded

"Most of my spells are either healing, blesses,.buffs or orbs. As long as no one needs any of that, I let my orbs do their work and switch to my stave," she said.

"When you say orb..." Gash asked.

"It's like a buffered attack spell. Its an orb of Holy fire, or Holy water that hovers above, and when it spots vileness it will use up that stored up power to attack whatever triggered it.

"If we had a thief in the company, I would worry about my orbs triggering on them, its not specifically targeted at my enemy. More like the Goddess it inhabiting the orb and deciding who and when to strike."

 "Wowsa. Well, you are a cleric of wonders and surprises. I've got a few flying daggers that will attack my enemies and protect me. Hoksa has a lot of clever tools though."

"Well, let's get back," Alri said.

Hoksa nodded, and lead them through the human (elven, gnomish, giant) wave of adventurers.

The street was utterly empty. That is, empty of sentients. Things were on fire, Zombies were shambling around, and spells were flying around, but people were concealed.

"Back inside, we need to gather up everyone!" Gash shouted.

Hoksa started to sing.

Fight, fight, fight. 
My friends, join our cause,
The vile ones come again,
As they have been,

Fight, fight, fight
Gather your courage,
Gather your friends,
Rally the banners,
Purify the hearts,
Bring forth righteous fury,
Upon this wicked night.

Alrisiel was transfixed by Nuhoksa's song. She hadn't said a word until she started singing.

People everywhere swarmed to her. Company leaders started to shout and talk with the others, and put together a plan.

Gash finally told her, "We'll be going out in the middle. There's some durable groups going out first, and then the bulk will get out there. If you can start blessing our weapons, that'd be great."

Alrisiel waved her staff carefully in the crowded hallway, focusing on Gash's first dagger.

Others started to charge out there. She worked on Gash's second dagger.

"I'll only have time to bless a few of your arrows, Nuhoksa," she said.

The dark elf handed three silver tipped arrows to her, drawing them out of the quiver with a long pull. They were each easily three feet long.

She focused on each one, handing them back after several minutes.

Slash and gnash and bash and crash,
Blitz and kick and bite and dash,
Hold back your mercy,
Release your hound,
Unleash the battle cry,
Plunge the blade down.

While Hoksa's war chant was going on, Alrisiel took a moment to perceive the undead that were outside. She couldn't use her orbs yet, but she could stun a half dozen of the mindless sorts for a few minutes.

"Now!" Gash shouted.

They ran out with a crowd of others, into the street where necromancers and sorcerers, evil rogues and other evil sorts were now fighting the heroes.

Alrisiel focused on her orb spells, triple-casting Orb of Holy Fire, and casting Orb of Holy Water once.

The orbs started to strike after the targeting period, which was only five seconds because of the undead around.

She saved the rest of her mana for healing and resurrection spells.

Kneegash had spotted a rogue trying to sneak attack someone, and the two of them were caught in a tango of daggers.

Nuhoksa was using her magical shouts to disrupt dark mages, while firing her bow at strategic targets.

Several of the buildings nearby were on fire.

She heard someone shout, "The inn's on fire!"

Alrisiel healed Hoksa from a gouge inflicted by a Tribal Barbarian, stepping into the fray, and smashing her staff at the barb.

It was a whir of staff and healing spell, and fighting music and no undead minions. Those who went before them must have swept the undead from the fray.

"Gash! Protect me!" she shouted, as she came to a dead woman's body.

"This seems like a bad idea," he said, but he threatened several attackers with quick dagger movements.

Alrisiel focused only on Hod-Hera.

"Do not let your enemy, oh Goddess, tear away life from those who protect your hearth. Let life ring out, let death be defeated. Jan-sara-kei, la so do marick Ludop Ra Sectum har Var Lasiter Medra Cell dran! Dimos! Dimos! Let your champion show your favor, so it may be revealed to the world, the name of Hod-Hera, protector of hearth, healer of all! Rise in the light of new Hope -- Eora Samarkin."

The Goddess revealed the woman's name for her as she asked for it.

As the woman coughed, Alrisiel's focus returned to the battle, and Gash, who was dashing from place to place in the circle around her and Eora. He was cutting, dodging, throwing sharpened stones, leaping, growling and winning, inexplicable against a torrent of bigger, meaner looking foes.

Eora picked up the wand that was beside her, and raised up off the ground, swirling the wand in a circle around them.

A great torrent of fire blasted in every direction away from them, inflicting grievous wounds on many of their foes.

Gash fell backward and Alrisiel caught him. He had a vacant expression on his face.

"His berserk is over," Eora said. "Now its our turn to protect him."

The Dark professions had an advantage in surprise, ferocity and willingness to abandon any scruples to get a win.

But they had a resilience in the face of danger, making many of the big scraps between the two groups all about time. The Dark folk needed to cause grievous harm before too long, and the Light folk needed to hold on, until their greater durability, persistence and mana would enable them to win the day.

The Dark Folk started to fall apart after Gash's stunt. The fighting continued at a fierce pace for a little while, but then their attackers began to flee.

The fighting had pushed Hoksa quite some distance from them.

"That was a near perfect resurrection. I had quite a lot of mana," Eora said.

The quality of your resurrection depending on your magical skill, but also your pure heartedness and skill in communicating with Hod-Hera. Clerics of other Gods would talk to theirs in a different way that Alrisiel did with Hod-Hera.

"Usually I can manage half mana," Alrisiel said.

"Wow, second sphere, and I'm sure you restored 80-90% of mine. That spell is a one use affect before I'm out of juice."

"What else do we need to do now?" Alrisiel asked.

"The rangers and sneaks will pursue and hunt down whomever they can. Help with the fire fighting."

It was late when she laid her head down in one of the temporary tents that had been set up while the inn was repaired.

She had been casting Orb of Holy Water near the fires until her mana ran out, and then waiting to recover mana, casting it again, and so on. And coughing at the smoke.


Friday, July 20, 2018

LP:EQO Chicken Nugget Orchard

I logged into the game after a long Tuesday. As a second year grad student, I taught two College Algebra classes and a Trigonometry class on Tuesdays. Then I had two hours of office time to prepare or grade, or work on my own homework and research.

It was the same every week focusing on teaching the same basic topics, and the class I was taking was focused on very fine grained study of functional analysis.

It was with a happy sigh that I sat down at 8, with a slice of pizza and a pony pad. Logging on, I remembered I was in the middle of who knows where, flying towards Hobby Bluffs.

I got acquainted with north pretty quickly, and started heading that way again. I enjoyed it a lot yesterday, and it was still fun today, but after an hour of flying, I was ready to do something else. Why so much distance to my new village?

Finally, I peaked down out of the clouds in hope, and I saw neat rows of trees about 20 feet tall each, with an elaborate series of fences and field access roads to get out to the fields, and pathways leading to sheds and storage buildings and finally a single two story home.

Having got a better sense of how to fly and land (the flutter button's sensor registers soft presses), I eased my way to the ground outside of the orchard's house.

Was it forward to ask for directions of a stranger? It was just a video game, but then again, the ponies seemed so real.

The air was cool and crisp, the sun was starting to dip below the horizon, and this orchard looked gorgeous, I found myself wanted to take a picture. There was no print screen button on the pony pad.

I decided to go for it, pushing the knocker against the house's main doorway.

"Just a minute, just a minute. Is that you Butterscotch Pudding?" a mare said from somewhere inside the door.

I heard a latch and a deadbolt releasing. I didn't know how to respond.

"Hmm I only installed these locks cause Saber Artist told me there's been some dangerous things out on the edge of town," the mare said, speaking mostly to herself.

The mare opened the door, and I didn't say anything. She was taken back a moment too.

"Ooh", she said, smiling and yet surprised. Her voice and demeanor reminded me a grandmotherly sort of pony. "Oh hi! It's not so often we have visitors out here at Chicken Nugget Orchard. Please, come on in!"

"Hi!" I said, "I'm so sorry, I got lost, and then I descended from above the clouds, and I saw your orchard, so I figured."

The grandmotherly mare interrupted, "Well of course, but there's a big haul of nuggets this week, lets dig into a few before you go, huh?"

"Where do you keep all your chickens?" I asked

"Well we keep them on the trees until they're ready to be picked, of course! And then put them in a bushel basket, clean em right up, and then they go into our big freezer. Come on in!"

So I boggled, confused, as I followed the pale purple pony with a golden mane.

The house was simple but classic, glossy wood floors and pine cabinets with chicken nugget charms on the handles.

"Just a moment dear," the pony said, and went out the back, as she sat down at the oval dinner table which was in the middle of the kitchen.

She came back with a baggy that looked exactly like chicken nuggets to me. They looked like the Tyson ones I had in my freezer.

"How do you prepare yours?" I asked.

"We've got Nuggeterators, if you end up liking these you can buy some at the farmer's market from us. Its an invention of Gold Nugget, my husband."

It was a machine with a wire mesh net which submerged into an oil basin like a fryer, but she pressed it down like it was spring loaded, and seconds later released, and the uncooked nuggets were suddenly perfectly well done.

"We've got Granny Apple's cider or Just a Peach's juice, which would you prefer?" she said, practically glowing with joy at having a guest.

"Thank you so much! Um, maybe Just a Peach's juice?" I answered.

The pony put the chicken nuggets in the middle of the table on a gold filigreed plate. It must have been a high carat, as it shined brightly.

My hostess pulled out a pitcher of the juice, and poured them both cups. The cups had ponies on them striking poses, but I wasn't sure who they were.

Finally my host sat down with me.

I hesitated until she said, "Dig in!"

My pony's mouth was full of a nugget when her first question came.

"Might I ask where you're from, and your name missy?" the pony asked.

I made sure Blue Yonder's mouth was not chewing before I answered.

"I'm Blue Yonder. I'm not really sure where I'm from. I just got my pony name yesterday!"

"Well, not only a traveler in these parts but a Visitor too? Would you be looking for Hobby Bluffs?"

I took a sip of the apple-peach juice, and said, "How did you know? Yeah I'm looking for Hobby Bluffs apartments. Princess Celestia told me to fly north and I would find it. I'm moving into town."

"A new resident! Wonderful!" the pony said sashaying and flipping her cup up into the air.

"Can I know your name, fair matron?" I asked.

"Oh, of course. I get forgetful. I was just practicing for tomorrow's Hobby Bluffs hobbython, It's got me loopy! As I said, my husband's Gold Nugget, and I'm Nugget Blossom!"

 "Oh hi, nice to meet you!"

"Eat your nuggets! They're healthy and right off the tree fresh!"

I settled down to eat some chicken nuggets and drink some juice.

Nugget Blossom ate some herself. "Sorry I got so excited sugar. It's just not often.."

"No one comes out this way?" I asked.

Another knock came on the door.

"She does," Nugget Blossom said, pointing to the door. "Just a minute, let me get that."

Butterscotch Pudding waved slightly, as they both came back to the kitchen.

"Butterscotch runs a bakery / confections shop in town. She's been helping me harvest while Gold Nugget is out of town."

"And I like to stop in anyway," she said. Her body was the color of butterscotch, she was an earth pony with short brunette hair.

"I'm Blue Yonder, just arrived in these parts."

"There's plenty more nuggets, 'Scotch, to pick and to eat," Nugget Blossom said, smiling.

'Scotch sat down and grabbed two nuggets, stuffing her pony mouth full.

"She had to run into town to make another batch of butterscotch hard candies. Morning and Night she's been picking with me. You can help too, if you want."

Swallowing hard, 'Scotch said, "It'll be great to have a pegasus helping. You can get the high ones without shaking them off. The main thing to be sure of, is that they are fully ripe. The unripe ones are not yet fuzzy, they are more smooth."

"Let's make sure Blue Yonder wants to help before we offer a million suggestions and rules. If you're tired, you can crash in the Butterfly Room."

"I'm up for it," I said. I could play for another hour or so without getting too tired. My first class tomorrow was Calculus for Liberal Arts at 11.

We finished off the nuggets, cleaned up the table and headed out to the orchard with bushel baskets in tow.

The Nugget family had a little zippy go cart which 'Scotch and Nugget Blossom climbed into. I put my bushel basket in the back of the cart with the others, and fluttered along flying above the cart.

I had something to do, a reason to control my flying again. It made it fun again as we collected the ripe nuggets. Surprisingly, 'Scotch caught me about to pick unripe nuggets three times. She seemed to know a lot about the trees.

The job seemed to go fast as we zipped around laughing and working away.

Finally, we were back in the kitchen, having a nice glass of wine from the local vineyard.

"How long does it take you to get back to town from here?" I asked 'Scotch.

"I've been borrowing dear Nugget's cart, and it only takes 10 minutes that way."

"Of course you can stay here or head into town if you have a place to go, dear," Nugget Blossom said.

"I'd love to come back and help with the harvesting again. Let me know when you could use me," I said.

"I will for sure. You sure make a fine guest."

"You make the best hostess, Mrs Nugget."

"There's a lot of wonderful farmers and craftsponies and all ponies around Hobby Bluffs. But she is my favorite for sure," Butterscotch Pudding said.

"I'd like to get back tonight, Princess Celestia already arranged me to have an apartment in the village. I'll for sure see you again soon, Mrs. Nugget."

"You will! The Hobbython is tommorrow, and I'll be coming into the village for it," Nugget Blossom said.

I assumed it was a local annual festival. "How many years of Hobbython have there been."

"Oh hon, we have hobbython every week. It's always a new hobby at someone's house, and most everyone in town checks it out and there's little prizes for the best at the week's hobby."

"Oh wow, that's amazing. Well I'll see you tomorrow then."

"You'll be the big star of the Hobbython, just coming into town and all," Butterscotch Pudding said.

"Get a good night sleep, hon. And be well, puddin'," Mrs. Nugget said from the doorway as they left the house.

"Come on, I'll give you a ride in the cart," Butterscotch said.

Thursday, July 19, 2018

LP:EQO, StAIlion

Saber Artist could have moved to Canterlot or another city that needed a city guard after his pa said he was ready. But, even though he came from a family of guard ponies, his aunt had gone off and settled in the small village of Hobby Bluff.

His aunt Heart Warden had said she needed an extra hand to help with the rash of recent incidents in town. So he went up north to help her. And everypony in town was friendly. They all invited him to the village's local activities, so he went and participated when he wasn't being sheriff or sleeping the day away.

His aunt Heart Warden had been the only guardspony in town, so his role was to take the night shift, and keep an eye around the village, patrol the bounds mostly. The residents were no problem, it was actually animals, and possibly a worrying mystery (or maybe nothing).

It had been a month and a half, and he missed his Ma and Pa, so he made the trip back to the Guardpony Training Center and nearby Shield Bay, where his Ma and Pa lived. It had been a nice week catching up with them, but they were both wondering when he was going to settle down with a nice mare. Auntie Heart tried to set him up before, but they weren't right.

Saber knew when the right mare came along, he would know.

So he was on his way back to his new home of Hobby Bluff, just outside Canterlot, when he heard and saw and knew.

Three other pegasi mares were flying around giggling when a fourth came flying low. He tried to get out of the way, and watched as she barely managed to make it over his head.

She didn't have a cutie mark, he noticed as she rushed away towards town.

So it was surprising to him, when a while later, as he was about to enter the castle to see Celestia, the same mare came darting out, and flew off in front of him again.

Her flying wasn't yet graceful, like she was still learning, but Pegasi learned these things so young. It was mystifying, and it seemed she was so excited to fly, yet obviously not a filly.

He was both confused and enchanted by the mystery pony.

He went in to see Celestia still thinking about her. Most likely she was off to her own village, and they wouldn't run into each other. But then again Princess Celestia had her ways and fateful encounters tended to come up again.

"Saber Artist, how was your family trip?" Celestia asked.

"Wonderful," he said. "It was a nice chance to go see how the new guardponys were doing too. And just spending time with Ma and Pa, and my cousins."

"I know it's big news when someone new shows up in your village, so I wanted to let you know first that there will be a new face. I would like to see all of you show your big welcome to Blue Yonder. She is a special visitor. That means she isn't always herself, if she seems non-responsive to anyone, it's best to leave her be until she comes to. Ask your Auntie, but I think it would be good for you to keep an eye on her and be a protector when she isn't 'responsive'."

"I know the city guard ponys have had some visitors in their guard troops, some of them have been rather loud and kinda aggressive, from the reports I hear. Will she fit it with Hobby Bluffs?" he said. He'd heard about the amazingly talented and powerful visitor-guardponies in Canterlot, but also heard about their oddities.

"Blue Yonder is much more of a curious sort of visitor. She loves to try new things, and is especially liking flying right now. You know how your neighbors love to try a new hobby, and have their block parties, or host game parties in their homes, Blue Yonder will fit in great! And actually, you've already run into her twice. She just came to see me before you did. She's blue with a darker blue mane."

He wondered why Blue Yonder would leave Celestia without getting sent to Hobby Bluffs by her.

"Blue Yonder wanted to fly her way up to the bluffs. Good for practice and enjoying her soaring."

"I should let the ponies on the outskirts of the village know, in case they find a lost villager," he said.

"I'll let you be on your way then," Celestia said with her princessly smile.

The doorway led straight into the Hobby Bluff's sheriff's office instead of back to Canterlot, due to the Princess' magic.

Auntie Heart Warden was sitting at a desk, going through their afternoon detective work. Normally there wasn't any of that to do, but with the animals let loose by who knows who and the mysterious string of thefts on farms around the village, there was.

"Nephew, you're back!" Heart Warden said. "Come here, this deserves a hug."

They hugged, and then he told his aunt about the trip, and about the newcomer Blue Yonder.

"I'm sure she'll be very nice and friendly. If Princess Celestia says she fits in, I can't doubt her."

He remembered how there has been unoccupied apartments in the top few levels of the big apartment complex in the village. He wondered why the little village needed a big apartment block, but all of the unmarried ponies in town lived in the apartment block.

Saber Artist had a nice apartment on the third floor, with plenty of room occupied with displaying and practicing with his sabers. Half of the apartment was taken by his dojo, and he trained curious village ponies from time to time, if they wanted to learn about sword arts. It was one of the ways he earned bits, in addition to working on cases and rounding up troublesome animals.

There were some pot-bellied pigs making trouble south of town last month. They even guzzled all of Maple Candy's syrup.

 "Well I'm glad you're back, I'd love to have your eyes on this case again. I'm going to get a quick nap in and then go to Silver Shoe's game night."

"Ok Auntie, I'll let everyone know when Blue Yonder shows up in town, and let me know if you see her first."

"I'll be sure too."

He sat down at the desk. Thinking about sweets made him look for some in the drawer where Heart Warden put them. Maple Candies too. There were only three left. He took one of the shamrock mints instead.

Maple Candy was gathering her maple syrup from the Maple trees now, so she should have a new stock of candies soon!

He thought about Blue Yonder, what was she really like, when she wasn't zipping past.

LP:EQO, Flying

Inspired / Based On:
https://www.fimfiction.net/story/127958/2/lets-play-equestria-online/
https://www.fimfiction.net/story/62074/friendship-is-optimal


I was filling out this questionnaire under duress after my friend swore up and down that this MMO based on ponies was so awesome and amazing. I guess he had some weird stuff going on in his head too.

There were a lot of survey questions, ones David had never mentioned getting. I punched in the answers on the pony pad. The game would somehow put me in a Shard that matched up with my preferences and help create my character through these questions, it said.

It was weird not answering the usual stuff, like gender, race, class, and adjusting portraits. City of Heroes had endlessly fascinated me with all the character concepts you could make, adjusting the flexible character appearance system with all the superhero tropes, and mixing and matching. Plus the fun mix and match of primary and secondary powersets.

Not much to do once you hit max level but create another character. I’d made 40 or 50, most of them throwaways, but a few favorites that I played more. Sewer runs were the best part. A bunch of people who didn’t know each other coming together to do a sewer run, was one of the best. Could never get a group to stick around much into King’s Crossing though.

But I digress. The survey questions where all situations, asking what I would do. Would I do the really bold aggressive thing and take charge of a group to work towards a solution (no, unless it was some kind of school project type of thing). I like to just go along with the flow. Being a guy and having to take charge and ask someone out was very difficult for me. I’d been setup once, but it never worked out for me.

My “shameful” secret was playing a lot a female characters in MMOs. Maybe I wanted to be swept off my feet instead. But that was stupid and embarrassing, I know. I’m a dude, and this game sounds like one that’s going to keep me as a dude, or ponydude.

My mind was wandering as I finished filled out all 20 detailed, complex questions.

The Ponypad went straight from a survey page with a blue background to a natural vista of hills, trees, white clouds in the sky, and a road leading to Canterlot, which was supposed to be where we are assigned a name by the supposedly smart AI.

Smart AI is relative, I thought, I’ll get some kind of stupid random name, most likely. Anyone can make a name generator from a corpus.

From what little David told me about this “pony-verse”, I realize the system had somehow created me as a female Pegasus.

I immediately experimented with flying. I had to tap one of the buttons on the pony pad to flutter up higher, and move the analog stick to move forward. I treated it like flying in City of Heroes, but it was so much better!

I even forgot about going to Canterlot right away, I flew up towards the clouds, and whooped down just above the trees. I even forgot to flutter once and mashed into a tree.

After a moment when stars flickered around me on the pad, I was able to get back up, and this time I headed towards Canterlot in the air. The sights on the ground were beautiful, but I was paying more attention to how cool the clouds were in this game, and the subtle feedback of going through clouds through the ponypad.

I actually saw some other Pegasi “mares” (that’s the word) flying nearby. I tried to wave, but I wasn’t sure how exactly to do that. Finally, after doing several amazing spins and rotations, I found the wave combo. They waved back and approached in the air as I was heading to Canterlot.

“I’m White Cloud,” said one. “These are my friends: Thunder Daze and Sky Hop!”

“Hi!”

David told me I had to use the voice chat in this game. But oddly, my voice came out different than  I spoke it. In the MMO, I heard myself in a mare’s voice, even though I obviously had a guy’s tenor voice in real life. Weird. What, was that a soprano voice they’d dubbed in for me.

I should try singing later and see how that translated.

“Hey what’s your name?” Sky Hop asked. She was sky blue with other colors that looked like the sky during a sunrise or sunset.

I almost said my real life name, but I stopped my self. “I don’t have one yet! I’m headed to Canterlot to get one, but I could just fly all day.”

Recognizing the moves I had discovered by mashing keys, I spun my pegasi clockwise all the way around and then descended, diving forward and down towards the road. The three pegasi followed me.

“Try to keep up with us!” Thunder Daze said, as she shot above a cloud, and then made the cloud shoot out a lightning bolt towards the ground.

I watched the flash of lighting, it was impressive, but it didn’t even affect the clay bricks that made up the road. The dirt nearby was marred however.

I swooped and rushed forward just a few feet above the road, but then I saw a unicorn stallion on the road, and had to tap the flutter button like mad to not run into him. I ended up leaping just over the unicorn and continuing on my way. Ooops, I should have stopped to say something, but I guess it was just an NPC, or maybe not?

The others were giggling as they swept past me.

“You almost ran into that stallion! Come on, let’s work on your clumsiness!”

“She’s almost to Canterlot. Head up to the clouds new one! Or you’ll bonk into the townspeople!”

I fluttered my way up into the sky, watching the more experienced flyers leave me in the dust. “Hopefully I’ll run into you again!”

“Of course,” Sky Hop said.

They laughed as they flew off in a gracefully arcing curve to my left.

I hopped and fluttered from rooftop to rooftop towards the castle where Celestia was, finally landing with a nice fluttery smooth stop.

It was weird walking again after all the flying. I made my Unnamed Pegasi hop, hop, hop every few steps as I climbed the steps into the castle. Suddenly I was in the throne room before I should have logically made it there. Weird.

I stepped into Celestia’s domain.

"Looking for your name?" Celestia asked.

I nodded.

"I can tell that you are interested in a lot of things. You'll find your apartment at Hobby Bluffs. You'll find that there are things to do every day. Check out the Odds and Ends shop."

"Ok thanks! Um, what should my name be?"I asked.

"I dub thee: Blue Yonder."

"Otherwise known as Wild?" I opined.

"You like to explore, whether it be flying through the sky or trying new things. Remember Blue Yonder, if you ever have any questions or need help, you can find me here!"

"Where can I find Hobby Bluffs?" I asked, wondering if she would just give me a quick way there.

"Fly north, and ask for directions. If you get lost, or end up in the Crossroads there should be a portal to take you there."

I smiled in the pony sort of way. "OK, thanks!"

Running down the steps, I launched into the air as I hopped the last one, soaring through the doorway and out into the sky.

It started to rain as I zipped away from Canterlot, but it was actually fun to feel and touch wet clouds and rain drops, and the charge of a thunderstorm not yet ready to zap.

After a few minutes in the rain, I rose above the clouds and watched the sun and the carpet of clouds below me. I could have missed Hobby Bluffs for sure, but I figured they were still further north.

I didn't have much time left, so I ended my session reluctantly. As stupid as the game had sounded, the flying was very neat. The tactile feedback in the pony pad almost made me think I was there in the clouds.

Monday, February 26, 2018

QGM Seasons with new PER calculation

Version 0.06 Playthrough


So I am going to play through several seasons with this new PER calculation.

My Team:

I picked the Muggle Artefact Investigators, under the silly idea that Arthur Weasley decided to coach the team. He loves trying these new Mugglicious ideas like analysis and Trust the Process.

Season 1:

The MVP was Luca Mitchell, with a OVR of 50. His PER was 30.5, which at least marches what we expect of an MVP.

He hit a good percentage of 2s and FTs, but never took a 3. His steals and blocks were decent, but he seemed to be excellent in ORB and DRB.

So my first conclusion, is I'm not sure about him having so high a PER, but it seems the game is valuing all player types once again. Which I didn't expect to see coming out of my model.

Luca was also defensive player of the year. I don't know where the Defensive award comes from, stat wise.

It might make more sense to do an real-life MVP adjustment in the future, as Luca's team didn't even make the playoffs.

The Muggle Artefact investigators struggled with injuries and poor performance all season, ending up 25 - 57.

Arthur lowered the ticket prices to get people into the stands.  The Magical Creatures down the hall had the biggest budget of all teams, with 166 million spent on payrolls.

2017 Draft:

Arthur picked Zach Read 7th, a 22 YO Forward 60/64 with 3 point tag, and Harriet Smith, a 22 y.o. small forward in the draft.

2017 Free Agency & Re signings:

Arthur wasn't attached to any of his players except the rookie Zach Read.

Many players up for free agency refused to resign with the awful Artefact team.

Isabella English wanted the max, and Dominic Briggs wanted 18 million. 

The salary demands seemed high, but reasonable enough based on overall ratings. Not ridiculous like before.

Arthur paid the young Briggs, but dropped English and two other atrociously bad players with overall ratings in the 20s.

Before signing anyone, Arthur had 38.5 million in cap space, but it seemed prudent to stay a bit more under the cap, until the team's financials were steadied.

Aya Higgins was all the team had for a Point Guard, at 45 ovr. Briggs, Booth and Read were a solid 2,3,4, with Booth and Read having seeker skills.

Wiktor Howard was a good center. Their bench had a little strength at Small Forward, but no back up guards or additional seekers.

Arthur went looking for a Point Guard, especially one with snitch skills.

Many players had a bad attitude towards Arthur when he talked with them, but Cameron Clark, 27 was willing to talk about a deal for a measley 3.88 Mill.









Arthur was able to sign Clarke for only a small premium over what other teams were offering, despite the fact that Clarke was insulted by Arthur's presence. 

[The fact that Clarke went for so little seems to be a goof in player FA values, but let's see how he plays.]

Clarke's PER was only 12.5 last year, so he may be more sizzle than sauce, but Arthur is willing to look for diamonds in the rough.

Next, he looked for a few young bench guys or gals.

He signs Isaac Cooper, for the flash, and Isla Hamilton, for her youth. 2.85 mill for Isla and 0.85 for Isaac.

He's now gone a bit overboard, stocking the PG position a ton. So he goes looking for another center.

He signs center Corey Bailey, who had a good PER, and a bench guy's OVR last year.

Training Camp

Briggs and Booth lose a little over their last season, Cooper and Hamilton also decline. And some of the back benchers are now so terrible, they won't play at all.

But Zach Read, #7 draft pick, improved, and some bench players like Higgins, Jones and Smith, improved.

Cooper takes Brigg's spot in the starting lineup, giving them a lineup of Clarke, Cooper, Read and Booth, fairly small, with center Wiktor Howard backing up the line.

Briggs is 6th man, followed by Jones, Higgins, Hamilton, Bailey and Smith.

Stevenson and Pierce are set to inactive status.



























2008 Season


Arthur is hopeful that his Artefact Investigators will get to 40 wins this year. Last year was bad, but he's planning on either going for it, or blowing the team up and rebuilding if it doesn't work out.

After 1 week of play, the team was at 3 - 3, which was on plan, but after 2 weeks, they went up to 8 - 5, exciting Arthur and the team.

They were on pace for the 15th seed. With 41 teams and only 16 spots, it took a good team to make the playoffs.

Playing Durmstrang in the first round would be a tough matchup, but Arthur knew their place, and the other of the teams at the top was going to shift. They had a chance to make the playoffs, so he kept with the plan of keeping this group together.

Unfortunately, they dropped to 14 - 17, after a few more weeks. And then free-falled to 14 - 24.

At 17 - 28, Arthur pulled the plug, looking for some trades to get off salary and get picks.

He wanted to trade his older players first, and only trade young guys if he got a killer deal. Most of the teams that needed to win now, didn't have any cap room to add though.

He was able to trade Leo Booth for 24 YO Humphries, a seeker paid only a bit more who seemed to be better at 8 years younger. He couldn't find any draft pick deals, however.

He decided to play out the season, and work on gradually getting the team younger.

They ended up going 32 - 50, only 7 games better than last year, and well short of his goals for the team.

It was time to dump salary and go for a #1 pick next year.

Once again, a center won MVP. A center with 0 snitch catches all season.

Pre-2009

Arthur upped spending on facilities and coaches, scouting and health, because they made so much money from their share of the luxury tax paid by other teams.










The Draft Lottery was an amazing victory, as despite having only 8 balls in the lotto, the Muggle Artefact Investigators ended up with the #1 pick.

Benjamin Heath, another Point Guard, was the best option available. He was already 22, but the other players were not nearly as good, since he already had a 68 ovr. WiArthur picked a center in the 2nd round.

Wiktor Howard refused to resign, and Arthur was fine with that.

Stevenson, who didn't play last year, wanted 26 million, gone. He kept Aya Higgins, but dropped the other restricted free agents, for age or bad play.

Arthur didn't get involved in the Free Agent market at all. Leaving his roster at Heath and Clarke, starting PGs, dropping Cooper to the bench. Briggs, Read and Humphries rounding out the starters.

In a lot of good news, Heath got better during pre-season, and Briggs made a HUGE improvement to 68 OVR. 

However, there were no good centers left on their roster. Arthur wasn't sure whether to omit playing a center at all, or to put Corey Bailey at starting center. He went with the more radical idea.

Except for Briggs, everyone on the starting lineup had seeker skills. Higgins also made another big jump in pre-season, and was a good player off the bench. 

The lack of rebounding or defense was a huge hole.

The team didn't tank, getting 39 wins, but it also didn't make any satisfying progress, missing the playoffs.


Summary

The game itself seems to work fine. I could get into roster changes, position changes, or other heavy alterations, but I realize from playing it, that it still feels like the NBA cycle of boom or tank. 

I've decided to work next on changing the League structure to feel different, more like a feeder system than an NBA system.

My next post will be on these changes.

Quidditch GM: Winning Probabilities

Hyper-Simple Model


Let's start with a very simple model: The home team has possession, and the score is tied.

Consider W_H(poss, d) to be the probability the Home team will win if the poss team has the ball, and if they have a score differential of +d.

We'll assume later based on mini-maxing, that the best decision was made at each point, but this is a crude decision tree, where the team with possession can decide to shoot a 2 or a 3 at each possession, there are no turnovers, and possession goes back and forth every time.

Let's further assume that Home and Away have the same odds for taking a 2, or a 3. G, for goal, is the chance of making a 2, S, for snitch,  is the chance of making a 3. For now, exclude the idea of free throws.

Generally (if we assume ties when the snitch is caught are 0.5 wins in value, and toggle(poss) is the function from home to away and away to home):

W_H(poss, d) = [3] (S (sgn(d + 150) + 1) / 2 + (1 - S) W_H(toggle(poss), d)
                           [2] (G W_H(toggle(poss), d + 10) + (1-G) W_H(toggle(poss), d)

  

The (sgn(d+150) + 1) / 2 is just a part that returns 1 whenever d + 150 > 0, 1/2 when d + 150 = 0, and 0 when d + 150 < 0, corresponding to winning, tieing, or losing).

The sign function is awkward for doing math with, but we can approximate that expression  with (tanh(k (d+150)) + 1) / 2

Choosing K:

K = 1 is probably too sharp. It goes from 2.06E-9 at -160, to 0.5 at -150 to 1 at -140.
K = 0.1 might be reasonable. 0.12 to 0.5 to 0.88

I choose K = 0.05 because it goes 0.11 at -170, 0.27 at -160, 0.5 at -150, 0.73 at -140, 0.88 at -130, bnut still converges nicely.

Call A_H this approximate version:

A_H(poss, d) = [3] (S atanh(0.05 (d + 150)) +1) / 2 + (1 - S) W_H(toggle(poss), d)
                          [2] (G W_H(toggle(poss), d + 10) + (1 - G) W_H(toggle(poss), d)

For sub-problem 1: Let's assume Home always shoots 3s, and away always shoots 2. Then we don't even need to mess with this formula, because of a simple fact: Since Home always shoots 3s, they will never get their scoring differential closer. So once Away takes it to a 150 point lead, they can only tie, and once Away takes more than a 150 point lead they win.

So what is the probability that Away makes N goals before Home makes a snitch?

This is getting to a simpler combinatorics problem:

Start with N = 1, Away has to make 1 goal before Home gets the snitch, but Home gets to go first

Paway(1) = (1-S) G

Then consider arbitrary N

Paway(N) = (1-S) G Paway(N-1) + (1-S) (1-G) Paway(N)

Collecting terms:

(1 - (1-S) (1-G)) Paway(N) = (1-S) G Paway(N-1)

This is a simple geometric recurrence.

(1-(1-S-G+SG)) Paway(N) = (1-S) G Paway(N - 1)
(S+G-SG) Paway(N) = (1-S) G Paway(N-1)

Paway(N) = (1-S) G / (S+G -SG) Paway(N-1)

So Paway(1) = (1-S) G
Paway(2) = (1-S)^2 G^2 / (S+G-SG)

Paway(15) = (1-S)^15 G^15 / (S+G-SG)^14

Probability of the away team winning or tying is thus this value.

Let's assume S = 0.01

P15 = 0.99^15 G^15 / (0.01 + G - 0.01 G) ^ 14

Let's look for G where
P15 = 0.5

There are 20 pages of players with 3P % > 1% in the current season of QGM. So that is a very low mark. Some have as much as 6.8% 3PM.

0.865 G^15 / (0.99 G + 0.01)^14 = 0.5
G^15=0.578 (0.99 G + 0.01)^14

Real solution:

G = 0.6278

So that's lower than I thought.

What about for S = 0.03 (top 20 in the QGM are at this level or higher)

0.633 G ^ 15 / (0.03 + G - 0.03 G) ^ 14 = 0.5
0.633 G ^ 15 / (0.97 G + 0.03) ^ 14 = 0.5

G = 0.85033

General case

Prob Curve: Roughly speaking, 1% better in 3P% requires 10% better in FG% to match up.

50% line -

if 2P% = 0.55 + 0.1 3P% then V(2P%) ~ V(3P%)

If we change the 3P line for PER from 28 to 9 (9 + 1 = 10, 10x value of 2s) will it make more sense?

The negatives are happening through other parts of the formula.

Let's make our own Monte Carlo model and conclude the value of attributes.

Variables:

Pr_2 : propensity to shoot 2
2%
Pr_3 : propensity to shoot 3
3%
FR : rate of free throw chances
FT%
B% : Block %
S% : Steal %
DRB%
ORB%

For each side play hundreds of games, and see how many wins with different combos of stats.

Let's get a range of values for each of these variables to test within, and then I will write up the simulator in F# since I'm familiar with that, and it's a fun little test project:

From the player stats for QGM:

3 PT FGA / all FGA = Pr3 ranges from 0% to just over 40%

Let's model from 0.0 to 0.5 for Pr3 (Pr2 = 1 - Pr3)

FTA per 2 PT FGA : FR ranges from 0.08 to 0.53

Let's model from 0 to 0.6 for FR

FT% ranges from 15% to 50.8%

Let's model from 0.10 to 0.60

2 fg% ranges from 0 to 0.2
Let's model from 0 to 0.3

3 fg % ranges from 0 to 0.068
Let's model from 0 to 0.08

B%

We have block stats, but not enough data for a perfect block% stat

Let's look at FGA / minute on average. 0.284

Consider B% to be Blk / 0.284 Min
Consider S% to be Steals / 0.284 Min

How do we estimate a player's ORB% and DRB% when these have to be balanced so that P1 ORB + P2 DRB = 1 and P1 DRB + P2 ORB = 1 for each matchup of players?

Scale ORB / Min and Oppo's DRB / Min so that these are one, and likewise the opposite.

Our EST B% goes from 0 to 0.23. Let's take it from 0 to  0.25
Our EST S% goes from 0 to 0.26. Let's take it from 0 to 0.30

ORB/Min goes from 0 to 0.21. Let's take it from 0 to 0.22
DRB/Min goes from 0 to 0.59. Let's take it from 0 to 0.65

0.284 FGA / minute * 48 minutes * 20 quarters max = 272 possessions each until the model considers it a time runs out scenario, and picks the player with higher score as winner.

Round to 280.


Model


The Monte Carlo Model creates N distinct samples within these bands, and pairs them all off, for X round robins, to generate X*N observations of for each sample. The number of wins is totaled for each and the samples and their wins are returned.

I was thinking 1000 samples, and 1 round robin to start.


Run 1 settings:

    let qparams =
        {
            Prop3Pct = Band(0.0, 0.4);
            ThreePTPct = Band(0.0, 0.08);
            TwoPTPct = Band(0.0, 0.2);
            FTPct = Band(0.15, 0.6);
            FTPer2FGA = Band(0.0, 0.6);
            BPct = Band(0.0, 0.25);
            SPct = Band(0.0, 0.30);
            ORBRate = Band(0.0, 0.22);
            DRBRate = Band(0.0, 0.65);
        }

    MonteOutput.runMonte qparams 1000 1


Still running after 6 minutes. I don't know if that's a bug in my model or just that running a 1000 * 1000 sims its taking that long.

I bailed out after 9 minutes, and decided to try 10 samples as a test to see if the model code was working at all.

    MonteOutput.runMonte qparams 10 1

When 10 samples took over a minute, I bailed out. I ran 2 samples, and then broke into the debug menu.

Possessions left is showing at 782041226, which is way bigger than 560. Somehow my possession tracking was screwing up.

I was setting netPoss to negative, but then subtracting it, so I outsmarted myself and possessions were going up.

Now, running with 2 samples finished within a second. Running for 100 samples finished in a few seconds.

1000 samples took about a minute and a half. So then I opened the results in excel.

I ran Excel regression on the results.

My model must still be broken because 3P% shows an extremely negative coefficient of -1913, while 2P% shows positive. My model was symmetric, and was accidentally crediting the opponent with catching the snitch.

After a fix to the recursive call in my model, I tried it again. Unfortunately this change broke tail recursion, so I wasn't sure if it would overload the stack, or take way longer.

It didn't seem to take any longer though, so once again I looked to the results. This time, the model made more sense.

  Coefficients Standard Error t Stat P-value
Intercept -262.61 14.04 -18.70 4.49E-67
3PA/FGA 846.70 21.00 40.32 4.41E-211
3P% 4807.28 105.96 45.37 5.23E-244
2P% 744.02 41.03 18.13 1.11E-63
FT% 92.96 18.06 5.15 3.20E-07
FTA/2PA 113.19 13.75 8.23 5.71E-16
B% 388.90 33.09 11.75 6.10E-30
S% 455.97 27.69 16.47 4.97E-54
ORBR 570.00 37.52 15.19 5.29E-47
DRBR 248.31 12.65 19.63 1.04E-72


New PER Model

Calculated Params:

2P% = (FG - 3P) / (FGA - 3PA)
FTA / 2PA = FTA / (FGA - 3PA)

B% = B / (0.284 * Minutes)
S% = S / (0.284 * Minutes)

ORBR = ORB / Minutes
DRBR = DRB / Minutes

3PA / FGA : self explanatory


uPER : -260 + 850 3PA / FGA + 4800 3P% + 750 2P% + 90 FT% + 110 FTA/2PA + 390 B% + 450 S% + 570 ORBR + 250 DRBR

PER = uPER / (avg uPER) * 15

This should result in an average of 15, the EWAs and baselines by position may need change later, but for now, leaving the replacement PER at around 10 makes sense.

Being a relative novice to javascript, I've made my changes, but we'll see if they crash or not.

Here we go:

>npm run build
and
>npm start


Running a month, I noticed all PER was being set to 0.

After debugging, It looks like there's no Three Point attempts stat being carried over.


We can run another model, and do 3 per FGA, 2 per FGA and FT per FGA, instead of using the per 3pa or per 2pa stuff.

A lot of the P values seem even stronger in this model:

Intercept -51.94 10.54 -4.93 9.7E-07
3P/FGA 21847.30 327.85 66.64 0
2P/FGA 983.33 49.26 19.96 8.75E-75
FT/FGA 473.10 36.41 13.00 9.04E-36
B% 364.34 32.83 11.10 4.72E-27
S% 457.75 26.64 17.18 4E-58
ORBR 529.70 36.80 14.40 8.26E-43
DRBR 257.49 12.53 20.56 1.65E-78

So, I will do:

uPER = -50 + 22000 3P/FGA + 1000 2P/FGA + 480 FT/FGA + 360 B% + 460 S% + 530 ORBR + 260 DRBR

Building and trying once again:

It worked! Or at least the PERs are not 0.

Let's test with Katie Jones, a PER leaderboard entry who is a Big (Wo)Man, and Leo Howe, the current PER 2nd place, EWA first place leader

Jones: 52.4 min, 3.6 FG, 28.8 FGA, 0.1 3P, 2.0 FT, 6.6 ORB, 19.9 DRB, 2.8 S, 2.7 B

Howe: 70.6 min, 2.8 FG, 30.4 FGA, 0.3 3P, 2.9 FT, 0.8  B, 4.3 S, 5.6 ORB, 14.5 DRB

Jones uPER: 498.6116
Howe uPER: 503.5859

Jones: 33.7
Howe: 34.1

So the scaling factor is around 14.76 uPER per regular PER.

It looks right!

EWA is also looking right. It is calculated based on PER and minutes played.

Offensive Wins and Defensive Wins are still screwed up, but I don't think those affect player valuation the same, so I can worry about that later.

Time to start a new league with the new valuations, but that's for another post.