Game Tool Tasks
From FreeGameDevWiki
The goal of this page is to collect common problems, bugs and issues that pop up in game development, focus of this pages in on libraries used in game development as well as the surrounding system. Not everything on here is a bug, some things are just common problems without a clear solution, in the case common workarounds should be documented, maybe factored out into a library.
Contents |
Improve the Kernel Joystick Interface
- the joydev interface provides functions to remap axis and buttons, but no way to reset the mapping to the default
- the joydev interface provides default calibration and ways to change it, but again no way to reset it
- there is no clean way to go from the joydev interface to the evdev interface, as needed for force feedback
- there is no way to reorder the joysticks or define priorities, joystick numbers are asigned in the order they are plugged in
Make indie developers happy
Multiple Mouse Support
Fullscreen Support in Xorg
Fullscreen support in Xorg is currently quite problematic, as it behaves quite different depending on the application:
- Wine: keyboard events are continued to be reported to the window manager and the user is free to change desktops, change volume, etc.
- SDL: fullscreen locks the keyboard, the user can't leave the fullscreen other then by game provided keyboard shortcuts (which differ from app to app), volume control via keyboard does not work
- fullscreen mode also suffers from incompatible resolutions, the 960x720 that is used by ScummVM with a 3x scaler for example doesn't display properly on some monitors, there might be workarounds by hacking Modelines, but its not easy or obvious how to accomplish or even test that properly
Wishlist:
- a standard keyboard shortcut to enter and leave fullscreen (F11, Alt-Enter, ...)
- an extra icon on the Window border next to maximize/minimize that indicates that an application supports fullscreen and that allows entering fullscreen mode
InputDrv - Virtual Input Device Creation - Contact: Grumbel
Linux allows, via uinput, the creation of virtual userspace input devices. The idea behind InputDrv is to use uinput to create a framework that allows users to remap their input devices in extremely flexible ways such as:
- emulate the keyboard via a joystick
- emulate the mouse via a joystick
- remap buttons
- map autofire to a button
- swap axis or buttons around
- use button combinations to trigger events
- emulate throttle control via a normal joystick
- apply filters to remove noise in data
- emulate analog axis via a digital one
- ...
The goal here isn't so much to create an easy-to-use tool such as joy2key, but instead to create a framework that solves almost all needs. More limited easy to use tools could then be build on top of it. InputDrv already has code, currently found in the xboxdrv SVN tree, see the links below for more information:
GUI Joystick Tester
jstest is a simple and useful command line utility to test the joystick device, it would be good if there would be an GUI alternative. Something similar to what Windows provides would be enough.
- the application should support both /dev/input/jsX and /dev/input/eventX
- when /dev/input/eventX is used, the button names should be used, instead of numbers
- min/max values of axis should be disabled, instead of just bars
- calibration for the joystick device might be useful as well
- force feedback should be supported
- LEDs should be supported on evdev devices (SpaceNavigator)
- HAL for automatic updates when hotplugin joysticks
Solution? Jscalibrator comes with most distributions. Screenshot What else is required?
- A proper Gtk2 interface along with maybe some Gnome/KDE integration, hal support, evdev support, no main focus on calibration, etc. Additional support for SDL would be nice as well, as SDL has its own way to mangle buttons/hat/axis. jscalibrator is really quite broken and ugly. And in there is of course the larger scope of proper joystick configuration, i.e. you want a way to swap buttons and axis, define which joystick is number one and such. -- Grumbel 23:01, 26 April 2009 (CEST)
Error creating thumbnail: convert: unable to open image `/var/www/freegamedev.net/www.freegamedev.net/wwwroot/wiki/images/a/a0/Jstest-gtk.png': No such file or directory.
convert: unable to open file `/var/www/freegamedev.net/www.freegamedev.net/wwwroot/wiki/images/a/a0/Jstest-gtk.png'.
convert: missing an image filename `/var/www/freegamedev.net/www.freegamedev.net/wwwroot/wiki/images/thumb/a/a0/Jstest-gtk.png/200px-Jstest-gtk.png'.
- Started coding, code is available at: http://github.com/Grumbel/jstest-gtk/tree/master
First pre release:
Embedding SDL in Gtk
Workflows for Blender->Game Engine
In particular, it's hard to find good workflows for exporting animations from blender into most game engines.
Matrix/Vector library
Most 3D toolkits come with their own matrix/vector libraries, but games without them most often roll their own. Might be good to have a recommend "standard" library, to avoid code duplication.
