Skip to content

0.25 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.

General TODO

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

  • Release schedule
    • Feature freeze: May 15
    • Release: May 27 or June 3
    • Tournament: May 29 or June 5 for the t
    • Big dependencies: CAO and Sequell (Done) need some love to be t ready
    • Happening: New Tournament Scoring needs implementing (advil, ebering, gammafunk)
  • 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.

Small polish things (can go in past freeze)

  • (gammafunk) allow switching out of the acquirement prompt
  • Bugfixing (ebering will prepare a low-hanging fruit bugs devblog post to get community effort on this)

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.

Monster panel and ^x

PR #979 sent to us from Stoat soup is a good starting point, but the patch needs some work to be a refactor that provides good short descriptions across contexts. Done

Monster threat level indicators in local tiles

PR #1120 adds highlighting of monsters based on threat levels. It is ready to go for local tiles, aidanh asked for some changes and sketched how to add the feature to WebTiles also. Done

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.

This has now been merged; the design doc is a bit out of date but will be cleaned up as a reference for further testing.

Despoil Acquirement (gammafunk)

gammafunk has merged a change to acquirement to present the player with a choice of 5 identified items, details are written in Acquirement Reform. Further things to keep in mind are the possibility of weighting the acquirement categories in some way, and sampling them with replacement instead of without.

Miscast Simplification and refactoring

A lot of work has been done, by many people over many versions, to refactor and smooth out beam.cc. Less so for spl-miscast.cc, which still contains gotos. Outside of the legacy code issues with miscasts, there are serious gameplay issues: they are not documented, hard to reason about, and come in a dizzying array of possibilities. Changes here to keep an eye on:

  • Make miscasts easier to reason about (they are mostly damage now)
  • Clean up and modernize spl-miscast.cc
  • Decouple non-spell-miscast effects from spl-miscast.cc. This has resulted in changes to
    • Wrath: Trog, Lugonu, Chei, Fedhas, Yred, and Kiku
    • Distortion unwields
    • Xom effects
    • Death curses (and the scythe of Curses)
    • Zot traps
  • Still not decoupled are: the Plutonium sword, Spellbinder, the Wild Magic card, and Hell effects.

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).

Magic

Crawl magic hasn't seen a serious look in a very long time; there are both outstanding warts and unused design space. ebering is hoping to initiate a big fresh look in 0.25 (though it might extend past the 0.25 cycle) looking at all aspects.

Charms

Deflect Missiles was left as is after the removal of RMsl with the hopes of a coming charms revision. That was a while ago, in the interleaving time several forks have experimented with a variety of "permabuff" systems. These reduce MaxMP to have a charm on, which possibly drains MP when the effect happens; spell failure and power are factored in when the spell effect happens somehow. Ultimately, these begin to feel much more like items. This points me (ebering) in a direction: remove the remaining charms that pose "tedious optimal" issues, and re-introduce them as items.

These ideas are fleshed out in Charms Overhaul.

Spell Hunger

Good arguments have been advanced about removing this; then removing chunk eating (except for Ghouls) and the gourmand amulet.

Nerf Necromancy

Independent of the positional magic changes, Necromancy is a one-stop-shop school for (good) direct damage across monster types, strong allies, and life-saving panic buttons of a variety of levels and types. It's also a lot of fun and much loved, it would be nice to dial back its power curve in a way that preserves the fun. One (thematic) idea: charge HP as well as MP for most (all? doesn't really make sense for DDoor and Revivify) spells in the school.

Items

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

Gods

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.

Longterm Organizational Projects

  • Migrate live pages from docu wiki to here
  • 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.
  • 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.
  • Remove Lightli This time we'll really get it done.
Clone this wiki locally