Mission scripting, and where Sunrise is going
Sunrise 0.5 just released and this is what you can expect.
Plans for Sunrise
The main goals we are working on:
- Complete scripting. Every mission runs from a script, with the API and SDK to write one.
- Complete progression. Characters, inventory and quests all work and persist.
- P2P multiplayer. Play together locally, with no servers in the middle.
Dev team
Welcoming members to the official Sunrise team. Check the discord for more information.
Mission scripting
A mission script is a Lua file that runs on the local server while an activity is live. It spawns enemies, opens doors, shows goals and plays lines. Sunrise handles the rest.
- The SDK. Sunrise reads the installed game data and writes Lua modules from it, so a script names a squad, a door or a voice line by a readable key instead of a raw id.
- The Lua API. Scripts react to what the game reports and send requests back. Everything a script can call is documented.
- Documentation. The Mission Scripting docs are new: a first script, the full API and SDK reference, recipes, and how to build a mission from scratch.
- A separate repo. Mission scripts live in SunriseMissions. The game loads that folder directly, so there is no build step. New missions do not need a new version of Sunrise.
- Pull requests welcome. Missions are the easiest place to contribute. Pick an activity that has no script yet, write it, and open a PR.
- A scripting channel on Discord for dedicated users working on scripts.
The tools
Sunrise ships the tools it uses itself. Press Insert in game to open them:
- Find any squad, trigger, door, scene, voice line or goal, and search by name.
- Test one before you write it: place a squad, fire a trigger, open a door, play a cue, show a goal.
- Draw positions and trigger shapes in the world, with labels.
- Watch your script while it runs: its status, its last error, its variables and its timers.
- Reload a script without restarting the game.
Other changes
- Persistent saves. Characters, inventory and quest progress are kept in a local database.
- Mission launch. Pick any activity from the launcher in game and drop straight into it.
- Language select. Choose the game language in the Sunrise settings.
- A new launcher. It installs the game, Sunrise and the mission scripts, and keeps them updated.
- Bug fixes across the board.
Sunrise is experimental software. Features can change or break while development continues.