SorceryScript is a AAA-quality, fantasy-industrial desktop application and game where you write and cast magical spells as code! Featuring a custom domain-specific language (DSL), real-time spell animations, multiplayer duels, and a beautiful dark fantasy UI, SorceryScript is both a creative tool and a competitive game.
- Custom DSL: Write spells like
cast ignite from fire with 3 energy;orsummon phoenix at (x: 200, y: 150) using flameToken;using a powerful, extensible language. - Handwritten/ANTLR Parser: Robust parsing and interpretation of magical commands.
- Real-Time Spell Animations: GPU-accelerated particle effects and cinematic magic using LibGDX.
- Multiplayer Duels: Socket-based server-client system for turn-based magic battles and chat.
- Modular Scripting: Import/export user-created spells as plugins (JSON or script files).
- AAA Fantasy UI: Modern, dark-themed, animated UI inspired by Diablo/Skyrim spellbooks.
- Code Editor: Syntax highlighting, drag-and-drop spell creation, and live battle visuals.
- Spellbook Library: Filter, search, and sort spells by type (Fire, Water, Necromancy, etc.).
- AI Assistant (Bonus): Suggests new spells based on your code (OpenAI/local LLM integration).
- Database: Spell metadata stored in JSON or embedded SQLite.
- Java 17+
- LibGDX (2D/3D rendering, cross-platform)
- ANTLR (DSL parsing)
- Java NIO/TCP (multiplayer)
- Gradle (build system)
- Optional: SQLite, OpenAI API
SorceryScript/
├── README.md
├── build.gradle
├── settings.gradle
├── core/ # Main game logic, DSL, animation, multiplayer, etc.
├── desktop/ # Desktop launcher
├── assets/ # Shared assets (spells, shaders, images, etc.)
- Clone the repo:
git clone https://github.com/Manavarya09/SoceryScript.git cd SoceryScript - Build and run (Desktop):
./gradlew desktop:run - Explore:
- Write spells in the code editor
- Duel friends in multiplayer
- Create/import/export custom spells
Pull requests and suggestions are welcome! See the CONTRIBUTING.md for details.
MIT License. See LICENSE for details.