Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
0.23 Development and Release Plan
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.
This is a list of tasks that generally need to be completed for any release to happen.
- Release schedule - Feature Freeze 27 January. Release Feb 6. Tournament start Feb 8.
- Mantis administration - closing and/or fixing hundreds of old bugs and FRs
Tasks for completion
These are features not yet int 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.
alexjurkiewicz PR converts species definitions to datafiles. The code is in a ready-to-go state, and all servers have the new pyyaml dependency. What is needed is a team member who understands the patch well who can be on-hand (preferably at the same time as alexjurkiewicz) post-merge to put out any fires that might arise. ebering has set a tentative flag day of 11pm UTC Jan 19 to do this. Done!
Merge PR 599 (advil, aidanh, ebering)
This has been brought in as branch and rebased pr-599-rebase. In the discussion on the PR aidanh indicates that the result is mostly ready to go, up to a few small tweaks. ebering is in the process of completing this, but would appreciate help. Done!
Merge PR 801 (aidanh)
This PR implements a long desired interface feature: summoner highlighting. aidanh has reviewed it and changes matching the review were made but not all of them.
Merge floraline’s webtiles improvements
PR 791 Adds a header that allows webtiles to run behind an SSL terminating proxy. This is a feature achieved a different way in
webtiles-changes. Considering the age of our Tornado and the difficulties reported by people trying to set up https webtiles it would be good to add
PR 800 Adds an option to disable gzip. This patch is now ready to go. PR 910 Adds a change email address form. Something currently available in dgl, finally come to webtiles.
Auxiliary pane in the religion screen
The Nemelex and Beogh plans below would benefit greatly from additional information being made available in Done!
^. Hepliakqana and Wu Jian wedge extra information into the
Powers tab that could be put in a separate pane and elaborated on. To address these needs, it would be nice to refactor that screen to permit a per-god "extra" screen, and then implement the mentioned interfaces in terms of this "extra" pane. PR 931 has the seeds of this, ebering is building on them in a branch. PR 944 has this mostly implemented, with a few remaining todos.
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.
Unrand Review and Revision (gammafunk, ebering)
Some of these changes are already in, having landed in 0.22. Some are still in the design phase, and some are currently in trunk for testing and feedback. See the Unrand Review page for details.
- Minor Destruction Acid Beams The acid effect has been nerfed to do damage closer to that of the fire effect.
- Ely Pacification Success Display Show the chance of pacification succeeding in the targeter like a hex. This was accomplished by some simplifying changes to the pacification formula.
- Ash trap detection This has become exploration trap immunity.
- Blowgun success chance: Now that hexes, hex wands, and pacification all display the chance to affect, it's probably time for needles to have this information too.
- gammafunk's Labyrinth Rework has been merged, with the portal being renamed to "Gauntlet". The wiki page summarizes the changes nicely.
- Still desired: more layout maps (ebering has some in progress)
- Nerf Confusion (for players). It's effectively an instant kill if it's landed, but is annoying to actually gain the kill. Monsters now (like players) get a one in three chance of moving normally (though their actions are still severely restricted).
ebering's trap overhaul has been merged. Summary changes:
- Traps are now revealed
- Alarm traps now always target the player
- New trap: dispersal trap, blinks everything that can see the trap
- On revealing a tile the player has a chance of triggering a trap effect, rolled with equal weight from shaft, alarm, and teleportitis teleport. If the roll is unavailable for some reason, nothing happens (no re-rolling).
- Still desired: some vaults that make use of dispersal traps.
- Full details can be found in the pull request
- Net traps now always target the player
- Mechanical traps (other than nets) have been removed from Tomb and Zot, where they weren't doing much
newnemelex has been merged. Summary changes:
- Deck rarity is gone, as are decks the item
- The player has three abstract decks that nemelex deals to periodically, with a max of 13 in escape and summoning, and 26 in destruction
- Stack five creates a fourth abstract deck, the player can have only one at a time
- Ability costs and behaviors are adjusted
- the Velocity card no longer has an actively harmful effect
Killer Klown Revamp (gammafunk)
Killer Klowns have been reworked mostly according to the writeup in Killer Klown rework.
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).
Take a look at Sif Muna. Piety (perception wise, if not the rate), and further mechanical distinction from Veheumet. (ebering)
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 Brannock made an effort to resurrect the docu wiki for 0.20, but the "kudzu" nature is I (ebering) think a detriment. 0.21 was wiki'd on GitHub, and 0.22 skipped (oops).
Better leverage GitHub tools PRs have already worked much better than mantis for patch management. The GH wiki and projects features are mostly unused, but could be helpful in de-kudzuing development. This is a "would be nice" todo, the structure of development means they're often not needed.
- Something related would be to 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 There are a lot of stale PRs that are uncommented on. While ##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 An outstanding need persisting over many outstanding versions