Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2010, 23:35   #1
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию События в игре

Здравствуйте, у меня возник такой вопрос. Как реализовать события в игре, где карта хранится в виде двумерного массива? Что я понимаю под словом 'События'? Ну, наверняка, многие играли в игры Warcraft, Starcraft и т.д. И там есть редакторы карт с триггерами. Вот я и имею в виду что-то вроде этого, но, конечно же, попроще.

Сама карта сохраняется в файл типа Byte, и в ней есть несколько массивов, которые сохраняются в карту все вместе. Вот пример:

Размер: 3х3

Массив 1:
a1 a2 a3
a4 a5 a6
a7 a8 a9

Массив 2:
b1 b2 b3
b4 b5 b6
b7 b8 b9


Итак, запись идет таким образом:

3 3 a1 b1 a2 b2 a3 b3 ...

Если добавлять в карту еще слой (массив) событий, то как это реализовать? Вот, например, мне нужно, чтобы при входе в определленную клетку вокруг персонажа появлялось несколько врагов или же заменялись некоторые текстуры, причем количество создаваемых врагов или меняющихся текстур не должно быть ограничено. Кто знает, как это сделать, помогите, пожалуйста.
ZotaC вне форума Ответить с цитированием
Старый 20.02.2010, 16:18   #2
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Очевидно, вам придется писать систему скриптов, ...поищите в этом разделе, тема была.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 20.02.2010, 16:20   #3
ROD
Linux C++ Qt ARM
Старожил
 
Аватар для ROD
 
Регистрация: 30.11.2008
Сообщений: 3,030
По умолчанию

Я бы сделал какой-нибдуь внутренний скриптовый язык, точнее интерпритатор скриптового языка (изобретать не обязателньо, можно воспользоваться существующим скриптовым языком, например lua) и сделал бы проверку выполнения условий (раз в n секунд, или после каждого шага, если игра пошаговая), например, условием может быть нахождение персонажа в определенной клетке (все зависит от фантазии).
Дилетант широкого профиля.

"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс
ROD вне форума Ответить с цитированием
Старый 20.02.2010, 16:33   #4
ZotaC
Форумчанин
 
Аватар для ZotaC
 
Регистрация: 25.06.2009
Сообщений: 163
По умолчанию

Спасибо, я поищу такие темы на форуме. Но тогда еще вопрос: сохранять скрипт нужно не в файл с картой? Тогда просто писать его в отдельный файл?
ZotaC вне форума Ответить с цитированием
Старый 20.02.2010, 18:51   #5
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,033
По умолчанию

Цитата:
сохранять скрипт нужно не в файл с картой? Тогда просто писать его в отдельный файл?
Я бы в файл с картой записывал бы ссылки(можно просто числом) на файлы со скриптами.
Levsha100 вне форума Ответить с цитированием
Старый 20.02.2010, 20:32   #6
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

В файл карты и нужно записывать. Можно применить запись блоками, т.е. первый байт (2 байта) - номер блока, или кодовое название блока, следом 2 (3) байта - длина блока, следом длина заголовка (как пользоваться блоком). В итоге, нужна четкая универсальная структура сохранения и сжатия данных.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ресурсы к игре Xanex Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 19.10.2009 17:23
Автоматизация в игре axumac Свободное общение 3 22.01.2009 20:37
Звуки к игре Crivel Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 07.09.2008 23:40
OnMouseDown в игре. Titan123 Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 29.07.2008 13:10
Препятствия в игре. Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 07.06.2008 14:14