danieloaks / boken2-rpg Goto Github PK
View Code? Open in Web Editor NEWAn RPG engine where you can travel around, interact with NPCs, and create worlds with words
Home Page: https://boken2.pixienop.net
License: ISC License
An RPG engine where you can travel around, interact with NPCs, and create worlds with words
Home Page: https://boken2.pixienop.net
License: ISC License
We need to have two separate versions:
This being updated means that Boken2 has changed internally, and we need to rework data to match. Maybe we changed how we store locations or something else. These updates are written by the engine devs, and interact with the store directly.
This being updated means that the game has changed, perhaps they renamed an attribute or combined a few perks or done something else. These updates are written by game programmers, probably just give 'em a textbox and ask them to type in code... Not nice but honestly given how much can change it's probably the only way to do it. Probably best to only let them use the mutations/getters that we expose to do this, rather than letting them have at the store directly (because the layout of that will change significantly under the hood.
We can use https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit for a lot of these, falling back to https://docs.google.com/spreadsheets/d/135HgMYcRDt6vnJN0d-xFMEZUeWjVbc61ETf8uVwHERE/edit as we need to
Pretty self-explanatory, every button should have a keyboard shortcut
We should be able to play with only a controller
key:values stores:
data-store is json. when you insert a value, that value gets put through valueInDatastore = JSON.parse(JSON.stringify(value))
to ensure it actually can survive the process -- if it can't then it'll break right away when it's used next rather than only breaking after saving and loading a save-file (because that would be hell to debug).
do we need any other stores? how does this work with editing game and all? map out how this works in a normal game-playing flow, while developing a game, etc.
When players start a new game, show them the default new game flow (set of screens where they setup their character). The game can also specify a pretty character-creation path, basically a list of mainContent text, and on each page they can choose which element of character creation to show there, e.g. something like:
"text": "Welcome, traveller, play tell what is your name?",
"charCreation.showName": true,
We need to add a separate order list for Attributes and for Stats in gameData
, because JSON objects are inherently unordered.
every time I try it spits this out at me on the build stage:
Module not found: Error: Can't resolve './assets/buttons/game-editor.svg' in '...\boken2-rpg\src\pages'
so I can't use relative paths for my assets. when I really want to, because relative paths are great. there's like two separate places to configure webpack/vue-loader/etc to ignore this stuff and I've tried both and neither are working for me. get out of my src=
URLs vue-loader+webpack for the love of christ, no, bad build helper.
If we can skip tiles, why not do it? Especially for bigger maps
"Stats get calculated from the player's level, attributes, items, and perks" - but how? Just typing in a string could work, though I really wanna avoid having to do eval()
calls or something similar. Maybe look for inspiration from the dice roller goshu bot, see if I can use some similar lang-parsing methods?
We only need to 'calculate' the base value, that is Level + Attributes
- items and perks will get their modifications applied in the Vuex store probably as a list alongside each stat on player.stats
Can we push text directly to NVDA/etc? When using a screen-reader, we might want to act as much as possible like a text adventure, perhaps...
Resources:
https://stackoverflow.com/questions/58368101/how-can-i-get-a-screen-reader-to-stop-treating-an-html5-game-like-a-document
http://www.blindcomputergames.com/howto/howto-screen-readers-design.html
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA
https://developer.mozilla.org/en-US/docs/Glossary/Screen_reader
https://a11y-guidelines.orange.com/web_EN/exemples/speak/index.html
When I'm testing this, eyes closed + NVDA and make sure I'm able to navigate everything appropriately.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.