Early Game Dev: Moderation

Tags

, , ,

Back in the day this was actually a decent chunk of what online moderation jobs involved: I worked for a major AAA console company and I basically just played games looking for aberrant behavior – dicks in player-made content, map hacking in shooters, rude behavior in co-op games.

And there’s a reason people see that early 2000s era as a golden era of online play: it’s because there were dozens of us around the clock working to moderate. It wasn’t farmed out to folks adhering to metrics, it wasn’t AI, we were actively playing the games and even infiltrating hacker clans to figure out how exploits were happening. When people were ragequitting or spamming insults? There was a chance we were either playing that game or spectating it (depending on mod tools) and looking up their report history because that was our job, and that player was likely banned that same night. We’d celebrate whenever we found a repeat offender we could ban – the “ban process” was quite hallowed and exciting.

As mod tools became more sophisticated, our interaction became more observant – at the time I was working, this was becoming clear. Some games had no mod tools, whereas some were developing full mod spectator options….and it’s interesting that once they could remove mods from actual gameplay it quickly made this jump to just having mods read reports. Reading reports was definitely part of our job before this, but it shifted from watching for trouble to reading about trouble and watching them in game or checking our their player created content to basically confirm the behavior, but within a few years after I moved on from that role everything started getting fully automated. And then after that it became fully outsourced. I don’t think my former job even exists in America, despite it being a rather huge department at the time I worked there.

As a sidenote: It was the “fucking best job ever lol”, but it also broke me. Yeah, I got exposed to some horrific shit on a daily basis (and I’m glossing over some of the darker sides of the job, because who wants to hear about things like CP, death threats, extreme racism, extreme gore, etc), but I also got to play games so much that I could set SMGs in shooters to single shot fire for headshots (because we also low-key did QA/feedback work). Being a woman was an extra level of “oh god” to it all. There were times where it was fun af, but most of the time we were being clockwork-oranged to the worst part of the player base for 8 hours at a time.

Also the shift was graveyard :/

A fun blurb of roleplay that’s definitely not about butts

Tags

, , , , ,

I wanted to make my donkey go away all cool like, so I thought I’d like…kick it to shoo it off…
You leap into the air and launch a flying kick at a donkey.
You have scored an ANNIHILATING CRITICAL hit!!!
Damage done: 1500, blunt.
A grey wolf springs to a donkey’s defence.
A venomous forest snake springs to a donkey’s defence.
A cunning red fox springs to a donkey’s defence.
A small, brown lemming springs to a donkey’s defence.
A grumpy badger springs to a donkey’s defence.
An ebony raven springs to a donkey’s defence.
A gossamer butterfly springs to a donkey’s defence.
The final blow proves too much for a donkey, who expires, pitifully.
You have slain a donkey.
A donkey, your loyal companion, has been slain by Moirean Seirath.
A rush of energy fills you as you feel ready to deliver a devastating blow upon your next target.

You say, “…damnit.”

(Market): You say, “Seeking someone skilled in the arts of donkey revival.”

Ison tells you, “((oh geez, what did you do now))”

Darliea tells you, “I assume you don’t mean something akin to “slice up its organs and place them in a jar”.”

You sniffle softly.

Amara peers around herself in confusion. “Who is that crying?” she asks with a frown.

With a hiccuping cough, you say, “Can you bring Trouble back?”

“Trouble?” Amara asks, plainly not understanding. “I can… try… but why would you want trouble?” she blurts.

You have emoted: A cloaked figure pushes the corpse of a donkey close towards the tear, the dead beast’s hoof dangling woefully down to splash limply at the water. She scoots along beside him, her hood falling away to reveal mournful, Impish features.

Amara finds the usual placid expression on her face crumbling into sadness as she watches you try to ress the limp creature. “Oh dear,” she breathes, plainly sympathetic. “May I see him? I cannot promise anything, but I am most certainly willing to try,” she offers with a sad timbre to her voice.

