There are three types of ticket you can create:
Bugs - these tickets record something which is not working the way it should.
Changes - these tickets record aspirations to change some aspect of how the game works. These tickets will always result in some change which is visible to players.
Tasks - these tickets record aspirations to change the code in some way, without affecting how the game works. These tickets will always result in no visible changes.
Before creating a new ticket
Unless you are a developer, you have a straightforward choice between reporting a bug, or asking for a change. In either case, there are two things you must do before opening your ticket:
- Check this list to see if your bug or change request has already been reported. It's a long list, so use your browser's search feature to look for relevant keywords in the list. It is much better to add a comment to an existing ticket than to open a new one - even if the ticket is closed, the person who fixed a bug the first time may no longer be around, so it will help current developers to know if it's a bug that's happened before. Developers should do this too, before creating task tickets.
- Post about your bug or change request on the Vanilla forum: http://angband.oook.cz/forum/forumdisplay.php?f=3. Please do not open a ticket unless at least one other person can reproduce your bug. For change requests, please do not open a ticket unless there is a significant degree of support for the idea (i.e. more people in favour than against, and more than three people bothering to comment). Developers should discuss code changes on IRC before creating task tickets.
Creating a new ticket
So, let's assume you've done both of those. You've posted on Oook and received corroborating/supporting views on your bug/change, and you've checked all previous tickets and found nothing matching your issue. Go ahead and click on New Ticket. The first thing to do is give it a sensible title (the "Summary" field). Try and make this as specific as possible, while keeping it short.
Next, you need to give a brief description of the issue. Make sure you put a link to the Oook thread in this box. If it's a bug, describe the steps to reproduce the problem. If developers cannot reproduce the bug, they cannot fix it. If it's a change, describe clearly and concisely what the end product of the change should be.
Below the description box there are five other fields. Type is described above - make sure you set it to the correct type. The other four are:
Milestone - this defaults to Triage, and should be left alone unless you are a developer and you already know which milestone will address the issue. Once a developer has triaged your ticket, it will be confirmed and assigned a milestone (or closed if it is an unreproducible bug, an undesired change or a duplicate ticket).
Keywords - please do NOT leave this field blank. Read the KeywordGuide and assign the correct keyword.
Cc - you do not need to add your own email address to this field. As the creator of the ticket, you will receive an email to your registered email address every time it is updated (including when it is closed). Do not add anyone else's email address to this field unless you have their permission to do so.
Owner - leave this field blank unless you have an agreement from a specific developer that s/he will take ownership of this issue.
At the very bottom is a checkbox to attach files to your ticket. If it is a bug, please attach a current savefile from which the bug can be reproduced. If you cannot attach a savefile, please explain why not in the ticket description. If you have a patch to fix your bug or implement your desired change, attaching it will make it *much* more likely that your ticket will be actioned. Please ensure that patches are in "unified diff" format and are against the latest development code at https://github.com/angband/angband. Please ensure that your patch follows the CodingGuidelines.
Thank you for taking the time to read this. If you follow these guidelines, you will help the game develop better and more quickly.