The developers don't like them either. Believe me, they want them all to go away as fast as possible. But! to squash a bug, they need to be able to find it. To find it they need to be able to reproduce it.
To reproduce it they need: information. From you.
The more info you give in a bug report, the faster the bug can be found and eliminated. Welcome to bug-hunting.
Now, I know the bug report form seems long, but the more you answer the faster that bug gets offed. Sometimes the report form can be a little confusing. Maybe these explanations will help. Don't be intimidated, just take it a question at a time. It gets easier.
You need to add the version number of BYOND that you're using when the bug happens. This is especially true now that both 3.5 and 4.0 are floating around the community.
The version number can be found by going into either dream maker, dream seeker, or even the pager and clicking the help menu:
Inside that menu, click 'About BYOND...'
The version number of BYOND that you're using is located in the lower left corner of the pop-up window.
Place that number above, like this (for this example - your numbers will probably differ):
BYOND Version: 4.0, 368.945
A little bit harder to find, but this is must have information for the people attempting to find and end this bug.
First, go into your control panel.
From there, click on 'Power and Maintenance' (f you're in 'classic view' or don't see that option you can skip this step).
Find and click the icon labeled 'System'.
You should now (if you're running XP) see the following popup.
Make sure you're in the general tab and copy the info about you're computer over into the forum post.
Windows XP, Home, 2002, SP 2
Other possibilities are:
Windows Vista, etc.
If you're not using windows and are using BYOND with a virtualizer (like VMWare), please include that info as well.
If the bug you found is related to the website (such as not seeing a hub entry, not seeing a post, or failure to log into the forums, etc.) please, include the name of your browser (Internet Explorer, Firefox, Opera, etc.) as well as the version number (generally located in your browser's help menu, ex) 'About Firefox' brings up the Firefox version number pop-up box.
If you found the bug while playing a game that's on a hub, it definitely makes the squashing faster if you include the hub address of the game, or simply the name of the game.
Video Card (for graphics bugs):
The last of 'em! Keep going and enter this one.
Again, go into your control panel.
From there, click on 'Power and Maintainence' (f you're in 'classic view' or don't see that option you can skip this step).
Find and click the icon labeled 'System'.
You should now (if you're running XP) see the follwoing popup.
This time click the 'Hardware' tab.
Then, click the 'Device Manager' button.
You should see another pop-up that has what is basically a list of all the devices (like graphics cards) connected to your computer:
The graphics card device is located inside the 'Display' listing. Click that.
A sub list should appear, showing the names of your display devices (including your graphics card). In my case it was a Radeon 9550. Yours may be a different name.
Whatever it is, double click that name.
Another pops up, this time with specific info about your graphics card. That's the info they need.
So, go ahead and put that info next to the line:
ex) Video Card (for graphics bugs): Radeon 9550
(you can also switch to the Driver tab in order to get the version number of the driver your card is using)
Speaking of graphics cards, if you're using 4.0, you may want to include info as to whether or not Dream Seeker is operating in what's called OpenGL hardware acceleration mode. You can find out if you are by hitting f1 (which brings up the Options and Messages window, clicking the 'Client' menu button, and then clicking the 'Preferences...' menu. If you see a checkmark in the box to the left of the third entry that reads 'Use OpenGL hardware acceleration...' then include the words 'OpenGL acceleration on.' in this portion of the bug report.
Descriptive Problem Summary:
Ok! The bug; this is where it goes.
Include lots of specific information. If you're first instinct is to write something like:
'I clicked on a tab and dream seeker crashed.' You need to include what tab you clicked on specifically. What tab? What was the label on the tab? If it's a sub menu or button that's not normally seen, what did you click to get to that control (ie. 'Click the 'icons' menu, then click the '16x16' button'). If you see something that doesn't look write with an icon or turf, explain what the icon was doing (moving, animated, blinking, drawing on the wrong layer, etc.) If you see an error (caused by BYOND not by the game code, as far as you know) in the options and menu dialog, use copy and paste and paste the error message here. The more specific information you include here, the easier and faster they'll be able to find and eliminate the bug.
If something CRASHES:
Most of the time if something freezes you'll end up seeing this:
Go ahead and click 'End Now'
You might then see this box come up:
You may see this also if DS or DM simply crashed (instead of freezing).
BEFORE you click anything else, go ahead and open up notepad or any text editor and thn click the link labeled 'click here' in the line 'To see what data this error report contains, click here' the window should change to look like this:
As carefully as you can, copy over the info in the top of the report. When you're filling out the bug report, this stuff is golden for fixing crash or freeze bugs.
Numbered Steps to Reproduce Problem:
Sometimes bugs don't happen everytime a game runs, but only when certain conditions inside the game occur. The developers need to recreate the bug on their computer far off in the former Soviet Union where they live, so you'll hafta write down all the steps and actions you took in order to find the bug. Try to write all the steps you took to get the bug to happen. Like so:
1) Open Dream Maker
2) Create a map 32x32 with no default turf
3) Place any new turf onto the map
4) Save the map
5) Hit undo 3 times
6) dream maker crashes
Every step you write down makes it easier to track and recreate the bug! Don't wuss out here.
Code Snippet (if applicable) to Reproduce Problem:
/*If you've got some code that behaved exactly the way you
wanted it to before you installed 4.0, haven't changed the
code since installing 4.0, and now it's behaving strangely
or giving compile or runtime errors, please! post it that
code here. You can include the line #define DEBUG pretty
much anywhere in your code, and when it's run, a runtime
error will display the filename and line of the code that
caused the error. You can use CTRL+G in dreammaker to find
an exact line in code.
ex) if your error says:
Runtime error: null.pikachu_lightning_target gm_powers.dm,1530
go into the file named gm_powers.dm in dream maker, hit
CTRL+g and type in '1530' in the dialog box. Dream maker
will skip right to line #1530 in that file. You can then use
copy & paste to copy over that proc, verb, or block of code
to this portion of the bug report.
Note! Please don't go overboard on this. If you find
yourself copying more than 20 lines: STOP! Post a smaller
amount and, generally, someone will respond to the bug
report telling you which other sections to post (if they
Sometimes bugs are simply things behaving strangely without any error code. It's not a bad idea at all to write down what should happen or be happening. In other words, if you've got something like icons with transparent sections in them and those transparent sections aren't transparent when running the game in DS, but are instead colored a solid red, explain as much as you can in the three parts above and then put down: 'icons should have transparent sections' here.
This is where you'd put what actually happened because of the bug. Continuing with the red icon bug above, you'd put 'Transparent sections of icons are colored solid red here'. You're basically describing the unwanted behavior here.
Does the problem occur:
Every time? Or how often?
Here, explain whether, in ALL those times you've tried to compile or play your game, the bug happened every time you did a particular action (outlined in 'Numbered Steps to Reproduce Problem' section above) or only sometimes. If you can, include specific info about what the circumstances were to bring up the bug (if you haven't included that info in the questions above).
In other games?
If you happened to see this bug in other games, list those games here. It's not a bad idea to try some other similar games and see if the bug comes up (it's called 'bug hunting', after all!), but no one will shoot you if you go out of your way to test every game out there.
ex) Also happens on all my other games in 4.0
or) The bug did not occur in my RTS game 'Houses of Dracul' (BRAND NEW ICONS! 24/7 Server! Check it out!)
On other computers?
If you have another computer, or have a friend with a different computer configuration, try finding the bug on that computer and post some info about that system if you find it.
ex) the bug also appears when following the above steps on my brother's laptop (WinXP, Home, SP2 - Nvidia GeoForce 1700)
In other user accounts?
If you've got some other keys, try getting the bug to come out using the other accounts. Again, you don't hafta go out of your way spending all night creating new keys to find the bug, but if it's convienient, give it a shot and post the results here.
ex) the bug only happens on my non-member account
When does the problem NOT occur?
Sometimes, especially with bugs that don't happen everytime, you can have very similar game/code situations where you'd THINK the bug would happen, but it doesn't. This can be EXTREMELY important information for bug hunters. If you've seen that kind of situation without a bug, posting any differences between that situation and the times when the bug DOES appear is very helpful.
ex) the crash does not occur if I use the pager to talk before playing
Just like the above, if you've found a way to get the program to work or continue without crashing or runtimes, these can be key in finding and stopping bugs. The more info about the workaround you give, the better:
ex) If I close dream maker before compiling the code, restart DM and clean compile, I don't get the error.
I hope this helped somebody.
Feel free to link to this.
Mods: Feel free to correct/edit any of this.