Лучшие проекты:

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: Сеня  
Урок №8 - Игровые системы (Часть 1)
СТАРЫЙ_ДЕФОНГДата: Четверг, 13.06.2013, 02:24 | Сообщение # 1
New Generation
Группа: Заблокированные
Награды: 13
Репутация: 2
Статус: Offline
загрузка наград ...
Автор - Defong
Тема: 8. Игровые системы

Цитата
1. Что такое система ?
2. Виды систем
3. Как создать систему ?


1. Что такое система ?

Система — множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство!

Создание системы в редакторе "Warcraft 3" - это множество событий, действий и условий предназначенных для выполнения определенных требований для реализации ваших идей!
Так-же вам нужно понимать что система это не какая нибудь математическая формула по которой вас заставляют работать... Это в первую очередь ваша идея, система составляется благодаря логике и воображению. Другими словами - как хотите так и делайте!
Хочу сразу подметить, что создание мощных рабочих систем не такое уж и легкое дело! Чаще всего в неопытных руках сложные системы могут ломаться при стаке с какими нибудь способностями, которые двигают юнита\ставят его в паузу\убивают\заменяют и.т.п.
Но если всё делать правильно - всё получиться! - (Правило программистов №1 > Работает ? - Не трогай! 
Виды систем

В основном системы представляют из себя:
1. Арены \ Дуэли
2. Нестандартный выбор персонажей
3. Различные ивенты \ Квесты
4. ИИ - искусственный интеллект
5. Условия победы\поражения
6. Воскрешение боевых единиц
- И многое другое!

1) Арены за основу делают стандартным образом:
- Создают зону в которой собственное будет происходить сражение.
- Устанавливают контрольные "области" - центр арены, позиции героев, границы либо определенные участки арены.
- Пауза всех юнитов + выбрать случайных героев и двинуть их на арену
- После чего Включить триггеры отвечающие за условия победы\поражения
- Вернуть всё как было )

Обратите внимание что все эти пункты можно разделить на логические элементы:
- Месность
- Соперники
- Победа

Вот с такой мысли должна зарождаться система!

3. Как создать систему ?

Давайте всетаки попробуем создать свою систему "Арены"
- Вообщем я не буду париться по поводу ландшафта ) так-что создал за основу такой макет.

Между прочим если вам тоже лень париться можете взять этот макет - СКАЧАТЬ

Начнем!

Первое что нам сейчас нужно это "Области" - Скажем так, точки где будут появляться герои и.т.д
Открываем панель областей



И начинаем лепить области:
1) Область всей арены
2) Позиция героя для Клана 1
3) Позиция героя для Клана 2



Любая арена начинается с таймера
- Заходим в триггеры
- Если есть удаляем + создаем свою инициализацию
- Создаем новую категорию "Arena"
- Создаем новый триггер (и делаем всё как на скринах)
Для тех кто не знает как ставить таймер, вот скрин
http://cs322619.vk.me/v322619435/13f4/vLQahtvg-gg.jpg

После этого - Установите переменную этого таймера как последний созданный таймер



Теперь для красоты создадим рамку для таймера

http://cs322619.vk.me/v322619435/1404/PjAavhDQ-gU.jpg

Также само запоминаем его переменной (Тип переменной - Окно таймера)





Первый триггер готов!

Далее нужно отследить срок истечения запущенного таймера

- Создаем новый триггер (как всегда делаем всё как на скрине)

Событие:



Действия:

1) Отряд - Выбрать каждого юнита в зоне игровой карты и сделать множ.
цыкл:
- Добавляем функцию
- Добавляем условия в эту функцию
> http://cs322619.vk.me/v322619435/1422/wWHM8vRgh5Y.jpg
- Добавляем в "ИЛИ" следующие условия
> http://cs322619.vk.me/v322619435/142b/HVUSKkCpUSM.jpg
- Создаем еще одну функцию + в ней опять "ИЛИ" и добавляем туда игроков с клана 2 (Выглядит это примерно так:)
> http://cs322619.vk.me/v322619435/1434/0fii6AYGdXs.jpg
- Между прочим советую еще поставить логическоре сровнение на Героя
> http://cs322619.vk.me/v322619435/143d/7kDj3rPW-FI.jpg
- Теперь создаем две новых переменных и в первой функции, в "То действие" добавляем "Новое действие"
> http://cs322619.vk.me/v322619435/1446/HKB5bH8kIec.jpg
> http://cs322619.vk.me/v322619435/144f/o2Jl985jvIA.jpg
Тоже самое проделайте для второй функции (только там добавляйте игроков в Pack_2)