You have emoted: Softly stroking the dead donkey’s mane, Moirean blinks up at you through red, swollen, tear-filled eyes. “My ass is Trouble,” she explains, underlining her words with a loud, honking sniffle.

Amara blinks and makes a rather odd choking noise while extending her hands toward your ass and explains gently, “I will have to touch it to try to fix it.”

You have emoted: Moirean bends down onto her knees and tries to push the donkey towards you, both hands pressing against its haunches as she puts her whole weight into moving the creature. Her feet dig furrows in the damp grass and she eventually gives up, breathing deeply as she slumps over the slain corpse. “You might need to get close,” she explains, wiping at a dribbling trail of snotty tears (it only smears them more across her face). “My ass is too big to move, I think.”

You have emoted: Moirean bursts out bawling, eyes squeezing shut.

Amara offers the bawling you a quick and somewhat leery pat of comfort, her hands moving quickly toward the dropping thing. “Here, let me, your ass is not so big…” she offers agreeably, kneeling down to be within reach.

You have emoted: Her sobs only increase in volume at the touch. “It is!” Moirean wails, tears streaming down her cheeks. She hiccups again, and coughs, shaking her head. “No,” she objects to herself. “WAS. Big enough for at least three to ride, but now…”

With a more quiet whimper, you say, “….broken…”

“Miss Moirean,” Amara interrupts with no small measure of empathy in her voice. “I can assure you that your poor, broken down ass is… WAS… not too big for me to handle!” she finishes quickly, hoisting the ass in question with all her strength as she struggles to stand beneath its barely-bearable weight.

Amara sways on her feet, her stature somewhat diminished by the sheer size of your ass.

You have emoted: Moirean gasps at your sudden movement, sitting back on her heels and wiping at her tears with dirt-smudged hands. “You sure you know how to handle an ass?” she asks, watching nervously as your weight shifts.

Amara grunts, nodding her head. “Your ass is… safe… with me!” she groans whilst her knees almost buckle. Somehow, she manages to gather the light of healing within her overladen hands, running them gently over the limp, droopy ass, attempting to restore firmness and life, but nothing seems to happen.

You have emoted: Moirean frowns as she watches, biting her lip. “Is it tapped out?” she offers, attempting to be helpful, as she gestures vaguely behind you. “Your devotion….”

“I may not have enough to tap this here ass,” Amara admits, sounding defeated, her words punctuated by the panting of her strenuous efforts.

You have emoted: Your words prompt another round of tears from Moirean and she softly, mournfully mumbles, “That ass. That ass.”

You have emoted: Moirean bows her head and pulls her knees to her chest, curls obscuring her face.

Amara groans as her hands flare with the last bedraggled tendrils of devotion, but just as quickly they fizzle out. “I.. I am so sorry, Moirean. This has never happened to me before,” she mumbles, embarrassed at her premature finish which fails to evoke the merest twitch from your ass. She sinks once more to her knees in humble defeat.

Words muffled by her sniffles, you say, “My ass is grass. Dust. Bones.”

Turning away, you say, “Thank you for trying.”

“Moirean, we can get you a new ass. A better ass. A stronger ass. We have the means,” Amara offers softly.

You have emoted: Moirean shakes her head, replying, “I think I want a pony, instead.”

Why do you make games?

From a reddit post: https://www.reddit.com/r/gamedev/s/oJdfbdvF6u

I’m a writer and I think games create more immersive ways to give that emotional moment that I aim for in writing.

To me, making games is about making that perfect moment which places you somewhere emotionally ala Ratatouille. I want people to experience an entire concept.

For example, Succor is focused around moments of emotional catharsis. It’s maybe even triggering (hence splash warning) for people not in the right head space.

Manu is probably a good intro to my “feel” of game design, which I am still developing.

Arcbow Anthology is my latest and uses UI a ton to help set the scene.

Is it impossible to get a game fully balanced?

Tags

