Deathmatch RPG
Вложений: 3
Мой первый проект вообще и на MP в частности.
Представляет собой некое подобие RPG, где нужно сражаться с другими игроками 1 на 1 по Bluetooth. Сейчас оно ещё очень сыро, но во всяком случае работает. Идей много, все подлежат постепенной реализации, буду очень признателен, если будут указаны серьёзные баги (кроме моих кривых рук, гы :) Использовались библиотеки arcade, alpha, font32 от odd и lib_bt от piligrim, спасибо им большое. За неимением таланта художника, использовались спрайты из warcraft2 Прикрепил два скрина и работоспособную демку (атаки на 1, 3, джойстик). Вложение 10993Вложение 10994 Вложение 10995 |
Ответ: Deathmatch RPG
Выглядит довольно мило.для первого проекта, имхо, хороший старт.
Отдельное спасибо за скрины. Потестить не удалось ибо нет товарища с синезубом. создай небольшой соло-гейм с ботом. |
Ответ: Deathmatch RPG
дай пример передвижения персонажей
|
Ответ: Deathmatch RPG
Ммм... насчёт соло-гейма с ботом: я и начал-то синезуб, потому что мне ИИ делать попросту страшно, или нужен просто болванчик?
Я проверяю на WTK, два эмулятора "коннектятся" друг к другу по Bluetooth, нет необходимости в телефонах (хотя иногда это даёт неприятные сюрпризы вроде ошибки OutOfMemory на телефоне при последующей проверке). 2psih1: что именно необходимо? Я, если честно, некоторую часть подсмотрел в демке lib_arcade, чтобы понять принцип. Ахтунг: на нокиях типа n70 работает некорректно (возможно, проблема в lib_arcade, т. к. демку от него такая нокия тоже играет некорректно) |
Ответ: Deathmatch RPG
Вложений: 3
Надеюсь, тут не пинают за даблпост.
Сделал функцию назначения клавиш, пока что без защиты от дурака, так что просьба на прочность не проверять :) Назначать можно клавиши 1, 3, 7, 9, 5, 0, #, *, нужно просто ввести соответствующий символ в поле. Также сделал немножко заклинаний/умений, чтобы можно было порубаЦЦа. Как обычно, два скрина и демка. Скрины с эмуля WTK, показан юзеринтерфейс. Вложение 11002Вложение 11001Вложение 11000 PS. Кто-нибудь знает, как убрать софтполоску внизу, не используя Lib_Game? Вопрос такой возник оттого что на эмуляторе эта полоска есть, а на телефоне нет (потому что стоит MIDP 2.0 Fullscreen). Или сие не лечится? |
Ответ: Deathmatch RPG
На эмулях некоторых она всегда есть. На KEMul'е например, если есть команды, она никуда не денется, только ниже экрана будет:
|
Ответ: Deathmatch RPG
Вложений: 1
Опытным путём выяснил, что полоска на WTK всё же убирается, но у меня остаётся. Опять же опытным путём выяснил, что это из-за отрисовки формы в начале программы. Т. е. если бы сразу всё шло в режиме canvas, подобного безобразия бы не случилось.
Видимо, придётся сразу клепать графическое меню :) + новая версия (прикручено красивостей (иконочки), только и всего) Вложение 11016 |
Ответ: Deathmatch RPG
заделай сингл-плеер, а то тестить на реальных телефонах сложновато
|
Ответ: Deathmatch RPG
Вложений: 1
Игрок 2 тупо стоит на месте, имеет некоторое хп, может умирать. Просто технодемка.
Скорее всего, проект на некоторое время будет заморожен в связи с моим переездом на место учёбы. Обещаю вернуться :D Вложение 11020 |
Ответ: Deathmatch RPG
суровая вещь, правда работает не быстро
|
Ответ: Deathmatch RPG
Так, я практически настроен на дальнейшую работу над проектом. Немного подумал, поглядел на ошибку OutOfMemory, на показатели монитора памяти в WTK и пришёл к выводу, что движок надо писать самому (хотя бы отчасти). Дикие лаги просто оттого, что на телефоне отрисовывается дофига объектов (> 600), а мы видим, ну... мало, короче.
Далее, повторение фразы вслух сотни раз: "Вызывайте repaint только когда это _реально_ необходимо" - тоже дало свои результаты, я понял, что перерисовывать надо только часть экрана. (Кстати, как это? clip+тот же repaint?) Вопрос такой: можно ли удалять спрайт? Т. е. не "замазывать" его поверх тайлом, а именно удалять? Хотя, что-то мне подсказывает, что такого не бывает. В-общем, если есть какие-то идеи по оптимизации (особенно интересует частичное перерисовывание экрана), то очень хотелось бы их услышать. |
Ответ: Deathmatch RPG
С MidletPascal особо дел не имел, но попробуй проверять тайлы по координатам и если они "на экране", то рисуй иначе нет. :)
|
Ответ: Deathmatch RPG
Ну, это-то я как раз понял, даже примерно представляю себе как это сделать :D
Фишка в том, например, что HUD и полоска с заклинаниями снизу у меня отрисовываются каждый раз, когда идёт перерисовка всего экрана, мне бы хотелось как-то этих ненужных операций избежать. |
Ответ: Deathmatch RPG
Цитата:
|
Ответ: Deathmatch RPG
Ну, худ у меня разделён на две части: статичная (портрет + окаймление) и собственно показатели. Если показатели можно выводить действительно при изменении, то статичную часть как бы и трогать не хочется. Я пока вижу только один выход: разделить экран на две части: статичную (худ и экшнбар) и собственно игровое поле. Наверно, так и сделаю.
АПД: сделал примитивнейший движок, память сразу же стала "съедаться" медленнее, теперь осталось только пофиксить лаги от спрайтов игрока. |
Часовой пояс GMT +4, время: 09:18. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot