Showing posts with label tennix. Show all posts
Showing posts with label tennix. Show all posts

Multiplayer Tennix coming to your tablets soon

Last Tuesday, I have started working on adding network-based multiplayer support to Tennix (a free 2D tennis game for Linux, Mac OS X, Windows and Maemo). In addition to two players playing on one computer (which already worked a long time ago), we now support playing Tennix over the network on two tablets (obviously, playing a tablet-versus-PC game will also work).

Currently, this network play runs over UDP, so WiFi connectivity is needed when you want to play tablet-versus-tablet. I might be able to add Bluetooth support later on, but the BlueZ API seems way more complicated than SDL_net's API which I currently use. Let me correct myself here: There's no real documentation for the BlueZ C API that I could find.

A small library with a clean API that abstracts Bluetooth, WiFi and maybe some other connectivity options and provides an easy way to establish a transport between two hosts/tablets would surely help boost developer interest in creating multi-player games and cross-tablet applications.

A video demoing the controls on two tablets can be found on YouTube.

Tennix 2009 for Maemo

The updated version of Tennix, the open source tennis game is now available in Maemo Extras for Chinook, Diablo and Fremantle (anyone with Fremantle hardware care to test if it works correctly? Thanks!). The 1.0 release has been announced to the public in February already, but I have only now had time to create a proper package for Maemo. It plays fine with stylus or the D-Pad.

Here is a gameplay video if you can't wait to download it onto your tablet.

Optimizing Tennix for Maemo

As I promised some weeks ago, here are the results of our take on optimizing a SDL game (Tennix) for the Maemo devices. All other platforms on which Tennix runs obviously also profit from these optimizations. The presentation with all the details is available here: Optimizing an open source game for mobile devices (PDF). I also have two videos for you: Tennix running on a tablet before and after the optimizations.

Conclusions: Do profile (using oprofile or gprof) your applications to find bottlenecks. Look at callgraphs (using graphviz) to determine function usage. Most of the time, small code changes result in big performance boosts. Some Maemo-specific hints for SDL development are available in Game development in the Maemo Wiki.

The optimized release of Tennix (0.7.0) is available in Maemo Extras already. Go get it! :)

Optimizing the code of a SDL game

Maybe you have tried it already: Tennix has been available for Maemo for quite some time now. The current version still has room for improvement (performance-wise), and the gameplay part runs a bit slow. That's why our team uses it as an optimization target for a course at the uni until the end of January.

Two benefits: You get a playable, fast tennis game for your tablets, and we get a bit more proficient in writing more efficient code and making better use of the current hardware. This will obviously also benefit the Desktop version of Tennix, as both use the same codebase.

I hope to be able to draw some conclusions and give you an overview of what we were able to do in a few weeks. Until now, try out Tennix and get used to its (relatively slow) speed, so that you feel the improvements when the optimized release is out :)