|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.02.2010, 19:50 | #71 | |
Форумчянин
Форумчанин
Регистрация: 05.04.2009
Сообщений: 446
|
Цитата:
Кстати, ты случайно не хранишь битмап каждой клетки отдельно? 16Мб оперативки, многовато для такой игры. И, да, если все еще ишешь простой движок - советую Ashpyre Sphinx (по крайней мере, сам пользуюсь им, но правда нужен дельфи больше 7)
Nobody expects Spanish Inquisition!
Последний раз редактировалось Juffin; 15.02.2010 в 20:05. |
|
15.02.2010, 20:22 | #72 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Ну я как раз все и храню. А как же? загружать все каждый раз когда персонаж переместился? или когда моб подвинулся? Только вывожу на экран все это только если персонаж подвинулся...=)
|
15.02.2010, 20:54 | #73 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Очень просто, ...у меня есть отдельный тип TGAction, его записи позволяют работать с любой анимацией и хранить параметры самого эффекта действия. У любого персонажа есть собственный массив на 10 ячеек типа TGAction. Когда игрок выполняет действие, например магическое заклинание, в процедуре обновления действий ищется свободная ячейка, в записи этой ячейки записываются параметры действия и параметры анимации и устанавливается флаг "действие идет". Пока внутренний счетчик не закончит считать кадры анимации (по записи максимального числа кадров), вы будете видеть действие на экране, так как оно было раскадровано, независимо от числа кадров. Если магическое действие не закончилось еще и игрок творит следующее, то процедура обновления снова смотрит массив действий игрока и ищет свободную ячейку, ...т.к. первая уже занята, будет заполнение второй, и в записях ее флаг "действие идет". На экране при этом можно видеть продолжения например "молнии" и поверх еще что-то, например "ослабление" и д.т. ...по числу ячеек на действия. Как только основной счетчик "упрется" в последний кадр анимации действия, еще одна процедура освободит ячейку массива действий, а точнее, только пометит, что действие закончено (экономим ресурсы, все равно заполнение будет при каждом новом действии, чистить не нужно).
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
15.02.2010, 20:54 | #74 |
Форумчянин
Форумчанин
Регистрация: 05.04.2009
Сообщений: 446
|
Да нет, я не про это. Ты точно хранишь каждый битмап (именно сам битмап) в единственном экземпляре?
Nobody expects Spanish Inquisition!
|
15.02.2010, 21:04 | #75 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
У меня есть тип - TMPbit (в него входит текстура, маска, крыша, (<=все TBitmap), ширина, высота, положение по Х, положение по Y).
А карта :array[1..30,1..40] of TMPbit; P.S. Сделал одиночную атакующую магию (доработаю и выложу, думаю завтра) |
15.02.2010, 21:36 | #76 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Т.е. всего в памяти только для одной карты хранится 1200 маленьких битмапов? Из них же бОльшая часть неоднократно повторяется. Лучше всего все картинки хранить централизованно в одном месте, а в каждой клетке карты, например, будет указатель на конкретную картинку.
Вот, например, здесь были разговоры на эту тему: http://programmersforum.ru/showthrea...t=1206&page=40 и еще где-то в этом разделе, не нашел пока, где.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
15.02.2010, 21:46 | #77 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Точнее 3600 битмапов (текстуры, маски и крыши)
Но переделывать пока не буду, закончу магию, доведу некоторые штрихи до ума, потом пораспихаю все по процедурам (а то в коде такой бедлам!), а уж потом займусь дальнейшей оптимизацией =) |
16.02.2010, 20:05 | #78 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Версия 6(с одиночной атакующей магией, и лечением себя (отката у магии еще нет))
Итак, доделал наконец два вида магии - одиночную атакующую и лечение себя. В редакторе карт тоже изменение - появился еще один объект - учитель магии. Если игрок подходит к клетке с учителем магии, то открывается магазин магии. Чтобы купить магию нужно иметь достаточный лвл, и достаточно денег. Чтобы купить магию, на нее надо щелкнуть ЛКМ.
Чтобы использовать магию - надо зайти во вкладку магия (самая последняя кнопка на правой панели), и щелкнуть по иконке магии ПКМ (чтобы посмотреть описание надо щелкнуть ЛКМ), после чего она появится на панели быстрого доступа(внизу черная полоска). Чтобы использовать атакующую магию, надо нажать ЛКМ на моба, которого нужно атаковать, и на иконку магии на панели быстрого доступа ЛКМ. Чтобы использовать лечащую магию, нужно просто щелкнуть по ней ЛКМ на панели быстрого доступа. Магии на панели умещается 10 штук, чтобы удалить магию с панели быстрого доступа надо нажать на нее ПКМ. P.S. Обнаружилась серьезная ошибка - при переходе на другую карту вылетает куча ошибок - устраняю. P.P.S. Ошибка устранена + обновлена карта. Последний раз редактировалось Ckomoroh; 17.02.2010 в 20:04. |
19.02.2010, 21:32 | #79 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Версия 6.5
Сделал небольшой ремонт проги...Добавил 2 квеста, обновил магазин магии, сделал нападение врагов на игрока, добавил 2-ух новых монстров.
P.S. жду комментов об ошибках... |
23.02.2010, 16:29 | #80 |
Я еще только учусь
Форумчанин
Регистрация: 24.10.2009
Сообщений: 125
|
Переделать в клиентскую онлайн игру?
Теперь, после того, как сделано все (ну кроме переделывания карты для уменьшения загрузки ОЗУ), задался вопросом, можно ли сделать из этого что-нибудь типо клиент-серверной игры? Вообще вез PvP, чтобы просто было видно на карте другого игрока...
Пока предоставляю исходник неких танчиков онлайн для 2-ух игроков. Можно ли таким образом как я сделал танчики сделать это и с РПГ? P.S. Спасибо огромное Beermonza за Ваш урок по созданию чата, он мне очень помог =) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание 2d RPG игры | VTR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 29 | 19.05.2009 16:34 |
RPG на Дельфи | Juffin | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 10 | 10.04.2009 21:37 |
Создание текстового RPG | KORN | Софт | 3 | 15.07.2008 09:21 |
3D-RPG | Кронос | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 25 | 12.05.2007 11:21 |