, , , , , , , ,

Taken from this reddit post: https://www.reddit.com/r/gamedesign/s/bNQIC5H2TG

Short answer: Yes, it’s impossible for perfect balance, but you strive for “best in the moment” and ideally back it up with tools to make testing for that a lot easier

Long answer: soooooo, I’m a very old school gamer and my main multiplayer game genre was MUDs – these were the text-based precursors to MMOs, and these games still have some concentrated player bases in a few corporate companies (IRE and Simultronics). I was also one of the “big” players, which basically translated to free dev work on my behalf.

I work in QA and so I would run the initial QA pass for balance changes. I would assess to find the potential OP combos, edge cases, unexpected interactions. This was all done on a test server which mirrored attributes of live and also let us custom create characters for the specific thing we were testing.

From there, changes went to the “liaison group” which was an IG role where the top fighters from every class basically had a combat council to discuss the game meta. We had a pocket realm we could use in game where we could teleport in, adjust stats, equip everything in the game, etc. This let us easily setup situations for testing the crazy combos we dreamed up – instead of just mental/pen and paper we could tweak stuff to test specific circumstances.

Every few months, we’d also suggest combat changes. Normal players could also submit ideas, which we could support for higher level discussion and review. We’d review all the submitted ideas and comment on them. We used both asynchronous communication (comments on submissions) and synchronous communication (chatting in a chat channel in game).

This system had its good/bad.

Good:

– the people discussing balance knew the actual gameplay impacts incredibly well.

– the suggestions for potential solutions were made by people taking into account combat balance, lore, theme, etc

– crazy math at the drop of a hat to prove points

– directed and edited pipeline to devs

Bad:

– selection process for these players wasn’t always great. In one game, for example, it was a guild role, so I became liaison for a dead guild simply because I was the only person who fought…even though I had been playing less than a month

– personal bias: players were always loathe to nerf their own class, even if they knew it was OP and nerf/buff selection sometimes ended up quite political. We’ll agree to x nerf if you agree to x buff. I became briefly both hated (by allies) and beloved (by enemies) because I submitted an idea to fix a way my class was OP

– admin tension: This role/communication channel was really in touch with admins and if an admin didn’t like a player (hella common in MUDs) everything broke down

– in-game harassment of liaisons: this was common enough that I need to call it out. People would harass to try to engineer the results they wanted.

Sorry, rambled a ton, but I think there are maybe some helpful takeaways there!

I can talk more about this if you have any questions! When I worked on Age of Empires, for example, we had one of the top ranked players in the world as part of the test team – his role was just to try to APM break shit and find basically skill ceilings to help the devs balance downwards.

The concept of balancing downwards is something that I think can really help game dev – it establishes a maximum QA boundary and then all testing never has to deal with that max limit! If the best player at your game says xyz is max potential combo, you don’t have to edge case all these weird potentials!

Oops, this song has become genocidal…

Tags

, , ,

So, I’m playing with different AI tools – as a QA professional, I find this a fascinating new horizon for QA so I have been testing a lot to learn how all the different tools work.

So, here’s a fun example of how things get quickly off the rails (but kinda appropriately?).

This song is based on my writing from an online game where there was a god of Silence/Night/Basically emoapathy.

Here’s the original text, updated to include voice direction. I was young. Shut up, yes, I know it’s super emo:

[Penitent]:
Lord of Silence, in the night
Help me now, in my plight
The pinch of hunger, pull of want
The ghostly fingers of darkness haunt

Long I’ve shivered, alone and cold
Long I’ve longed for one to hold
Lord of Dreams, far removed
Are you tacit, are you unmoved?

[God response]:
Little one, why do you cringe?
The stroke of shadows will not singe
Why do you fear Mother’s might?
Softly, feel the touch of the Night
Feel the gloom and feel the chill
Feel the blood pulse in a thrill
Darkness falls across the land
But Night holds you in her hand

