Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Создание браузерных игр на HTML5/Записи в блоге |
Создание браузерных игр на HTML5
Голосов: 1 Адрес блога: http://createhtml5games.blogspot.com/ Добавлен: 2012-04-21 06:28:27 |
|
Что такое "Структура данных" и зачем она?
2012-04-18 07:54:00 (читать в оригинале)Структуры данных были созданы еще в GameMaker 6, а то и раньше, для замещения стандартных массивов (array). На компьютерах структуры явно выигрывает в скорости; в яваскриптах особой разницы нет - всё равно прорисовка берет больше ресурсов - , но всё-таки они удобнее и функциональнее.
Существует 6 видов структур данных:
- ds_queue
- ds_priority_queue
- ds_stack
- ds_list
- ds_map
- ds_grid
С нашим "магазином" это выглядит так: стоит человек десять в очереди, и тут в магазин заходит Владимир Владимирович. Ясен пень, мы его пропустим вперёд :) вот, теперь он купит сосиски быстрее всех. Но вдруг входит Жириновский :D Мы его тоже пропустим вперёд, но ему придется подождать своих сосисок, ведь впереди него Путин ;)
Только вот на магазине отрицательный приоритет не покажешь :)
Ds_stack
Ds_stack - это очередь наоборот. Здесь добавленная ячейка будет изъята первой.
Сам я этой структурой не пользуюсь, поэтому про применеие ничего не могу сказать.
Ds_list
Моя самая любимая структура! Лист или список - это одномерный массив данных, из которого можно в произвольном порядке извлекать данные или добавлять значения в произвольное место в структуре. Также есть автоматическая сортировка, перемешивание, определение количества ячеек с данными.
Применение списков очень широко. Без них нельзя было бы выбрать неограниченное количество юнитов в стратегиях (starcraft), стало бы затруднительно управлять большим количеством ресурсов.
Ds_grid
Говоря проще, ds_grid - это таблица. Без структур данных таблицу можно сделать и в виде двумерного массива, но эта структура несомненно удобнее, т.к.:
- Можно одной строчкой кода заполнить нужный участок ячеек нужным значением, причем не только прямоугольной, но и круглой формы.
- Можно получать минимальное или максимальное значение в указанном регионе или получать сумму значений.
- Также при желании можно увеличить или уменьшить структуру, И
- ли определить ее размер,
- А еще скопировать участок значений,
- И т.п.
Ds_grid может применяться для генерации карт или более производительной проверки столкновений для крупных уровней с большим количеством столкновений.
Также в сочетании с ds_map можно реализовать гибкий по возможностям инвентарь.
Ds_map
Ds_map по своей структуре больше напоминает *.ini файл. Это тоже список, но у каждой записи есть свой ярлычок с названием.
Так можно хранить настройки игры или параметры предметов в инвентаре. Ds_map может хранить и одно значение, и несколько десятков. У каждого ярлыка тоже может быть несколько значений.
Например:
Есть кинжал. У него:
- Минимальная сила удара - 2
- Максимальная сила удара - 5
А вот священный меч:
- Минимальная сила удара - 20
- Максимальная сила удара - 50
- Здоровье - +50
- Бонус - крит х5
- Бонус % - 10
Так же можно указывать заклинания (и даже случайным образом генерировать их во время игры).
А еще делать постепенную прокачку юнитов или зданий нелинейным способом.
В общем, много чего можно сделать :) Здесь я указал наиболее частые способы использования.
В играх же могут применяться все виды структур данных. Можно их вкладывать друг в друга, создавая более сложные конструкции.
Любую структуру данных можно сохранить в виде обычной строки, понятной только для гейм мейкера :) .
Как написать плохую игру
2012-04-11 10:08:00 (читать в оригинале)Чтобы написать хорошую игру, нужно знать, почему она может стать плохой. Пара минусов может вывести игрока из себя, и он просто закроет игру. Особенно если эти два минуса вылезают систематически.
Если совсем не следить за частыми ошибками, то эти минусы будут наслаиваться друг на друга и тянуть за собой всю игру.
Статья у меня получилась обширная, поэтому устраивайтесь поудобнее и читаем всю статью
сложно удержать при ударе.
Ой, привычка :)
Самая качественная по начинке игра с самым косым сюжетом - Ведьмак.
Игра начинается самым банальным способом - герою вышибло память.
Сразу после этого начинается супермочилово
Затем - постельная сцена (секс в первый день жизни...).
Затем мы спокойно идем выполнять идиотские квесты... (да мне хотя бы имя вспомнить!!!)
Мало того, что для прохождения квеста нужно пол-часа переться в город (и мне на пути даже собака не попалась, ваще скукотища ), так еще после этого первый квест был провален из-за того, что я ответил на вопрос:
- Знаешь ли ты Пердофона??Ну я на самом деле не знал его!!!!
- Нет.
Иду делать второй квест -_- пришел, опять:
- Знаешь ли ты Пердофона?
- Даааа
- Уйди, мы с такими не разговариваем.
После этого я зажал Alt+F4 и убил нафиг игру. Не жалею.
Назойливость
Во многих играх есть оч. назойливые звуки, поп-апы, музыка, которую нельзя отключить... Или наоборот - отсутствие возможности остановить игру. Или пропустить видеоролик.
В общем, надо делать кнопки, опции, которые будут отключать музыку, подсказки, пропускают лирические отступления. Приделать паузу.
Но слишком не мудрите - всё должно быть удобно.
Еще есть один частый косяк, но связан по большей части с оформлением. В некоторых шутерах, когда происходит попадания кинжала или выстрелов в зомбаков или монстров звучит один и тот же вопль, одно и то же хлюпанье. У меня сразу возникает в голове такая ситуация:
- Кинжал всегда попадает в одну и ту же дырку О________о
- Зомбаки - это клонированные роботы.
Замудренность
Чем сложнее игра - тем хуже себя ощущает игрок.
Игрока нельзя кидать на произвол судьбы в незнакомом ему мире.
Напишите туториал. Развесьте подсказки. Но не забывайте про параграф выше
Если это квест - то не лишним будет выложить прохождение в блоге разработчика. Для нестандартной головоломки надо написать для игроков правила игры.
Не делайте заумных горячих клавиш, вроде "нажмите M, чтобы пнуть правой ногой; нажмите Q, чтобы пнуть левой ногой".
В крайнем случае позвольте игроку самому указать клавиши.
Несоответствие графики.
Ясен пень, среди вышеупомянутых зомби пикачу будет выглядеть как минимум подозрительно
В графике тоже все должно быть логично. Точнее - сделано в едином стиле.
А что делать, если ресурсов нет? Несколько вариантов:
- Упрощать всю графику до тех пор, пока вы не сможете ее делать самостоятельно. Пусть там кубик прыгает по квадратным платформам, стилизуйте под неон - все равно лучше, чем если бы была совершенно не сочетающаяся графика.
- Нарисуйте графику в Adobe или Macromedia Flash. Там есть функция сглаживания кисти, благодаря чему можно быстро сделать качественные мультяшные спрайты и фона даже мышью.
- Поищите ресурсы на тематических сайтах про разработку игр. Многие авторы неудавшихся игр выкладывают уже ненужные ресурсы. Графику делают на форумах на заказ.
- Выучите основы фотошопа.
- Установите себе симсы и spore: в них можно делать скриншоты своих творений, а в spore - анимированных моделек монстриков. Это касается не только живности, но и зданий и реквизита. Главное - делать скриншоты под одним углом.
- Создать на компе или на переносном жестком папку, куда вы будете сваливать любой клипарт или просто понравившиеся картинки. Поможет не только в игростроительстве, но и при создании сайтов или просто презентаций.
- Начеркайте где-нибудь на листочке список форумов и блогов о создании игр или просто о 2д графике, где можно попросить о помощи или просто скачать имеющуюся графику.
Некоторые мои спрайты, сделанные во flash за пару минут. Игра, выполненная в этом стиле, выглядела очень эффектно! |
Главное меню - это первое, что видит игрок в вашей игре. От его оформления зависит, будет ли вообще играть ваш пользователь.
В главном меню должно быть минимум 2 кнопки. Если их мало - они должны быть либо достаточно крупными, чтобы занять пространство и меню не выглядело пустым, либо должно гармонировать с фоном или вообще являться его частью (полезно в квестах и фермах) - но обязательно с подписями, иначе не поймешь, кнопка ли это вообще
Также можно сделать кнопки в отдельной панельке внизу, а на фоне замутить что-нибудь эффектное ><
В общем, главное меню должно быть презентабельным и красивым
Скорость игры
Как-то раз выкладывал бета-версию моей первой рпг на форуме о гамаке. Мне тогда один чув сказал:
ГГ (т.е. главный герой) двигается очень медленно. Так влом переходить через всю карту, если тебя убили %)
Благодаря этому комменту я:
- Добавил чекпоинты
- Ускорил всю игру
Проходил квест, написанный на flash, про маленького зеленого инопланетянина. Все было бы хорошо, если бы этот инопланетянин не ходил из комнаты в комнату со скоростью улитки
- Если у вас ТДС - сделайте кнопку "следующая волна"
- Если у вас стратегия - сделайте опцию "скорость игры"
- Если у вас рпг - добавьте суперспособность "ускоритель", как в Hellgate London
Любой косяк - ругательства в ваш адрес от игрока. Если вы выпустили игру, даже не проверив ее - не удивляйтесь, если вы станете судорожно икать!
Непростительные косяки во всемирно известных играх, которые я нашел:
Hellgate London |
- В Hellgate London, ближе к концу игры - эпизод с большим роботом-экзоскелетом -, если банально вылезти из этого робота, не доходя до уровня, то герой до конца игры будет неуязвим!
- В игре Alien Shooter 2, на предпоследней карте (логово инопланетян), герой-женщина (с мужиком не получилось, специально проверил ) и все выстрелы спокойно проходят сквозь стены. Точнее - стены были только декорацией.
- В Dungeon Lord были бесконечные отмычки, которые можно было еще и бесконечно продавать
- В Crysis можно залезть за карту и даже ПОД карту
Скидываем игру лучшему другу-тестеру. Пусть он тоже берет листик и записывает все косяки, а потом докладывает вам
Дисбаланс игры
Ну от этого страдают все рпг, в которые я играл - ближе к концу игры проходить ее становится невозможно или немыслимо глупо:
- Игра Two Worlds. Играть стало глупо потому, что у меня было всего пара тысяч хп по сравнению с вражескими миллионами, а зато у меня было заклинание, которое сносит миллиарды хп и это заклинание имело большой радиус действия и могло убить и меня.
- Divine Divinity, не помню названия версии, год 2010. На 30-м уровне я ни-че-го не мог, кроме как делать удар сверху, сносящий тысячи хп по сравнению с обычными 200-300 хп. В финальной битве с 10 боссами в комнатке 5х5 метров было весело
- Hellgate London. Что вы думаете, отчего я из этого робота вылез? Да он простого зомбака убить не мог! Моя демонологиня стреляла со своего пекаля раз в 10 сильнее
- Та же игра, но уже другой вид дисбаланса - игру реально пройти не всеми классами персонажей. Демонессе достаточно просто штампить элементалей и лекарей. Заклинателю же надо круглосуточно вампирить монстров с мощностью 300хп/секунду, чтобы самому не сдохнуть. Стражу к 25-му уровню все пофиг, воитель в любой момент может смыться. А стрелок дохнет сразу же, как напорется на небольшую засаду демонов. Техники аналогичны демонологине.
Как надо!
Моя первая рпг-шка:
- Мечник к концу игры обретает чудовищную регенерацию,
- Лазутчик десятком выстрелов сносит кучу зомбаков,
- Маг просто шмаляет фаерболами как наша русская "Катюша".
Но у меня был один огромный косяк: нельзя было изучать новые заклинания, а я их сделал 10 видов
Аааа, я чайник!!! :D С чего начать?
2012-04-10 12:31:00 (читать в оригинале)Ааааа, я ничего не знаю, но хочу уже что-то сотворить!!!
Спокойно, давайте всё обговорим! :)
Вы только-только скачали редактор (а может, и нет) и уже хотите забацать супермего MMORPG?
Но вы ведь знаете очень мало! Для rpg, а тем более - для стратегии и других серьёзных игр нужны:
- практика
- знания
- ресурсы
- и др.
Ну самая простая игра по построению :) Самый супермегонакачанный арканоид, который я видел (и прошёл всего :) ) - это Гиперболоид. Графика очень красивая, множество бонусов, фона заслуживают отдельного внимания.
Недавно нашёл у себя на компе мой древнейший проект "Ромбоноид" :) Почему он не вышел в свет? Не знаю, а игра-то закончена О_о Может, экспортировать забыл? :D
Лабиринты
Второй вариант создания "простенькой хорошей игры" - лабиринт со сбором предметов или просто с поиском выхода. Ну т.е. пакмэн, но не пакмэн :)
А это была моя самая первая игра >< там трактор ходил по каким-то лабиринтам и собирал шарики. Я был в восторге, когда закончил эту игру :D
В чём было отличие от пакмэна?
- простор
- отсутствие монстров
- но зато требовалась аккуратность - везде лежали мины ;)
Надо возродить его <_< а то что, зря перс будет пропадать? :D
Ну а после трактора я сделал вообще улётную игру - называлась она "Бошки".
Трактор (да-да, тот самый ;) ) собирает ресурсы. На ресурсы покупаю патроны. Моя башка ходит по карте и стреляет в бошки окружающих :) Одноклассникам тогда всем понравилось.
Далее я сделал что-то вроде продолжения: "тотальный захват":
- всё тот же трактор,
- Юрико Омега :)
- Татьяны в качестве свиты.
Всё это - гибрид стратегии с шутером и при этом с простой начинкой.
И я не использовал никаких кодов.
Скроллеры
Скроллер (scroller) - это тоже простейший жанр игры.
- Есть герой, который двигается за указателем или управляется стрелками
- Он стреляет во врагов, которые двигаются сверху/справа
- Всё остальное пролетает мимо, это декорации.
Из-за движущихся в одном направлении предметов возникает ощущение полёта или вечного бега - это смотря какая игра.
Цель - выжить :)
Своё? Да!
Если с фантазией всё хорошо - можно придумать и свой жанр! Пример - мои Биовойны - во время создания компьютерной версии я практически не знал скриптов!
Для создания небольшого, но качественного проекта достаточно:
- Желания
- Уверенности в результате
- Правильной оценки своих способностей ;)
Не подражайте гигантам вроде Crysis, Assassin's Creed, Fallout 3 и т.п. Понятная игроку и позитивная игра всё равно интересней.
Проблемки в YoYo GM и новый проект...
2012-04-08 07:47:00 (читать в оригинале)Аарон О,о |
Сначала всё делал на обычном гамаке -
После переноса на HTML5 я столкнулся с большой проблемой - нельзя сохранять сурфы (surface) вообще! А сохранение части экрана возможно только на компе <_<
Также мозилла зависает после 30-40 секунд после запуска тестирования... Хромиумы реагируют нормально, но у них нет окрашивания спрайтов и шрифтов - писать белый текст по белому как-то не очень... Да и палитря вся белая :D
image_blend неактивно, короче.
А сейчас про сам редактор...
GameMaker:HTML5
2012-04-07 07:40:00 (читать в оригинале)Копия с моего форума
Компания YoYo выпустила новую программу для создания браузерных игр GameMaker:HTML5. Новый редактор игр обладает практически всеми возможностями, что и Game Maker для компьютера (за исключением автоматического поиска пути, т.к. это крайне сложная и малопроизводительная функция для JavaScript), а это означает, что гейм-девелоперы смогут создавать браузерные игры любой сложности и любого жанра без изучения нового языка!
В редакторе нет каких-либо готовых шаблонов или схем поведения, но есть большая система событий с наглядным представлением действий, благодаря чему пользователю необязательно знать языки программирования. Если базовых функций и событий недостаточно, вы можете добавить свои триггеры и обогатить игру кодами на встроенном языке GML.
Игра создается сразу в двух видах - как игра для компьютера и как браузерная. Оба вида могут отличаться только производительностью - разработчики перенесли на HTML5 прорисовку градиентов, все динамические структуры, точные маски столкновений и правильное отталкивание от них, сурфы (surface). Не хватает разве что 3д графики, но я считаю, что это временно
Созданные игры можно добавить на любой сайт, в социальные сети или преобразовать в мобильное приложение. Программа подходит как для одиночных разработчиков, так и для команд гейм-девелоперов.
Широкий спектр возможностей нового редактора показывает коллективная игра от самой компании YoYo GraveMaker. Но кроме игр можно написать программы, баннеры или интерактивные презентации
Программа распространяется на платной основе - 199$ -, но от русских хакеров это ее не спасет
Другим проектом YoYo является GameMaker:Studio, но про него я знаю мало, только то, что в нем игра пишется сразу на несколько операционных систем.
Всё