|
08.02.2009, 00:13
|
#76
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: The Maze
переписал версию программы для работы со своей библиотекой RGB-массив. (все исходники упакованны в jar-файл)
для работы на motorola пришлось:
1. закомментировать строки вывода заднего фона
2. уменьшить высоту рисуемого экрана до 64 точек
3. сократить кол-во рисунков до 13 шт. (в дальнейшем прийдется отказаться от спрайтов ракурса)
добавлено:
1. открывающиеся двери по кнопке GA_GAMEA.
2. игрок стреляет огненными шарами, которые убивают солдат или ломают двери.
__
алгоритм работает в 2-3 раза быстрее моей предыдущей версии, но медленно на motorola v3i, необходимо оптимизировать работу с памятью, и лишними вычислениями... неплохо если кто-нить сделает интересную логику противников
|
(Offline)
|
|
08.02.2009, 06:32
|
#77
|
Нуждающийся
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений (для 15 пользователей)
|
Ответ: The Maze
>>неплохо если кто-нить сделает интересную логику противников
я попробую... но...
мне кажется, что пока - Стрелялку на телефоне хорошую незаделать...
чисто изза управления прицелом(игроком) - так как у мобилки нету мыши =)
может на сенсорных экранах чтонить и получится...
а тут - представь, выходит из двери солдат (видит тебя - открывает огонь - и сообразно своему АИ начинает перемещаться(укрываться) от твоих пуль... пока ты стрелочками донажимаешь его в прицел(центр экрана) он тебя раз 20 убьёт...
а если противник будет тупо стоять и время от времени постреливать - то тут уже тебе это быстро надоест...
---
я попробую реализовать 2 алгоритма Противников
- активный поиск(Пока "жизнь" > 10..20, бот будет "искать" игрока и при появлении его в поле видимости открывает огонь...< 10..20 жизни - убегать от игрока
- пассивный - стоит ждёт - пока или игрок не выстрелит рядом(или непокажется в поле зрения) - стреляет - при возможности вправо влево перемещается (рандмоно) - опять стреляет....
|
(Offline)
|
|
08.02.2009, 11:56
|
#78
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: The Maze
ты прав Serg153 - управление в мобильнике своеобразное...
___
рекомендую скачать досовскую игру catacombs 3d, там простые, но в тоже время хорошо продуманные противники. Для более-менее нормального AI также нужен алгоритм нахождения нахождения кратчайшего расстояния.
___
нужно заменить умножения/деления на логические сдвиги, буду рад любым предложениям по оптимизации в j2me в особенности для motorola.
___
корень квадратный нужен для нахождения дистанции между двумя точками на плоскости (из формулы: квадрат гипотезы равен сумме квадратов катетов)
|
(Offline)
|
|
09.02.2009, 11:05
|
#79
|
Нуждающийся
Регистрация: 03.01.2009
Сообщений: 93
Написано 8 полезных сообщений (для 15 пользователей)
|
Ответ: The Maze
>>...по оптимизации в j2me ...
>>..нахождения дистанции...
мммм.. а дистанция нужна для определения какую стену рисовать?
вертикальную или горизонтальную?
к примеру - до ВертСтены по х 3 по у=4, до гориз стены по х=5 у=4
1 -если просто использовать квадраты расстояний 3*3+4*4=25 5*5+4*4= 41
т.е. рисуем вертикальную стену так как она ближе(25<41) - можно и без корня квадратного обойтись
2 - попробовать вообще без Квадратов типа 3+4=7 5+4=9 снова рисуем верт стену т.к. 7<9...
~~~
попробовать оптимизировать кол-во интераций(глубину луча) -
исходно принимаем что макс длина лабиринта = 64 клетки
Но - при про прорисовке на такую длину стена будет в виде 1..2х пикселей...
тут конечно поэксперементировать - но ограничить максимальный перебор стен до 5-10-15... если стена дальше то отрисовать тёмно серой вертикальной полоской(типа в тени)...
и описать ограничение для дизайнера уровней, что максимально большая комната(видимый участок) не больше например 6 клеток, условно:
*******
*
*******
~~~
опять же расстояние до клеток, нужно для определения коэффициента масштаба выводимой стены - попробовать создать таблицу возможных растояний - с коэфициентами (расчитать и считывать из файла заранее или в програме инициализации игры)
например макс видимое поле 10 клеток - значит массив - вернее 2 массива будут размерностью(10+10=20) и [64+64]
то индекс в массиве будет расчитывать [x+y] - это расстояние в Больших клетках - [x1+y1] это координаты игрока в клетке....
и множитель выводимой стены будет равен m1[x+y]+m2[x1+y1]
типа такого?
|
(Offline)
|
|
09.02.2009, 11:45
|
#80
|
Знающий
Регистрация: 16.09.2008
Сообщений: 299
Написано 71 полезных сообщений (для 123 пользователей)
|
Ответ: The Maze
Serg153 здесь немножко по другому (надоб разобраться в исходнике),
корень квадратный-вспомогательная функция для сортировки/отрисовки спрайтов,
луч из глаз всегда останавливается при достижении стены и ни когда не должены уходить дальше 64 клеток
|
(Offline)
|
|
10.02.2009, 20:18
|
#81
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: The Maze
to abcdef:
Класс! Респект тебе!
Интересно получилось, только, вижу, ты так и не вдавил дверь... Не получается?
А я ведь не успокоюсь, пока дверь не вдавлю!
Все хожу, шаманю с бубном, брожу вокруг да около... А для чего нужны переменные u и v, а также u1 и v1? Можешь объяснить?
|
(Offline)
|
|
03.03.2009, 18:48
|
#82
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: The Maze
Фух, наконец-то! Десятки бессонных ночей наконец-то дали свои плоды!!
Доделал я все-таки эти двери!
Итак, что мы имеем:
1. Двери теперь вдавлены внутрь стен наполовину.
2. Двери могут быть полупрозрачными (со сквозными дырками там и т.д.).
3. Все-таки мой алгоритм нахождения квадратного корня для целых чисел почти в 2 раза быстрее твоего, abcdef! Сам на эмуляторе проверял. А потом и на телефоне. Вот.
Serg153, Что там с AI солдат? Ходют они у тебя уже или все еще нет?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.03.2009, 12:24
|
#83
|
Оператор ЭВМ
Регистрация: 02.03.2009
Сообщений: 26
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: The Maze
я так понял это все не 3д (не jsr184) а так сказать проекция 3д на 2д плоскость
не бейте но алгоритм текстур не идеален (см. ниже)
неая пилообразность.
|
(Offline)
|
|
09.03.2009, 13:00
|
#84
|
|
Ответ: The Maze
ASMjavaC
любое 3д это проекция 3д координат на 2д плоскость
|
|
|
09.03.2009, 15:24
|
#85
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: The Maze
юзать сглаживание?
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
09.03.2009, 15:55
|
#86
|
Оператор ЭВМ
Регистрация: 02.03.2009
Сообщений: 26
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: The Maze
jimon
да извеняюсь не та и не о том спросил...
меня интересует jsr184-почему его не используют (я так понял это помогает 3д какраз спректировать на 2д чтобы не замарачиваться)
а тут я смотрю делают "движки" и "отображения 3д-2д"
impersonalis вы про пилообоазность? не вдавался в подробности но помойму "немного неправильный" алгоритм текстур
|
(Offline)
|
|
09.03.2009, 17:03
|
#87
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: The Maze
to ASMjavaC:
>я так понял это все не 3д (не jsr184) а так сказать проекция 3д на 2д >плоскость
Ну да. Это все рэйкастинг.
>не бейте но алгоритм текстур не идеален (см. ниже)
>неая пилообразность.
Да, знаю. А сделать ничего не могу. Не понимаю я, в чем причина!
>меня интересует jsr184-почему его не используют
Насколько я знаю, MIDletPascal не позволяет использовать jsr184.
Да и зачем? Jsr184 тут нафиг не нужен и "true-3d" в играх этого типа никогда не используется. Да и по ходу, в данном случае рэйкастинг будет работать быстрее аналогичной игры, но построенной на jsr184. Вот.
to impersonalis:
> юзать сглаживание?
Не нужно. Здесь надо просто подкорректировать вывод текселей на экран.
|
(Offline)
|
|
09.03.2009, 17:28
|
#88
|
Оператор ЭВМ
Регистрация: 02.03.2009
Сообщений: 26
Написано 2 полезных сообщений (для 2 пользователей)
|
Ответ: The Maze
Да и зачем? Jsr184 тут нафиг не нужен и "true-3d" в играх этого типа никогда не используется.Да и зачем? Jsr184 тут нафиг не нужен и "true-3d" в играх этого типа никогда не используется.
Согласен.. даже игры переделаные на дос намного меньше весили и намного быстрее (хотя графика оставляла желать лучшего)
но для мобилы это актуально все понял.
(хм а смысл jsr184 в чом)
|
(Offline)
|
|
09.03.2009, 18:33
|
#89
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: The Maze
to ASMjavaC:
> (хм а смысл jsr184 в чом)
Во всем, кроме FPS игр. Я так думаю.
Jsr-184 пригодился бы, ну например, в создании гонок. Или космического симулятора. А можно еще и какой-нибудь квест в стиле Alone In The Dark забабахать! Ну и т.д.
|
(Offline)
|
|
09.03.2009, 18:36
|
#90
|
Разработчик
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений (для 883 пользователей)
|
Ответ: The Maze
ASMjavaC, impersonalis, jimon, поможете в написании этой проги? Людей очень не хватает!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:34.
|