Ground Control - Day

Tuesday, February 26, 2008

11:58AM - Игра

Я несколько раз брался за написание компьютерной игры, но не доводил дела до конца по тем или иным причинам. Первый раз писал Xonix сопляком в компьютерном клубе -- клуб закрыли, когда у меня было готово движение шариков; второй раз я забил на домашнее задание в 10 классе ([info]secondf написал тогда офигенный файтинг в псевдографике). В прошлом году поработал у разработчиков одной браузерной игры, но общее уныние процесса и продукта не задержало меня там надолго.
В итоге, во искупление кармического долга, я написал клон классического Pong'а на javascript+Mozilla canvas.

В начале думал писать на javascript+SVG, там всё так удобно и кроссбраузерно, но жуткие тормоза меня остановили. На canvas оказалось тоже несложно и гораздо быстрее, хоть и не работает в IE (да, я знаю о гугловом excanvas.js, но скорость всё равно была бы неприемлема), и анимация делается полной перерисовкой. Кстати, иногда в Firefox'е наблюдается странный глюк, на каких-то участках пути шарик начинает жутко тормозить, потом снова летит плавно, помогает только перезапустить браузер. Думаю, это всё же баг в мозилловской, хоть и родной, реализации canvas, поскольку в Opera и Epiphany такого не случается.

Помимо обычного геймплея Pong'а я добавил в игру карточки-модификаторы, с поведением программируемым на том же javascript, хотя так и не обучил противника ими пользоваться. С другой стороны, человек не используя этих модификаторов выиграть у компьютера скорее всего вообще не сможет, так что всё более-менее честно.

Ссылки:
http://canvapong.googlepages.com/ (заглавная, там есть ссылка на недописанный SVG-вариант)
http://canvapong.googlepages.com/pong.html (сама игра)

upd: и, наверное, всё же, javascripted Canvas и SVG далеко не конкуренты проприетарному говну Flash'у и Silverlight'у.

|#|1|+|

Previous day (Calendar) Next day

Advertisement