# february 2020: AI

march 1, 2021
I just feel like rambling about games.

## week 1, february 1-6

#design #localization #writing

### tuesday, february 2

- I miss programming at the library.
- I want to redesign my basic slime monster, but couldn't focus. Worked on writing events instead (meeting your first friend + the conclusion of the first boss fight)
- Worked on first non-tutorial boss's motives. They were cliche before and didn't really connect to the plot. Now, his backstory ties into other characters more and prompts a new questline. :)
- I used brainstorming advice from Diane Callahan - Quotidian Writer's video Writing Exercise: Fleshing Out Your Characters, starting at 5:01. To write how a character would react in a situation, she suggests making a list of 10 possibilities. Usually, the early items are obvious, while the later ones are more interesting. (Maybe that's obvious advice, but it helps me.)

### wednesday, february 3

- My Japanese translations have been reuploaded by several people without credit. I finally participated in something appreciated enough to be stolen lol.

### thursday, february 4

- Finished reading Robert Jordan's New Spring in The Wheel of Time series. It's the prequel oops. The Eye of the World is Book 1. I barely read widely-read books, so I felt like reading something that book youtubers talk about.
- Designed the slime's skills, state machine.
- In general, I'm working on a particular level of the game that would make for a decent demo: the Slime Kingdom. Depending on your actions, you may meet the Slime King, but I haven't thought of him beyond generic big ole' slime. Maybe he should be a slime boy.

### thursday, february 5

- Procrastination. Fixed lots of "known issues" that would confuse a playtester. The most exciting one to me is the language button. All the text changes immediately, no reloading necessary. I think I'll have a lot of writing in the game, so additional languages are a lofty dream, but having such a system in place allows for any kind of text changes. Now the text can change to pig latin or pirate-speak or the character can become dyslexic or something. Regardless, it forced me to move all the embedded text to a spreadsheet, so it'll be much easier to edit now.

### thursday, february 9 - second impeachment trial of the president begins (first time in U.S. history)

## week 2, february 7-13

#design #writing

### thursday, february 11

- Tried making a worldbuilding bible again. I can never format it in a way I like, though. I did draw some concept art of the Abyss with colored markers.

## week 3, february 14-20

#design #writing

### wednesday, february 17

- At one point, you befriend Rune, an exiled angel with a teleportation skillset. He's like a lost puppy, so he'll imprint on MC if she's kind to him. His powers provide a lot of opportunity for influencing events. If MC is teleported away suddenly, he can follow her. He can also travel and hide almost anywhere, so he would make a great spy.
- He reminds me of two other characters with travel powers.
- Gann of Mask of the Betrayer - Maybe it's because he's in a masterful game (definitely in my top 5), but he's kind of cute lol. If you chip away at his (absolutely obnoxious) exterior enough, he support the Spirit-Eater through anything. Since he's a dreamwalker and the campaign involves numerous lengthy dream sequences + visions, that means he can join what would have been solo missions for the Spirit-Eater. (Not to mention his stat bonuses are the best.) The game is hard, too, so his presence is a lifesaver. He also walks in Spirit-Eater's dreams, so he understands her in a deeply personal way. For a guy with deep emotional + personality issues, his loyalty (can you use that word with him?) + intimate connection with the Spirit-Eater is sweeter than it deserves to be.
- Strahd - Another D&D guy, coincidentally. I know him from the Ravenloft DOS games. (never got to play tabletop but once at a con ;-;) He has all sorts of extradimensional powers, so he can spy on the party from other dimensions. You can never really be sure when he's watching. That's honestly so creepy. Since he also employs lots of spies, you can never really let your guard down anywhere.

### thursday, february 18 - Perseverance Rover Landing on Mars

