Road Fighter

Road Fighter Road Fighter — видеоигра в жанре аркадных автогонок, разработанная компанией Konami и выпущенная в виде игрового автомата 7 декабря 1984 года. Позднее были выпущены версии для компьютеров стандарта MSX1 (1985) и для игровой консоли Nintendo Entertainment System (1985 в Японии и 1991 в Европе).
» Read more

Emscripten + OS X El Capitan

Emscripten Emscripten is an LLVM-based project that compiles C and C++ into highly-optimizable JavaScript in asm.js format. This lets you run C and C++ on the web at near-native speed, without plugins.

Решил еще раз установить Emscripten с помощью brew, на сей раз все оказалось гораздо проще. Возможно это работало и раньше, но я только сегодня обратил на это внимание.

Правильный способ установки Emscripten с помощью brew:

# устанавливаем emscripten как обычно:
$ brew install emscripten

# запускаем emcc, что бы он создал файл ~/.emscripten
$ emcc

# исправляем LLVM_ROOT:
$ vim ~/.emscripten

Должно получиться как-то так:

LLVM_ROOT = '/usr/local/opt/emscripten/libexec/llvm/bin'

К сожалению с помощью brew правильно установить emscripten под OS X El Capitan мне не удалось.
Я не смог найти какую-либо информацию по правильной установке emscripten с помощью brew, поэтому получилась вот такая магическая инструкция.

Список шагов для установки emscripten из-под OS X:

  • С официального сайта качаем портабельную версию emscripten – http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html#sdk-download-and-install
  • Распаковываем и запускаем ./emsdk update.
  • С помощью команды ./emsdk list можно посмотреть список доступных пакетов, утилит и sdk.
  • С помощью комады ./emsdk install latest устанавливаем самые последние версии.
  • Командой ./emsdk activate активируем переменные окружения emscripten.
  • Теперь при необходимости сборки проекта инициализируем переменные окружения с помощью команды source ./emsdk_env.sh.
  • По желанию можно прописать путь к директории с emsdk.

Simple Viewer GL

Simple Viewer GL Небольшой вьювер изображений использующий OpenGL. Пользуюсь этим вьювером в повседневной работе для быстрого просмотра списка изображений, определения параметров области, которую занимает спрайт на текстуре.

Поддерживаемые форматы: PSD, PNG (libpng), JPEG (libjpeg), TIFF (tiff, многостраничный), ICO (поддержка фреймов в формате png), DDS, GIF (giflib, с поддержкой анимации и возможностью просмотра каждого фрейма отдельно), BMP (частичная поддержка), TARGA, PNM, XWD, XPM, SCR (формат экрана ZX-Spectrum), WebP, OpenEXR.

Основные возможности:

  • поддерживаются встроенные в файл цветовые ICC-профили;
  • отображение EXIF или иной информации, внедренной в файл (клавиша <e>);
  • загрузка изображений в отдельном потоке + индикатор процесса загрузки;
  • создание списка файлов и поиск позиции, с которой начался просмотр;
  • поддержка GIF-анимации;
  • отображение координаты и цвета пикселя под курсором (ключ командной строки -p или клавиша P);
  • возможность выделения части изображения рамкой (удобно для определения координат и позиции области);
  • быстрое скролирование изображения с помощью клавиатуры или мышки;
  • произвольное масштабирование изображения с помощью клавиатуры ( / + / 1..0);
  • корректное автоматическое масштабирование изображений, не вмещающихся в окно вьювера;
  • возможность просмотра многостраничных изображений (клавиши PgUp / PgDn)
  • использование OpenGL;
  • разбиение больших изображений по нескольким текстурам;

 
Без минусов не обошлось:

  • нет возможности переназначить “горячие” клавиши (планирую сделать);
  • изображения загруженные с помощью Imlib2 не имеют информации о кол-ве бит на пиксель (постепенно избавляюсь от этой библиотеки в пользу собственной реализации загрузчиков);

Загрузка и сборка
В данный момент исходные коды Simple Viewer GL доступны в Git на Bitbucket.org.
 


Mac OS X: путь к исполнимому файлу

Нашел у себя в черновиках. Не уверен, что я этот код где-либо использовал, но для затравки сойдёт.
Object-C:

const char *path;
path = [[[NSBundle mainBundle] bundlePath] UTF8String];

Или так:

CFBundleRef bundle;
bundle = CFBundleGetMainBundle();

CFURLRef res;
res = CFBundleCopyResourcesDirectoryURL(bundle);

CFStringRef resStr;
resStr = CFURLCopyFileSystemPath(res, kCFURLPOSIXPathStyle);

char path[8192];
CFStringGetFileSystemRepresentation(resStr, path, sizeof(path));

World of Goo

World of Goo
Просто чумовая игра – World of Goo. Детей не оторвать, сам оторвался только после того, как прошел все, что возможно.
Жанр игры однозначно определить сложно – это и аркада, и логика. Игра завязана на законах физически. Сейчас вообще стало очень модно использовать физику в играх. Но в этой игре и реализация, и дизайн, и дух просто непередаваемы.

Игра доступна для Windows, Mac OS X, Wii, и, с недавнего времени, Linux.

Очень рекомендую!

Between the Worlds

Не смотря на козни конкурентов, которые своими комментариями пытаются понизить интерес к игре, Between the Worlds остается на первом месте в топе паблишера iWin.

Статистика по игре на CasualCharts.com.
Список игр, отсортированных по рейтингу в общей категории на iWin.

К сожалению, пока только версия для Windows, а Mac OS X и Linux версии пока не доступны для публичного скачивания.

В ближайшее время ожидается выпуск игры еще для десятка паблишеров.

Word of Padman

Word of Padman – FPS в игрушечно-мультяшном стиле. Есть мультиплеер, а сингла нет. Если не ошибаюсь, то игра использует движок от Quake II.
Ничего конкретного об игре сказать не могу, т.к. сам еще не играл в нее. Но игра входит в топ 100 лучших игр для Linux.
Версии для Windows, Linux, Mac OS X.

Teewars

Teewars – сетевая 2D-аркада для платформ Windows, Mac OS X, Linux. Игрушка простая но весьма занимательная – ваша задача управляя “колобком” не дать ему погибнуть от руки (пистолета, гранатомета) другого колобка. При этом стараясь уничтожить противника. Колобок кроме движения вправо/влево может выстреливать не очень длинной цепью с крючком для того, что бы подняться по стене или преодолеть пропасть.
На сайте доступны исходные коды игры.

Google performance tools

Google Performance Tools (GPT) — набор утилит, которые позволяют проводить анализ производительности программ, а также анализировать выделение памяти программами и производить поиск утечек памяти.

GPT может работать практически на всех Unix-совместимых операционных системах — Linux, FreeBSD, Solaris, Mac OS X (Darwin), включая поддержку разных процессоров1 — x86, x86_64 и PowerPC. Кроме того, tcmalloc можно скомпилировать также и для MS Windows, что позволит искать утечки памяти в программах, разработанных для этой ОС.

Полная версия статьи Google performance tools.

Статья этого же автора о Valgrind.

1 2 3 4