Что бы не засорять форум,решил создать отдельную тему,куда я и буду выкладываь свои уроки.
Урок 1.
Что же,в этом уроке мы расмотрим как сделать стрелялку с видом сверху.Мы будем управлять некой турелью,и отстреливать врагов.Это будет что то похожее на тдс,но не совсем то.
ЧТо же,приступим.Первым нашим обьектом будет турель(башня,пушка,кто как называет).Создаем обьект и подписываем его objTower.Наша цель сделать так,что бы она повырачивалась вслед за мышью.Для этого в событии Step у нашего обьекта прописуем код:
Code
image_angle=point_direction(x,y,mouse_x,mouse_y)
Проверяем.Башня поварачивает вслед за мышью.
Теперь создадим обьект ObjBul,который будет являться пулей для нашей башни. в событии Create у него прописуем:
Таким образом мы задали начальные координаты для нашей пули,а также скорость.ТЕперь нужно сделать,Что бы наша пуля стреляла.для этого нам неробходимо в Событии Global Mouse Left button(или в любом другом событии с нажатием клавиш)у обьекта objTower прописать код:
Code
instance_create(x,y,objBul)
Но как вы можете заметить,Что при удержании левой кнопки мыши пули летят безперерывно.Исправим это.В событии Create у objTower пропишим строчку кода
Code
shoot=1
Тоесть,если shoot=1,то стрелять можно,в любои другом случае-нет.А в событии Global Mouse Left button пропишим такой код:
Code
if shoot=1 {instance_create(x,y,objBul) shoot = 0 alarm[0]=20}
Рассмотрим его.Его можно перевести в принципе до словно.Этот код звучит как:
Если shoot=1(стрелять можно) {создаем обьект стрелять нельзя будильник[0]=20 шагов}
А в Alarm'e[0] прописываем
Code
shoot = 1
Тоесть,таким образом мы создалм некую перезарядку,которая позваляет стрелять не меньше,чем через каждые 20 шагов.
ТЕперь противники.Создадим самых тупых ИИ,которые будут просто двигаться на вас.Пускай это будет так.Обьект назовем objEnemy.
Что бы наш танк поварачивал в сторону нас. ВНИМВНИЕ!Что бы это работало првильно необходимо,что бы лицевая сторона спрайта смотрела в право!Это же касается и нашей башни!
А в событии столкновения с башней и пулей пишем:
Code
instance_destroy()
Теперь создадим контроллер,который будет саздовать нам наших противников через определенное количиство шагов.
Назовем обьект contr.
В событии Create Пишем:
Code
instance_create(680,100,objEnemy)
alarm[0] = 30
Тоесть,мы задали действие создать обьект врага,с координатами 680,100(тоесть если размер вашего "полигона" 640 на 480,то противик будет создаваться за пределами экрана,и двигаться на вас.
В Alarm0 прописываем
Code
instance_create(680,200,objEnemy)
alarm[1] = 30
В Alarm1
Code
instance_create(680,300,objEnemy)
alarm[2] = 30
Alarm2
Code
instance_create(680,400,objEnemy)
alarm[3] = 30
И в Alarm3
Code
instance_create(680,500,objEnemy)
alarm[0] = 30
Заметте,что в последнем нашем действии мы заводим будильник 0,что будет производить все что мы написали снова и снова. Теперь добавляем обьект contr в нашу комнату.Тоесть,таким образом у нас изначально в комнате два обьекта контроллер и башня,а все остальные создаются в ходе игры.Ну что же,основа готова.Теперь вам необходимо лишь пофантазировать,что бы из всего этого собрать полноценную игру.Удачи!
Урок 2Простой АИ для ТДС.Исключительно для новичков!
Пример создания самого простого AI.
Для создания самого простого Ai нам потребуется всего два спрайта и два обьекта.Обьект первый-ГГ,а второй-сам AI,который будет гонятся за ГГ.Ну а два спрайта,соответственно,задать этим обьектам. Начинаем,создаем 2 спрайта с названиями spr_hero и spr_AI.Создаем обьекты hero и AI,а затем задаем им спрайты. У обьекта hero в событии Step добавим код:
Code
image_angle = direction; //поворот спрайта при движении,спрайт должен смотреть вправо. move_towards_point(mouse_x,mouse_y,0);//поворот за курсором мыши.
if keyboard_check(vk_left) { x-=4 } if keyboard_check(vk_right) { x+=4 } if keyboard_check(vk_up) { y-=4 } if keyboard_check(vk_down) { y+=4 } //движениe
Что же,теперь наш Главный герой двигается,но не стреляет.Но это не особо важно,ведь суть этого урока состоит в создании AI,а не ТДС.У обьекта AI в событии Step добавим код:
Code
mp_potential_step(hero.x,hero.y,3,0)//Задает движение обьекту за главным героем image_angle=direction//поворот спрайта.
Что же,как вы видите,обьект АИ двигается за ГГ.Такой АИ моджет использоваться для создания в ТДС разных монстров,которые не имеют возможности стрелять,или же для каких либо бандитов с ножами.А впрочем,все зависит от вашей фантазии. Скачать исходник ЗДЕСЬ (В конце Статьи)
Урок 3.Создание самого простого мультиплеера.
В этом уроке мы расмотрим как можно осуществить игру двумя игроками используя одну
клавиатуру.Мы расмотрим лишь создание движений. Создадим 2 спрайта s_p1(спрайт для первого игрока,повернут на лево),s_p2(для второго
игрока,повернут на право).Теперь создадим 2 обьекта: o_p1 o_p2
Управление для первого игрока-[i]Стрелки,Для второго W,A,S,D. Возьмемся за O_p1.
В событие Step добавим код:
Code
if keyboard_check(vk_up) { y -= 3*place_free(x,y-3) }
if keyboard_check(vk_down) { y += 3*place_free(x,y+3) }
if keyboard_check(vk_right) { x += 3*place_free(x+3,y) }
if keyboard_check(vk_left) { x -= 3*place_free(x-3,y) }
Тепеь o_p2
Событие Step:
Code
if keyboard_check(ord("W")) { y -= 3*place_free(x,y-3) }
if keyboard_check(ord("S")) { y += 3*place_free(x,y+3) }
if keyboard_check(ord("D")) { x += 3*place_free(x+3,y) }
if keyboard_check(ord("A"))
{ x -= 3*place_free(x-3,y) }
[color=red][b]ГЛАВНОЕ!Первый игрок должен находится с права,а второй слева![/b][/color]
Урок 4.Возможность задавать имя главному герою самому.
Что же, в этом уроке мы научимся задавать персонажу имя,а так же выводить это имя на экран.Приступим.Что нам понадобится в первую очередь?А в первую очередб нам понадобится шрифт.Назовем его f_hero.Задаем такие параметры: Name: f_hero Font: Arial Size: 10 Напротив Bold ставим галочку. All
name=get_string("Как вас зовут?", '',) //Здаем переменную "name",которая будет иметь значение прописанное в окне. show_message("Приветствую тебя,о " + name) //Так приятно,когда с вами здароваются.))
Переходим к событию Draw:
Code
draw_set_font(f_hero) //Задаем шрифт draw_text(32,32,name) //Команда,которая отображает нашу переменную "name" с координатами 32 х 32(x и y,разумеется)
Теперь создаем комнату,и добавляем в нее обьект n_hero.Удачи!
Думаю, что у многих из вас, после неудачных попыток угадать пароль приходила в голову создать свою игру с чит-кодами, да такими, что бы не один компьютер не смог этот код вычислить. Рад обрадовать вас,и огорчить тех кто будет играть в эти игры, это возможно.))У нас будет два пароля Бог (god вводим), и пароль машины(вводим car) .Окно для ввода чит кода будет окрываться при нажатии кнопки С . Для этого нам понадобится создать обьект cheat_control .В событие Create добавляем код:
Code
global.god_act=0 //Пароль Бог не активирован global.car=0 //Пароль Машина не активирован.
В событие нажатия кнопки C . Press Key - C.
Code
cheat = '' //Переменная cheat,значение которой мы задаем при вводе любого слова. cheat = get_string("Введите чит-код",''); //Открывает окно для ввода чит-кода.
if cheat = 'god' and global.god_act=0 //Условия,при которых этот чит-код заработает. {show_message("Вы активировали режим Бога!!!") global.god_act=1} //Эффект нашего чит-кода.
if cheat = 'car' and global.car=0 {show_message("Поздравляем,ваша машина уже ждет ва во дворе.Вон та-серая.)))") global.car=1}
Добавляем обьект в комнату,и проверяем.Удачи.В исходнике есть еще одна фишка. Она больше связанна с переменными, которые мы получаем после ввода чита.Удачи!
Исходник более-менее умного АИ с русскими коментами.
В интернете нашел исходник АИ, но о был, практически, без коментов. Я решил исправить это глупое недоразумение.Урок писать по этому исходнику не стал, так как это заняло бы много времени. Коментировал действия ТОЛЬКО врага!
Саттья для начинающих.С чего начать разработку игры.НЕ УРОК!
Не мало важным аспектом в создании любой игры является выбор основной игровой идеи.То есть, главной ошибкой любого прогаммиста является создание игры, придумывая ее "на ходу". К чему это может привести? К тому, что начинаюя работу над проектом программист тратит время на разработку движка, графики, но , в большинстве случаев, даже не задумывается о том, в чем будет смысл игры. Это приводит к появлению безсмысленных стрелялок, порой не лучшего качества.( Как пример, можете посмотреть мои "Игры"). Да, я абсолютно не скрываю, что разрабатывал игры абсолютно не задумываясь о ее смысле. Так сказать, просто делал некое безобразное подобие той, или иной игры. Мене была интересна оценка Gcup'овцев. Но когда я понял, что такие проекты ни к чему ни приводят, а людям на них просто плевать, я понял, чо нужно сделать, что то стоящее вашего внимания( В данный момент, я обращаюсь именно к вам, дорогие посетители Gcup.Ru). Так вот, вернемся к теме. С чего начать игру? Прежде всего, нужно проработать игру от корки до корки, в плане сценария. Это можно сделать на листке бумаги, или же в текстовом документе, и покамись вы не поймете, что это именно то, что вам хочется разрабатывать, не начинайте работу, а лучше корректируйте и корректируйте ваш сценарий. Здесь вполне логично употребить золотое правило " 7 раз отмерь, один раз отреж!". Действительно, ведь такие игры, допустим, как Обливион. Ее же не начали разрабатывать имея лиim представление о том, что это будет РПГ от первого лица с магией и прокачкой. Весь мир прорабытвался изначально на бумаге, а лишь потом все эти идеи, скажем так, импортитровались в игру. По этому, прежде чем что либо создавать - продумайте идеи. Да и прибудет с вами слава!
nightmare, у тебя все еще в одном месте свербит, лишь бы легких денег заработать? За такое и 3х рублей жалко отдать.Добавлено (23.07.2010, 16:23)---------------------------------------------А кстати создатель группы знает, что ты ее хочешь продать? А? Тебя то походу недавно админом сделали. Ай-ай-ай! Не хорошо!
Quote (999amir)
Готов её купить за 0,0 рублей!
Quote (nightmare)
Попрошу вас не писать здесь не нужных коментариев.Только по делу.Я Карнаух Эдуард,тоесть Админ группы.
Quote (jeromkid)
А кстати создатель группы знает, что ты ее хочешь продать? А? Тебя то походу недавно админом сделали. Ай-ай-ай! Не хорошо!
Тематика группы:Аватары на заказ(За голоса,естественно) Количество людей в группе:264 Человека Цена:132 WMR Зачем вам может пригодиться эта группа?Не знаю,например для рекламы сайта.Тоесть,я убераю всех левых Админов,которые в группе,в том числе и себя,а взамен ставлю вас.Вы можете изменить группу на свой лад.Ну а если вы художник,то можете продолжать развитие этой группе в данном роде деятельности.Почему именно 132 WMR?Я посчитал честным сделать за человека по 0,5 WMR. Попрошу вас не писать здесь не нужных коментариев.Только по делу.Я Карнаух Эдуард,тоесть Админ группы. Ссылка на группу: http://vkontakte.ru/club15629318
Я готов согласиться с тем,что если я не отдам Админство покупатель,то пусть меня забанят.Цену можно понизить,если вам только нужна такая группа.
Хотя идея неплохая, вот только её надо было сделать ни как конкурсы а как покупка игр, статей. За не оч большие деньги. лично я б написал пару туториалов и сделала несколько малых игр за 25 wmz )
Каждый конкурс будет иметь все больший и больший ганорар.Насколько больше будет становится его сумма вы будете информироваться на сайте.Я собираюсь,в скоре,прекрипить Ру домен,и создать более подходящий дизайн.Так что,сайт не так уж и безнадежен,как многие считают. Hi-Tech News Russia - новости, анонсы, обзоры из мира высоких технологий
А давайте кидать в них какашками! Шучу,конечно.Да уроды все эти падонки,а возможно ранее изгнанные из портала юзеры.Если же это Веб-Мастера конкурируещего сайта,то предлагаю всем сделать с их ними сайтами то,о чем я сказал сразу,ГЫ! Hi-Tech News Russia - новости, анонсы, обзоры из мира высоких технологий
Вы умеете писать,но всего лишь создаете темы на форумах?Вам надоело быть в нуле?То вы можете заработать на продаже своих статей,стихов и всего написанного вами. Зарегестрируйтесь по ссылке ЗАРЕГИТЬСЯ и начинайте зарабатывать деньги. За что вам платит система?Она вам вообще не платит.Она только производит выплаты на ваш WM Кошелек.Некоторым личностям удавалось продовать до 895 статей за пол года!Это удалось молодой кореспондентке,которая имел опыт в своей професии.Но то,что у вас нет опыта в сфере копирайтинга(Продажи статтей)не должно вас остонавливать.Мне удалось за не долгий строк продать 8 статтей,но еще не вечер!)начальная стоимость за 1000 знаков без учета пробелов состовляет 1.3 WMZ Hi-Tech News Russia - новости, анонсы, обзоры из мира высоких технологий
Хороший журнал,мне кажется,что вы еденственный сайт,который так серьезно подошел к развитию.Нигде не аидил,что бы сайты созданные на Юкозе так прогрессировали,а уж к тому же выпускали свои журналы. Я рад,что я здесь зареген.сори за Офф-Топ Hi-Tech News Russia - новости, анонсы, обзоры из мира высоких технологий