Scripting API
Open
Nobody has claimed this yet.
area: api
lang: python
to-discuss
- Dominant language
- Python
- Stars
- 14.4k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
As our ultimate goal is cool moddability, and not everything can be done with data mods (with nyan #734) we also need scripting support.
This consists of multiple parts that need to be done:
- Load and run scripts
- Load scripts via nyan
- Install script hooks via nyan
- Let the script manipulate the hooks it installed
- Game manipulation
- Apply patches in nyan
- Perform actions with game entities
- ...
- higher level AI scripting
- Python interface
- even higher level lisp-like interface like the original's ai scripting language
- ...
- Caution users against unsgned mod packs containing scripts
- We can't and want to sandbox python, you should be able to use http://scikit-learn.org/ and the like
- The openage-dev-team should be able to sign mods that have approved code: We can still hack your computer with the regular openage code, so we can also sign mod code.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This issue is a broad scripting roadmap covering script loading and hooks through game manipulation, Python interfaces, higher-level AI scripting, and mod signing. Start by clarifying which one part is being undertaken and how it should integrate with nyan; no files, tests, or entry points are named, and completion criteria are not defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100