Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Lets rock? Кто заинтересован 
:(
    Опции темы
Sun
Дата 30.9.2004, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



А проходимость в одном тайле будет однородной? Если да, то ИМХО будет выглядеть неестественно, хотя для начального варианта наверно сойдет.

Таракан заранее не должен знать проходимость, но при прохождении препятствий он должен накапливать опыт и пытаться строить более оптимизированный маршрут. Можно ввести возможность направлять таракана скрепкой или спичкой, если он заблудился.

Надо определиться как таракан будет ориентироваться в пространстве - используя усы, зрение, нюх и слух (кто-то знаком с тараканьей физиологией?)

Будет ли таракан отдыхать поглотив приманку? Будет ли на него нападать лень после поглощения слишком большого объема пищи?


--------------------
Account removed
PM MAIL   Вверх
Sun
Дата 30.9.2004, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



Цитата(Domestic @ 29.9.2004, 20:10)
Цитата(LSD @ 29.9.2004, )
Tile map это гут. Тайлы предлагаю делать квадратами.


Да, иначe плохo нам придется smile.gif

А почему квадратами а не гексагонами? Гексагоны, ИМХО, дают больше степеней свободы для перемещения тараканов, а обработка не настолько сильно усложняется чтобы от них отказаться. В конце концов - где вы видели таракана который перемещается по квадратам? smile.gif


--------------------
Account removed
PM MAIL   Вверх
Domestic Cat
Дата 30.9.2004, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Если квадраты сделать мелкими, то с проходимостью и перемещениями все будет ок.
Все равно можно заставить таракана перемещаться в 8 направлениях (нуж)но 8 анимаций).

В А* алгоритме используется приорити кью, приоритет пути определяется путем оценки
каждого кусочка пути. Можно сделать таракана более / менее умным задавая соответствующую
функцию сравнения.

С чувствами smile.gif таракана пока можно погодить и условно считать что у него есть только нюх.
потом можем доделать smile.gif


--------------------

PM   Вверх
Domestic Cat
Дата 30.9.2004, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



----------------
По деталям:

Поле- будет вид сверху (то есть, квази-3Д) ?

Фактически есть 3 вещи, которые можно писать (в основном) независимо:

1. Клиент.
а. ГУИ - для начала
б. "движок" - тайл мап, тараканы, их передвижения

2. Сервер.

3. Графика.
Нужны будут анимации тараканов - движение в 8 сторон - наборы из 4-5 png дя каждогo
направления
Тайлы, для начала несколько типов - земля, трава, каменистая почва.

Для началa прицепляю файлы Animation, Game и Sprite.

Animation:
передаем *(имаг + длительность показа)

Sprite
содержит Animation, скорости х и y, положение. Нужно будет добавить направлениe и
менять анимацию в зависимости от него.
// вопрос : можно сделать 1 анимацию и крутить через AffineTransform. Будеt неэфективнo.
// Можно сделать 8 анимаций, будеt эфективнее но сьест большe памяти.

Game

содержt основной цикl анимации. вызываеt update нa саkлассе (который долежен соответственно
получть данныe с сервера, апдайтить игровое полe, считывать что надo с клавиатуры,
апдейтить все игр. объекты. Каждый объекt наследует от Sprite и сам
апдайтit свою анимацию.)
Далее вызывается репаинт панели.

Это сообщение отредактировал(а) Domestic Cat - 30.9.2004, 17:16

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  Archive.zip


--------------------

PM   Вверх
ElectricalStorm
Дата 30.9.2004, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 5
Всего: 9



Хочу обратить ваше внимание на
http://www.bytonic.de/html/jake2.html

возможно подчерпнете что то полезное для себя...


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
Sun
Дата 30.9.2004, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Account removed
***


Профиль
Группа: Экс. модератор
Сообщений: 1611
Регистрация: 14.8.2002

Репутация: 8
Всего: 48



Предлагаю организавать тайл мап в виде XML-файла, чтобы работать с ним стандартными средствами и было легче вносить изменения в структуру. Что-то на манер GML - the Geography Markup Language, только попроще.


--------------------
Account removed
PM MAIL   Вверх
Domestic Cat
Дата 30.9.2004, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



По-моему, это только замедлит парсинг файла. xml хорош для коммуникации различных приложений, а у нас одно. Файл с картой будет однородным, типа:
Код

