Programming tasks

From FreeGameDevWiki
Revision as of 12:17, 9 October 2011 by Sauer2 (Talk | contribs)

Jump to: navigation, search

The goal of this page is to collect bugs and gaps in the Linux game development tool chain and describe possible workarounds or describe them detailed enough that people can start fixing them. The hope is to provide a bite-size tasks that people can be working on when they have nothing else to do. The list is not meant to replace the bug tracker of specific applications, but instead to provide a "best of" list of bugs that cause issues in game development. At the moment its a bit of a disorganized mess, more reorganisation will follow.

Write/find some generic 2D map editors

There are some freeware generic 2d tilemap editors floating aronud out there, maybe good idea to have some Free Software one out there. There is Flexlay, but its a bit ugly and could need a rewrite with proper Gtk/Qt.

Following links are taken from [1] and [2]:

  • Dungeon Mapper is yet another tile map editor using Qt.
  • Mokoi Gaming 0.4 was released. It now supports OSX and contains a Tetris variant [changelog].
  • Development on Opensource Game Studio has started. Features: 3D, Qt, Lua. It contains a small glxgears-like demo video. Nothing to see here yet.
  • Tiled is "a generic 2D tilemap editor" which has been ported from Java to Qt. There are frequent updates at the moment, but it is already a powerful tool.

Make a proper Free 8bit COLORMAP lookuptable creation tool - leilei

Write tools for OpenGL performance analysis and debugging

  • gDEBugger performance analysis/debugging; Linux, MacOS, Windows; closed source
  • glintercept debugging; Windows; GPL
  • GLSL Devil debugging, Linux, Windows; ???
  • BuGLe debugger; Linux, Windows; GPL

Write a tool/script to analyse images

One problem that pops often up with 2D games are transparent areas that have a few stray pixels left in areas that should be transparent, another problem is that sometimes a black area isn't really all black, but parts of it are a little grey without the developer noticing, on monitors with different gamma setting on the other side these issues might be very visible.

A tool for reviewing images that could catch those common issues might be useful.

Write a diff-like tool for images

Write a phoneme extraction tool for lipsyncing

Narrow and Sparse clone support for Git

Git is currently well suited for source code, but fails for large media project, such as games, since the lack of narrow and sparse cloning forces you to download the whole repository, instead of just the parts you are interested in, meaning the size of a download can easily increase by an order of magnitude:

Write a TTF Font to Bitmap converter

Maybe add GUI with preview around this one or improve that one:

Write Tool for Texture Atlas generation

Write a tool that takes a set of .png files and packs them into power-of-two textures.


As far as I can tell GtkRadiant isn't available in Ubuntu/Debian, might be a good idea to fix that. Also it seems to be a little complicated to get it up and running with other games:

Overall it would be good to promote/fix those 3D level editing tools that are around in Linux, which are not many after all.


Toolbar - Bug #133030 - Done, but rejected by Gimp developers

The Gimp image window really needs a (optional) classic toolbar, like you find them in pretty much every other application. The current work-in-progress looks like this.

The toolbar should be configurable and allow you to access all functions that are available via the normal menu. Something looking like the KDE toolbar configuration diaog should be used for configuration. Another possibility would be Epiphany, which is gtk and has a configurable toolbar, very similar to Firefox, the flat list would need to be replaced, the rest might be usable. Another alternative is to only provide multiple predefined toolbars, but with no configurability for now, similar to what Anjuta or Monodevelop do.

Palette Editor - Bug #163044

  • gimp/app/widgets/gimppaletteeditor.c
  • gimp/app/widgets/gimppaletteeditor.h

Gimps palette editor is currently rather limited, since it only allows you to copy colors to a palette, but not move them or any other more advanced features. So the following features could be added:

  • support for selecting multiple colors
  • support for moving a color(s)
  • a function to interpolate between two selected colors
  • support for sorting the selected colors (by brightness, hue, saturation, etc.)
  • a toggle to hide the palettename, colorname and columns field (there already is one for the button bar)
  • maybe a way to add padding/seperators between colors for better organisation
  • maybe an alternative list view, that displays colors next to their names instead of as a 2D array
  • maybe support for Photoshop/Corel/etc palette import
  • maybe other stuff, I am not to familar with what more advanced palette editors can do

XCF Templates - Bug #168541

Templates are currently limited to simple image size and image type while they should support everything that a .xcf file can handle (multiple layers, guides, etc.). Workaround is to simply use real .xcf files instead of the templates, but better template support would be prefered.

Layer Locking - Bug #61019

Gimp should support the locking of layers, so that one can't edit them by accident.

InputBox Evaluation

In many cases it would be useful if one could input expressions into input boxes that except numbers, i.e. instead of inputting "32" you could input "2*16" and Gimp evaluate that automatically, useful for games that need power-of-two textures or have other restrictions in terms of size.

GtkComboBox Bug

The bug looks like this, i.e. only one item is visible and all the rest are outside of the window and you have to scroll to reach them. Strictly speaking it is not a bug, since the reason the opened GtkComboBox looks like this is because Gtk tries to center the window on the current item and when the window happens to be placed at the bottom of the screen scrolling is the unavoidable result. However in a lot of cases having the window centered over the current item is not a desirable feature and it is much more important to have quick access to all the items, after all one clicks the box to change the item, not to let it stay the same. I consider this issue incredible annoying and it not only happens in Gimp, but in pretty much every other Gtk app too. The issue is made worse because the default item is often the very first one in the list, meaning it will be the only one visible.


XCF Support

Native XCF support in Blender would allow direct use of Gimp's XCF files without a annoying intermediate conversion step.

Headless Batch Evaluation of scripts

  • would be useful to automatically convert a .blend file into something game specific. Workaround: Do the batch inside the blender script.

Separate Animation from Models

Following scenario:

  • a .blend file is giving containing a model and a armature
  • multiple developers now want to animate the armature at the same time without running into conflicts

This might be solvable via linking in library files, not sure, a proper documentation on how to collaborate on character animation for a game could be useful.

A tool that lists information about a .blend file

  • number of meshes in the file
  • number of vertices of a mesh
  • list of mesh names
  • etc.

A diff-like tool to compare two .blend files

Offline Particle Effect generation

Standard audio & 3D model formats

A format to share audio between programs, like the .aaf format

A standard 3D model format that works well for games, without being tied to an specific modeller

Thats what Collada does and Blender supports it (not used it in practice, so no idea how complete/buggy/whatever the support is) -- Grumbel 05:48, 2 May 2009 (CEST)