- I didn't get to watch, though, because every time I checked the news, they were showing the snow in Israel instead;;
- We got 5 inches of snow. Amazing! It only snows a few inches every 5-or-so years here.
- I wrote more events today (a popup petshop quest + a conversation with an archivist about the lost school of Chronomancy)
- There's lots of games with time-altering mechanics (Braid, SUPERHOT, Life is Strange,...), but I'm salty about Guild Wars's canceled campaign, Utopia. From my understanding, it was to introduce the Chronomancer profession, but because they would have to modify the engine so significantly to support it, they decided they might as well make Guild Wars 2 instead. So they scraped Eye of the North together from the remnants of Utopia and switched to seriously developing Guild Wars 2. Then, not only did they not release the Chronomancer for Guild Wars 2, they said they never would. Then they did anyways as some minor skill set for the Mesmer or something idek. It could have been cool, especially Eye of the North was excellent. But no. Instead, it was the impetus for yet another boring WoW-ripoff MMO where you kill everything by running around and spamming 1.
- If I put aside how salty just the word Chronomancy makes me, it's an inspiring concept. Doubtless one that's difficult to program, test, and design content for, but still.
- For instance, save scumming is a classic issue with gamers (similar to overusing wikis/walkthroughs). There's a lot of pressure to have a perfect playthrough and always win everything and always say the right things and always get lucky with RNG. Maybe through chronomancy, you could provide a mechanic-based way to basically save scum. I'm very interested in the idea of a skill that lets you redo the previous mission or start over from this morning. It would be easier to track and respond to skill usage than saving/loading, so you could work it into the challenges or story. Especially since a skillset that powerful would be highly controversial in-universe.

### friday, february 19

- Entities were based on hex, but it's confusing to know when the engine's recognizing them as string or ints. I changed them to color.
- Color can be more of a floating math-thing, so I hope that's not bad. I thiink the numbers will stay the same enough for ids, since I'm using hex and int comparisons.
- Since the colors are 6-digit hex numbers, I can't be as specific with each digit's meaning. Oh well. Only assigning meaning to the first 2-3 digits is probably adequate.
- Also, every object is now going to inherit from the "entity" that stores + compares ids.
- Worked a lot on slime AI - fixes, rewriting code, refactors. The hex stuff was to help the slime differentiate skills on his skillbar.
- Tried writing the event for the first encounter with rebel Prince Lotus. I really love Nocturne's candelabrum fights, so it took place in a pocket dimension prison that warps in the MC. I've tried writing his encounter a few times but am never really happy with it. I haven't designed the Abyss's resistance movement very much.

### saturday, february 20

- Website maintenance + article writing

## week 4, february 21 - 27

#ai #webdev

### sunday, february 21

- working on slime's AI a little bit more. It's not really using the Update() method from its current state.
- wrote some more bash scripts for maintaining the website.
- Uh, since when has the credits page been so messed up? It's just straight, unformatted text, and all the other pages using its CSS are fine.

### monday, february 22

- Still investigating why the loop within the slime's planning state doesn't behave as expected.

### thursday, february 25

- The slime's skills are always empty. The first two slots should have skills in them, though. I can't figure out why.

### friday, february 26

- The slime was randomly choosing an index of the skillbar, checking whether its skill was valid, then recursively calling the method again until a valid skill was selected. Instead, the slime now collects the valid skill indices, randomly chooses one, and extracts the valid skill.
- ...but no skills are ever valid.

### saturday, february 27

- Went on a cafe date with laptops. :) I haven't gone out further than the mailbox in 5 weeks (is that right?), so my productivity needed that so bad. Now back to indefinitely sheltering in place.
- During its planning phase, the slime chooses a valid skill to use.
- Characters were wiping their skillbar near the start of the game. No skills = no valid skills to choose from. I figured out it was because the skills didn't belong to any class...so when the skillbar rules were enforced, none of the skills belonged to the character's classes.
- The slime had a wait timer so it could attack a little before making a new decision. Now it uses coroutines.

## week 5, february 28 - march 6

#nothing

### sunday, february 28

- Completed my first translated volume of manga. :) Now to translate more things!