[Penitent]:
Lord of Silence, in the dusk
See me now, all is adust
Gloaming falls, light grows dim
Darkness plucks and sight wanes grim
Long I’ve drifted, hounded by fate
Long I’ve kept the eve at bay
Lord of Silence, watching all
Observe me now, in my fall

[God response]:
Little one, wandering blind
Know you not all is entwined?
Why do you shrink without sight?
Softly, look within the Night
See the shadows, see them writhe
See the absence of harsh light
Beauty springs at every view
Look within and find what’s true

[Penitent]:
Lord of Silence, in the still
Hear me now, hear my will
Quiesce plagues my thirsty ears
Quiet dogs and bites my fears
Long I’ve been lost upon my way
Long I’ve wandered as a stray
Lord of Silence, from the Void
Save me now, lest I am destroyed

[God]:
Little one, deaf to all
Can you not heed My call?
Hush, and cease your strangled fight
Softly, listen to the night
Hear the whispers, hear the song
Hear the thrum of murmured throngs
In the depths of unspoken words
Silence reveals the unheard

[Penitent]:
Lord of Silence –

[God]:
Loyal one –

[Penitent]:
Take me home….

[God]:
You’ve already come.

Now here’s where it gets fun. The [text] are supposed to be prompts for Suno to dictate individual song composition.

Somewhere between my lyrics and the implied prompt of “be a god” the AI thought it was appropriate to sing about “death to all” which should probably be hitting a guardrail!

3:05 is when we get this.

Thinking lyrics contributed to this.

Not up for a deep dive ATM, may revisit later, but found this amusing.

Getting into game dev as a writer

Tags

, , , , ,

I used to write a bunch for MUDs, and a few years ago, I decided I wanted to try making my own game. I started as a writer/QA/project management for my first few game jams because I was struggling to create something fully on my own.

This hybrid “help as needed” role let me get hands on experience and showed me a deeper look behind the scenes of how games are made, without being overwhelmed by all the setup needed to get my hands in the mess – I had previously been daunted by the basics of just setting up engines and SDKs and CLIs and virtual environments and all that stuff.

This was the result from the first game where I did design/heavy writing focus and no code: https://misc-mike.itch.io/bookworm


We had envisioned something impressive with the player changing the story, but as development continued we learned about scoping and timelines: our coder ran out of time, so I focused on finding us public domain images and twisting together a concept of a thing that would work with the functions we had coded. The result is kinda cute.

From there, I tried out making my own games using a range of different engines which focused on text-heavy development:

  • Twine: webdev (eg CSS, html) for interactive hypertext
  • Choicescript: uses very basic scripting for interactive cyoa novels
  • Ren’Py: uses python for visual novels
  • Quest and QuestJS: for text adventures
  • Adventuron: designed to teach children how to code via making text adventures

This is not an exhaustive list – https://intfiction.org/ is a great resource for even more options such as TADS.

Twine resonated quickly with me as I used to make websites and skin forums back in the day. The concept is overall very similar to building a website, so I found it easy to use.

I went on to make my own game for my next jam, a crazy experiment in procedural language (every dev has their dragon MMO moment) called reMemory: https://loressa.itch.io/rememory

The devlog for that has some good info about CSS – I learned a ton and it’s frankly kinda insane and awesome that I was able to produce that (even if it’s a mess) for the first thing I made in Twine.

For pure writers, I’d personally suggest you try out Choicescript via Choice of Games – it’s easy to code and focuses a lot on writing. The code doesn’t need to be complex and the only images you NEED are static ones for the cover art. Don’t have to worry about music at all. Make sure to download the IDE – that means integrated development environment, and it’s basically an app to do the coding in.

You can even publish through them to an existing audience of people who like reading/playing interactive novels. I suggest trying out some of their games first to get an idea of the kind of game you can make as a solo text developer!

Be sure to check out the hosted games category – that’s how you’d be publishing a game if you make one through them. Even if your game doesn’t do well commercially, you’ll have a published portfolio piece, which can be used to leverage future writing work.

