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

169 lines
6.6 KiB
Markdown
Raw Normal View 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.
1. Populate with corner variations
1. Define 4 “Exit” markers at each Door, those have the doors parented.
1. Define Spawn Markers for spawns, bookshelves, hazards, and obstacles
1. Create different materials for each sublevel
1. Generator Rundown
1. Generate the base Room
1. Generate interior
1. Generate the Corners
1. Generate Item Displays, depositing areas OR hiding places
1. Generate the Bookshelves
1. Check the room list if adjacent rooms are existing
1. 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
## 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
## Sunlight lamp
Clears the (volumetric) fog, but gives away the position and pisses off the vampires majorly
## Items
### 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~~
1. ~~Bookshelf Generator~~
1. ~~The First Level~~
1. ~~Filling the bookshelves~~
1. ~~Leaning ability~~
1. Dashing ability
1. A Shop Room
# AI rundown
1. Sakuya AI - Active
1. Roams in medium speed
1. Needs to stop at certain Points of the map to clean
1. Gets distracted by breaking things.
1. Damages with Quick Time Events
1. Koakuma AI - Active
1. Roams quickly
1. Hides behind Furniture
1. Tries to drop Books onto the player
1. Throws last books at player
1. Patchouli AI - Active
1. Wanders slowly
1. Attacks with spells
1. When other NPCs spot the player, they report the position to her; she then moves to said position
1. When getting to close, she instakills the player
1. Flandre AI - Active
1. Extremely High Speed
1. Attacks with either quicktime events or spells which need to be physically dodged
1. Can only be stopped by finding Remilia on the map
1. Nazrin AI - Passive
1. Itemstealing
1. At first she roams the dungeon, trying to find the Item in the Itemroom
1. If she found the item, she carries it slowly to her shop
1. 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
1. If she gets to the shop with the item, she puts it up for sale.
1. Summoning
1. If the player rings the Bell in her Shop, she get automatically teleported to the shop, and serves the player.
1. If she carried an Item whilst summoning, she will place the Item on the counter directly.
# Nazrins Itemshop
* Players can trade books for Items
* Sells 2 Different Items