?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

Entries by category: игры

C++, Именованные параметры функций в С++. Спрайты в 2d движках.
nyaload
_winnie
Блог же у меня вроде про программирование и разработку игр? И про C++?

Тут я изложу свой опыт того, как надо организовывать основную API-функцию 2d-игр: вывод прямоугольных спрайтов. Это основая функция, игра наполовину состоит из неё :) Остальная половина - игровая логика и чуточку прочего, вроде сейвов, звука, мат-библиотеки.
А, ещё билд ресурсов, шрифты, плавная анимация тоже важные темы, работа с которыми у программиста будет сильно влиять на скорость разработки.

Не знаю насколько, это будет полезно. Для PC лучше взять скриптуемый готовый движок, или флеш и положить игру в Facebook/вконтакт :)
Но если вдруг окажется, что начинаете возиться с таким низким уровнем, да ещё и на C++, тут можете увидеть советы, как сделать жизнь гейм-кодера слаще. Остальные могут увидеть удобный приём для языков с ООП (C++, Java, C#, JavaScript, Python, ...).

Итак, задача с которой я столкнулся два года назад, когда делал движок для казуальной игры: функция удобного вывода прямоугольного спрайта.
Read more...Collapse )

Ещё один важный момент. Сортировка спрайтов по Z. .
Read more...Collapse )

см . так же сжатие графики для спрайтов
Tags: , ,

(no subject)
nyaload
_winnie
Прочитав это задумался: А как же лет через десять-пятнадцать будут запускать-эмулировать старые игры, если практически невозможно воспроизвести точное поведение видекарты? Которая не смотря на то, что очень старая, но обладает огромной сложностью (+ драйвера к ней). Сейчас я могу так или иначе запустить любимую DOS-игрушку в эмуляторе DOS/WmWare, могу запустить старенький Warcraft 2 которому нужен только VESA, старенький StarCraft которому нужен только ddraw. А что будет, если я захочу запустить через десять лет StarCraft 2, который на шейдерах, что на несколько порядков сложней блиттинга в ddraw? Кто будет заниматься эмуляцией тонкостей багов?


Возникают всякие странные мысли вроде D3D9 поверх OpenGL в софтварной Mesa GL :) или D3D9 поверх D3D 10 поверх D3D 15 поверх ... со всё возрастающей вероятностью багов (ведь шейдеры надо перекомпилировать с одного языка на другой, это непросто, есть тонкости с точностью вычислений и границами диапазонов).