Извеняюсь! Небольшой баг =) лень было исправлять предыдущие скрины так-что вот!
http://cs322619.vk.me/v322619435/148f/Dod6kky0b0A.jpg

Создаем переменные боевой единицы - Hero (+массив)
- Установить переменную Hero[1] - Случайный юнит из Pack_1
- Установить переменную Hero[2] - Случайный юнит из Pack_2



Далее:
- Создаем переменную точки (Area + массив) - Если у вас такая есть то используйте ее!
- Установить переменную Area[1] - Позиция Hero[1]
- Установить переменную Area[2] - Позиция Hero[2]





Между прочим еще нужно настроить карту под наш вариант арены
> http://cs322619.vk.me/v322619435/147d/TOH_a6_HfNQ.jpg
> http://cs322619.vk.me/v322619435/1486/EfxN6fFDFZ0.jpg

Далее делаем ряд таких вот действий
> http://cs322619.vk.me/v322619435/1498/ledb_kpdOOc.jpg

Примерно вот так вот нужно заполнить новый триггер
> http://cs322619.vk.me/v322619435/14a1/pyMXLdtAYbQ.jpg

Если у вас что-то не получилось вы можете скачать и посмотреть мой вариант этой наработки!
Хочу подметить что всегда есть баги которые не сразу заметны!
Вот к примеру я завтыкал с условием на проверку "жив ли тот герой которого отбирает на дуэль" в итоге был баг - на арену кинуло труп ^^
Вообщем чтоб вы понимали это как история с пивом )) сколько не бери а второй раз в магазин идти прийдется...
>>> СКАЧАТЬ <<<

Вообщем теперь у вас есть хоть какой то опыт в создание систем
В следующих уроках буду учить вас чему-то посложнее


На этом восьмой урок заканчивается.
Если у вас остались вопросы - оставляйте их в комментариях!
Спасибо за внимание! Надеюсь было понятно...


И еще, отписывайтесь кому помогло кому нет ) Ато такое ощущение что сам для себя пишу это всё


У МЕНЯ НОВЫЙ АККАУНТ
http://narutowar.ru/index/8-4328
 
DefongДата: Вторник, 20.08.2013, 15:32 | Сообщение # 16
Группа: Элита
Сообщений: 213
Награды: 9
Репутация: 791
Статус: Offline
загрузка наград ...
Unknown, в конце триггера нужно сделать такое действие - Отряд > Очистить отряд (в который ты их добавляешь при уроне)

 
UnknownДата: Вторник, 20.08.2013, 16:00 | Сообщение # 17
Группа: Проверенные
Сообщений: 94
Награды: 2
Репутация: 8
Статус: Offline
загрузка наград ...
Эм... В конце какого триггера? Можно в виде скрина?)
 
DefongДата: Вторник, 20.08.2013, 16:46 | Сообщение # 18
Группа: Элита
Сообщений: 213
Награды: 9
Репутация: 791
Статус: Offline
загрузка наград ...
Unknown, там где FireBall выключается (триггер с движением) 
перед действием с выключением создай новое - Отряд - Очистить отряд


 
UnknownДата: Вторник, 20.08.2013, 17:16 | Сообщение # 19
Группа: Проверенные
Сообщений: 94
Награды: 2
Репутация: 8
Статус: Offline
загрузка наград ...
Вроде получилось.
 
BezFriendДата: Вторник, 24.09.2013, 21:36 | Сообщение # 20
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Статус: Offline
загрузка наград ...
СТАРЫЙ_ДЕФОНГ, Сможеш показать как сделать spell damage элемент огня ??)
 
DefongДата: Среда, 25.09.2013, 12:33 | Сообщение # 21
Группа: Элита
Сообщений: 213
Награды: 9
Репутация: 791
Статус: Offline
загрузка наград ...
BezFriend, не понял что именно тебе нужно ?

 
Forgant-нуб_годаДата: Понедельник, 23.12.2013, 15:50 | Сообщение # 22
Любимчик Админа
Группа: Творец
Сообщений: 290
Награды: 8
Репутация: 35
Статус: Offline
загрузка наград ...
да уж наработка к уроку отстой

 
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: