Giter Site home page Giter Site logo

radium-io / sanity Goto Github PK

View Code? Open in Web Editor NEW
18.0 3.0 0.0 11.31 MB

procedurally generated roguelike game written with rust and amethyst

Home Page: https://wastrel.itch.io/moonsanity

Rust 100.00%
procgen rust amethyst wfc wavefunctioncollapse pixel-art roguelike game game-development

sanity's People

Contributors

billyudders avatar ezpuzz avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sanity's Issues

story import format

community useable story format

  • should support "madlibs" style placeholders
  • should have "parallel" lore (so multiple lore can be placed on each level)
  • should allow formatting (maybe markdown?)

maybes:

  • associate particular lore with particular tilesets?
  • lore only available when crossovered with other storysets?

choose a fonts

need like a good few fonts

  • one old timey font for like old books and letters
  • one horror font for like demon scrolls and witchcraft necronomica
  • one sciencey font for like lab reports
  • one computer terminaly font for old 80s computers (have a source for this)
  • one lab report type of font

others?

ttf is good format for amethyst

sketch out room generation algorithm

so we want to generate dungeons of increasing sizes as we descend

each floor has some number of exits (depending on possible story hooks available/unlocked/by chance) and enemies should be weighted towards those on lower floor through that exit. e.g. more alien creatures en route to scifi exit.

so we need to create a tree with leaf nodes that are exits/lore/save with roughly the same distance from the root (which would be entrance). I think we don't need to have multiple entrances in to a generated floor, one should be fine. player will be unaware what they are on path towards other than changing monster composition.

nodes should carry weight associated with difficulty/size and then we can balance the branches depending on leaf. so save/lore rooms should likely have lower total weight than exit rooms. this should give a reasonable map.

so each Room node on the Level tree should have a weight calculated by difficulty and size. we can generate a bunch of freestanding Room instances and then do some sort of packing algorithm (but don't always want the biggest one at the start, so we can pack in largest first but then shuffle the order of the branch).

question: should relevant lore only be on path to that exit? (e.g. no horror lore on path to scifi exit?)

also earlier levels will have fewer total rooms.

spatial overlap is not important (doorways don't have to make spatial sense, rooms can overlap logically) -- maybe a powerup will make all rooms euclidean...

Hidden areas

Secrets are good, having false walls or hidden doors is scary

story format

community useable story format

  • should support "madlibs" style placeholders
  • should have "parallel" lore (so multiple lore can be placed on each level)
  • should allow formatting (maybe markdown?)

maybes:

  • associate particular lore with particular tilesets?
  • lore only available when crossovered with other storysets?

tilemap editor

a user friendly way to describe tiles in a tileset could allow anyone to share their tiles

  • need to name each tile (could use default names)
  • need a way to specify possible tiles that could connect
  • need to specify max size of connected tiles (for multitile sprites like statues or buildings or whatever)

Reduce rear visibility

Horror games usually have limited rear visibility

Vampires and stuff sneak up from behind

Maybe pick up item such as rear view glasses or mirror to see behind

Floors are missing

With tileset I found you can have 1x1 tiles or thin edge tiles or 2x2 tiles.

There are also floor decorations that could be under other decor.

Likely only want to spawn floor tiles on walkable area.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

cargo
editor/Cargo.toml
  • amethyst 0.15.3
  • rand 0.7.3
  • nfd 0.0.4
  • ron 0.6.2
sanity-bin/Cargo.toml
  • amethyst 0.15.3
  • direction 0.17.10
  • log 0.4.11
  • rand 0.7.3
  • ron 0.6.2
  • serde 1.0.117
  • wfc 0.9.2
  • bracket-pathfinding 0.8.1
  • strum 0.19.5
  • strum_macros 0.20.1
sanity-lib/Cargo.toml
  • amethyst 0.15.3
  • bracket-pathfinding 0.8.1
  • serde 1.0.117
  • strum 0.19.5
  • strum_macros 0.19.4

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.