Урок №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
загрузка наград ...
| да уж наработка к уроку отстой
|
|
| |