Reporting Bugs

Bugs can be reported on our bugtracker. Click "Create new", found in the left-hand side of the bug tracker.

At the "Title", you are supposed to write a concise description of the bug, "Game crashes talking to Spencer" for example.

At the description field, you have enough space to place all the information you got on the bug. Please write how to reproduce.

Keywords also describe the bug, telling what areas it affects, for instance "graphics" or "dialog". Clicking the "list" link next to the text field brings up a list of existing keywords.

Files can be uploaded using the "Browse" button next to the "File" text field. Note that you can only upload one attachment at one time. Attaching savegames is often a good idea.

Priority determines the class of bug. There are 8 priorities, being them:

  • 0.x rc bugs
    • This is a special class to report bugs found at release candidates and stable versions. They are regarded as high priority.
  • minor
    • Small glitch which was noted but does not affect gameplay in a relevant way. Difficulty to fix vary from trivial to nightmarish.
  • bug
    • A bug. This is the standard priority for a bug report, and we strongly advise to use it. Unless, of course, the game crashes...
  • important
    • Crashes which only happened once with obscure reasons, bugs which should be fixed before next release but does not result in crashes, important things.
  • critical
    • These bugs involve reproducible crashes. All crashes are critical. They are the highest priority. Some of them are reclassified as release-blocker.
  • release-blocker
    • These bugs are so critical that a release absolutely cannot be done with them. Release-Blocker are high-priority bugs and crashes. Prefer "critical" and/or "important" over "release-blocker" when possible.
  • feature
    • A Feature Request. Should be detailed, and may come with a link to a patch on our Review Board. Previously they were classified as "idea".
  • idea
    • Just an idea, a comment, and everything which does not affect the game. Feedback gathering, discussions, and anything else which is not a feature request nor a bug. Previously they were also classified as "feature".

If you think the bug report is complete, hit the "Submit New Entry" button and your bug report is uploaded to the Tracker and visible for everyone.
Always tell us which version (or git commit-hash) you use.

FreedroidRPG development may proceed very fast, game content may change very rapidly, so we can estimate, whether the conditions for your bug still exist or whether the feature causing the bug was already removed/changed.

BUT before to write your report, read carefully the following instructions, so that your report is actually meaningful and useful for us !!! Also, please read

  1. Check whether the bug has already been reported.

    Take a look at the bugtracker and check whether you are the first one who found the bug.

    The problem you found has already been reported? It would be great if you could add additional information on it if we have problems reproducing it.

  2. Make sure your FreedroidRPG is up to date.

    Before you report a bug, please make sure you use the latest version of FreedroidRPG (current version is 1.0).
    The version you are currently using is displayed in the lower right corner of the FreedroidRPG main menu screen.

    Follow the instructions on our Download and Building pages. If you have problems upgrading the game, don't hesitate to contact us

    Note that if you want your FreedroidRPG to be totally up to date with the current development status (that would be the best case for us), you have to install with git (see our Download page). To run, execute the game (or type ./src/freedroidRPG in a console, if you're Linux.) and see whether you can still reproduce the bug you found.

  3. Try to get as much information on it as possible.

    • Do you play FreedroidRPG in OpenGL or in SDL mode?
      That can be determined via main menu, too. In the lower left corner, if it says "OpenGL output active: YES" OpenGL is in use. If it says "NO", you use SDL as output.

    • The bug you found is a graphical glitch?
      Make a screenshot, make a red circle around the bug if it is not obvious (you can use paint, gimp, photoshop, etc) and attach the screenshot to your bug report.
      Don't forget to let us know whether you used fullscreen or window mode.
      Also post the resolution you ran FreedroidRPG with. You can determine it at the terminal output ("Using screen resolution 1280 x 960."for example) and also in the menu: Go to Graphics Options -> Change Screen Resolution. The resolution marked with the asterisk is the current one.
      The graphical mode (SDL or OpenGL) is important here, too. Mention in at the bug description.
      You need some detail on your hardware system (graphic card for example)? The program Hardinfo may be your friend.

    • FreedroidRPG crashes right after you started it?
      Rename the folder .freedroid_rpg in your home directory and try again.
      Sometimes something big changed in FreedroidRPG and old savegames do not work anymore because they were made when this big changes were not yet implemented. This is usually the case when you upgrade/update FreedroidRPG to a new version (from version 0.12 to version 0.13 for example).
      Don't delete your folder! In the case that it is not the cause of the crash, you won't lose your saved games, and can continue playing when the bug is fixed.

      In case you use a git version of FreedroidRPG run ./configure again in the FreedroidRPG source directory. Maybe you unknowingly upgraded/removed libraries from your system that FreedroidRPG depends on. Reinstall that software and see if FreedroidRPG runs again. If it does not, you might have found a bug. :)

    • Save and send us savegames.
      FreedroidRPG stores its data in the folder .freedroid_rpg in your home directory. If you found a bug, copy (not move) your current savegames into a separate folder. So you can continue playing the game while you still have the savegames in case we need them to reproduce your bug.

    • A key is not working?
      Press the key F1 while ingame. At that screen, you'll be able to change the key settings (back to normal).
      If that doesn't fix the problem, make a bug report. Don't forget to let us know the keyboard layout you are using.

    • FreedroidRPG crashes and the last output line says something like "Segfault"?
      Please take a look at "Usage of GDB" and "Usage of Valgrind" or tell us.

  4. Usage of GDB

    • On Windows
      For GDB under windows, look here

    • On Linux
      Install gdb if you don't already have it on your system.

      1. Start gdb: gdb --args freedroidRPG -wqr1
      2. To start the game type: run
      3. Reproduce the crash
      4. Type: bt full
      5. Attach the output to the bug report or e-mail directly to the developer if they asked for that.
      6. To exit from gdb type: quit
  5. Usage of Valgrind

    valgrind is a memory utility that does profiling among other things, kcachegrind is the GUI for better visualization of the results. Those tools can help to find the origin of the crash.
    Install valgrind and kcachegrind if you don't already have them on your system.

    • Valgrind - memcheck

      1. Run valgrind --tool=memcheck ./freedroidRPG -wqr0
      2. Reproduce problem
      3. Attach the full output to the bug report or e-mail directly to the developer if they asked for that.
    • Valgrind - profiling (callgrind)

      1. Run valgrind --tool=callgrind --instr-atstart=no ./freedroidRPG -wqr0
      2. Get ready to reproduce the issue (eg load a savegame)
      3. Enable profiling by issuing "callgrind_control -i on" in another terminal
      4. Reproduce the problem
      5. Quit the game
      6. Start kcachegrind
      7. Report the info somehow...

Making and submitting patches

If you want to, and can, fix a bug you found, make the bug report first and give the developers some time to decide whether this really is a bug or just a missing feature or even something that won't get fixed.
In the last case you would just waste your time coding a patch, and that is not in the interest of both sides. So, please be a little patient. :)

The simplest way possible with GIT

Find out which file(s) cause(s) the bug. IRC might be the best way to do so.

Edit the file and fix the bug. (you may need to recompile the game after editing)

Open a terminal or command line and type:

git diff --full-index [file_1] [file_2] [etc...] > MyDiff.patch

Change [file_1] [file_2] [etc...] with the files that you edited (or just type 'master'. This can be enough :P). Change MyDiff with another name, in special if this explains what your patch does.

The patch should be posted at our Review Board.

The "right" way to make and submit patches

A guide about patching and using Review Board can be found here.

Friendly reminders

Don't forget to mention what exactly your patch does, and/or add a link to the bugs/requests it fixes.

And do not hesitate to contact us for any questions concerning the game.