This repository has been archived on 2021-12-21. You can view files and clone it, but cannot push or open issues or pull requests.
Bookworm/README.md
James deaf4426aa AI Rundown Re-Format & Shadow Marisa
+ Reformatted the AI Rundown
+ Added Shadowmarisa as a constant threat
2021-11-08 10:39:22 +00:00

9.6 KiB
Raw Blame History

Bookworm

Created on 09.04.2021

James James Things

Overview

A Stealth-Based steal game

Goals

  1. Learn how to make NPCs
  2. Learn how to create randomly generated levels
  3. Advanced interactivity with the User (With quick time events or other animations)
  4. Inventory Space
  5. VOLUMETRIC FOG

Specifications

You are Marisa Kirisame, a Magician with a thirst for books. The Library of the Scarlet Devil Mansion is an endless Maze of Bookshelves and Traps, which you try to navigate through and steal some books.

The goal is to get the most Books with the most value out of the library without getting caught

The Level Generator

Generator rundown:

  1. Spawn Phase
    1. Create a preset room with walls and 4 doorways. Needs to be square.
    2. Populate with corner variations
    3. Define 4 “Exit” markers at each Door, those have the doors parented.
    4. Define Spawn Markers for spawns, bookshelves, hazards, and obstacles
    5. Create different materials for each sublevel
  2. Generator Rundown
    1. Generate the base Room
    2. Generate interior
      1. Generate the Corners
      2. Generate Item Displays, depositing areas OR hiding places
      3. Generate the Bookshelves
    3. Check the room list if adjacent rooms are existing
    4. Generate Doors according to how many Doors are calculated in the room

Scored Books

Spell Books (Gold) 20 Points

  • Spell to Mark a location
  • Spell to gain invounerability for a certain time (sun?)
  • One-shotting attack spell

Astronomy Books (Purple) 8 Points

  • Strong Star Based attack
  • Spell to reveal enemies
  • Spell to brighten the area

Mystical Book (Blue) 3 Points

  • Spell to clear FOG
  • Locking spell
  • Light attack spell

General knowledge (Gray) 1 Point

  • Makes funny noise

Enemies

THERE IS ALLWAYS ONLY ONE ENEMY PER FLOOR

Patchouli Knowledge (Active after 1 Minute of stealing the first book or after stealing 5 Books)

She is the one hunting the player. With every Book she gets angrier and thus faster, casting spells to stop the player from taking the books. She isnt too quick and gets exhausted quite easily after chasing the player for a while.

Koakuma (Active after stealing 70 Books)

Annoys the player and alerts patchouli on the Position of the player. Can lay traps and laugh at the player, one he fell for one

Sakuya Izayoi (Active after stealing 30 Books or reaching layer -2)

Wanders about, trying to find the player, Once found the player will be constantly harassed by quick time events, from Knives, that are being thrown at the player. She can be distracted by breaking flower pots, creating puddles, or otherwise dirtying the environment.

Getting hit by a dagger slows the player down, after being hit 5 Times the player gets pinned until the daggers have been removed and the slowdown effect is permanent. Patchouli will be alerted once the player has been pinned

Flandre Scarlet (Active after stealing 100 Books, or reaching layer -5)

Attacks from the distance. She can be avoided by hiding. Being playful makes her more cheery, trapping her, or somehow else making her uncomfortable angers her. After getting too angry, she can one-hit the player until she calmed down LAYER REWORK: //Maybe you can bribe Remilia to calm her down?

Remilia Scarlet

Mostly watches, maybe at some point she will jump into action or is able to calm Flandre

Clownpiece

On her own accord, wandering through the maze, because... Just because. Can be kicked out if found by Patchouli. Looking at the torch starts a timer

Nazrin

Will trade in her little shop. Sometimes seen around the map stealing dropped items

Shadow Marisa (Active after stealing 500 Books or reaching layer -5)

Steals marisas Items and is a CONSTANT THREAT. Can be eliminated for 3 Rooms with the sun Flashlight.

Controls

“WASD” + MOUSE (Movement) “Q” “W” “E” “R” “A” “S” “D” “F” “X” “C” SPACE (Dodging buttons) “Left Click” (Main Item Interaction) “Right Click” (Alternative Item Interaction) “Left alt” (Sneaking) “Left shift” (Sprinting, blocks item interaction and sprinting) “E” — Pickup / Interact “F” — Sunlight lamp

Hiding Spots

Hiding spots allow the player to store Books to get them afterwards

Drop-off points

Certain points in the map, where the players can drop their current items

Items

Sunlight lamp

Clears the (volumetric) fog, but gives away the position and pisses off the vampires majorly

Sake Bottle

