slanted-gamedev-toolz
v1.0.44
Published
A slanted mix of tools for your brilliant ideas in game design.
Maintainers
Readme
SlantedGameToolz
SlantedGameToolz is a collection of tools designed to be used in games made with typescript. UI components are rendered with react.
- These tools can be used in iOS and Android apps when built with Capacitor
- These tools can be used in PC and Mac apps when built with Electron
Tools
- dice
- weighted dice
- percentage
- React components
Components
ImportExportLocalStorage
- define
defaultData
use the save manager
<ImportExportLocalStorage defaultData={defaultData} />access data stored in local storage
const saveGameData2 = getDataFromLocalStorage(defaultData);OR
const isLoading = useIsLoadingLocalStorage();
const { setIsLoading, handleResetGame } =
useImportExportLocalStorageActions();
const { saveLocalStorageData, clearLocalStorageData, saveGameData } =
useLocalSaveData(defaultData);LocalizationSelect
saves the selected language in localstorage under key lagCode
- add
.pngimages to/public/flags/ - required files
en.png, de.png, es.png, zh.png, ja.png, ko.png, fr.png, ru.png, it.png, pt.png, hi.png

import { LocalizationSelect } from "slanted-gamedev-toolz";
function App() {
return (
<LocalizationSelect />
);
}
export default App;HexBtn
todo
SquareTileButton
todo
ImportExportLocalStorage
todo
Functions
Dice Utils
rollDice()A fair dice roll.rollLowWeightedDice()An unfair fair dice roll that is more likely to roll low.rollLowWeightedDice()An unfair fair dice roll that is more likely to roll high.
Array Utils
removeObjectsWithSameName()Removes objects from the first array if theirnameproperty matches any object'snamein the second array.randomArrayItem()Returns a random item from the provided array.
Number Utils
numberWithCommas()Formats a number with comma separators and optional suffixes for large values. Ex. 1,000,000(M)isNumberTooLarge()Checks if a number exceeds JavaScript'sNumber.MAX_SAFE_INTEGER.
Example Usage
import { rollDice } from "slanted-gamedev-toolz";
const outcome = rollDice(6); // roll 6 sided dice
console.log(`outcome:`, outcome)| Parameter | Type | Description | | - | - | - | | diceSides | number | sides on the dice |
| Returns | Type | Description | | - |- | - | | | number | the result of the dice roll |
Developer Instructions
To Publish:
- set version in package.json >
"version": "1.0.36" - run
npm publish
You want to contribute to SlantedGameToolz?
- Install the repo dependencies
- Render components
- storybook
yarn storybook - or
- Vite app
yarn dev
- storybook
- Make code changes
- Submit PR
From the root of the repo, open a terminal then run:
$ yarn installHow to publish to NPM
yarn build- bump version in package.json (ex: "version": "1.0.24")
npm publish
https://www.npmjs.com/package/slanted-gamedev-toolz
https://github.com/theslantedroom/SlantedGameDevToolz
