Найти тему
Дмитрий Компанец

Флеш игра на которой я заработал 1000$. Покажу коды и расскажу как нарисовал.

Оглавление
Флеш игра которую я продал
Флеш игра которую я продал

Привет Вам внучки и старички! Учиться никогда не поздно и никогда не рано,- так что по просьбе читателей публикую сказ о том как я игрушку рисовал программировал.

Опубликовав статью "СВИНСКИЕ МЕЧТЫ" - моя игрушка.... я получил письма и комментарии с просьбой продолжить тему и поделиться своим опытом с аудиторией.

-2

Так почему бы и не рассказать об одном из реализованных моих проектов который принес мне более 1000$ в виде платы за коды, графику и адаптацию для нескольких интернет ресурсов.

Крошечная предыстория: первое знакомство с программированием состоялось у меня в студенческие годы на БЭС ЭВМ. На языке Фортран пришлось написать программу, на перфораторе перенести её на бумажное ПЗУ в виде стопки перфокарт и сдав на "пересчет" получить кусок распечатки с результатом на бумажном носителе.
Сдав зачеты и экзамены, про программирование на Фортране я успешно забыл.

В "нулевые годы" я впервые увидел флешки жутко захотел "делать так же", что и реализовал изучив по мануалам "Макромедию" и "Изотопию".
Пытаясь заработать , я зарегистрировался как Фрилансер и стал выставлять на продажу графику - открытки банеры с анимацией, но попутно уже пробовал писать приложения вроде оболочек для слайдшоу и музыкальных и кино проигрывателей.
Продвинуться и заработать на биржах и чужих сайтах весьма проблематично, так что , зарегистрировав пару доменных имен , я создал несколько сайтов со своим контентом с меткой S3DK. Ранее все эти сайты были зарегистрированы на моё имя на законных основаниях, теперь уж давно я отказался от них полностью.

ИМЕННО БЛАГОДАРЯ САЙТАМ КО МНЕ ПРИШЛИ ЗАКАЗЧИКИ

Думаю не ошибусь если скажу , что 99% ресурсов размещающих флеш игры и анимации используют заимствованный (ворованный) контент.
Фраза "Мы собрали для Вас по всему интернету и тщательно отсортировали Лучшие Флеш игры!" переводится так: "У нас нет ничего своего - все что мы разместили честно стырено у других!"

Доходило и до маразма - Мне присылали предупреждение о том, что я размещаю чужой контент (мою игру) - Это были жалобы тех кто таким образом убирал конкурентов грязными способами.
Украл - кричи что тебя обокрали и тыкай пальцем в того у кого стырил.

Конец предыстории.

ДЕЛАЕМ СВОЮ ФЛЕШ ИГРУ

Любая игрушка начинается с идеи. Идея Кота - Ныряльщика была в том чтобы избавиться от нажимания кнопок на клавиатуре - Вся игра управляется мышкой.

ЗАСТАВКА
ЗАСТАВКА

В игре есть немало анимации картинки сменяют друг друга, волны качаются под музыку, а подводная лодка всплывает и вылезает котик.

Заставка к игре
Заставка к игре

Очень часто , те кто думает что достаточно одного кода чтобы сделать игру и она станет популярной - ОШИБАЮТСЯ ! Время уделенное графике, оформлению, пользовательскому интерфейсу и хелпам тратится огромное. А код всего лишь пара строчек реализующих алгоритм.

Хелп и описание
Хелп и описание

Без должного описания игра не игра, а само-развлечение кодера.
К примеру на этой заставке с хелпом присутствует анимация, которую тоже нужно было прорисовать и запрограммировать.

ИГРА ДОЛЖНА ИМЕТЬ СВОИ ФИНАЛЫ

В конце этой моей игрушки  страница с приглашением поиграть в другие
В конце этой моей игрушки страница с приглашением поиграть в другие

В конце этой моей игрушки страница с приглашением поиграть в другие пройдя по прямым ссылкам (нажав на кнопку).

Не стоит пытаться сегодня заходить на мои сайты - они перекуплены!

Уже давно за мои сайты s3dk.com .in .ru предлагали по 5-6 000 $ с ежегодной выплатой за каждый по 500$ c учетом выпуска одной новой игры в месяц. (не продал и наверное сглупил)

ЭТАПЫ ИГРЫ - ПОЛЯ (картинки) С ВРАГАМИ И РЕСУРСАМИ