Besides being able to throw the bottle to create a distraction, (Audio for every enemy, a dirt spot for Sakuya) the user can also drink the bottle and gain immunity for some time. But you're drunk for a short amount of time. That wobbles the screen and makes movement a bit wonky.

The F3 Key

Shows the current room's coordinate, 100% not a reference to Minecraft.

The Compass

Shows a compass at the top of the screen, allowing the user to get a sense of direction.

Maidens Pocket Watch

When cleaning, the player can sneak up to Sakuya and steal her pocket watch. (That needs to stay a secret, tough) Using the Pocketwatch allows the player to slow down everything. Marisa can move at a normal pace though.

Todos

  1. Room Generator
  2. Bookshelf Generator
  3. The First Level
  4. Filling the bookshelves
  5. Leaning ability
  6. Dashing ability
  7. A Shop Room
  8. Drop-Off spawnpoint
  9. Hidden Bookstorage
  10. Exit Hook
  11. Enemy Spawnroom
  12. Open Door actor (which can be closed)
    1. Need to listen for Patchoulis Earth Magic
    2. Need to listen for Traps, setup by the player

AI rundown

//Really liking this one!

  1. Sakuya AI - Active
    1. Movement
      1. Roams in medium speed
      2. Needs to stop at certain Points of the map to clean
      3. Gets distracted by breaking things.
    2. Attacking
      1. Direct attack
        1. Closes in on the player
        2. When near enough, fire 5 sets of daggers, triggering the dodging Process. Afterwards she will begin her re-activation period
      2. Pinning
        1. After loosing the last life by the dagger, the player gets knocked prone.
        2. Sakuya positions above the player, begins stabbing them, again with qicktime events
        3. Missing one of those QTE results in death.
        4. Succeding on the QTEs shoves Sakuya away, sets Health to 1 and she will start her re-activation period
    3. Re-activation
      1. Return to the Spawn room
      2. Wait for ~1 Minute
      3. Return to Movement

// THIS IS NOT GOOD!

  1. Koakuma AI - Active
    1. Movement
      1. Roams quickly
      2. Hides occasionally if she has no books
    2. Attacks
      1. Tries to drop Books onto the player
      2. Throws last books at player
      3. Then returns to any bookpile to "restock"
    3. Re-activation
      1. Moves to any hiding-book-pile
      2. Restocks for 10 seconds
      3. Return to movement

// Could be fun. Needs to be tested throughfully.

  1. Patchouli AI - Active

    1. Movement
      1. Wanders slowly
      2. Listens to stealing of Books and goes there
    2. Attacking
      1. Uses diverse Spells
        1. Water Spell, slowing the player when hit
        2. Fire Spell, Damaging the player
        3. Earth Spell, Blocking the players path
        4. Wind Spell, Propells herself forward
        5. After casting 3 spells, patchouli gets exhausted and goes to the Re-Activation stage
    3. Re-activation
      1. Move to any chair in the level
      2. If no chair is found, return to the enemyspawn.
      3. On chair, take a ~2 Minute break.
      4. At enemy spawn, take a ~1 Minute break.
    4. Multi Enemy Round
      1. When other NPCs spot the player, they report the position to her;
      2. she then moves to said position
      3. When getting to close, she instakills the player, using some iron maiden coffin spell or so.. i dunno, is the first thing that came to mind. //WTF James?
  2. Flandre AI - Active

    1. Movement
      1. Extremely High Speed
      2. Can be distracted with dolls and other toys
    2. Attacking
      1. Attacks with either quicktime events or spells which need to be physically dodged
    3. Can only be stopped by finding Remilia on the map
  3. Nazrin AI - Passive

    1. Itemstealing
      1. At first she roams the dungeon, trying to find the Item in the Itemroom
      2. If she found the item, she carries it slowly to her shop
      3. If the player catches her, carrying the item to the shop, they can steal it from her, but her prices double for the current floor
      4. If she gets to the shop with the item, she puts it up for sale.
    2. Summoning
      1. If the player rings the Bell in her Shop, she get automatically teleported to the shop, and serves the player.
      2. If she carried an Item whilst summoning, she will place the Item on the counter directly.

//Possibly my favourite, can catch new players off guard, once active.

  1. Shadow Marisa AI
    1. Movement
      1. Always lurks in the shadows
    2. Attacking
      1. Lurking within a Bookpile. Attacking them when not cautious
      2. Fogging up the doors with scarlet mist; Youre unable to see, what lies ahead.
      3. Jumpscaring near bookshelves
    3. Stealing
      1. When the player has turned their back towards her, she can fly past and snatch a random book from the player.
      2. When cought she instantaniously retreats back into the shadows (or the wall?)
      3. Shining the Sun Flashlight at her, makes her disappear for 3 Floors

Nazrins Itemshop

* Players can trade books for Items
* Sells 2 Different Items