NewsBlog

Unofficial Ubuntu build

28 August 2007

Legendary Miriam Ruiz built Ubuntu (maybe Debian) packages for i386, ppc and amd64. :)

http://www.miriamruiz.es/weblog/?p=100

Packages are available for download here:

http://users.alioth.debian.org/~baby-guest/games/

Comments: 1 Comment

OpenAL programming faq

28 August 2007

OpenAL Lite Programming FAQ

How could I determine maximum sources number available for OpenAL ?
Many people use alut for OpenAL initialization and do not know it’s simple to do yourself. You will gain additional control over device and context by doing so.
Do not use alut for that!

  1. Choose audio device (by name or using NULL as name for default device, usually the best hardware driver available)
  2. You can skip this step : create context attributes:
    ALCint attrs[] = {
    ALC_STEREO_SOURCES, stereo_sources,
    ALC_MONO_SOURCES, mono_sources,
    ALC_INVALID, ALC_INVALID,
    }; //stereo_sources and mono_sources are OpenAL hints. Minimal and working for the most people value - 16. Note that stereo source use 2 real mono source. So if you have music thread, only 14 mono sources remain available.
  3. create contexrt alcCreateContext(alc_device, attrs);
  4. Get context attributes:
    ALCInt attr_size;
    alcGetIntegerv(alc_device, ALC_ATTRIBUTES_SIZE, sizeof(attr_size), &attr_size);
    const ALCInt * attributes = (ALCint *)malloc(attr_size * sizeof(ALCint));
    alcGetIntegerv(alc_device, ALC_ALL_ATTRIBUTES, attr_size, attributes);
    Now ‘attributes’ points to the context attributes, arranged as attrs[] array from (2).


How could I open non-default device?

alcGetString(NULL, ALC_DEVICE_SPECIFIER) doesn’t only return default device string. It returns all devices supported by OpenAL, arranged in the following manner:
“Generic Hardware”, 0, “Generic Software”, 0, 0
Just for sanity you could check the presence of ALC_ENUMERATION_EXT, but as long as I remember, OpenAL 1.1 made it mandatory. (fix me?)

I do not want OpenAL mixer thread, I want mixer working from my own thread.

It’s very easy : use attribute ALC_SYNC set in AL_TRUE. Call alcProcessContext(context); from your worker thread.

I’m experiencing weird errors or crashes. What should I do ?

Check the following conditions in your code:

  1. After every single OpenAL call, you call alGetError() and process critical errors for your code. alGetError cleans internal OpenAL error state.
  2. You call alGenSources once while your application starts. You do not use alGetSources(&source, 1); every time you need a single source.
  3. Have debian-amd64? Try my openAL build. Do not forget report bug against debian bug tracker system. OpenAL mistakenly use mmx ia32 builtins on x86_64 architecture. At least disabling all __MMX__ dependent sources helps.

16 sources is not enough. I have more than hundred objects on single level.

You don’t need all hundred sources playing simultaneously. :) OpenAL does not have any source manager. You should write it yourself or take from another project. (Do not forget to read the license)

  1. OpenAL initialization
  2. Tracking object positions, remove distant sounds.
  3. Restart previously removed loops. (helicopters or such)

How could I create stereo source playing music without 3d attenuation.

Set the following source attributes:
alSourcei (source, AL_SOURCE_RELATIVE, AL_TRUE);
alSourcef (source, AL_ROLLOFF_FACTOR, 0.0);
To restore 3d state set it back to default values (AL_FALSE and 1.0 respectively)

©2007 Vladimir Menshakov, Netive Media Group.

Comments: 1 Comment

Italian translation

22 August 2007

Francesco Bolzoni added Italian translation to the game. It will be available in the next releases. We are really appreciate your help! Thank you :)

Comments: 1 Comment

Good news, everyone :)

21 August 2007

First of all, after several days of hardcore debugging I “fixed” openal for debian-amd64. (Removed mmx support on x86_64 arch). Debian packages available here.

Also, btanks were added to gentoo. :)

Comments: 4 Comments

Release 0.5.4739 is out

15 August 2007

0.5.4739 is bugfix and multiplayer enhancement release. Several major features and fixes:

  • You can join network game in split screen mode.
  • Added optional time limit to deathmatch map.
  • You can talk with other players by hitting ENTER/RETURN key.
  • UTF-8 everywhere! You can use diacritics from French or Germal language without transliteration.
  • Several new cheats :)
  • Tuned global messages (about new tasks, game over or checkpoints ) to avoid mixing with menus or map background.
  • Once again troopers don’t shoot through the walls.
  • Multiplayer errors do not shutdown game anymore and many many other multiplayer fixes.
Comments: 21 Comments
Tags: Releases

Linux distibutions

1 August 2007

Do not have package for battle tanks in your favorite Linux distro? File a bug report! Gentoo tracker already has such item: bug 172772. (I’ve heard that SUSE recently included btanks package).

PS: Thanks Lior Kaplan for pointing at Debian bug

Comments: 5 Comments

French translation

27 July 2007

Good news: Simon Fekete from the sf.net community added French translation to btanks. Thanks!

Comments: No Comments

First donation

26 July 2007

OMG!!! We’ve got first donation!!! Thank you, generous anonymous!

Comments: No Comments

finally, 0.5.4536 is out!

23 July 2007

The famous computer magazine “Chip.de” published an article about this game. In consideration of that fact, we added German translation to our game. :)

Some major changes since previous release: First and really amazing feature is “torus” mode, where map seems to be endless and infinite in a both vertical and horizontal directions. (Lenin square and Gaddino maps were converted to this mode)
Also, we added localization and internationalization support to the engine. Cyrillic and Diacritic Unicode charts were drawn, so any European or Cyrillic language could be easily added.
Some crazy fans could enjoy “fog of war” mode. This mode limits your visible area to 800×600 on a larger screens.
Computer players have learnt some close combat skills and become much stronger opponents. Also, another beautiful “platform” map were added, demonstrating smooth scrolling in animated backgrounds. Burst through abandoned orbital city! :)

Download now

Comments: No Comments
Tags: Releases

Platform

23 July 2007

Screenshot of the new map “Platform”:

platform.jpg

Comments: No Comments
Tags: Screenshots