Introduction
I’ve been thinking about GDScript’s potential beyond Godot Engine, and I believe making it a standalone programming language could significantly benefit both the language and the engine ecosystem. I’d like to explore this idea with the community and hear your thoughts.
Current Situation
Right now, GDScript is tightly coupled with Godot Engine. While this integration provides excellent engine-specific features, it also:
- Limits the language’s growth potential
- Restricts the development community to Godot users
- Keeps learning resources primarily focused on game development
- Ties performance improvements to engine updates
Benefits of Making GDScript Standalone
For the Language:
-
Broader Development Community
- More developers could contribute to language improvements
- Performance optimizations could happen independently
- Better tooling could be developed by the community
-
Expanded Use Cases
- Could be used for general-purpose scripting
- Potential use in other game engines or tools
- Educational purposes (Python-like syntax with static typing)
-
More Learning Resources
- Language tutorials separate from game development
- More documentation and examples
- Third-party books and courses
-
Independent Package Management System
- A dedicated package manager similar to pip or cargo
- Easy installation and management of third-party libraries
- Central repository for GDScript packages
- Standardized project structure and dependency management
- Version control and conflict resolution for dependencies
- Virtual environment management
- Simplified code sharing between projects
For Godot:
-
Ecosystem Growth
- More developers familiar with the language
- Increased adoption of Godot due to GDScript expertise
- More tools and libraries compatible with GDScript
-
Performance Benefits
- Independent optimization efforts
- Faster iteration on language features
- Community-driven performance improvements
-
Better Language Evolution
- Separate release cycle for language updates
- More focused development of language features
- Community feedback from diverse use cases
Technical Considerations
- Need to separate engine-specific APIs
- Maintaining compatibility with Godot
- Creating a standalone runtime
- Developing independent build tools
Questions for Discussion
- What challenges do you see in making GDScript standalone?
- How could we maintain the excellent Godot integration while supporting standalone use?
- What features would you want to see in a standalone GDScript?
- How could we structure the project to benefit both Godot and standalone users?
Possible Next Steps
- Create a detailed technical proposal
- Start a working group to explore feasibility
- Begin prototyping basic standalone functionality
- Develop a roadmap for separation
I believe this could be a win-win situation for both Godot and GDScript. What are your thoughts?