Как я игру делал, в первый раз

[ Версия для печати ]
Добавить в Facebook Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (7) [1] 2 3 ... Последняя »  К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
nayuh
6.06.2013 - 07:38
Статус: Offline


Шутник

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

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


Как я игру делал
 
[^]
Administration
[x]



Продам слона

Регистрация: 10.12.04
Сообщений: 1488
 
[^]
nayuh
6.06.2013 - 07:38
Статус: Offline


Шутник

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

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

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

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

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


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

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

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:39
Статус: Offline


Шутник

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

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

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:40
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Где дорога, вы догадались, уверен. База вверху зелёная. И зелёные квадратики - слоты под орудия.

Никогда не думал, что школьные знания могут мне пригодиться. Основы тригонометрии, математика, пришлось кое-что припомнить из школьного курса. Ну, например, как рассчитаешь попадание врага в радиус действия орудия? Или, как вычислишь угол поворота орудия по отношению к врагу? Или движение самонаводящихся ракет, которые догоняют врага? Много чего пришлось вспомнить, и много чего пришлось штудировать заново. Мне было весьма увлекательно погрузиться в этот мир.

Ну вот, уже почти война, ракеты летят, пулемёты стреляют, взрывы бум-бум:

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:40
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
И тут, ни с того ни с сего мне всё это безобразие разонравилось. Ну не могу я смотреть на эту картинку - плоско уж слишком. И принимаю я стратегическое решение: перевести всю эту плоскость в изометрию. Не настоящее 3Д, но всё же намного лучше. Занял у меня этот процесс почти целый день. Или даже два. Или даже семь. Я не знаю, так как все эти дни у меня прошли как во сне. И вскоре, после всех перерисовок и дополнений, картинка стала выглядеть вот так:

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:41
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Конечно, сразу она так не выглядела. Потребовалось некоторое время на исправление всех вылезших багов, отрисовку дополнительных объектов, таких как радары, фабрики, строения, деревья и прочие. Но принцип, я думаю, ясен.

К тому времени я уже сделал несколько видов врагов и приступил к созданию и программированию самолетов.

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:42
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Как поговаривают заядлые программисты, написание кода - это самая малая часть времени разработки программы. 99% времени же уходит на исправление уже написанного. Это, скажу я вам, чистая правда, хоть я и не программист.

Пулеметы уже стреляли, ядра с ракетами взрывались, лазер прожигал врагов, а замедлитель их, соответственно, замедлял. Пора было разрабатывать общий интерфейс игры: главное меню, меню выбора карт, экран помощи и т.д. Чем, я собственно и занялся. Вот, например, так выглядит экран для выбора карт:

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:42
Статус: Offline


Шутник

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

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

Так как запланировал запускать игру на "Вконтакте.ру", изучил вконтактовский API. В принципе, мне от него требовалось совсем немного, а потому и разобрался я сразу же.

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:43
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Самое интересное, что нужно было сделать ещё и какой-никакой сервер, да базу данных, чтобы хранить достижения игроков. А я в PHP (не говоря уже о чём-то другом) ни зубом в зуб... Т.е. я в PHP как рыба в седле. Т.е. совсем никак. Но интересно до жути. Сел изучать. Оказалось весьма несложно, если делать без защиты, шифрований и прочего. Для моего некоммерческого проекта естественно этот вариант подходит.
Итак, что мы имеем: к этому времени я доделал экраны победы и поражения. За каждую победу присуждаются звёзды от ноля до пяти. Решил, что просто складировать эти звёзды совсем неинтересно, поэтому я создал экран с улучшениями. На заработанные звёзды можно купить улучшения, которые позволят пройти игру далее и открыть следующие карты. Вот так он выглядит:

Как я игру делал
 
[^]
nayuh
6.06.2013 - 07:47
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Вся инфа записывается на сервер, так что когда вы зайдёте в игру снова, все ваши достижения сохранятся.

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

Собственно, игра находится здесь: http://vk.com/app3660797_226581 Добро пожаловать!

P.S.

"Ну вот, игра готова" - сказал я себе месяц назад, но с тех пор каждый день работаю над ней. И это, как говорят, заядлые программисты, ещё цветочки. Да, так и есть, подтверждаю. Хоть я и не программист.

© http://vk.com/wall226581_6696
 
[^]
darius
6.06.2013 - 07:52
25
Статус: Offline


Юморист

Регистрация: 17.09.09
Сообщений: 508
ТС я поставил-бы тебе все доступные плюсы если-бы было можно. Тоже нравятся башенки, а за отважное решение самому сделать игрушку и вовсе респект agree.gif bravo.gif
 
[^]
suphusai
6.06.2013 - 07:54
2
Статус: Offline


Шутник

Регистрация: 14.03.13
Сообщений: 0
Тс, Вы порвали мой шаблон просто. А если не секрет от начала реализации проекта до первой бетки - сколько времени?
 