I’m currently working on two different choicescript experiments. One has an easter egg coded in for if you don’t properly pick a name for your player character – and, stepping back, how wild is it that I’ve gone from writing and trying to make games for other people to making my own stories I want to tell…and not just making them, but adding in secret jokes?!

It’s fun to step back and reflect sometimes, and I hope some of you reading this find some inspiration to try to create something yourself! 🙂

The Power of Pivoting

Tags

, , , ,

Writeup from making Delve

So, I’m working on a quick jam game and today I found myself absolutely bogged down trying to make a cooking minigame. I couldn’t develop the code well and the design was clunky and then I had this thought: what if I pivot into the clunky design to enhance the narrative? My game is, overall, about the story (point and click Twine game).So instead of trying to chug through and build a slick UI-based design for the minigame with timers and all that, I’ve focused on the narrative of being a line cook and the stress of incoming orders…I just decided to let the play experience be overwhelmed. The code became much more simple and the player instead deals with an increasingly impossible task of fulfilling those orders and gets narrative breakpoints every now and then based on their order backlog to enhance the frustration of being unable to complete the mechanic.

Basically the player has to pick a dish to cook based on a cooking surface (baked foods used the oven, fried food uses the fryer) and each food takes x amount of time to cook. I decided to just give the player a new food order every round, with cooking time set to multiple rounds, and when the orders reach a certain number they get a cutscene about how frustrating and unfair it is – my game is about the stress of jobs and working, so this ties back well to our core subtext.Now the player advances to the next round through being overloaded, which puts the emphasis on stress and frustration. The overall game experience, through a flawed minigame they can’t win, conveys the emotions I want for this chapter, and I’m able to make a quicker bit of code.

Where have you pivoted design in similar ways to work with code or enhance narrative?

Tip to level up your writing: play old text games

Tags

, , , , , ,

So in the very early days of the Internet, all games were merely text and symbols, which encouraged a rich community to form focused heavily on writing. Gameplay in these games focuses on written output and a night of gameplay may mean a bunch of different sessions of collaborative, improv storytelling.

MUDs: multi-user dungeons. Basically collaborative D&D. The focus is more on RPG/MMO style content where bashing and combat are just as importantly as story, though you can find some incredibly story-focused MUDs. I personally suggest Aetolia – not only is long-form roleplay (eg writing a paragraph at a time) the norm, they even have mechanics like a random RP roulette where you get paired up with someone in a room to just start writing at each other.

MUSH: these are similar to MUDs but tend to feature one-off overarching stories and more strict roleplay. Many players roll up a new character for a MUSH and play it until they die (where it’s mourned and deleted). These are more like D&D campaigns vs an MMO’s persistent nature you find in a MUD.

MOOs: this is heavily focused on story and often includes commands accessible to all users for lots of customizing characters and modifying environments. Yes, one of the coolest parts of text games is that you are basically acting out a screenplay and you can adjust the descriptions or room or clothing or character to reflect changes in in plot. MOOs focus heavily on letting players have just as much control over the game world as devs.

All in all, this genre is a goldmine for aspiring writers – it’s like a virtual writer colony where you will constantly bounce ideas off of others and learn new concepts to improve your own writing. I highly suggest giving this a check out of you’re interested in improving your writing and feel like you need more. It’ll also help you a lot with describing rooms, sensory details, dialog and emotes just from the gameplay.

Good follow up reading:

https://en.m.wikipedia.org/wiki/A_Rape_in_Cyberspace

Let’s get back to a better internet

Tags

, , ,

I’m back to blogging.

Why write so much on ephemeral forums or sites like Reddit when my words are just being used to make some company rich?

Why deal with the stress of metrics?

Why post in spaces which can be hostile?

Fuck that lol.

So here I am in 2024 back to blogging. All comments here are moderated – feel free to dive in and say something. Just be polite.