История изменений
Исправление ZenitharChampion, (текущая версия) :
Team Fortress 2 - первая игра на Source для Linux. Наверное поэтому и медленная. У меня создалось ощущение что программисты Valve учились писать для Linux с нуля, и начали с TF2. Почему я так считаю?
- У меня как-то не хватало памяти системе на LiveCD, и все игры закрывались при загрузке уровня. И только TF2 выдал ошибку, один из всех.
- Это единственная игра, которая пользуется Freetype для рисования букв в игре (кроме инди-игры Osmos). Из-за этого квадратики вместо русских букв на не-Ubuntu, на малых разрешениях экрана текст на экране нечитабельный, и на игровых картах надписи на табличках не влезают в них (Portal 2, мультиплеер, надписи над камерами).
- Это единственная игра, которую нужно запускать с «LC_ALL=en_US.UTF-8 steam», иначе не работает.
- А если в системе не PulseAudio, то «LC_ALL=en_US.UTF-8 SDL_AUDIODRIVER=alsa steam»
Представляю как происходило портирование, наверное использовались функции Xorg, которыми ни одна программа не пользовалась 10 лет. Потому что программисты хотели сделать всё по фен-шую, и не знали что вот с этой функцией не работает юникод, и вместо неё надо использовать связку этого и этого. Ну, примерно так у меня в воображении.
> В первую очередь, я бы выпилил SDL и забыл о нем как о страшном сне. Ну а там уже половина issues-ов решились бы самостоятельно.
Я так не думаю. Я знаю ровно две игры для Linux, которые не используют SDL. Это Oil Rush и Gear Up. 99% игр используют SDL, и тем не менее выдают один в один одинаковый FPS с Windows-версиями.
Исходная версия ZenitharChampion, :
Team Fortress 2 - первая игра на Source для Linux. Наверное поэтому и медленная. У меня создалось ощущение что программисты Valve учились писать для Linux с нуля, и начали и TF2. Почему я так считаю?
- У меня как-то не хватало памяти системе на LiveCD, и все игры закрывались при загрузке уровня. И только TF2 выдал ошибку, один из всех.
- Это единственная игра, которая пользуется Freetype для рисования букв в игре (кроме инди-игры Osmos). Из-за этого квадратики вместо русских букв на не-Ubuntu, на малых разрешениях экрана текст на экране нечитабельный, и на игровых картах надписи на табличках не влезают в них (Portal 2, мультиплеер, надписи над камерами).
- Это единственная игра, которую нужно запускать с «LC_ALL=en_US.UTF-8 steam», иначе не работает.
- А если в системе не PulseAudio, то «LC_ALL=en_US.UTF-8 SDL_AUDIODRIVER=alsa steam»
Представляю как происходило портирование, наверное использовались функции Xorg, которыми ни одна программа не пользовалась 10 лет. Потому что программисты хотели сделать всё по фен-шую, и не знали что вот с этой функцией не работает юникод, и вместо неё надо использовать связку этого и этого. Ну, примерно так у меня в воображении.
> В первую очередь, я бы выпилил SDL и забыл о нем как о страшном сне. Ну а там уже половина issues-ов решились бы самостоятельно.
Я так не думаю. Я знаю ровно две игры для Linux, которые не используют SDL. Это Oil Rush и Gear Up. 99% игр используют SDL, и тем не менее выдают один в один одинаковый FPS с Windows-версиями.