|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.02.2010, 23:35 | #1 |
Форумчанин
Регистрация: 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 ... Если добавлять в карту еще слой (массив) событий, то как это реализовать? Вот, например, мне нужно, чтобы при входе в определленную клетку вокруг персонажа появлялось несколько врагов или же заменялись некоторые текстуры, причем количество создаваемых врагов или меняющихся текстур не должно быть ограничено. Кто знает, как это сделать, помогите, пожалуйста. |
20.02.2010, 16:18 | #2 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Очевидно, вам придется писать систему скриптов, ...поищите в этом разделе, тема была.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
20.02.2010, 16:20 | #3 |
Linux C++ Qt ARM
Старожил
Регистрация: 30.11.2008
Сообщений: 3,030
|
Я бы сделал какой-нибдуь внутренний скриптовый язык, точнее интерпритатор скриптового языка (изобретать не обязателньо, можно воспользоваться существующим скриптовым языком, например lua) и сделал бы проверку выполнения условий (раз в n секунд, или после каждого шага, если игра пошаговая), например, условием может быть нахождение персонажа в определенной клетке (все зависит от фантазии).
Дилетант широкого профиля.
"Слова ничего не стоят - покажите мне код!" © Линус Торвальдс |
20.02.2010, 16:33 | #4 |
Форумчанин
Регистрация: 25.06.2009
Сообщений: 163
|
Спасибо, я поищу такие темы на форуме. Но тогда еще вопрос: сохранять скрипт нужно не в файл с картой? Тогда просто писать его в отдельный файл?
|
20.02.2010, 18:51 | #5 | |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Цитата:
|
|
20.02.2010, 20:32 | #6 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
В файл карты и нужно записывать. Можно применить запись блоками, т.е. первый байт (2 байта) - номер блока, или кодовое название блока, следом 2 (3) байта - длина блока, следом длина заголовка (как пользоваться блоком). В итоге, нужна четкая универсальная структура сохранения и сжатия данных.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ресурсы к игре | 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 |