Status: 🚧 Initial iteration (features and structure may change frequently)
Configurable Open Language (COL) is an open-source scripting language inspired by Gamemaker Language (GML).
| English | Chinese |
|---|---|
| English Version | 简体中文 |
COL aims to be an open-source alternative to GML (language level only), allowing GML users to feel “at home” in an open-source environment.
Its target audience is the general public:
- If you are an engine/framework developer, COL can be integrated to provide a GML scripting experience;
- If you are a regular developer, you can use COL directly and contribute to the community.
COL was designed with these objectives in mind — GML compatibility, extensibility, and configurability.
No matter how it evolves, these goals will always guide the development and philosophy of COL.
- GML Compatibility: Adapt to various GML versions and follow major updates as closely as possible, maintaining consistent syntax and usage.
- Extensibility: Provide interfaces for engine-bound methods or syntactic sugar to integrate with other engines/frameworks.
- Configurability: Allow customization of interface names, methods, or syntactic sugar to fit specific GML game frameworks. Additionally, some features not present in GML (e.g., static typing, classes/inheritance/polymorphism) may be added and configurable (TBD).
COL allows highly configurable interfaces and methods, making it adaptable to different engines and frameworks while providing GML users with a familiar development experience.
COL is fully open-source under the LGPL v3 license. All game developers and open-source enthusiasts are welcome to participate: submit issues or pull requests, suggest features, or share experiences in the community.
COL is a scripting language designed to give GML developers a sense of belonging in the open-source world while offering highly configurable language features.
COL uses a dual licensing model:
- You can use COL in closed-source projects as long as you do not modify its source code.
- If you modify COL (e.g., add/change core modules), you must release those modifications under the same license (LGPL-3.0).
- Your own game/application code can remain closed-source.
If you want to modify COL and keep your modifications closed-source, or include COL in projects that do not accept LGPL, you can contact me for a commercial license.