[^]
KaA73
6.06.2013 - 07:55
19
Статус: Offline


Ярила

Регистрация: 20.06.12
Сообщений: 3291
не дал он мне поиграть, сраный VK... регистрируйся, говорит .. не буду, нуивонафуй... а ТС - респект )
 
[^]
hellroad
6.06.2013 - 07:58
4
Статус: Offline


Ярила

Регистрация: 4.09.10
Сообщений: 1151
молодца))
а у меня тоже есть предмет гордости, сын еще в школе учился, но уже немного начинал писать програмульки всякие, и сделал игрушку простенькую, и назвал ее "мамуле" там просто машинки, гоночки небольшие, зато имени меня))
 
[^]
n2icker
6.06.2013 - 07:59
1
Статус: Offline


Шутник

Регистрация: 10.07.12
Сообщений: 54
автор молодчина - так и до старкрафта 4-го недалеко))) у самого тоже руки чешутся что-нибудь сваять...
 
[^]
ALEXIUS777
6.06.2013 - 08:01
0
Статус: Offline


Хохмач

Регистрация: 27.04.12
Сообщений: 742
Супер! ТС творческих тебе успехов bravo.gif
 
[^]
TermoshoK
6.06.2013 - 08:04
22
Статус: Offline


Приколист

Регистрация: 27.05.11
Сообщений: 270
Цитата (забылкак @ 6.06.2013 - 06:45)
а дюну скачать не мог?

дюна-игра совсем другого жанра
да и тема эта не про игру, а про то, как её делали...

ТС, может попробуешь с третьей халфой повазюкаться? я вижу у тебя неплохо получается... Я думаю ты один быстрее её закончишь, чем "вальвы" толпой.. ))

Это сообщение отредактировал TermoshoK - 6.06.2013 - 08:05
 
[^]
nayuh
6.06.2013 - 08:06
10
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Цитата (suphusai @ 6.06.2013 - 07:54)
Тс, Вы порвали мой шаблон просто. А если не секрет от начала реализации проекта до первой бетки - сколько времени?

где-то месяц, потом доработки-доработки... это как ремонт делать - его нельзя закончить, а можно только приостановить
 
[^]
Edaries
6.06.2013 - 08:08
5
Статус: Offline


Ярила

Регистрация: 27.01.10
Сообщений: 1569
nayuh
сделай время х2, х3. надоедает долго сидеть :)
а так молодец rulez.gif bravo.gif

Это сообщение отредактировал Edaries - 6.06.2013 - 08:30
 
[^]
Camino
6.06.2013 - 08:11
0
Статус: Offline


Приколист

Регистрация: 7.08.11
Сообщений: 220
Похожа Tower Raiders для Андроида
 
[^]
suphusai
6.06.2013 - 08:11
0
Статус: Offline


Шутник

Регистрация: 14.03.13
Сообщений: 0
Цитата (nayuh @ 6.06.2013 - 09:06)
Цитата (suphusai @ 6.06.2013 - 07:54)
Тс, Вы порвали мой шаблон просто. А если не секрет от начала реализации проекта до первой бетки - сколько времени?

где-то месяц, потом доработки-доработки... это как ремонт делать - его нельзя закончить, а можно только приостановить

Месяц всего? А в день примерно сколько времени уходило?)
 
[^]
maxxxak
6.06.2013 - 08:18
0
Статус: Online


Гарант сделок на ЯПе

Регистрация: 23.01.13
Сообщений: 2254
Слушай у меня есть идея одной игры. Может поможешь с реализацией? Идея бомба)))
 
[^]
nayuh
6.06.2013 - 08:21
6
Статус: Offline


Шутник

Регистрация: 1.10.11
Сообщений: 75
Цитата (suphusai @ 6.06.2013 - 08:11)
Месяц всего? А в день примерно сколько времени уходило?)

Я специально брал отпуск на это время. В 6 утра вставал и занимался до 22. Иногда поменьше. С перерывами, естественно.

Добавлено в 08:29
Цитата (maxxxak @ 6.06.2013 - 08:18)
Слушай у меня есть идея одной игры. Может поможешь с реализацией? Идея бомба)))

поделись )
 
[^]
Sin666
6.06.2013 - 08:33
13
Статус: Offline


Шутник

Регистрация: 27.12.09
Сообщений: 83
Автора лично знаю, всегда удивлялся его умению взявшись за что-то новое, но интересное для него, за достаточно короткое время довести предмет изучения если не до совершенства, то, по крайней мере, до качественного конечного продукта! Молодец, Серега! Так держать! beer.gif beer.gif
 
[^]
talur
6.06.2013 - 08:36
0
Статус: Offline


Ярила

Регистрация: 26.12.06
Сообщений: 1693
ТС, если не секрет, контакт за игру отвалил? или т.к. она без смс, им это не интересно?
 
[^]
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 51059
0 Пользователей:
Страницы: (7) [1] 2 3 ... Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 




Активные темы