Feb 26, 2010 13:38
Сегодня я практически закончил реализацию алгоритма и отладку соответствующего кода, над которыми я потел с - страшно подумать - октября 2008го года, или, можно сказать, это он надо мной висел, питая мою совесть и угнетая мою жалкую душонку. Так что всё это время полное лени и глупости, прошло не вполне бездарно, хотя и процент времени, проведённого с пользой много меньше, чем он должен бы быть.
И технология, работа над которой растянулась на столько времени, может прозвучать очень глупо - это альтернативная механика наложения изображений. Словами просвещённых это нестадартный blitting. Подобная задача может показаться безумием и крайней степенью изобретения велосипеда. Тем не менее это не вполне так, если рассмотреть её в контексте потребностей геймдевелопинга, а эти потребности в нашем случае выше чем вавилонская башня. Суть алгоритма в минимизации обработки частей изображения и в динамическом отбрасывании ненужных из них. В случае если кусков очень много, алгоритм предположительно должен дать заметное преимущество в производительности, а если куски сами по себе являются не статическими комками байтов для копирования, а требуют обработки, рендеринга или даже генерации, то прирост в производительности должен быть критически большим в сравнении с более традиционными подходами. Более того, в процессе разработки у меня возникли идеи для ещё большей экстраполяции применения этого алгоритма с тоже весьма интересными последствиями. Впрочем, ближайшее будущее покажет насколько это всё стоило, сейчас я счастлив прежде всего потому что наконец-то у движка приличная механика работа с изображениями и можно распространить внимание и на другие вещи.
Ведь процесс работы, во время которого, надо заметить, алгоритм несколько раз значительно преобразился и усовершенствовался прежде чем увидеть свет, имел для меня далеко не только технический интерес. Я поставил перед собой испытание - далеко не самое сложное, технически как раз даже относительно простое по сравнению с предыдущими, чтобы проверить, смогу ли я продолжать свою работу, и испытывая себя, исправить себя и подготовить к этому. Наконец, я его прошёл. И три последних месяца, в которые работа над этим кодом шла наиболее напряжённо и плодотворно совершенно не случайно совпадают с моим внутренним подъёмом.
Едва верится, а это ведь так хорошо. Можно перестать спотыкаться об это, перестать волноваться о возможности-невозможности этого, можно наконец интегрировать в движок и с лёгкой душой отдаться геймдизайну и скриптовой системе, которая мне так интересна.
И естественно я совершенно не жалею об эксперименте и не собираюсь.
программерское,
qsm,
эксперименты,
изобретательское,
сумасшедческое,
радости программирования