Skip to content

0.27 Development and Release Plan

Edgar A. Bering IV edited this page Dec 12, 2021 · 2 revisions

This page is for managing short and middle term development planning. Features on this page are considered major or significant improvements. General bugfixing does not need to go here although major bugs could end up in a "tasks for completion" section once we near a release. Features are divided into sections based on their stage of completion or planning. Each feature should have the names of any devs who are actively working on, planning, or responsible for the feature and who realistically think they'll be able to finish it in time for the release date.

See the Future Version Ideas page and old release plans for ideas, moving entries here as necessary.

Student projects

|amethyst is teaching a university course (until May 2021) where students improve Crawl as a course project. Their students are working on the following:

  • Accessibility improvements (1 team): Accessible Crawl
  • General user-interface improvements (3 teams): User Interface Improvements
  • Add sound support to WebTiles (1 team)
  • Add toolboxes (as in local tiles) to WebTiles (1 team)
  • Set (and save) options in-game (4 teams)
  • Upgrade contrib Lua library (2 teams)
  • Move more background data from code to text (i.e., complete PR #1030; 2 teams)

General TODO

This is a list of tasks that generally need to be completed for any release to happen.

  • Release schedule
    • Feature freeze: July 16 (23 if you must)
    • Release: Between July 23 and 28
    • Tournament: July 30 - Aug 15
  • Mantis administration - closing and/or fixing hundreds of old bugs and FRs

Tasks for completion

These are features not yet in trunk which have which should have a simple path to implementation and where there isn't any known disagreement of the benefits. If any of these turn out to be more complicated or warrant more discussion, they can be moved to the Under Consideration section.

User Interface Improvements contains many ideas that fit almost in this category if they get made a priority.

Outstanding PR shepherding

ebering plans to crunch on PRs for most of his crawl time in the run up (rip other vague projects in this document); there are lots of vaults, if others want to take up some of these tasks use the "assign" feature so we don't duplicate effort. advil has said he plans to merge the web tiles item pane in that same interval.

Corpse hiding in the UI

Add an option auto_hide_corpses defaulting to true. When enabled, only display corpses in ^x, stack listing, and the map (including stack indicators) if the player has corpse using spells or worships kiku or yred. When false, always display corpses. Possibly include a toggle (like for auto pickup) when on.

Grammar support for beam names

At a bare minimum, zap names in zap data should be made into a method like actor names. Verb support is also desired, but the verb might depend on the actor, so this could be significantly more complicated.

Testing and feedback

These are features which have been implemented in some fashion and are in trunk builds for testing / feedback / polishing. They are likely to be included in the release if they are ready by that stage.

Under Consideration

These features are not yet in trunk but are being actively worked on or considered by one or more devs (but still may not make it into the next release or any release for that matter).

Character

Demonspawn Mutation Review

hellmonk has partly delivered a promised series of PRs to tweak DS mutations.

Player mutations

This is a placeholder so ebering will write up a random walk model of current mutations.

Branches

Vaults Done!

Better differentiate monsters from D and U; emphasize Vaults humans. PleasingFungus also has some layout ideas.

Snake Done!

Snakes are tough, but they're slow so you can run away, and while they've got a bunch of tricks and support monsters to try to keep you from running away, Nagas and Naga Warriors don't hit all that hard for their depth so you can just deal. As a part of the spell overhaul ebering has some adjustments to the naga spellcasters, additionally buffing the base damage of Naga Warriors should help. It might also be good to trim the layout size a bit, this might be more involved.

Extended

There's been a bit more movement in the discussion of ideas, see Pan Dispersal as well as the remarks in Future Version Ideas. Perhaps PleasingFungus will take action this version, who can say?

Items

Remove curses and identify everything Done!

This has been tiptoed towards for a long time; the remaining factor keeping curses around is Ash, but an Ash revision appears to be in the cards for this version. Once curses are gone the ID minigame functions as a limitation on consumable use in the early game: spawn tables are a fine way to modulate that.

A variety of unrands have been updated from 0.22 to 0.26, but more can be done here.

Evocations Overhaul

Some but not all of All XP Evocations was done in 0.26, time to finish the job. This idea after some further discussion isn't the definitely-do that it used to be. So this is a no-go after consideration. Perhaps it will be revisited in a different form in 0.27 as wand charge counts are still silly.

Launchers

This is a placeholder to shame ebering for talking a big game about having a launcher reform idea but not writing it up or implementing it.

Gods

Ashenzari overhaul (PleasingFungus, ebering) Done

Rough sketch of a convergent idea bouncing around crawl for a while: Ash periodically grants curses, piety stars come from being cursed (like Ru sacs). Powers are gated behind stars and scale on them (skill boost &c.).

Details that need to be fleshed out: powers, now that they can't cost piety. Ash has some nice passives (monster detection, trap avoidance, skill boost); possibly an all-passive design is the way to go here. Ashenzari brainstorm.

Ecumenical altars vs early altars Done!

Ecumenical altars suffer from the fact that they don't always show up before identified altars; the choice becomes more about a conduct than the chance to gamble for a serious advantage. Moving all overflow altars to D:3- and placing ecu altars on D:2 with greater frequency (even a guarantee? that might be too much) has potential.

Beogh Follower Menu (ebering)

Use the follower list created for PR 944 (or at least the code) to improve the ui for gifting to named followers. It should be a menu, not a targeter.

Differentiate Beogh's recall into three abilities (working names, maybe don't want to be too heavy with the Orc Jesus theme):

  • Recall Evangelists: Recall your best (by HD/xp) four orcs.
  • Recall Disciples: Recall your named orcs. (Maybe limit 12?).
  • Recall the Horde: Everyone.

Currently for permanent allies in crawl, especially orcs, micromanagement is worth doing but painfully tedious. The goal of providing these abilities is to give a Beogh player a thematic method of ally management, to further distinguish Beogh from Yred, but without providing a "ultra micromanage each orc" interface.

After dutifully copying this from plan to plan for a few versions its gone unimplemented because it bandaids over the issue without getting to the heart of the matter. Perhaps a future Beogh and Yredelemnul plan will crystalize but this ain't it --ebering.

Longterm Organizational Projects

  • Migrate live pages from docu wiki to here This is mostly done; the devteam page is the outlier at this point. Possibly some other systems administration pages.
  • Better leverage GitHub tools The PR system itself (especially with the new draft PRs) works very well. This wiki works ok, though it doesn't get super regular updates. It would be nice if Chei were modified to notify ##crawl-dev of wiki edits, which should help with its usage.
    • Update documentation in docs/develop (needs doing on its own) and where appropriate convert to markdown and link via the readme to make our repository more inviting for new contributors. This is ongoing. Related is Issue #1111
    • alexjurkiewicz has done great work transitioning our CI to GitHub Actions, and in the 0.26 cycle we moved completely away from Travis!
  • Handle PRs Promptly ##crawl-dev is the preferred discussion point, we should aim to invite community contributors to ##crawl-dev to discuss their changes there, and make a point of including a summary of ##crawl-dev discussion in comments.
Clone this wiki locally