A cross-platform interactive choice-based story application designed for children ages 8-12. Features engaging narratives, secure design, and responsive layout.
- Interactive Storytelling: Choice-driven narrative with branching paths
- Cross-Platform: Works on Windows, Mac, Linux, iOS, Android, and web browsers
- Secure: Input sanitization and XSS protection built-in
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Progress Saving: Local storage for game progress
- Accessibility: WCAG 2.1 compliant design
- Modern UI: Beautiful animations and smooth transitions
- Open
index.htmlin any modern web browser - Start playing immediately - no installation required
# Navigate to project directory
cd C:\Users\avsuun\dev-workspace\choiceStoryApp
# Install dependencies (optional for development)
npm install
# Start development server
npm run devchoiceStoryApp/
├── index.html # Main application file
├── package.json # Project configuration
├── README.md # This file
├── src/ # Source files
├── assets/ # Images, sounds, additional CSS
├── games/ # Additional story JSON files
└── docs/ # Documentation
- HTML5: Semantic markup with accessibility features
- CSS3: Modern styling with CSS Grid, Flexbox, and animations
- Vanilla JavaScript: ES6+ with classes and modules
- Local Storage: For progress saving
- Responsive Design: Mobile-first approach
- Input sanitization to prevent XSS attacks
- Content Security Policy (CSP) headers
- Safe innerHTML methods with validation
- Error handling and graceful degradation
- Chrome 70+
- Firefox 65+
- Safari 12+
- Edge 79+
- Mobile browsers (iOS Safari 12+, Android Chrome 70+)
Stories are defined in JSON format following this structure:
{
"game_title": "Story Title",
"start_scene": "SCENE_ID",
"scenes": {
"SCENE_ID": {
"title": "Scene Title",
"description": "Scene description text",
"decision_point": {
"prompt": "What do you choose?",
"choices": [
{
"text": "Choice text",
"consequence": {
"description": "Result description",
"next_scene": "NEXT_SCENE_ID"
}
}
]
},
"is_end_scene": false
}
}
}- Restart Story: Reset to beginning
- Go Back: Return to previous scene
- Save Progress: Store current position locally
- Load Progress: Restore saved position
- Reading Comprehension: Engaging narrative content
- Critical Thinking: Decision-making with consequences
- Problem Solving: Navigate story challenges
- Digital Literacy: Modern interface interaction
The application supports:
- Custom story JSON files
- Theming through CSS variables
- Configurable animations and transitions
- Multiple language support (future feature)
- Optimized for mobile devices
- Minimal dependencies
- Efficient DOM manipulation
- Progressive enhancement
MIT License - Feel free to modify and distribute
For issues or questions:
- Check browser console for error messages
- Ensure JavaScript is enabled
- Try clearing browser cache
- Test in different browsers
- Audio narration support
- Multiple language options
- Story editor interface
- Cloud save functionality
- Achievement system
- Accessibility improvements