Один из уровней игры
Один из уровней игры

На всех этапах нужно дышать и есть - иначе кот помрет. Враги обитают в море разные и ведут себя по разному - настигая и кусая кота за хвост.

В случае кончины снимается одна жизнь до тех пор пока они есть....

Финал игры проигрыш
Финал игры проигрыш

И пожалуйста, не надо сравнивать игры от корпораций и объединений с проделками одного Свободного Художника (Фрилансера).
Факт в том, что эту игру публиковали за деньги и бесплатно (лишенную ссылок и переходов) и заказывали её ремейк под конкретный сайт или заказчика. Самое простое и хорошо оплачиваемое действо - редизайн, хотя продать коды было проще , но дешевле , да и что они стоили - смотрите сами насколько все просто сделано.

КОДЫ ИГРЫ (некоторые)

Привести "линейный" последовательный код это все равно что показать программу после декомпилятора. Знакомые с ООП и АС меня пойму и простят.

Игра начинается с проверки загрузки
byteloaded = getBytesLoaded ();
bytetotal = getBytesTotal ();
loaded = int(byteloaded / bytetotal * 100);
loading.gotoAndStop(loaded);
тут ничего волшебного - просто проверяется вес игры в байтах и сравнивается с загруженным в браузер.

Анимация сделана в векторах и использует библиотеки АС - описывать её коды бессмысленно
В начале игры даем значения переменным - по именам понятно что к чему
kotiki=9; попытки - души
ribki=100; рыбки - жратва
bylki=300; бульки - пузыри воздуха
stop()

Счетчик пойманной рыбы отрабатывается таким скриптом
onClipEvent(enterFrame){this.s._xscale=_root.ribki;
if(_root.ribki>0){_root.ribki-=0.3;}
if(_root.ribki>400){_root.play();} }

Имеется объект this. который имеет линейный размер равный переменной (ribki=100; рыбки - жратва)
Со временем Котик тратит силы {_root.ribki-=0.3;} но только тогда когда он еще не мертв if(_root.ribki>0)
Когда Котик наедается до отвала (пережрал) if(_root.ribki>400) происходит переход на следующий уровень {_root.play();}

НО ЛОВИТЬ РЫБУ НУЖНО ОСТОРОЖНО - НЕ ЗАБЫВАЯ ДЫШАТЬ

этот скрипт отрабатывает наблюдение за дыханием Котика
onClipEvent(enterFrame){this.s._xscale=_root.bylki; _root.bylki-=0.5;
if(_root.bylki<5){_root.kotiki--;_root.bylki=300;this._parent.nkot.play();}}

Тут всё аналогично поимке рыбок - нет воздуха = капут.

На каждом уровне существуют опасности

вот таким кодом управляется Акула нападающая на Котика

onClipEvent(enterFrame){

if (this.hitTest(this._parent.nkot)) {this.gg1.g1.golova.zybi.play();}

if(_x>this._parent.nkot._x){_x-=(_x-this._parent.nkot._x)/5;}

if(_x<this._parent.nkot._x){_x-=(this._parent.nkot._x-_x)/5;}

if(_y>this._parent.nkot._y){_y-=0.2;}

if(_y<this._parent.nkot._y){_y+=0.2;}

if(_x==this._parent.nkot._x){this.gg1.g1.golova.zybi.play();}

}

Момент контакта челюстей акулы с Котиком фиксируется так
if (this.hitTest(this._parent.nkot))
далее следует анимация челюстей
{this.gg1.g1.golova.zybi.play();}

Пока акула жует Котика его здоровье сильно уменьшается и може случиться капут - лишение жизни (одной из оставшихся).

Разумеется по таком описанию даже с готовыми кодами и рисунками создать с нуля игру не получится, да и не стоит. Флеш уже "мертв" и уже очень мало тех кто в одиночку пишет и рисует игрушки для браузера.

Но опыт полученный при создании игрушек , удобство АС и его транс-платформенность позволяют мне и сейчас писать небольшие приложения для самоделок конкурирующие с фирменными товарами (тут будет ссылка на статью Индикатор УльтраФиолета).

Программа для обработки уровня сигнала написана тоже как игрушка - да и выглядит также. Детектор ультрафиолета для Iphone Ipad Телефона ⚒️

Если тема этой статьи вызовет интерес у Читателей , я расскажу подробно как с нуля написать простую игру со всеми нюансами.
Ну а пока - Пока!
Искренний ваш Д.К.