PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 03:09

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Начинаем создавать игру на Delphi
СообщениеДобавлено: 06 июл 2010 10:46 
Не в сети
Новичок

Зарегистрирован: 06 июл 2010 10:12
Сообщения: 4
Хочу создать свою игру в виде Fallouta или Lava-Online (RPG). Пишу пока только на Delphi7. Разработал все меню (главное, настройки, загрузки и т.д.), глобальную карту с перемещением "перса" по ней. Собственно, дело идет к созданию непосредственно квестовых локаций (т.е. карта где будет перемещаться анимированный перс, его враги, предметы всякие и т.д.). Хотелось бы послушать, как, например, реализовать это все. Алгоритм кратчайшего пути - почитал, я думаю что сначала нужно будет создавать битовую матрицу? Не понял, что и где создать...
1)Я думаю, например, создать DrawGrid с битовой нагрузкой в ячейках? Тогда как осуществить привязку фоновых (карта в локациии) координат к ячейкам DrawGrid-а?
2)Или разбить локацию сеткой и каждую ячейку сетки загружать отдельно? Но все таки нужны ограничения, т.е. перс в некоторые ячейки входить не может (а в других должны быть свои функции, типа выхода из локации)?
3)Если я, например, помещаю на карту компонент Image, а в него изображение дома в аксонометрии, то если его обходить персом вдоль стенки сверху, то перс не должен быть виден (его как бы дом закрывает). А если снизу, то виден. Не понимаю пока, как можно реализовать это...
4)Для отображения карты локации я планирую использовать 6 Image-ком. (500х500), выложенны в ScrollBox-е прямоугольником. В каждую грузится изображение из ресурса, и в общем собирается картика на 6 холстах. Выше на слой - анимированные персы и все остальное. Опять же, реализация нужна...
5)Рисовать все это планирую так: Macromedia Flash, Photoshop, AutoCad, Image Editor (в Delphi).
6)Кстати, какой максимальный размер может иметь ресурс программы с bitmap-ами, курсорами?
...игра 2D, подобие Fallout Tactics.

<<Сделай чтобы работало. Сделай чтобы работало хорошо. Сделай все красиво.>> **народная мудрость


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинаем создавать игру на Delphi
СообщениеДобавлено: 06 июл 2010 14:32 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Интересно ты читал?
http://pmg.org.ru/galaxy2d/tilefaq.htm
http://pmg.org.ru/ai/pathfind.zip

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинаем создавать игру на Delphi
СообщениеДобавлено: 06 июл 2010 14:54 
Не в сети
Новичок

Зарегистрирован: 06 июл 2010 10:12
Сообщения: 4
Статья хорошая, обязательно внимательно прочту, спасибо большое. Все же, там так абстрактно написано, все в общих чертах. Хотелось бы подробнее, например, какие компоненты понадобятся (DrawGrid/StringGrid/Image/?). Какую либо начальную последовательность моих действий. Такую большую работу, как 4-х слойные карты, нужно начать правильно, чтобы потом переделывать все полностью не пришлось. Как увязать битовую нагрузку с объектами 4-х слоев?

<<Сделай чтобы работало. Сделай чтобы работало хорошо. Сделай все красиво.>>**народная мудрость


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинаем создавать игру на Delphi
СообщениеДобавлено: 09 июл 2010 10:03 
Не в сети
Гуру
Аватара пользователя

Зарегистрирован: 03 авг 2004 10:37
Сообщения: 2694
Да, кстати, совсем забыл, есть еще книга про это: Программирование стратегических игр с DirectX 9.0. Смотри на - http://pmg.org.ru/gamedev/index.html

_________________
С уважением, Сергей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинаем создавать игру на Delphi
СообщениеДобавлено: 09 июл 2010 12:48 
Не в сети
Новичок

Зарегистрирован: 06 июл 2010 10:12
Сообщения: 4
Материал, конечно, прекрасный, но для С++. Но я то начал писать на Delphi. Я знаю, что они похожи, но не хотелось бы сейчас тратить время на познание отличий этих языков.
Написано много, все очень интересно, но мне нужно следующее:
1) По-поводу блочной графики: мне каждый блок выводить c Form1.ScrollBox1.Canvas.Rect(...) или создать компоненты ImageList(т.е. будеь Image для каждого блока) для отображения блоков?
2) Как задать в каждом блоке элемент массива (с индексом 0,1,2,3...) для определения пути (алгоритм поиска пути)? Это что, как-то с координатами курсора связать? Типа:
____onMouseMove
____if (x= a[0..10]) and (y= a[0..10]) then
____A:= A+1;
____if A=1 then
____Form1.Label1.Caption:= '1';
____и т.д. (по-моему это бред) - но как тогда?
3) Как реализовать алгоритм поиска пути (я уже много про него прочитал, приводятся только фрагменты кода, а непосредственно реализация, т.е. какие компоненты нужны, как сделать привязку пути перемещения к центру блока(т.е. подвиж. элемент должен прибыть в центр, а не к верхнему углу) - не понятно).
4) Я решил, что буду загружать элементы карты из ресурса, но тут прочитал, что получится слишком большой ресурс, это не удобно при работе. Тогда откуда их загружать? Не могу же я просто кучку файлов нарисовать, чтобы их все видели. Так не пойдет.

<<Сделай чтобы работало. Сделай чтобы работало хорошо. Сделай все красиво.>>**народная мудрость


Последний раз редактировалось Vova777 09 июл 2010 12:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Начинаем создавать игру на Delphi
СообщениеДобавлено: 09 июл 2010 12:58 
Не в сети
Новичок

Зарегистрирован: 06 июл 2010 10:12
Сообщения: 4
Самое главное, что мне сейчас нужно:
1) Решил так, что буду рисовать блоки на ScrollBox-е методом Canvas. Гружу их из ресурса. Как теперь в каждом блоке сделать одно число (0..99) для определения индекса в массиве для определения (поиска) пути? Вернее, как на щелчке мышью определить какой компонент находится под курсором, получить индекс (0..99) и начать определенную последовательность действий, типа: подойти и взять, стрелять в него, нельзя пройти и т.д. (Я прочтал уже достаточно, ничего не понятно, только какие-то вырезки из кода). Нужно детальное объяснение, с начала обработки.
__________________________________
Например: Формула реакции: C(углерод)+О2(кислород)=СО2(угл. газ) - а как получить Углерод и Кислород? Как их соеденить? А по сути это реакция горения, достаточно поджечь бумагу и она начнется. Вот примерно что-то такое...
__________________________________
2) Как привязать перемещение моего элемента (перса) именно к центру блока?
3) Блок - это рисунок типа BitMap, размером 64х64 тчк, карта создается из них как мозайка. У меня есть догадки поводу реализации поиска пути, но получится огро-о-о-о-омный код. Вынужден отказаться. Перегрузка обработчика.

<<Сделай чтобы работало. Сделай чтобы работало хорошо. Сделай все красиво.>>**народная мудрость


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB