Comments (3)
Requirements
- Takes character ability stats and other character attributes
- Players need to be able to store, upload, and edit multiple characters
- Character sheets need to be publicly visible (either to everyone, or to a select group of users - e.g. friends list)
- Stats need to track automatically based on player input and calculation rules from the rulebook (e.g. class and race abilities, modifiers with and without level, icon relationship roles, spell usages)
- Uses dice rolls to generate stats for characters and return results on actions (e.g. attacks)
- Can group multiple players under a campaign (with one player designated as a GM)
- Items, spells, etc need to be assigned attributes (e.g. bonuses to ability stats
Questions
- How many characters can a user create?
- What sort of frontend should this have?
- Where will the data be stored?
- Will a GM be able to change anything (either in the characters or overriding the rules)?
- Will users have a friends list function?
- Will this have user accounts? How will they be created and authenticated?
from playerstoolkitfor13thage.
Design
Structure: Class Library, initially with Windows Form application for proof-of-concept, later ported to website
Data: SQL
Users: Initially one per application, later multiple users on website
Key concepts
- Web hosting
- SQL
- Custom Events
- Error Handling
- Interfaces
- Random number generation
from playerstoolkitfor13thage.
Class structure
Character
- Character name (string)
- Character ID (int)
- Player (User)
- Character race (CharacterRace)
- Character class (CharacterClass)
- Ability stats (List<AbilityStat>)
- Attributes (List<Attribute>)
- Icon relationships (List<IconRelationship>)
- Backgrounds (List <Background>)
- Feats (List<Feat>)
- Talents (List<Talent>)
- Skills (List<Skill>)
- Spells (List<Spell>)
- Items (List<Item>)
User
- Username (string)
- User ID (int)
- E-mail address (string)
Campaign
- Campaign name (string)
- Campaign ID (int)
- Players (List<User>)
- GM (User)
from playerstoolkitfor13thage.
Related Issues (12)
- Create basic character handling and calculation
- Extend items, spells and other abilities to objects
- ToolkitLibrary is a .NET Standard project, but other projects are .NET Framework HOT 1
- Decouple unit tests from classes
- Add SQL storage
- Add randomisation HOT 1
- Add SonarQube to project
- Extract validation logic from form layer to class library HOT 2
- Change use of uint to int with validation HOT 2
- Improve test coverage for DataAccess classes
- Add WebUI for characters
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from playerstoolkitfor13thage.