Code Monkey home page Code Monkey logo

bybe's People

Contributors

rakuja avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

bybe's Issues

Creature locale

Many users requested to generate creature based on a locale and, if possible, have some kind of relationships between creatures (ex vampire and vampire spawn). The latter one is not a necessity, as "family" and "traits" could already be enough

Transition from redis to sqlite

Redis was used for four main reasons:

  1. Ease of use in python
  2. Original bestiary was only a key: value store, it did not require filtering at first
  3. Fly instance allows only 220mb of RAM for the basic tier, python would eat up 180-200mb, leaving no ram space for any db. Now that we (we=Rust) optimized the structure and use only 80mb, we have space for a sqlite db.
  4. Possibility of different shards in different locations, reconciliation, etc..

This will improve latency (local db), remove ugly sanitation code when converting from json array to array of strings.

Future proof sql queries

&format!("SELECT * FROM source_table INTERSECT SELECT source_id FROM SOURCE_ASSOCIATION_TABLE WHERE creature_id == {}", raw.id)

This is a SQL injection waiting to happen, right now there is no risk thanks to the type system and controlled flow, but in the future it may become a problem

Implement weak/elite on encounter generator

When randomly generating an encounter, if the generated enemy is level 2 we could fetch an enemy of level 2 or instead an elite level 1 enemy or weak level 3 enemy. This would increase exponentially the permutations and avoid a lot of empty results

Implement trait

Right now, the "fey" "undead" etc filters cannot be applied because there is missing information about the traits. Implement traits, both in the encounter generator as filter and as the field of a creaturer

Random encounters generation fail with min & max filters

When applying a filter with min = 1, max = 1
and a party of 5 adventurers with level 4, the encounter builder fails to generate a valid encounter.
This is a strange behaviour, because with a party of 4 and level 4, it generates correctly.

Add new filters

The encounter builder should offer more filters options: Type of fighter (melee/ranged) (caster/not caster)

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.