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.
Go to file
James f9739b9ce1 Imported Google Doc and updated the TODOs
+ Import from Google Docs
+ Updated Todo
+ Updated AI Rundown (Inside Todos)
2021-11-08 08:24:35 +00:00
Config Major Feature drop! 2021-11-08 08:14:09 +01:00
Content Major Feature drop! 2021-11-08 08:14:09 +01:00
Plugins/ProceduralDungeon Major Feature drop! 2021-11-08 08:14:09 +01:00
.gitattributes Initial commit 2021-11-02 12:59:01 +01:00
.gitignore Initial commit 2021-11-02 12:59:01 +01:00
BookWorm.uproject Fixed spawning of item rooms 2021-11-04 18:31:45 +01:00
README.md Imported Google Doc and updated the TODOs 2021-11-08 08:24:35 +00:00

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

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
  2. Bookshelf Generator
  3. The First Level
  4. Filling the bookshelves
  5. Leaning ability
  6. Dashing ability
  7. A Shop Room

AI rundown

  1. Sakuya AI - Active
    1. Roams in medium speed
    2. Needs to stop at certain Points of the map to clean
    3. Gets distracted by breaking things.
    4. Damages with Quick Time Events
  2. Koakuma AI - Active
    1. Roams quickly
    2. Hides behind Furniture
    3. Tries to drop Books onto the player
    4. Throws last books at player
  3. Patchouli AI - Active
    1. Wanders slowly
    2. Attacks with spells
    3. When other NPCs spot the player, they report the position to her; she then moves to said position
    4. When getting to close, she instakills the player
  4. Flandre AI - Active
    1. Extremely High Speed
    2. Attacks with either quicktime events or spells which need to be physically dodged
    3. Can only be stopped by finding Remilia on the map
  5. 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.

Nazrins Itemshop

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