name = hills
3  12  4  4  5  5  5  4  4  4 ...
12  3  4  5  5  5  5  5  5  4 ...
12 12 4  4  4  4  4  4  5  5 ...
....


это проще чем
Код

<map name = "hills">
    <tile x = "0" y = "0">3</tile>
    <tile x = "1" y = "0">12</tile>
    <tile x = "2" y = "0">4</tile>
    <tile x = "3" y = "0">4</tile>
    <tile x = "4" y = "0">5</tile>
    <tile x = "5" y = "0">5</tile>
    <tile x = "6" y = "0">5</tile>
    <tile x = "7" y = "0">4</tile>
    <tile x = "8" y = "0">4</tile>
    <tile x = "9" y = "0">4</tile>
....
</map>



--------------------

PM   Вверх
Caramel
Дата 1.10.2004, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4190
Регистрация: 7.8.2004
Где: Дюссельдорф

Репутация: 3
Всего: 142



А кто-нибудь может мне на пальцах объяснить, что требуется нарисовать qstn.gif
Если правильно поняла:
1) вид остается сверху.
2) карта будет составляться из восьмиугольных ячеек.
3) думаю будет лучше, если тараканы будут бегать по столу. Как варианты названий уровней предлагаю такие: "Обед в Маке", "Рестаран" и т.п.
4) Рисунки должны быть в Gif или Jpg ?

Еще у меня просьба: кто-нибудь может достать живого таракана? Никак не получатся правильно анимировать движение. sad.gif biggrin.gif
PM MAIL WWW Skype   Вверх
Domestic Cat
Дата 1.10.2004, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата(Caramel @ 1.10.2004, 02:21)
1) вид остается сверху.


Вроде бы да, но пока LSD по этому поводу ничего не написал smile.gif


Цитата(Caramel @ 1.10.2004, 02:21)
2) карта будет составляться из восьмиугольных ячеек


я бы предложил квадратные, для простоты, но опяь-таки, покa что это только мое мнение

Цитата(Caramel @ 1.10.2004, 02:21)
3) думаю будет лучше, если тараканы будут бегать по столу. Как варианты названий уровней предлагаю такие: "Обед в Маке", "Рестаран" и т.п.


Получается нечo вроде "Пластилиновых солдаt" (точное названиe язабыл уже ) smile.gif

Цитата(Caramel @ 1.10.2004, 02:21)
4) Рисунки должны быть в Gif или Jpg ?


jpg нe могут быть транспарантнымi (с прозрач)нум фоном) . Поэтому предлагаю png или
gif

Цитата(Caramel @ 1.10.2004, 02:21)
Еще у меня просьба: кто-нибудь может достать живого таракана? Никак не получатся правильно анимировать движе


Тут нету - холодно слишком smile.gif Лучше посмотреть по сайтам с бесплатной анимацией в разделах "animals" - там точно есть


--------------------

PM   Вверх
Caramel
Дата 1.10.2004, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4190
Регистрация: 7.8.2004
Где: Дюссельдорф

Репутация: 3
Всего: 142



Вот попробовала: user posted image

Есть идеи thumbs-up.gif qstn.gif
PM MAIL WWW Skype   Вверх
Domestic Cat
Дата 1.10.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



По-моему, слиском сложый фон, и тараканы большие, надо бы поменьше.
Фон лучше сделать пока простым, с учтом того, что его нужно составлять из кусков.
чем меньше таких кусков для фона нужно, нем лучше.


--------------------

PM   Вверх
Caramel
Дата 1.10.2004, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4190
Регистрация: 7.8.2004
Где: Дюссельдорф

Репутация: 3
Всего: 142



Рисунок можно уменьшить в два раза - качество от этого не потеряется.
Фон стола будет залит одним цветом. Единственное что будет прорисовываться это всякая утварь. Можно конечно и ее ужать, но чем реалестичней, тем лучше будет впечатление...
мне так кажется hehe.gif
Может вместо блюдец и чашек сделать плашки, а потом я их прорисую? Тогда у нас будет хотя бы работающий макет smile.gif

Это сообщение отредактировал(а) Caramel - 1.10.2004, 20:58
PM MAIL WWW Skype   Вверх
LSD
Дата 2.10.2004, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Domestic @ 1.10.2004, 15:15)
Вроде бы да, но пока LSD по этому поводу ничего не написал

Я изначально был за вид сверху.

