Как я игру делал Страница 1 из 4

Замыслил я пару месяцев назад неладное. Появилась идея и не скрыться мне от неё никуда, не деться. Решил во что бы то ни стало сделать я игрушку компьютерную, да так, чтобы весь процесс от начала до конца своими ручками, чтобы понять, как всё делается, хотя бы на скромном, но рабочем примере. Сразу оговорюсь, я не программист. Последний раз на дельфи в учебном заведении что-то там программировал, да с++ слегка касался, а с тех пор не довелось. Но душа к программированию лежала всегда.

Будет 9 фото и текст







Итак, к делу. Мысль моя пока ещё витала в воздухе, и я не знал, за что же взяться. Для начала требовалось определиться с жанром игры, и я выбрал жанр «Защита башни»(Tower Defence), т.к. очень люблю подобные игры. Для тех, кто не в курсе, суть таких игр сводится к тому, чтобы не допустить врагов к некой «базе» игрока, расставляя у них на пути определённые орудия, которые можно улучшать. Если интересно в подробностях: жанр Tower Defence

С жанром определились, теперь нужно выбрать платформу для разработки. Конечно, самыми популярными, на данный момент, являются приложения под мобильные платформы. Но после недолгих раздумий, я принял решение делать приложение для «Вконтакте.ру». Во-первых, мне всегда хотелось изучить флеш, а во-вторых, вам, читающим эту заметку, смогу без проблем его показать, а вы уж, конечно, жёстко меня раскритикуете (куда ж без этого?=)).

Ох, знаю, как на здесь ЯПе вконтактик не любят, но если бы у ЯПа было API и привязка к логину пользователя, то я бы обязательно сделал бы версию и для ЯПлакал =)

Ну что ж, после небольшого обмозгования, я приступил к делу. Начал искать литературу по флешу, сначала освоил сам флеш (рисование, символы, основы) — заняло где-то дня 3, потом перешёл к изучению ActionScript 3.0 — это специальный язык программирования во флеше. Язык полноценно объектно-ориентированный. Весьма удобный и практичный. Если вдруг захочется изучить, читайте книги Колина Мука, он лучше всех пишет про AS 3.0. Итак, на изучение языка программирования ушла примерно неделя. Теория теорией, но пора и к практике переходить.

Как всё будет выглядеть, пока я не знаю. Допустим, это будет вид сверху. На экране будут проложены дорожки, по которым двигаются враги. В конце дорожки — база, которую нужно защитить. Для орудий будем делать специальные слоты. Так. Всё хорошо, но как мы будем всё это рисовать? Нужно нарисовать как минимум 5-6 видов орудий, для начала можно 3 вида врага, потом добавим больше… Ну конечно же, ведь я не зря в своё время изучал 3dsmax! Придумываем различные пушки, придумываем, чем и как они будут стрелять и поехали. Работа пошла, работа кипит!

Нужно сделать, чтобы орудия поворачивались за врагом, а то как-то не комильфо, если они в одну точку упрутся и так стоять будут. Т.к. игра не на 3d движке, то поворот будем осуществлять посредством отрисовки каждого положения орудия. Итого по 24 рисунка на каждый объект. Кроме лазера. Он у нас будет испускать луч (добра).

Итого из орудий: пулемёт, пушка, стреляющая ядром, ракетница, лазер, замедлитель (замедляет движение врага) и огнемёт. У каждого орудия есть свои характеристики: урон, радиус действия, скорострельность. Есть ещё не явные, например, ядро пушки поражает сразу несколько врагов, в то время как другие должны стрелять только по одной цели. Помимо всего этого, разрабатываем общий интерфейс игры. Сейчас он выглядит скромно… я бы даже сказал, весьма и весьма скромно:





Рисуем дорожки, добавляем объекты на экран. Всё делается душевно и весело. Всегда приятно работать самому на себя. Правда ведь?

Одна из самых интереснейших вещей в подобных программах — алгоритм нахождения пути. Т.к. я твёрдо решил делать всё сам полностью с нуля (даже изобретая велосипед), то и этот алгоритм я придумывал сам. Забавно было потом узнать, что это был тот самый «волновой» алгоритм.


  • 380
  • 04/07/2015


Поделись



Подпишись



Смотрите также