По поводу организации карты, я думаю хорошим примером является "WarCraft II". Там принцип такой есть некое количество типов территорий: трава, земля, вода, лес и т.д. Для каждого типа есть 3-4 различных текстуры, которые подобранны так что любые текстуры одного типа, бесшовно состыковываются с любыми другими. И есть текстуры переходов, которые позволяют организовать плавные переходы: трава-земля, земля-вода, опять же переход трава-земля со стороны земли состыковывается с любой текстурой земли и аналогично для земли. Художникам придется попотеть.
Для каждого типа территорий есть некое количество объектов, которое можно поместить поверх ландшафта. Объект может занимать больше одного квадрата. Объект может влиять на проходимость (здание) или не влиять (мусор).

Вот так это выглядит:

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  WarCraft2.gif


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LSD
Дата 2.10.2004, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Domestic @ 30.9.2004, 17:16)
Можно сделать 8 анимаций, будеt эфективнее но сьест большe памяти.

Лучше 2 остальные зеркалирование.

Domestic Cat
В общем дизайн кода мне понравился, но хотелось бы минимальный JavaDoc по классам.
Я например не понял зачем у Game.update(long elapsedTime) нужно время. Что за поля private boolean finite = false; private boolean switcher = false у Animation.



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Domestic Cat
Дата 2.10.2004, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Насчеt варкрафта я согласен, но тараканам можно даже попроше пока сделать, несколько типов террайна, так что нужно будеt

(N+1) * 8

тайлов, если N - количество типов террайн.

Цитата(LSD @ 2.10.2004, 03:51)
В общем дизайн кода мне понравился, но хотелось бы минимальный JavaDoc по классам.



Виноват, признаюсь sad.gif я доки обычно потоm пишу.

Цитата(LSD @ 2.10.2004, 03:51)
Я например не понял зачем у Game.update(long elapsedTime) нужно время.


Предположим, я хоч написать леталку - стрелялку. я рисую звездолет, и заставляу его отзываться на кнопки. Теперь нужно стрелять, правильно?
1. Подход номер 1: при нажатии пробела, запускаем тред, он рисует пульку на экране
и спит Н миллисекунд в зависимости от скорости пули.
Можно потратить некоторое время (ч)его я в свое время проделаl) и обнаружть, что
при выстреливании пулек 20-30 треды начинают жутко тормозить, ибо количество тредов
таки не бесконечно да и жрут они многo.
2. Тогда оставляем один тред. Проблема - а как учесть тогда скорость пули?
Тогда и нужен апдейт: делаем бесконечый цикл. За каждый проход кждя пуля меняет
свое положение на определенную величину.
Йето тоже нехорошо, потому что вызов апдейта чаще всего будет не через равные промежутки времени. В результате выглядеть это будет очень плохо - пуля то летит, то стоит/. И на разных машинх будет по-разному работать - на одной бустро,
на другой медленнее.
Поэтому:
Каждый раз передаем пулe время,
истекшее с прошогo вызова апдейт (dt). Пуля тогда простo рассчтаеt свои координаты :

x = x0 + Vx * dt
y = y0 + Vy * dt

и затем рендерер простo переберет все зарегистрированные объекты, запросит у них
их координаты и рисунки и нарисует их в Graphics g.
Тo есть, апдайt будеt вызывать апдейт нa каждом игровом объекте, а тot будет апдейтить
саm себя, возможо, в зависимостi от истекшгo времени и своегo предыдущегo состояния

Передача времени в апдейт делает движение объекта не зависящим от посторонних причин - нагрузки процессора, скорости машины.

Цитата(LSD @ 2.10.2004, 03:51)
Что за поля private boolean finite = false; private boolean switcher = false у Animation.


finite = true соответствует финитной анимации, (корабль взрывается). Пo умолчнию анимация инфинитная (таракан идет). Пусть я скажем, взорвал корабль врагa и установил ему новую finite анимацию. Объекt "враг" переводим в состояиe DIYING,i нe убираеm с игровогo
поля покa нe закончтся анимация взрывa и оn не перейдет в состояие DEAD. kогда я писал
animation я с делаl немного криво - установил полe swicher,eслi оно сталo true, getImage будet возвращать пустой прозрачый рисунок, оb3екt же переходит в DEAD state чрез некоторое время. Пo идеe, лучше былo бы спрашiвать у Animation : if (anim.isFinite() &&
anim.isFinishedAnimation() ) { state = DEAD; }

Это сообщение отредактировал(а) Domestic Cat - 2.10.2004, 21:04


--------------------

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.