Форум Игромании

Форум Игромании (http://forum.igromania.ru/index.php)
-   Архив (Общеигровые вопросы) (http://forum.igromania.ru/forumdisplay.php?f=173)
-   -   Танчики (http://forum.igromania.ru/showthread.php?t=54945)

ORTODOX 25.12.2007 12:39

Танчики
 
Как вам идея сделать танчики, которые были на денди? Допустим добавим возможность играть на троих? Как идея? Думаю многим было бы интересно... :sml:
Можно было бы сделать на дельфи...
ЗЫ Позже можно было бы еще придумать возможностей ,подумали бы всем форумом :)

Проект пока завис! Пока не наидутся моделеры и художники! Также требуется програмист, который способен освоить уже готовый движок и ядро! Если вы желаете помочь, записываитесь! :sml:




Участники
Скрытый текст:
DEAD_Angel - художник
andNsX - художник
HaNproKilleR - художник
^i_Swep - j2me программист
L'ombre - консультант
ORTODOX - руководитель проекта
razor21 - програмист
pokibor - програмист-консультант
Требуются еще участники!


***
Скрытый текст:
основные сущности в игре:
- уровень, он же interaction manager, в дальнейшем - Level
Управляет взаимодействием всех сущностей
- матрица. состоит из элементов. что очевидно..
- элемент матрицы. CellItem. то, из чего состоит матрица.

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

существует два основных подвида Traverser'а:
- MatrixTraverser - это объект, движущийся относительно матрицы И
привязанный к матрице, оставляющий в ней след, имеющий размер.
т.е. вместе с движением объекта перемещается его представление в матрице
- PointTraverser - безразмерный объект, движущийся относительно матрицы И НЕ
оставляющий в ней след (но при этом взаимодействует с остальными объектами)
т.е. объект движется, но не имеет представления в матрице

Таким образом, Танк - это такой специальный MatrixTraverser,
умеющий стрелять, проезжающий по определённым клеткам и не умеющий по остальным и тд.

Снаряд - это PointTraverser, с соответствующими свойствами

Ближе к деталям:

Абстрактные сущности.

Destroyable
Сущность материальная, которую можно разрушить
свойства:
- Armor. Броня, Порог прочности.
определяет взаимодействие с PointTraverser'аим (снарядами)
Чтобы нанести повреждение, нужно, чтобы мощность снаряда была не меньше.
Если броня равна нулю, то снаряды пролетают сквозь этот объект.
- HitPoints. Численное прдставление прочности.
если снаряд пробил броню, то HitPoints уменьшаются.
При достижении значения 0 объект разрушен и исчезает из матрицы
(т.е. заменяется на пустой)
данное свойство показывает текущее значение
- MaxHitPoints - а это максимальное значение Hit Point'ов данного объекта.


Traverser
это нечто движущееся относительно матрицы. Основные свойства:
- X,Y. координаты центра в матрице
- Direction. Направление, одно из четырёх.
- Speed/Delay - так или иначе задаёт скорость

MatrixTraverser
Обладает размером. В общем случае прямоугольный.
- Width, Height - размеры, в клетках матрицы.
Какой ячейке соответствуют координаты, надо решить позже.
Предположительно, той, что ближе к центру.
например, если координата объекта шириной Width == 4 X == 2,
то этот объект занимает ячейки матрицы 1, 2, 3, 4 (нумерация, естественно, начинается с нуля)
(естественно это не окончательное решение)
- ID - может быть некий тип, но пока необязательно..

PointTraverser
на данный момент ещё не решил, должен ли он отличаться просто от Traverser'а,
кроме смысла. А по смыслу - это предок всех снарядов.
Скорее, будут отличаться обработчики событий.
PointTraverser движется иначе. А именно - МЕЖДУ ячейками
(т.е. координаты интерпретируются по-другому)
например, если координата X == 2, то объект находится между второй и третьей ячейкой.

Неабстрактные сущности

CellItem
Элемент (ячейка) матрицы. Потомок Destroyable
дополнительные свойства:
- Passability. Проходимость.
определяет взаимодействие с MatrixTraverser'аим (танками)
(вещественное число. 0 - объект непроходим; отличное от нуля значение влияет на скорость;
1 - нормальная скорость; 0.5 - замедленная в два раза, 2 - удвоенная и тд)
поскольку некоторые клетки могут быть доступны для MatrixTraverser'ов,
для представления этого понадобится ещё одно поле, пусть будет
- Meta. Флаг, который каким-либо образом показывает,
что эта ячейка занята каким-то MatrixTraverser'ом.
Например, порядковый номер танка (индекс в контейнере танков)
Для ядра игры этих свойств достаточно. Для визуализатора понадобится ещё хотя бы одно -
- ID. Уникальное число, идентификатор этого объекта.
Если все взаимодействия определяются вышеописанными свойствами,
то это поле определяет, как нужно объект отрисовывать.
склоняюсь к тому, чтобы не делать сложной иерархии классов для объектов матрицы;
просто все объекты принадлежат к одному классу и отличаются набором свойств.
тогда можно задавать все объекты в рантайме - например, загружать из файла.

Tank
танк является потомком MatrixTraverser'а и Destroyable
(т.е. это объект, способный двигаться в матрице, который можно уничтожить)
со своим набором свойств
- Weapons. вектор орудий. об этом позже.
- Owner. кто этим танком командует. номер игрока, флаг игрок/AI и тд

Missile
потомок PointTraverser'а.
специфические свойства:
- AttackPower. "Пробивная сила". Сравнивается с Armor объектов и танков.
- Damage. Повреждения, наносимые объектам, после того, как пробита броня.
- DamageDepth, DamageWidth - определяют область, затронутую взрывом
- Charges. Свойство, призванное обобщить концепцию снаряда.
Это "количество зарядов" - сколько раз снаряд может взорваться.
То есть, снаряд, после того, как он столкнулся со стеной и взорвал её,
может полететь дальше. Звучит абсурдно для снаряда, но это может быть лазер
или плазменный шар. При достижении количества 0 снярад уничтожается.
(если броня не пробита, или же хитпойнтов оказалось слишком много,
то не важно, сколько зарядов - снаряд уничтожается)
- Owner. Танк, выпустивший этот снаряд. Это понадобится для обработки Friendly Fire -
смогут ли танки противника повреждать дуг друга.

Остальные сущности

Weapon.
Оружие танка. определяется свойствами:
- Тип снаряда. идентификатор (если у снарядов будут идентификаторы)
или собственно указатель на объект.
- Скорострельность. - это максимальное количество снарядов, выпущенных из этого орудия,
которые могут существовать в каждый момент времени.
Например, если 1 - то танк не может выстрелить, пока не взорвётся выпущенный ранее снаряд.
и т.д.
У танка может быть несколько орудий, между которыми можно переключаться.
Делать заканчивающиеся снаряды, думаю, нет смысла.

Explosion
Столкновение снарядов с чем-либо, обладающим ненулевой бронёй,
порождает экземпляр этого класса.
Возможно, нет смысла делать эту сущность, так как решающую роль будет играть метод,
вызываемый во время взрыва. Этот метод обходит все ячейки и танки, и сообщает им,
что с ними случилось,
т.е. какой атаке они подверглись, какие повреждения могут получить итд.
Наличие объекта этого класса может быть полезно для отрисовки

RespawnPoint
точка возрождения. так как это точка, то это просто потомок какого-нибудь Traverser'а

PowerUp
объект, имеющий размер, при "столкновении" с которым танк получает какой-либо бонус:
- новое оружие
- усиление брони или HP
и тд
потомок MatrixTraverser'а, хоть и не движется. Основное свойство - тип бонуса.

BaseStation
(название надо обдумать)
это такой объект, который вражеские танки стремятся уничтожить.
опционально. тоже потомок MatrixTraverser'а и Destroyable

Структура игрового процесса

Основная сущность:
Level, уровень.
основные элементы:
- Матрица
- Вектор танков.
- Список снарядов
дополнительные:
- контейнер точек возрождения
- контейнер powerup'ов
- "базовая станция", которую нужно защищать.

(к контейнеру танков потребуется произвольный доступ,
а объекты из контейнера снарядов должны легко удаляться)

игровое время дискретно. каждую единицу времени каждый активный объект выполняет некое
элементарное действие - сдвинуться по ходу движение на некоторое число клеток
(определяемое скоростью. или же, если скорость слишком маленькое, пропустить этот момент),
повернуться или выстрелить.
Движение порождает события - вызывается метод движущегося объекта, в котором принимается
решение, может ли он сдвинуться и что с ним после этого произойдёт.

Двигаться могут танки - находящиеся в одном списке - и снаряды - в другом.
Выстрел любого танка добавляяет его снаряд в список снарядов.
Танк может добавить в список несколько снарядов.
попадание снаряда во что-либо может удалить его из этого списка.
Попадание в танк может его уничтожить - уничтоженный танк не удаляется из контейнера,
так как возможен respawn - этот экземпляр будет перемещён в другое место и "воскрешён"
(если закончились все танки в "запасе",
то этот танк просто пропускается при дальнейшей обработке).


Скрытый текст:
http://www.shadow.dynalias.com/tanks/core.rar
пароль у архива t@nk$c0re

фиксы:
- Tank::OrderMove() вызывает MatrixTraverser::Move() (раньше вызывал Traverser::Move(), и это было неправильно)
- MatrixTraverser::RemoveTrace() правильно удаляет из матрицы движущиеся в момент удаления траверсеры (в предыдущей версии я забывал очищать зарезервированные клетки)

pokibor 25.12.2007 12:52

Хм... возможно, возможно, учитывая, что обсуждение физики гонок заглохло (с моей стороны причина более-менее объективная - книга, асприрантура, работа, модерирование), то написание чего-то более простого и выкладывание исходников будет в тему...
Под что писать-то? Под DirectDraw? Или ещё какие предложения?

ORTODOX 25.12.2007 12:54

pokibor
я раньше пытался написать на DelphiX ,может на ней и попробуем?

pokibor 25.12.2007 13:03

На Delphi? Тогда от меня ждите только помощи советами. Я на Delphi писать ничего не буду. DelphiX - это что ли DirectDraw-движок для Delphi, или я ошибаюсь?
В любом случае писать что-то на Паскале - меньшее, что мне на данный момент хочется. Извините. Возможно, я оторвусь от коллектива и, если будет желание, замучу что-нибудь такое на Irrlicht или непосредственно на DirectX/OpenGL...

ORTODOX 25.12.2007 13:07

Цитата:

Сообщение от pokibor (Сообщение 2952147)
На Delphi?

ты С++ изучаешь?
ЗЫ Я С++ даже на комп ни разу не ставил :))
ЗЫЫ Я знаю малость дельфи, изучаю потехонечку, сеичас принялся за массивы...а так то хоть неа делфые я помочь чем то мог, а С++ вообще без понятия :(
Создам сеичас участников, кто хочет чем то помочь, записываитесь! :)

pokibor 25.12.2007 13:21

Цитата:

Сообщение от ORTODOX (Сообщение 2952175)
ты С++ изучаешь?

Не поверите, я его знаю. А вот Pascal уже лет пять как забыл, словно страшный сон.
Цитата:

Сообщение от ORTODOX (Сообщение 2952175)
ЗЫ Я С++ даже на комп ни разу не ставил :))

Я рад. А не помешало бы.
Цитата:

Сообщение от ORTODOX (Сообщение 2952175)
ЗЫЫ Я знаю малость дельфи, изучаю потехонечку, сеичас принялся за массивы...а так то хоть неа делфые я помочь чем то мог, а С++ вообще без понятия :(

А не кажется ли Вам, что подобных знаний просто не хватит даже для реализации танчиков?
Цитата:

Сообщение от ORTODOX (Сообщение 2952175)
Создам сеичас участников, кто хочет чем то помочь, записываитесь! :)

Хорошо. Я закреплю первый пост. Можете в него добавлять список заинтересовавшихся. Посмотрим, что выйдет.

ORTODOX 25.12.2007 14:45

Цитата:

Сообщение от pokibor (Сообщение 2952253)
А не кажется ли Вам, что подобных знаний просто не хватит даже для реализации танчиков?

ну так я бы модели создал, я по идее моделированием занимался :) А вы бы програмировали :))
Цитата:

Сообщение от pokibor (Сообщение 2952253)
Хорошо. Я закреплю первый пост.

спс

L'ombre 25.12.2007 23:08

Цитата:

Сообщение от ORTODOX (Сообщение 2952023)
Как вам идея сделать танчики, которые были на денди?

посещала меня такая идея лет шесть назад. в результате сделал этакое нечто под DOS на Borland Pascal 7. Игра, созданная с наскока, без проектирования, на чистом энтузиазме - нельзя так игры делать. код далёк от совершенства, осталась парочка багов, но в целом работает, и даже содержит в некотором роде оригинальные отличия от тех самых NES'овских Tank 1990/Battlecity/и тд.

Скрытый текст:

как и обещал, линк был актуальным в течение недели.
Так как сообщений в PM после этого не было, то (несмотря на попытки скачивания) линк удаляю

ORTODOX 26.12.2007 09:55

L'ombre
Лагает :( Вот скрин

Перезалей пожалуиста на slil.ru или подобное"! + поставлю :)) (и надеюсь не я один )0))))

pokibor 26.12.2007 12:20

ORTODOX
Такое бывает порой. Браузер зачем-то пытается открыть rar-архив вместо того, чтобы его скачивать. Воспользуйтесь лучше качалкой какой-нибудь для скачивания.
Впрочем, специально для Вас я перезалил L'ombre'овыский архив на ifolder, однако ссылку и пароль пошлю через личку, чтобы не нарушать его прав.

ORTODOX 26.12.2007 12:28

pokibor
ага спасибо1 :))
В след. выборе лучших модераторов выберу тебя, редко так помогают :)) !!!
Не подлизывайтесь и не флудите.

^i_Swep 11.01.2008 19:56

Хмм.. Есть вариант написать под сотовый
Однако для придания ускорения (мы же хотим завершить за неделю ? :) ) не плохо бы ещё одного программера на java me

ORTODOX 11.01.2008 21:51

^i_Swep
Неплохо было бы :)) На сотовый,как раз в школе гамать :)) Еще через блютуз,вообще бы чинно было :)

DEAD_Angel 11.01.2008 23:50

А проект в 2D или 3D графике будет ?
Цитата:

Сообщение от ORTODOX (Сообщение 3119305)
Неплохо было бы На сотовый,как раз в школе гамать Еще через блютуз,вообще бы чинно было

Да под сотовый хорошо будет, но вот только у разных фирм телефонов платформы разные, придётся вам как минимум 3 версии выпускать.

ORTODOX 12.01.2008 18:35

Цитата:

Сообщение от DEAD_Angel (Сообщение 3120464)
А проект графике будет

Цитата:

Сообщение от DEAD_Angel (Сообщение 3120464)
проект в 2D

Обычные дендивские танчики,ну что,есть участники?

andNsX 13.01.2008 16:55

ORTODOX
Жаль что тебя забанили, но предлагаю сильно не парится и попробовать на GameMaker, тем более, что pokibor дело говорит, знаний не хватет, а вот на Гамаке очень легко будет. Так что если Гамак, то я в команде.

DEAD_Angel 13.01.2008 20:47

Цитата:

Сообщение от ORTODOX (Сообщение 3126447)
Обычные дендивские танчики,ну что,есть участники?

Ну я дезайнером могу быть (я не профи, и не очень хорошо рисую: смотри на мой аватар (это лучший мой рисунок) и ещё я плохой аниматор), но сильно не расчитывайте... (у меня инет плохой, и не всегда доступ в инет будет)

^i_Swep 13.01.2008 22:01

Цитата:

Сообщение от DEAD_Angel (Сообщение 3120464)
Да под сотовый хорошо будет, но вот только у разных фирм телефонов платформы разные, придётся вам как минимум 3 версии выпускать.

В чём отличия ? Размер экрана? Можно изначально нацеливаться на так сказать расширяемость. И для первого релиза сделать например под 178х220

Цитата:

Сообщение от DEAD_Angel (Сообщение 3120464)
А проект в 2D или 3D графике будет ?

Хмм.. зачем 3D танчикам ? :) Лишний труд, цени время.

andNsX
К сожалению, не знаю про GameMaker. Также вынужден согласится, что у ORTODOX маловато знаний.. Но, продолжая о своём.. могу кодить под j2me, но одному лень. Поэтому и сказал - ищем второго Java2 ME программиста (а ещё художника, и вообще всех - кто что предложит ), и танчики будут готовы через неделю.
ORTODOX может быть координатором (идея его :) ) и перенимать опыт (как пафосно звучит ! )

DEAD_Angel
А я вообще рисовать не умею xD, а вообще, главное - работа в коллективе

DEAD_Angel 14.01.2008 00:04

Цитата:

Сообщение от ^i_Swep (Сообщение 3138211)
В чём отличия ? Размер экрана? Можно изначально нацеливаться на так сказать расширяемость. И для первого релиза сделать например под 178х220

Там такая штука, например: у меня MOTOROLA и игры с SONY ERICSON у меня не идут.

ХаН 14.01.2008 08:42

andNsX
А где мона скачать GameMaker?


На счет проекта - идея класс )) Особенно заинтересовала под сотики ))
Кстати могу быть полезен в рисовании ( умею но неочень :frown: впринципе текстуры нарисую подгоню оптимизирую )

DEAD_Angel 14.01.2008 13:41

HaNproKilleR
Насчёт GameMaker тебе сюда: http://forum.igromania.ru/showthread.php?t=51943

Цитата:

Сообщение от HaNproKilleR (Сообщение 3140926)
На счет проекта - идея класс )) Особенно заинтересовала под сотики ))
Кстати могу быть полезен в рисовании ( умею но неочень впринципе текстуры нарисую подгоню оптимизирую )

Как только ORTODOX'а "разбанят" давай вместе дизайнерами быть
Цитата:

Сообщение от DEAD_Angel (Сообщение 3137254)
Ну я дезайнером могу быть (я не профи, и не очень хорошо рисую: смотри на мой аватар (это лучший мой рисунок) и ещё я плохой аниматор)

Так что будем компенсировать недостатки друг друга. :)

^i_Swep 14.01.2008 18:48

Цитата:

Сообщение от DEAD_Angel (Сообщение 3139828)
Там такая штука, например: у меня MOTOROLA и игры с SONY ERICSON у меня не идут.

ХЗ почему, все основные функции стандартизированы. У тебя совсем не запускается?

Цитата:

Сообщение от HaNproKilleR (Сообщение 3140926)
впринципе текстуры нарисую

блин, да зачем 3D ? Разве нет желания когда-нибудь эти танчики закончить ?

А долго ещё ORTODOX ждать ?

DEAD_Angel 14.01.2008 21:25

Цитата:

Сообщение от andNsX (Сообщение 3134746)
но предлагаю сильно не парится и попробовать на GameMaker

Слишком легко, там и один человек может приличную игру сделать... Но можно и на "гамаке" делать, но сделать так чтобы "ух!"

Цитата:

Сообщение от ^i_Swep (Сообщение 3117911)
Хмм.. Есть вариант написать под сотовый
Однако для придания ускорения (мы же хотим завершить за неделю ? ) не плохо бы ещё одного программера на java me

Да, хочется под сотовый, но Java программеров редко где найти...

Цитата:

Сообщение от ^i_Swep (Сообщение 3138211)
И для первого релиза сделать например под 178х220

Может быть 176х220 ?

Давай-те сделаем "танчики" с разными видами оружия, апгрейдами и т.п. и всё это (оружие, апгрейды) будет покумотся за "деньги", которые (деньги) начисляются за убийство врагов (эдакий Контр-Страйк танчиками) ? :)

^i_Swep 14.01.2008 21:40

Цитата:

Сообщение от DEAD_Angel (Сообщение 3146719)
Может быть 176х220 ?

Ну забыл ))

Цитата:

Сообщение от DEAD_Angel (Сообщение 3146719)
Давай-те сделаем "танчики" с разными видами оружия, апгрейдами и т.п. и всё это (оружие, апгрейды) будет покумотся за "деньги", которые (деньги) начисляются за убийство врагов (эдакий Контр-Страйк танчиками) ?

А давайте заранее определим, что будет в танчиках (в том числе и какие виды оружий, какие апгрейды и т.д.).
А кто заинтересовался, можна что-то a-la скринов из игры нарисовать :)

pokibor 14.01.2008 21:45

Цитата:

Сообщение от DEAD_Angel (Сообщение 3146719)
Слишком легко, там и один человек может приличную игру сделать... Но можно и на "гамаке" делать, но сделать так чтобы "ух!"

А может вообще в скриптах Варкравтовского редактора. :mad:
Ну я понимаю ещё реализовывать в GM какую-нибудь оригинальную идею, которую раньше никто не юзал, чтобы всем показать свой талант как креативщика, но делать на GM уже вдоль и поперёк исхоженные танчики... Смысла вижу 0 целых 0 десятых.
Цитата:

Сообщение от DEAD_Angel (Сообщение 3146719)
Давай-те сделаем "танчики" с разными видами оружия, апгрейдами и т.п. и всё это (оружие, апгрейды) будет покумотся за "деньги", которые (деньги) начисляются за убийство врагов (эдакий Контр-Страйк танчиками) ? :)

Вы бы сперва хоть основную модель реализовали, навороты всегда прикрутить можно будет. Ядро что ли сделайте, а то уже скучно читать дискуссию становится... :wnk:
Ведь основа-то вроде проще некуда - блочная структура уровня, танк квадратный, размером в несколько квадратных же блоков, никаких проблем с рассчётом столкновений нет и даже движение, кажется, происходит сразу на один блок за шаг, хотя плавным его в зависимости от FPS сделать - раз плюнуть.
А когда будет готов класс танка, класс уровня и танк будет ездить по уровню, тогда уже добавить оружие, AI и прочее будет крайне просто. Только методы у классов надо бы, конечно, в большинстве своём виртуальными объявлять, чтобы потом перегружать можно было.
Если будет готово ядро по такой схеме - визуализацию можно делать хоть 2D, хоть 3D, хоть вообще в текстовом режиме. А для теста и PaintBox какой-нибудь Делфийный/Builder'овский и прочая мишура сойдут.

^i_Swep
Диздок должен писать один человек. Если кто-то возьмёт на себя сей труд - это будет замечательно. Но бросая клич "давайте придумаем апгрейды", Вы рискуете создать поток бесконечых предложений одно краше другого, а сама игра в итоге никогда не будет создана. Я сейчас Вам могу столько идей нагенерировать - от составного оружия до скриптования уровней, тераформинга и сюжета, вот только, боюсь, это вообще превратит проект в категорию несбыточных.

P.S. Если вдруг найдётся денёк свободного времени, что вряд ли, возьму на себя часть труда по написанию ядра. Только предупреждаю, что моё ядро будет на C++. Ну в крайнем случае на C#.

ХаН 15.01.2008 02:38

DEAD_Angel ок будем всместе над графикой париться :))
^i_Swep у меня на SoneEricsson работают некоторые игры для Nokia
Кстати а че за язык программирования ??? Где прогу скачать и учебники ??? ( может я тоже учиться буду )
pokiborСогласен с тобой на счет идей )) Давай-те решим кто будет все предумывать а остальные уже будут вместе решать стоит ли это включать в игру или нет !!

andNsX 15.01.2008 13:41

HaNproKilleR
Game Maker здесь, там ещё и обученние

ХаН 15.01.2008 14:58

Цитата:

Сообщение от andNsX (Сообщение 3150073)
HaNproKilleR
Game Maker здесь, там ещё и обученние

Пасиба ))) Скачал , поставил и начал обучаться )))
Дык четам насчет Java ??? книть может ссылкой поделиться ?????

pokibor 15.01.2008 15:46

Предлагаю не валять дурака и делать визуализацию через DirectDraw. С ним работать довольно просто, плюс можно прямо к видеопамяти обращаться (удобно и быстро!). Да и польза будет. А какая польза от реализации "танчиков" на GM?

^i_Swep 15.01.2008 15:53

Цитата:

Сообщение от pokibor (Сообщение 3146957)
Вы бы сперва хоть основную модель реализовали, навороты всегда прикрутить можно будет. Ядро что ли сделайте, а то уже скучно читать дискуссию становится...

Конечно. Первый релиз - просто танчики. И надо делать с прицелом на то, чтобы в игру было легко добавить навороты.


Например, несколько оружий - значит надо реализовать танк, который может стрелять не одним оружием, а разными (но пока в наличии имеет только одно :) ). Оружия тоже различаются => нужно заранее определить какие виды оружий могут быть, чем стреляют танки и т.д.
И так для всех аспектов.

Цитата:

Сообщение от pokibor (Сообщение 3146957)
Но бросая клич "давайте придумаем апгрейды", Вы рискуете создать поток бесконечых предложений одно краше другого

Во-первых, я такие кличи не бросаю, а во вторых, есть готовый ответ - "оно вам надо ?" :) Я считаю, оптимальным будет сделать всё за неделю. А добавление "тысячи и одной фитчи" этому не поможет. Вообще, идея танчиков тем и хороша - она реальна.

Цитата:

Сообщение от HaNproKilleR (Сообщение 3148607)
у меня на SoneEricsson работают некоторые игры для Nokia

Они почти все идут на SE (играю ведь :) )

Цитата:

Сообщение от HaNproKilleR (Сообщение 3148607)
Кстати а че за язык программирования ???

Java 2 ME (mobile edition).
К сожалению, знаний c++, c# на телефонах не имею, а вообще это уже программирование под сматртафон ^^


Если интересно, то начать знакомство с j2me можно с книги - Буткевич Е.Л. "Пишем программы и игры для сотовых телефонов"
Неплохо изложено (хотя много опечаток), написано, что нужно скачать (только jdk советую взять поновее), и давайте все остальные вопросы в отдельную тему. Для GameMaker она и вовсе уже есть.

ХаН 15.01.2008 17:17

Итак я тут подумал и вот - Короче давайте уже определимся на каком языке писать игру будем , что будет в ней и кто за что отвечает .

^i_Swep дай ссылочку на саму Яву и на учебник если он есть в инете . ПЛИЗЗЗЗ

^i_Swep 15.01.2008 19:09

Цитата:

Сообщение от HaNproKilleR (Сообщение 3152046)
^i_Swep дай ссылочку на саму Яву и на учебник если он есть в инете . ПЛИЗЗЗЗ

Про j2me уже сказал, что касается SE (standart edition) то вот, если надо: http://ruseti.ru/Java/
Касательно остальных вопросов, создайте пожалуйста тему !

Цитата:

Сообщение от HaNproKilleR (Сообщение 3152046)
Короче давайте уже определимся на каком языке писать игру будем, что будет в ней и кто за что отвечает .

ORTODOX дай нам знать, сколько тебя ещё ждать ? :)

DEAD_Angel 15.01.2008 23:32

Цитата:

Сообщение от ^i_Swep (Сообщение 3151179)
Например, несколько оружий - значит надо реализовать танк, который может стрелять не одним оружием, а разными (но пока в наличии имеет только одно ). Оружия тоже различаются => нужно заранее определить какие виды оружий могут быть, чем стреляют танки и т.д.
И так для всех аспектов.

Давайте сначала создадим "стандартную" модель танка, а "спрайт подменить" это раз плюнуть...

Цитата:

Сообщение от ^i_Swep (Сообщение 3152990)
ORTODOX дай нам знать, сколько тебя ещё ждать ?

В бан на неделю обычно уходят, по моему...

Если получится, завтра "танчик" (рисунок, если кто не понял) выложу.
Сначала надо-бы версию для PC делать, а потом адаптировать под сотик...

^i_Swep А ты Java долго изучаеш (изучал) ?

ХаН 16.01.2008 08:26

DEAD_Angel
Я так понял ты уже работать над графикой начал ????? Мы вроде как вместе должны ей заниматься :)) Так что я тоже выложу версию своего танчика :)) :)) :))

З.Ы. DEAD_Angel заведи себе аську )) Так легче объщаться будет ))

andNsX 16.01.2008 10:00

HaNproKilleR
А графика какая? Если мульташная, то у меня есть спрайт Зелёного и Голубого танка.

ХаН 16.01.2008 10:25

andNsX
А вот здесь я неподумал :( Надо мне с DEAD_Angelом поговорить на этот счет . Да и вообще когда вообще оффициально проект начнет свою разработку ?????

andNsX 16.01.2008 10:43

HaNproKilleR
Ну руководитель ORTODOX, но он в бане. Нужно ждать.

ХаН 16.01.2008 11:46

andNsX
Ок :)) Ждем тока скока ему в бане то сидеть?????

На счет танчика - яу меня он не получаеться (( DEAD_Angel жду твою версию :))

andNsX перекинь мне свои танчики .

DEAD_Angel 16.01.2008 15:15

Цитата:

Сообщение от andNsX (Сообщение 3156973)
А графика какая? Если мульташная, то у меня есть спрайт Зелёного и Голубого танка.

HaNproKilleR,andNsX я думаю мультяшная графика будет, а там как ORTODOX скажет.
andNsX Покажи спрайты.

Вот скетч оружия и апгрейдов (будет больше):

Вот танчик (другие цвета сделаю...):

Скрытый текст:
С маленьким недочётом:
http://i025.radikal.ru/0801/a8/5fdef60b2d2e.jpg
Недочёт исправлен:
http://i004.radikal.ru/0801/7d/708b19c8b00e.jpg

HaNproKilleR Выложи свой вариант, если хочеш подправь мой. :)

P.S. Какой движок будет ? Алфа канал делать ?

andNsX 16.01.2008 17:28

Танк правдо не мой, но выглядит ничё, буду свой разрабатывать.
DEAD_Angel
Движок не знаю, но вместо альфы можешь как на моём ГИФЕ зелёным красить.

^i_Swep 16.01.2008 19:32

Цитата:

Сообщение от DEAD_Angel (Сообщение 3155665)
Сначала надо-бы версию для PC делать, а потом адаптировать под сотик...

Не, проще сразу под сотик
Цитата:

Сообщение от DEAD_Angel (Сообщение 3155665)
^i_Swep А ты Java долго изучаеш (изучал) ?

Да уж не помню, где-то больше года. С основами (по буткевичу) можно быстро разобраться (если стараться).
Цитата:

Сообщение от andNsX (Сообщение 3156973)
HaNproKilleR
А графика какая? Если мульташная, то у меня есть спрайт Зелёного и Голубого танка.

Мне даже в голову не пришло ;D. Давайте определяться, какой стиль (хотя спрайты можна всегда поменять)
Цитата:

Сообщение от DEAD_Angel (Сообщение 3158589)
P.S. Какой движок будет ? Алфа канал делать ?

Конечно, с альфой и прозрачным фоном


Не хочу расстраивать, но окошко у телефона небольшое, рисуйте помельче :) Там ещё кусты и стены есть xD

pokibor 16.01.2008 19:34

Герои... Ещё даже общая схема игрового процесса и ядра не готова, а вы уже рисуете что-то для игры.

По теме альфа-канала: DirectDraw его поддерживает даже в различных вариантах. Это касательно движка ;-) DirectDraw, конечно, не движок, а библиотека, но, по крайней мере, в её использовании есть обучающий смысл.

andNsX
"Верное" решение. И ведь что танк сам по себе в зелёных тонах, никто не посмотрел. Если изображать альфа-канал каким-то цветом, то этот цвет должен разительно отличаться от всех остальных на рисунке.

Насчёт ORTODOX'а могу лишь посоветовать, чтобы Вы его особо не ждали. Его предупреждения истекут весьма нескоро...

DEAD_Angel 16.01.2008 21:24

Цитата:

Сообщение от ^i_Swep (Сообщение 3160889)
Не хочу расстраивать, но окошко у телефона небольшое, рисуйте помельче Там ещё кусты и стены есть xD

А в фотошопе размер (разрешение) изменить всегда можно. :)

Цитата:

Сообщение от pokibor (Сообщение 3160898)
Герои... Ещё даже общая схема игрового процесса и ядра не готова, а вы уже рисуете что-то для игры.

Мне просто в школе скучновато, вот и придумываю.

P.S. Я альфу буду делать "чёрно-белую" в фотошопе.

Feanor62rus 16.01.2008 21:34

Вы че всерьез полагаете, что танк, нарисованный в пейнте, прокатит?

andNsX 17.01.2008 08:44

pokibor
Я его компилировал в Javа, и всё нормально. Дело в том что ГИФ кажется не поддерживает степени прозрачности. Может быть только полностью прозрачно. Для этого кодходят цвета 64,128,0 и 255,0,255. А зелёный цвет у меня выбрал сам фотошоп.
DEAD_Angel
Не проще ли сделать фон прозрачным и рисовать, потом поставить индексированые цвета и экспортировать? Прозрачность сохранится.

ХаН 17.01.2008 09:41

pokibor
ты вроде модер может скажешь скока еще ORTODOX сидеть в бане ( если конешно знаешь :)) )
DEAD_Angel
andNsX
Неплохие танчики )) Я свой рисовать наверн небуду :( Я лучше ландшафты и оформление нарисую :))

pokibor 17.01.2008 09:44

Цитата:

Сообщение от andNsX (Сообщение 3164003)
pokibor
Я его компилировал в Javа, и всё нормально. Дело в том что ГИФ кажется не поддерживает степени прозрачности. Может быть только полностью прозрачно. Для этого кодходят цвета 64,128,0 и 255,0,255. А зелёный цвет у меня выбрал сам фотошоп.

GIF - формат с 256'ю цветами и палитрой, в которым один цвет можно сделать прозрачным. Про саму разумность его применения я ничего не говорил, хотя мне всё-таки кажется, что 256'и цветов как-то маловато. И что Вы всё с java и сотовыми телефонами носитесь? Из-за малого экрана у игрока не будет информации о всём поле боя, либо танк будет иметь размер в несколько пикселей.

Кстати, как выяснилось, в DirectDraw с аппаратной поддержкой прозрачности туго. Хотя битовая прозрачность есть. В общем, для "Танчиков" его вполне хватит (там, если что, можно реализовать софтверную прозрачность, ибо есть доступ напрямую к видеопамяти, пусть и довольно медленный), а вообще надо Direct3D или OpenGL использовать.

HaNproKilleR
Я не имею права разглашать подобную информацию, да её в явном виде и нет. Могу лишь сказать, что, судя по всему, долго.

DEAD_Angel 17.01.2008 12:48

Цитата:

Сообщение от Feanor62rus (Сообщение 3162027)
Вы че всерьез полагаете, что танк, нарисованный в пейнте, прокатит?

Ну не в пеинте а в фотошопе... Я понимаю, что ты типа уже проф. 3д модельер, но в отличии от тебя не все такие опытные...

Цитата:

Сообщение от HaNproKilleR (Сообщение 3164133)
Неплохие танчики )) Я свой рисовать наверн небуду Я лучше ландшафты и оформление нарисую

Да согласен, ты уровни и окружение делай, а то я как-то уровни туго придумываю... :)

Цитата:

Сообщение от andNsX (Сообщение 3164003)
Не проще ли сделать фон прозрачным и рисовать, потом поставить индексированые цвета и экспортировать? Прозрачность сохранится.

Я сначала, неподумав, на непрозрачном фоне рисовал... И рисунок я ещё так в .JPG выложил, когда надо будет оптимизирую... :)

andNsX А ты спраит танка, случайно не из "Гамаковской" Дюны выдернул ?

andNsX 17.01.2008 14:39

DEAD_Angel
Не из дюны а из Архива на Мизизце. Кстати я думаю, что мобильник это бред, я почти закончил свою Гамаковскую, и скоро выложу.

DEAD_Angel 17.01.2008 14:54

Цитата:

Сообщение от andNsX (Сообщение 3165578)
Не из дюны а из Архива на Мизизце.

А что за архив ?

Цитата:

Сообщение от andNsX (Сообщение 3165578)
Кстати я думаю, что мобильник это бред, я почти закончил свою Гамаковскую, и скоро выложу.

Под мобилу можно, но потом, когда PC версию сделаем... Я тоже на гамаке свою версию хотел сделать, но ты опередил... посмотрим :)

andNsX 17.01.2008 15:00

DEAD_Angel
Это архив спрайтов с Сайта о Гамаке. Сейчас экзешник танков кину...
Вот ссылка http://ifolder.ru/4986017

ХаН 17.01.2008 16:26

DEAD_Angel
договорились))

Итак у меня такое предложение:
ORTODOX
наверно еще в бане будет долго поэтому предлагаю выбрать нового главу проекта ( при всем мое уважении к ORTODOX ) И еще даайте составим список участников ( я могу заняться ) Кто хочет участвовать то пусть Красным цветом в своем посте напишет УЧАСТВУЮ

^i_Swep 17.01.2008 16:29

Жду вашего слова - кто собирается делать танчики на мобильник

andNsX 17.01.2008 16:30

HaNproKilleR
УЧАСТВУЮ
И ещё можешь мою Гамаковскую версию (бета) посмотреть.
^i_Swep
Я только на ПК.

ХаН 17.01.2008 16:40

andNsX
Запишу )) ОК завтра скачаю и гляну ))
^i_Swep
Я бы непротив ))

И еще голосуем за нового главу проекта ( если он вообще нужен ) Кондидата пишем ЗЕЛЕНЫМ цветом

Миланчег 17.01.2008 17:10

ORTODOX , будет в субботу или воскресение, так что ждите :)
ЗЫ Я не феик, просто один канал на площадку, в деревне почти живем :)

DEAD_Angel 17.01.2008 21:12

^i_Swep
Я сначала для PC хочу сделать, а потом под сотик. И я вотношении сотика (в програмировании) немного ламо, так что ты там движок или как там (основу игры) напиши, а потом додумывать будем. :)

Простите, немного не потеме, у меня такая трабла: Некоторые архивы (как andNsX'а танчики) открываются с ошибкой. Как решить проблемму. Ответ писать в личку.

HaNproKilleR
УЧАСТВУЮ

Кстати, господа, красный цвет он для модераторов вообще-то, в постах его просто так нельзя использовать.

ХаН 18.01.2008 07:34

Итак раз ORTODOX появиться либо завтра либо после завтра то он и остаеться руководителем проекта :sml:

Участники :
Скрытый текст:
DEAD_Angel - художник
andNsX - гамакер
HaNproKilleR - художник
ORTODOX - руководитель проекта

Если есть какие ошибки поправте :sml: Если кто хочет стать участником проекта то он в своем посте должен написать УЧАСТВУЮ и я занесу его в список участников .


Я вот тут выложил скин первого уровня .Посмотрите ))

andNsX
На счет твоей версии танчиков - Впринципе неплохо )) Но надо-бы добавить меню , малость поработать над графикой и еще кое -какие мелочи )) А то очень даже неплохо :))

andNsX 18.01.2008 09:01

HaNproKilleR
Я не программист я на Гамаке делаю, а там не особо то програмирую.
DEAD_Angel
А какая у тебя личка?(номер аси)

ХаН 18.01.2008 09:23

andNsX
непроблема....исправим Кстати а как про тебя написать ??? ( GameMаker может ))) И еще давайте все себе аську заведут так реально удобней ))

andNsX 18.01.2008 09:26

HaNproKilleR
А запиши меня в Гамакера в списке.!
Скрытый текст:
Ася в онлайне 355800942

ХаН 18.01.2008 09:37

andNsX
все.исправил.Кстати че ты в аске непоявляешься??

DEAD_Angel 18.01.2008 11:57

Цитата:

Сообщение от andNsX (Сообщение 3171864)
А какая у тебя личка?(номер аси)

Пока пиши на форум в ЛС. (Акаунт аськи есть, но в нём знак _ (подчёркивания), и в проге нельзя вводить _ , как тогда войти?)

HaNproKilleR
Уровен ничего, правда маленький (для сотика сойдёт, но для компа нет). :)
И что там слева на рисунке ? (овраг, чтоли ?)

P.S. На форуме есть ЛС, туда и пишите типа "чего ты в асе не появляешся ?", а то это мы в оффтоп уходим... :)

ХаН 18.01.2008 14:22

DEAD_Angel
чтобы войти в асю напиши в поле ввода свой номер аккаунта ))

Сорри что не по теме !!!

Разве 1024х1024 это маленький уровень ?? Слева типа оврага )

DEAD_Angel 18.01.2008 16:04

Цитата:

Сообщение от HaNproKilleR (Сообщение 3173271)
Разве 1024х1024 это маленький уровень ?? Слева типа оврага )

Извиняюсь, не совсем хорошо выразился, просто уровень "простенкий" (впринципе и такой сойдёт) надо бы какую-нибудь "урбановскую" (лабиринтную типа) обстановку. И почему овраг белый, можно было-бы в коричневый (земляной) цвет покрасить... :)

^i_Swep 18.01.2008 16:51

HaNproKilleR
У меня ifolder не открывается :(

DEAD_Angel 18.01.2008 20:59

andNsX
Ето только у меня, поле боя, кишит танчиками :eek:. Сделай AI поумнее, тогда и танчиков меньше понадобится :). Я надеюсь там и "наша" графа, и идеи будут. :)



Скрытый текст:
Цитата:

Сообщение от ^i_Swep (Сообщение 3174625)
У меня ifolder не открывается

В смысле вообше сайт не открыватся, или не качает ?

pokibor 18.01.2008 21:10

Ну-ну, уровни уже начали рисовать-обсуждать...
А ведь в танчиках вообще-то поле блочное, если кто-то забыл. Уровень такой в виде подложки - это, конечно, хорошо, только всё-таик было бы неплохо для начала обсудить собственно концепцию поля боя, уж если на то пошло. Какие блоки, насколько они маленькие, сколько блоков будет занимать танк и т.д. и т.п.

DEAD_Angel 18.01.2008 21:16

Цитата:

Сообщение от pokibor (Сообщение 3177345)
Ну-ну, уровни уже начали рисовать-обсуждать...
А ведь в танчиках вообще-то поле блочное, если кто-то забыл. Уровень такой в виде подложки - это, конечно, хорошо, только всё-таик было бы неплохо для начала обсудить собственно концепцию поля боя, уж если на то пошло. Какие блоки, насколько они маленькие, сколько блоков будет занимать танк и т.д. и т.п.

Да, мы вообще чего-то немного завязли...

andNsX
И ещё, насчёт танчиков: как-то не "катит" идея с "переездом". :)

^i_Swep 18.01.2008 23:19

Цитата:

Сообщение от DEAD_Angel (Сообщение 3177212)
В смысле вообше сайт не открыватся, или не качает ?

В смысле вообще. Перезалейте плиз

Цитата:

Сообщение от pokibor (Сообщение 3177345)
Ну-ну, уровни уже начали рисовать-обсуждать...

Это концепт-арт ! :)


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

Для начала можно поговорить про поле. Даже чуть конкретнее:
какими свойствами может обладать каждая клетка (а дальше следующий аспект и т.д.).
Начну: картинка (её номер), проходимость (проедет ли танк) ... и лень дальше думать, вообще мне ещё сегодня учиться надо :(

p.s. не оставляю надежд - ищем java программера, вдвоём будет веселей

pokibor 19.01.2008 00:21

Цитата:

Сообщение от ^i_Swep (Сообщение 3178726)
Начну: картинка (её номер), проходимость (проедет ли танк) ... и лень дальше думать, вообще мне ещё сегодня учиться надо :(

О, как подробно! :lol:
Ладно, давайте я на правах консультанта проекта внесу свои пять копеек.
Вопросы:
1) Сколько единичных блоков будут равны по размеру танку? Ответ "ясное дело, 1" заведомо неправилен. Если помните, в оригинале с кирпичной стены сносилось, кажется, по 1/4 за выстрел => там единичный блок (который либо есть, либо его нет) был равен 1/16 танка, а ответ на вопрос - в танке было 4x4 единичных блоков.
2) Имеет ли смысл объединять единичные блоки в более крупные образования для экономии памяти и небольшого ускорения рассчётов, связанных с движением? В оригинале они, ясное дело, объединялись. Но мы себе можем позволить этого не делать, получив взамен возможность сделать, например, пол-большого-блока леса, четверть кирпича и четверть стали. (большой блок - блок, равный размером танку).
Если ответ "можем", то вопрос №1 отпадает - кол-во блоков на танк элементарно делается настраиваемым.
3) Структура информации о блоке. Картинка - чушь, ибо она не имеет отношения к ядру игры, а я настоятельно рекомендую не привязывать ядро к визуализации.
Проходимость - да, но она не должна быть "да/нет", а разумно сделать поставить ей коэффициент модификации скорости. Если он 0 => поверхность непроходима.
Далее должен быть тип блока в виде некой внутренней константы. Из него-то как раз и будет визуализатор получать картинку и прочее.
Прочность/броня - также разумно сделать такие поля. Если мощности снаряда не хватает для пробития брони - урон не наносится вообще (так делается сталь). Ну а с прочностью вроде понятно и так. Как раз будет задел на будущее расширение.
Вот, уважаемые. Отвечайте на эти вопросы. А я тут пока копаюсь в Direct3D в плане двухмерной графики, так что, возможно, вам будет скоро набор классов для упрощения визуализации выдан.
Скрытый текст:

P.S. Особо умным товарищам, старательно выискивающим поводы для возвышения себя. Если Вы думаете, что я специально для этого на gamedev'е выяснял и говорил про максимально быстрый вывод графики, то ошибаетесь. Сюда я выдам нечто простенькое и ориентированное на новичков. Я вообще хотел обойтись DirectDraw с его тормознутой недо-альфой, но раз уж всё равно Direct3D придётся юзать, то зачем распылять свои силы?
Я там даже (о, ужас! :lol:) буду D3DX-функции юзать. А вот на C# не надейтесь.

andNsX 19.01.2008 10:37

Цитата:

Сообщение от DEAD_Angel (Сообщение 3177212)
andNsX
Ето только у меня, поле боя, кишит танчиками :eek:. Сделай AI поумнее, тогда и танчиков меньше понадобится :). Я надеюсь там и "наша" графа, и идеи будут. :)

Я работаю. По идее они должны разворачиваться, но чтото не хотят. Буду думать. А идеи будут!

DEAD_Angel 19.01.2008 13:07

Цитата:

Сообщение от pokibor (Сообщение 3179298)
1) Сколько единичных блоков будут равны по размеру танку? Ответ "ясное дело, 1" заведомо неправилен. Если помните, в оригинале с кирпичной стены сносилось, кажется, по 1/4 за выстрел => там единичный блок (который либо есть, либо его нет) был равен 1/16 танка, а ответ на вопрос - в танке было 4x4 единичных блоков.

Да чем больше "вглубь", тем больше я понимаю, что я немного ламо в геймдеве. По теме: насколько, я понял про блоки, то я так думаю, что танчик должен быть равен 6 блокам, но, да, чем больше тем лучше (что-бы создать эффект "натуральной разрушаемости").

Цитата:

Сообщение от ^i_Swep (Сообщение 3178726)
В смысле вообще. Перезалейте плиз

Это у тебя наверно что-то с браузером, с инетом и т.п.

L'ombre 19.01.2008 18:46

Цитата:

Сообщение от pokibor (Сообщение 3179298)
3) Структура информации о блоке

ещё кое-что добавлю. нужно определить взаимодействие блоков со снарядами. например, в оригинале есть интересный тип поверхности - вода, непроходима для танков (проходимость == 0), но снаряды спокойно пролетают (логично предположить, прочность == 0)
ещё одна мысль: если будут продумываться разные типы оружия, то кроме мощности есть смысл ввести "проникаемость" (как поле у снаряда) - т.е. насколько толстый слой блоков взрывает этот сняряд. Опять же, в оригинале (по крайней мере в одном из них..) "продвинутая" пушка, стреляющая двумя снарядами и пробивающая бетон, взрывала два слоя кирпича каждым снарядом, в то время как стандартное орудие - один.
Цитата:

Сообщение от DEAD_Angel (Сообщение 3181390)
думаю, что танчик должен быть равен 6 блокам

если имеется в виду "танк состоит из шести блоков" (а не "танк занимает 6*6 блоков"), то получается прямоугольный танк - значит, он не всегда сможет развернуться на месте; в оригинале танки были квадратными.

^i_Swep 19.01.2008 19:53

Цитата:

Сообщение от pokibor (Сообщение 3179298)
Картинка - чушь, ибо она не имеет отношения к ядру игры, а я настоятельно рекомендую не привязывать ядро к визуализации.

Дык я как попроще изъсняюсь, естесно номер картинки == тип клетки. Вот только сначала подумал:
Цитата:

Сообщение от pokibor (Сообщение 3179298)
Сколько единичных блоков будут равны по размеру танку? Ответ "ясное дело, 1" заведомо неправилен

Ну давно я играл ! :) Откуда помнить

Цитата:

Сообщение от pokibor (Сообщение 3179298)
Прочность/броня - также разумно сделать такие поля

прочность, это типа хитпойнты, а броня - минимальная мощность снаряда, чтобы пробить препятсвие ?

Цитата:

Сообщение от DEAD_Angel (Сообщение 3181390)
Это у тебя наверно что-то с браузером, с инетом и т.п.

Ну хз, картинку то я не посмотрел..

Ещё одно свойство - в оригинале можно скрыться под клеточкой "кусты" (правда только от друга, не от ai), как такое будем реализовывать? Два слоя / отдельная переменная или ещё что-нить..
И второе. Вроде как в танчиках клетки при попадании исчезали.. не знаю, там была степень разрушения ?

pokibor 19.01.2008 20:10

L'ombre
Верно, однако я думаю, что проникаемость можно будет включить в хиты брони как особое значение, а разрушаемость лучше сделать свойством снаряда и рассчитывать исходя из урона. Хотя это, конечно, надо решать.

Цитата:

Сообщение от ^i_Swep (Сообщение 3185478)
прочность, это типа хитпойнты, а броня - минимальная мощность снаряда, чтобы пробить препятсвие ?

Да.
Цитата:

Сообщение от ^i_Swep (Сообщение 3185478)
Ещё одно свойство - в оригинале можно скрыться под клеточкой "кусты" (правда только от друга, не от ai), как такое будем реализовывать? Два слоя / отдельная переменная или ещё что-нить..

Логически? Особые свойства типа клетки. Визуально - альфу поверх. А AI, прошу помнить, в оригинале не было. Враги ездили и стреляли совершенно бездумно под влиянием генератора случайных чисел, кажется.
Цитата:

Сообщение от ^i_Swep (Сообщение 3185478)
Вроде как в танчиках клетки при попадании исчезали.. не знаю, там была степень разрушения ?

Не было. Ну так мы реализовываем те самые танчики, или же с прицелом на расширение?

DEAD_Angel 19.01.2008 20:55

А мы будем оригинал делать? или "новые" танчики?

Мне кажется сильно всё сдирать с оригинала не стоит... А AI, если можно, надо-бы сделать (игра интересней будет) И давай-те делать танчики с разрушением :)

pokibor 19.01.2008 22:06

DEAD_Angel
А оригинальные были без разрушения? :eek:
Вы думайте-думайте, у меня уже первая побочная бета-версия простейшего 2D-движка готова. Много что прикручивать было лень (напр., мультитекстурирование, но хочу со временем его добавить - пусть будет), но зато вышло вроде более-менее просто, хотя, может, и немного тормознуто, но есть куча другой работы (напр., над куда более быстрой 2D-прогограммой для других целей), так что извините.
Когда её протестю - могу выложить. Правда, она на C++...

P.S. Тут подумал... У уважаемых участников проекта есть знания в плане Windows API? А то ж создание окна в функции не входит... Если нет, то лучше я его добавлю внутрь класса, или как надстройку, а по сообщениям буду callback'и, ясное дело, вызывать.

L'ombre 19.01.2008 22:33

Скрытый текст:

Цитата:

Сообщение от pokibor (Сообщение 3185646)
а разрушаемость лучше сделать свойством снаряда

я это и имел в виду, только назвал по-другому:
Цитата:

Сообщение от L'ombre (Сообщение 3184807)
есть смысл ввести "проникаемость" (как поле у снаряда)


хм а вообще действительно, это можно связать с уроном.. но я имел в виду вот что:
мощность снаряда определяет может ли снаряд вообще взорвать этот блок;
урон работает только если снаряд может что-то разрушить (уже пробил защиту блока) и показывает, сколько именно он разрушит

т.е. как Attack и Damage в dnd

Цитата:

Сообщение от ^i_Swep (Сообщение 3185478)
прочность, это типа хитпойнты, а броня - минимальная мощность снаряда, чтобы пробить препятсвие ?

и вот кстати ещё вопрос, который надо продумать. - будут ли у блоков хитпойнты, или блок разрушается сразу, как только мощность снаряда оказалась больше его брони? Очевидно, хитпойнты - это более общий случай, может быть, лучше реализовать его. Но тогда ещё вопрос - если снаряд должен уничтожить несколько клеток, то как распределяется урон? снаряд может, например, вычесть свой урон из хитпойнтов всех клеток, которые он затрагивает (гнапример, снаряд с уроном 5 вычитает 5 хитпойнтов из четырёх соседних клеток); или же сделать так, чтобы у снаряда была некая энергия, которая в в сам момент столкновения равна его урону, а потом уменьшается, уменьшая при этом хитпойнты клеток (например, снаряд с уроном 5 взрывает одну клетку с тремя хитпойнтами и вычитает ещё два хитпойнта из следующей)

DEAD_Angel 19.01.2008 22:47

Цитата:

Сообщение от pokibor (Сообщение 3186900)
У уважаемых участников проекта есть знания в плане Windows API?

А что такое Windows API ? :confused: Думаю, для дизайнера эти знания не так нужны? Или всё-же нужны? :confused:

pokibor 19.01.2008 23:00

DEAD_Angel
Дизайнеру-то конечно, нет, а вот программисту не помешали бы. Вообще, я уже запутался, кто у вас за что отвечает? Вообще, программисты в команде есть, или только на словах? А то пока вся игры выливается в один рисунок, которые некоторые к тому же скачать не могут!
P.S. Народная примета: если человек не знает, что такое Windows API, значит, оно ему и не надо.

DEAD_Angel 19.01.2008 23:11

Цитата:

Сообщение от pokibor (Сообщение 3187364)
Вообще, программисты в команде есть, или только на словах?

Цитата:

DEAD_Angel - художник
andNsX - гамакер
HaNproKilleR - художник
ORTODOX - руководитель проекта
^i_Swep - программер, вроде, но на Java

ORTODOX 20.01.2008 14:52

pokibor
Ты учавствуешь? Твое неоцинимое знание С++ сильно бы помогло нашему проекту ;)
Кто-нибудь музыкой увлекается? Надо еще мюзишн сочинить :))
Игру можно разработать и под телефон(что в школе то делать))))
Я хотел на троих, т.е 3 игроков могло бы играть ,это бы было клево :))

pokibor 20.01.2008 16:38

Цитата:

Сообщение от ORTODOX (Сообщение 3191193)
pokibor
Ты учавствуешь? Твое неоцинимое знание С++ сильно бы помогло нашему проекту ;)

Я консультант. Моё знание C++ будет вам помогать, но командовать собой я никому не дам. Сейчас вот доделаю движок, будь он неладен (несколько запарился с внедрением окна, да и тест на другой машине выявил крайне странную проблему) и кину его вам. А там посмотрим :wnk:
Цитата:

Сообщение от ORTODOX (Сообщение 3191193)
Кто-нибудь музыкой увлекается? Надо еще мюзишн сочинить :))

Толку, если ещё игровой процесс-то неизвестен?
Цитата:

Сообщение от ORTODOX (Сообщение 3191193)
Игру можно разработать и под телефон(что в школе то делать))))
Я хотел на троих, т.е 3 игроков могло бы играть ,это бы было клево :))

Да хоть на десятерых, если ядро правильно спроектировать, кол-во игроков будет делом настройки управления и карты.
P.S. ORTODOX, смотри, не совершай ошибок, а то опять в бан улетишь, и проект снова останется обезглавленным.

ORTODOX 20.01.2008 17:01

Цитата:

Сообщение от pokibor (Сообщение 3192172)
но командовать собой я никому не дам

у нас никто ни кем не командует ,страна то демократическая :)) , да и форум тоже :))
Цитата:

Сообщение от pokibor (Сообщение 3192172)
Сейчас вот доделаю движок,

ждем ;)
Цитата:

Сообщение от pokibor (Сообщение 3192172)
Да хоть на десятерых

это радует :)

Добавлено через 41 секунду
Желающте еще есть?

Добавлено через 1 час 11 минут
Что тема затихла :( Обращение к художникам (DEAD_Angel,HaNproKilleR )
танки нарисовали? ЕКсли ответ положительный, то выкладывайте, посмотрим, покритикуем ,похвалим :)) Ждем-с ....

pokibor 20.01.2008 19:18

Цитата:

Сообщение от ORTODOX (Сообщение 3192457)
у нас никто ни кем не командует ,страна то демократическая :)) , да и форум тоже :))

Командовать можно и прямо, и не прямо. Если я что-то пообещаю и т.п., это уже будет непрямым командованием. Кстати, демократия и командование - вообще разные вещи, никак к друг другу не относящиеся.
Цитата:

Сообщение от ORTODOX (Сообщение 3192457)
Что тема затихла :( Обращение к художникам (DEAD_Angel,HaNproKilleR )
танки нарисовали? ЕКсли ответ положительный, то выкладывайте, посмотрим, покритикуем ,похвалим :)) Ждем-с ....

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

ORTODOX 20.01.2008 20:15

Цитата:

Сообщение от pokibor (Сообщение 3193802)
Только рисуйте сразу с альфой

т.е объяни... пожалуиста ...

pokibor 20.01.2008 20:39

Цитата:

Сообщение от ORTODOX (Сообщение 3194408)
т.е объяни... пожалуиста ...

Ну, рисунки с альфа-каналом, причём все его градации поддерживаются, а не только есть-нет.

DEAD_Angel 20.01.2008 21:17

Цитата:

Сообщение от ORTODOX (Сообщение 3192457)
Что тема затихла Обращение к художникам (DEAD_Angel,HaNproKilleR )
танки нарисовали? ЕКсли ответ положительный, то выкладывайте, посмотрим, покритикуем ,похвалим Ждем-с ....

ORTODOX
Мы так рады, что ты вернулся.
По теме: насчёт рисунков, предыдушие посты почитай, я там скетчи и танк выкладывал.
Танк оптимизирую (256*256 будет) , альфу (только будет "чёрно-белая" фотошоповская альфа) сделаю.
P.S. Мы решили что HaNproKilleR будет "левел"-дизайнером.

pokibor 20.01.2008 21:31

DEAD_Angel
Жду-недождусь, когда вы решите ещё, какие, собственно, уровни он будет дизайнить, т.е. концепцию набросаете.
И потихоньку думайте о рисовании шрифтов для игры. Насколько я знаю, автоматическое создание шрифтов в DirectX мягко говоря неудовлетворительно, на выходе оно даёт шрифт с приличными артефактами.
Не обязательно что-то оптимизировать под 256 x 256 хотя и это не помешает - достаточно просто добавить пустоты до этого размера. степенью двойки должны быть сами текстуры, а уж какой регион из них будет выводится на экран - не имеет значения. Он не обязан быть равным степени двойки.

Да, и вопрос на миллион: кто тут хотя бы знает язык программирования C++? Кто сможет на нём писать? Мои классы сильно облегчат работу и позволят обойтись без знания Windows API и DirectX, но писать-то всё равно будете вы!

DEAD_Angel 20.01.2008 21:38

Цитата:

Сообщение от pokibor (Сообщение 3195295)
Не обязательно что-то оптимизировать под 256 x 256 хотя и это не помешает - достаточно просто добавить пустоты до этого размера.

Я так и сделаю, я же знаю для чего альфа нужна.

Добавлено через 1 минуту
Цитата:

Сообщение от pokibor (Сообщение 3195295)
И потихоньку думайте о рисовании шрифтов для игры. Насколько я знаю, автоматическое создание шрифтов в DirectX мягко говоря неудовлетворительно, на выходе оно даёт шрифт с приличными артефактами.

Я незнаю какой "финальный" шрифт, т.е. картинка со шрифтами или ешё какая-то штука... (А шрифт как нибудь придумаем)

^i_Swep 20.01.2008 21:41

Цитата:

Сообщение от pokibor (Сообщение 3195295)
Да, и вопрос на миллион: кто тут хотя бы знает язык программирования C++? Кто сможет на нём писать?

Я :)
Цитата:

Сообщение от pokibor (Сообщение 3195295)
позволят обойтись без знания Windows API и DirectX

Вот поэтому и молчал. Я думал, ты под directx собирался делать..
p.s. я прикупил хорошую книжку про directx (автор Андре Ламот, кстати, как твоё мнение, если знаком), но ещё не изучал, нет времени :(
p.p.s. не надейтесь, что за неделю изучу

L'ombre 20.01.2008 21:57

разработал черновой вариант концепции ядра игры. этот черновик может лечь в основу диздока, той его части, касающейся ядра.
Скрытый текст:

основные сущности в игре:
- уровень, он же interaction manager, в дальнейшем - Level
Управляет взаимодействием всех сущностей
- матрица. состоит из элементов. что очевидно..
- элемент матрицы. CellItem. то, из чего состоит матрица.

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

существует два основных подвида Traverser'а:
- MatrixTraverser - это объект, движущийся относительно матрицы И
привязанный к матрице, оставляющий в ней след, имеющий размер.
т.е. вместе с движением объекта перемещается его представление в матрице
- PointTraverser - безразмерный объект, движущийся относительно матрицы И НЕ
оставляющий в ней след (но при этом взаимодействует с остальными объектами)
т.е. объект движется, но не имеет представления в матрице

Таким образом, Танк - это такой специальный MatrixTraverser,
умеющий стрелять, проезжающий по определённым клеткам и не умеющий по остальным и тд.

Снаряд - это PointTraverser, с соответствующими свойствами

Ближе к деталям:

Абстрактные сущности.

Destroyable
Сущность материальная, которую можно разрушить
свойства:
- Armor. Броня, Порог прочности.
определяет взаимодействие с PointTraverser'аим (снарядами)
Чтобы нанести повреждение, нужно, чтобы мощность снаряда была не меньше.
Если броня равна нулю, то снаряды пролетают сквозь этот объект.
- HitPoints. Численное прдставление прочности.
если снаряд пробил броню, то HitPoints уменьшаются.
При достижении значения 0 объект разрушен и исчезает из матрицы
(т.е. заменяется на пустой)
данное свойство показывает текущее значение
- MaxHitPoints - а это максимальное значение Hit Point'ов данного объекта.


Traverser
это нечто движущееся относительно матрицы. Основные свойства:
- X,Y. координаты центра в матрице
- Direction. Направление, одно из четырёх.
- Speed/Delay - так или иначе задаёт скорость

MatrixTraverser
Обладает размером. В общем случае прямоугольный.
- Width, Height - размеры, в клетках матрицы.
Какой ячейке соответствуют координаты, надо решить позже.
Предположительно, той, что ближе к центру.
например, если координата объекта шириной Width == 4 X == 2,
то этот объект занимает ячейки матрицы 1, 2, 3, 4 (нумерация, естественно, начинается с нуля)
(естественно это не окончательное решение)
- ID - может быть некий тип, но пока необязательно..

PointTraverser
на данный момент ещё не решил, должен ли он отличаться просто от Traverser'а,
кроме смысла. А по смыслу - это предок всех снарядов.
Скорее, будут отличаться обработчики событий.
PointTraverser движется иначе. А именно - МЕЖДУ ячейками
(т.е. координаты интерпретируются по-другому)
например, если координата X == 2, то объект находится между второй и третьей ячейкой.

Неабстрактные сущности

CellItem
Элемент (ячейка) матрицы. Потомок Destroyable
дополнительные свойства:
- Passability. Проходимость.
определяет взаимодействие с MatrixTraverser'аим (танками)
(вещественное число. 0 - объект непроходим; отличное от нуля значение влияет на скорость;
1 - нормальная скорость; 0.5 - замедленная в два раза, 2 - удвоенная и тд)
поскольку некоторые клетки могут быть доступны для MatrixTraverser'ов,
для представления этого понадобится ещё одно поле, пусть будет
- Meta. Флаг, который каким-либо образом показывает,
что эта ячейка занята каким-то MatrixTraverser'ом.
Например, порядковый номер танка (индекс в контейнере танков)
Для ядра игры этих свойств достаточно. Для визуализатора понадобится ещё хотя бы одно -
- ID. Уникальное число, идентификатор этого объекта.
Если все взаимодействия определяются вышеописанными свойствами,
то это поле определяет, как нужно объект отрисовывать.
склоняюсь к тому, чтобы не делать сложной иерархии классов для объектов матрицы;
просто все объекты принадлежат к одному классу и отличаются набором свойств.
тогда можно задавать все объекты в рантайме - например, загружать из файла.

Tank
танк является потомком MatrixTraverser'а и Destroyable
(т.е. это объект, способный двигаться в матрице, который можно уничтожить)
со своим набором свойств
- Weapons. вектор орудий. об этом позже.
- Owner. кто этим танком командует. номер игрока, флаг игрок/AI и тд

Missile
потомок PointTraverser'а.
специфические свойства:
- AttackPower. "Пробивная сила". Сравнивается с Armor объектов и танков.
- Damage. Повреждения, наносимые объектам, после того, как пробита броня.
- DamageDepth, DamageWidth - определяют область, затронутую взрывом
- Charges. Свойство, призванное обобщить концепцию снаряда.
Это "количество зарядов" - сколько раз снаряд может взорваться.
То есть, снаряд, после того, как он столкнулся со стеной и взорвал её,
может полететь дальше. Звучит абсурдно для снаряда, но это может быть лазер
или плазменный шар. При достижении количества 0 снярад уничтожается.
(если броня не пробита, или же хитпойнтов оказалось слишком много,
то не важно, сколько зарядов - снаряд уничтожается)
- Owner. Танк, выпустивший этот снаряд. Это понадобится для обработки Friendly Fire -
смогут ли танки противника повреждать дуг друга.

Остальные сущности

Weapon.
Оружие танка. определяется свойствами:
- Тип снаряда. идентификатор (если у снарядов будут идентификаторы)
или собственно указатель на объект.
- Скорострельность. - это максимальное количество снарядов, выпущенных из этого орудия,
которые могут существовать в каждый момент времени.
Например, если 1 - то танк не может выстрелить, пока не взорвётся выпущенный ранее снаряд.
и т.д.
У танка может быть несколько орудий, между которыми можно переключаться.
Делать заканчивающиеся снаряды, думаю, нет смысла.

Explosion
Столкновение снарядов с чем-либо, обладающим ненулевой бронёй,
порождает экземпляр этого класса.
Возможно, нет смысла делать эту сущность, так как решающую роль будет играть метод,
вызываемый во время взрыва. Этот метод обходит все ячейки и танки, и сообщает им,
что с ними случилось,
т.е. какой атаке они подверглись, какие повреждения могут получить итд.
Наличие объекта этого класса может быть полезно для отрисовки

RespawnPoint
точка возрождения. так как это точка, то это просто потомок какого-нибудь Traverser'а

PowerUp
объект, имеющий размер, при "столкновении" с которым танк получает какой-либо бонус:
- новое оружие
- усиление брони или HP
и тд
потомок MatrixTraverser'а, хоть и не движется. Основное свойство - тип бонуса.

BaseStation
(название надо обдумать)
это такой объект, который вражеские танки стремятся уничтожить.
опционально. тоже потомок MatrixTraverser'а и Destroyable

Структура игрового процесса

Основная сущность:
Level, уровень.
основные элементы:
- Матрица
- Вектор танков.
- Список снарядов
дополнительные:
- контейнер точек возрождения
- контейнер powerup'ов
- "базовая станция", которую нужно защищать.

(к контейнеру танков потребуется произвольный доступ,
а объекты из контейнера снарядов должны легко удаляться)

игровое время дискретно. каждую единицу времени каждый активный объект выполняет некое
элементарное действие - сдвинуться по ходу движение на некоторое число клеток
(определяемое скоростью. или же, если скорость слишком маленькое, пропустить этот момент),
повернуться или выстрелить.
Движение порождает события - вызывается метод движущегося объекта, в котором принимается
решение, может ли он сдвинуться и что с ним после этого произойдёт.

Двигаться могут танки - находящиеся в одном списке - и снаряды - в другом.
Выстрел любого танка добавляяет его снаряд в список снарядов.
Танк может добавить в список несколько снарядов.
попадание снаряда во что-либо может удалить его из этого списка.
Попадание в танк может его уничтожить - уничтоженный танк не удаляется из контейнера,
так как возможен respawn - этот экземпляр будет перемещён в другое место и "воскрешён"
(если закончились все танки в "запасе",
то этот танк просто пропускается при дальнейшей обработке).


небольшой пример взаимодействия:
Скрытый текст:

допустим, снаряд перемещается на одну ячейку вперёд.
Некий метод уровня вызывает метод снаряда OnMove,
который смотрит, что находится в новой точке
там оказывается слой кирпича. Поскольку у кирпича есть броня, не равная нулю,
то создаётся объект Explosion. вызывается метод Run этого объекта;
туда передаётся снаряд, породивший взрыв. Этот метод определяет зону, затронутую взрывом,
и вызывает для каждой ячейки метод OnExplosion.
Этот метод (у каждой ячейки) анализирует параметры снаряда и сопоставляет их со своими параметрами. Поскольку это крипич, броня его меньше, то он должен повредиться.
Damage снаряда достаточно высок, и весь слой просто взрывается - то есть каждая ячейка
трансформирует себя в пустую ячейку.
управление возвращается в OnMove снаряда,
и там уменьшается на единицу зачение Charges;
получившееся значение возвращается в вызывающий метод уровня,
оказывается, что это 0, значит снаряд нужно уничтожить. Снаряд удаляется из списка.


Цитата:

Сообщение от ORTODOX (Сообщение 3195807)
L'ombre
Кто ты? Т.е кем будешь?

я - ваш кошмар! :)
не знаю, будет ли у меня время реализовать всё это. Скорее всего, программить вышеописанное придётся кому-то из вас.
так что мне логичнее стать консультантом

DEAD_Angel 20.01.2008 21:58

^i_Swep
А ты кто (в смысле про список учавствующих)?
*вопрос устарел, уже исправили*

ORTODOX 20.01.2008 22:05

L'ombre
Кто ты? :) Т.е кем будешь? Я тебя в участники забью :))

pokibor 20.01.2008 22:21

L'ombre - отлично! Ну, ты уже знаешь :Grin:
ORTODOX - Думаю, нас с L'ombre и правда лучше записать в консультанты :P

Цитата:

Сообщение от ^i_Swep (Сообщение 3195456)
Вот поэтому и молчал. Я думал, ты под directx собирался делать..

Я и сделал под DirectX. Для того я и написал эти классы, чтобы использующий их не заботился о DirectX и прочем. Но они DirectX используют, не сомневайтесь :) У кого хватит терпения, сможет глянуть в их исходные коды, хотя я бы не сказал, что там всё правильно и хорошо сделано...

System32 20.01.2008 22:32

Вот так всё и начинается ! Сначало делают танчики , а потом глядишь и Crysis переплюнут !:cr: Хороша задумка , доделайте до конца plz !!! :mania:

ORTODOX 20.01.2008 22:35

System32
Постараемся :Emba:

DEAD_Angel 20.01.2008 22:41

System32
Давай к нам, т.е. записывайся в участники. Что умеешь ?

ORTODOX 20.01.2008 22:45

Может я еще чем-то помочь могу? :))

System32 20.01.2008 22:48

Ну я даже не знаю . 5 лет отучился учился рисовать , закончил с синим дипломом и красной рожей ! :lol:
Как говорится : "лучше закончить с синим дипломом и красной рожей , нежели с красным дипломом и синей рожей !"

DEAD_Angel 20.01.2008 23:02

Цитата:

Сообщение от System32 (Сообщение 3196331)
Ну я даже не знаю . 5 лет отучился учился рисовать , закончил с синим дипломом и красной рожей !

Так как, рисуеш хорошо ?
Скрытый текст:
Записывайся, еще одним художником будешь :)) ;)

__________________________________________
Вот танчик: http://dump.ru/files/n/n8277458/
P.S. Заранее предупреждаю, достаточного опыта работы с форматом .DDS не имею, так что если какие-то недочёты будут...

System32 20.01.2008 23:19

Чем я могу его просмотреть ? Фотошопом ?

DEAD_Angel 20.01.2008 23:21

Цитата:

Сообщение от System32 (Сообщение 3196676)
Чем я могу его просмотреть ? Фотошопом ?

Да, можно фотошопом, НО НУЖЕН ПЛАГИН СЕЙЧАС, минуточку, ССЫЛКУ НА ПЛАГ ДАМ...
....Вот http://dump.ru/files/n/n955894405/

ORTODOX 20.01.2008 23:25

DEAD_Angel
А чем-нибудь кроме фотожопа открыть можно?

DEAD_Angel 20.01.2008 23:33

Цитата:

Сообщение от ORTODOX (Сообщение 3196754)
DEAD_Angel
А чем-нибудь кроме фотожопа открыть можно?

Да, вьювером каким-нибудь (например NERO Photosnap viewer, вместе с неро есть)

Вот плаг для фотошопа ("натуральную" ссылку непомню, поэтому свой плаг выкладываю): http://dump.ru/files/n/n955894405/
Ах, да, ещё установка: "кидаем" в (писал "примерно", т.е. не совсем точно названия писал) [директория фотошоп]\Plug-ins\import-exsport\

ORTODOX 20.01.2008 23:38

DEAD_Angel
Приличный, красивый танчик :))
Хочу услышать мнение других ...

DEAD_Angel 20.01.2008 23:41

Цитата:

Сообщение от ORTODOX (Сообщение 3196885)
Приличный, красивый танчик

А ты ещё скетчи оружия и апгрейдов видел (где-то на предыдуших страницах), как одобряешь ?

pokibor 20.01.2008 23:46

Собираю данные по глюкам моих классов. Пока что на одной видеокарте из трёх (NVidia'вской) был замечен странный баг, на других (ATI'шных, из которых одна была в варианте для ноута) не появлявшийся. Следовательно, мне нужно собрать данные.
Выложил на Ifolder и webfile тестовую программку. Насколько я могу судить, она требует редистрибутивы VC (но они сейчас со многими играми идут, так что, надеюсь, у всех есть) и ноябрский DirectX (аналогично).
http://ifolder.ru/5034129
http://webfile.ru/1696678
В общем, запускайте и говорите результат. Только просьба запускать в разрешении 800 x 600 (просто у одного квада координаты абсолютные), попробовать и в оконном, и в полноэкранном режимах.
По идее, лицо на кваде с альфой должна быть видна поверх квада подложки. Если альфа работает, а лицо абсолютно чёрное - знаит, это и есть тот самый баг. Тогда буду думать, что делать.

Да, и кстати, раз уж тут выкладываю. Вот код этого приложеница с использованием моих классов. Просьба посмотреть господ программистов на предмет простоты. Единственное, что выход из приложения пока намертво на Escape в классе прописан, но это скоро изменится.
Скрытый текст:

Код:

#include "global.h"
#include <stdio.h>
#include <windows.h>
#include < D3d9.h>
#include "renderer.h"
#include "r_window.h"
//-----------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                  PSTR szCmdLine, int iCmdShow)
{
        D3DWindow *rw = new D3DWindow();
        D3DBaseSettings settings;
        if (rw->ShowRenderDialog(hInstance, settings)) {
                if (rw->CreateD3DWindow(settings, hInstance, iCmdShow)
                && rw->PrepareToRun()) {
                        D3DDevice *dev = rw->GetD3DDevice();
                        D3DTexture *tx, *tx1;
                        D3DQuad *q, *q1;
                        rw->ShowCursor(false);
                        tx = dev->LoadTexture(L"data\\test.png");
                        tx1 = dev->LoadTexture(L"data\\test.bmp");
                        q = dev->CreateQuad(tx1, true,
                                                                true, 400, 100, 400, 400,
                                                                true, -1, -1, -1, -1);
                        q1 = dev->CreateQuad(tx, false,
                                                                false, 0.0, 0.5, 1.0, 1.0,
                                                                true, -1, -1, -1, -1);
                        while (rw->Run()) {
                                if (rw->IsActive() && dev->BeginPaint()) {
                                        q->Draw();
                                        q1->Draw();
                                        dev->EndPaint();
                                }
                        }
                }
                rw->Run();
        }
        delete rw;
        PostQuitMessage(0);
    return 0;
}


ORTODOX 20.01.2008 23:52

DEAD_Angel
да,красивенько,только немного мультяшно,но ничего посмотрим еще :)
Хочу услышать мнение других !

DEAD_Angel 20.01.2008 23:56

pokibor
у меня ATI Radeon x1600, всё работет нормально.

Цитата:

Сообщение от ORTODOX (Сообщение 3197015)
да,красивенько,только немного мультяшно,но ничего посмотрим еще

Ну если не мультяшно делать, то это к другим художникам (у мну только мультяшно получается).

ORTODOX 20.01.2008 23:58

pokibor
Вот как у меня

ЗЫ Конфа в профиле ,Windows Vista

Добавлено через 36 секунд
Цитата:

Сообщение от DEAD_Angel (Сообщение 3197039)
Ну если не мульташно делать, то это к другим художникам (у мну только мультяшно получается).

жа ничего :) Нормально ;)

pokibor 21.01.2008 00:03

DEAD_Angel, ORTODOX
Спасибо за тест!
Отлично, всё нормально! И даже под Вистой! :Grin:

ORTODOX 21.01.2008 00:05

Цитата:

Сообщение от pokibor (Сообщение 3197077)
И даже под Вистой!

это радует :)
DEAD_Angel
Честно говорю,что мне нравится :)

ХаН 21.01.2008 09:24

Мня тока один день небыло......а тут уже стока всего что я даже неуспеваю за всем следить :sml:
ORTODOX
с возвращением тебя :sml:
pokibor
скачал твой архив и при запуске у меня ошибка :(
DEAD_Angel
танчик норм :sml:

P.S.Мне новые уровни делать или как ???? ( пример я уже выкладывал ) А то вроде тут говорили что нужно както подругому их делать :sml:

ORTODOX 21.01.2008 11:05

Цитата:

Сообщение от HaNproKilleR (Сообщение 3197975)
с возвращением тебя

спасибо :)
Цитата:

Сообщение от HaNproKilleR (Сообщение 3197975)
Мне новые уровни делать или как ???

ждем pokibor ,он вроде говворил,ччто надо как-то их по особому делать ... :))

ХаН 21.01.2008 11:55

ORTODOX
что-ж ждем :)) Я наверно тода буду оформление меню придумывать :sml:

pokibor 21.01.2008 13:13

HaNproKilleR
Насчёт архива. Какая ошибка? Скорее всего, у Вас не установлен последний DirectX либо нет редистрибутивов C++.
Насчёт уровней. Кто левел-дизайнер, Вы или я? Ясное дело, перед проектирование уровней надо с концепцией игры разобраться, ибо уровни вроде как не симпатичные картинки, а набор игровых объектов всё-таки. Если у нас (сорри, "у вас" - я всего лишь консультант :P) ещё даже неизвестно, какие типы блоков в игре будут - о каких уровнях вообще может идти речь, Вы что???

^i_Swep 21.01.2008 15:45

L'ombre
Молодец, спасибо что не пожалел времени. Отлично продумано

В общем, это будет основа диздока. ORTODOX добавь в первый пост.

Пара комментариев.

Цитата:

- Скорострельность. - это максимальное количество снарядов, выпущенных из этого орудия,
которые могут существовать в каждый момент времени.
Например, если 1 - то танк не может выстрелить, пока не взорвётся выпущенный ранее снаряд.
и т.д.
Можно добавить cooldown танку (в млсек), время, в течение которого он не может ещё раз стрельнуть

Цитата:

игровое время дискретно. каждую единицу времени каждый активный объект выполняет некое
Я думаю, выстрел танка будет анимирован, а раз время дискретно, то тоже нужно добавить cooldown - время выстрела. Кстати на основе этого свойства и количества кадров в анимации, можно будет потом программно просчитывать скорость смены фреймов.

Цитата:

Попадание в танк может его уничтожить - уничтоженный танк не удаляется из контейнера
Раз это диздок, то давайте уточним этот момент: предполагаю, надо дописать, что у level'a есть такие свойства как
- общее количество танков выпущенных на поле
- максимальное одновременное количество танков на поле

DEAD_Angel
танчик хороший, можна рисовать анимацию выстрела :)
кста, почему бы не в psd ?

Цитата:

Сообщение от pokibor (Сообщение 3196966)
В общем, запускайте и говорите результат

GeForce 6600, WinXP SP2, дрова новые - видно чёрное лицо

Цитата:

Сообщение от pokibor (Сообщение 3198920)
о каких уровнях вообще может идти речь

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

ORTODOX 21.01.2008 15:57

Цитата:

Сообщение от ^i_Swep (Сообщение 3200378)
В общем, это будет основа диздока. ORTODOX добавь в первый пост.

а что добавить,что-то я не понял :)

System32 21.01.2008 16:29

Хм неплохо ! Я бы даже сказал хорошо !

И вот ещё , вдруг прегодится !

^i_Swep 21.01.2008 16:41

Цитата:

Сообщение от ORTODOX (Сообщение 3200489)
а что добавить,что-то я не понял

концепцию ядра L'ombre

DEAD_Angel 21.01.2008 17:08

Цитата:

Сообщение от ^i_Swep (Сообщение 3200378)
кста, почему бы не в psd ?

А движок его (формат PSD) поддерживает ?

P.S.Спасибо всем, что одобрили мой танчик. :)

pokibor 21.01.2008 17:12

^i_Swep
Спасибо. Серия видюх GeForce 6xxx под подозрением. Чего-то они не умеют делать... Буду разбираться.

DEAD_Angel
dds DirectX поддерживает, psd, конечно, нет.

Миланчег 21.01.2008 18:40

Всем Сорри!! ORTODOX опять забанился :( Теперь я заместо него :))
ЗЫ Анимацию снаряда сделали?

Добавлено через 1 минуту
ЗЫ pokibor знаешь в чем баг на 6 серии жирафов?

pokibor 21.01.2008 18:54

Миланчег
Если б знал, бага бы уже не было. Впрочем, его нет, если использовать другой класс для квада, который с Lock'ом памяти. Стало быть, баг не является критическим, просто приложение, возможно, будет работать чуть-чуть медленнее.
P.S. Сейчас не до таких разборок. Закончил добавление клавиатуры через DirectInput. Скоро будет первый общественный релиз (в рамках сидящих здесь людей, конечно :) ). В ближайших планах - реализация мыши, добавление связанных с ней событий и пара методов у квада. Тогда движок будет уже готов к тестам игры.
P.P.S. Администрация сочла Миланчег'а фейком. Сочувствую. Только заверяю, что объяснительный пост был принят во внимание.

^i_Swep 21.01.2008 18:58

Цитата:

Сообщение от Миланчег (Сообщение 3202399)
Всем Сорри!! ORTODOX опять забанился

Поржал...
Пора выбирать заместителя ORTODOX
Пишите кандидатуры (синим)

System32 21.01.2008 19:17

pokibor
Цитата:

Скоро будет первый общественный релиз (в рамках сидящих здесь людей, конечно)
А помоему на дисках мании выкладывают работы читателе ! А ? Думаю вам стоит попробовать подать заявку . Естественно после того как игра будет готова и более менее сболансированная . (Я имею в виду в плане вылетов и ошибок !) :sml:

pokibor 21.01.2008 19:25

System32
Вы что-то не поняли. Я говорю о движке, а не об полноценной игре. Движок простейший пока, так что не надейтесь на его мощь, и для посылки куда-то там он точно не подходит...

System32 21.01.2008 19:28

Цитата:

Сообщение от pokibor (Сообщение 3202978)
System32
Вы что-то не поняли. Я говорю о движке, а не об полноценной игре. Движок простейший пока, так что не надейтесь на его мощь, и для посылки куда-то там он точно не подходит...

Зато есть к чему стремиться !!! :appl:

DEAD_Angel 21.01.2008 21:00

Цитата:

Сообщение от System32 (Сообщение 3203008)
Зато есть к чему стремиться !!!

Спасибо, что оптимистично настраеваешь нас.
System32, вступай ещё одним художником (ну, если конечно, остальные не против) ! :)

ORTODOX, ну ты даёшь - из бана в бан ! :lol: (не обижайся, я похорошему)
Кончаем флуд. Я стараюсь к нему гуманно относиться, ибо тема всё-таки живому обсуждению проекта посвящена, но всему есть предел.

System32 21.01.2008 21:44

Для связи !
 
Скрытый текст:
ORTODOX попросил всем вам объявить его ICQ для связи сним :
Скрытый текст:
360626199

DEAD_Angel 21.01.2008 22:06

Хотелось-бы чтобы управление танчиком было организованно не как в "стандартной версии"
Скрытый текст:
(т.е. жмёшь вверх - таник вверх..., жмёшь вниз - танчик резко развернулся, и вниз...)
, а так как в "top-down гоночках" на флеше, на мобильнике (думаю все поняли, о чём я :) (расписывать поподробнее - влом)). :)

L'ombre 21.01.2008 22:13

Цитата:

Сообщение от ^i_Swep (Сообщение 3200378)
надо дописать, что у level'a есть такие свойства как
- общее количество танков выпущенных на поле
- максимальное одновременное количество танков на поле

да, согласен.

про cooldown. Да, если танк может выпустить несколько снарядов, то нужно задать промежуток между выстрелами.
Грубо говоря, танк может выстрелить при выполнении двух условий:
- с момента прошлого выстрела прошло достаточное время, и
- количество существующих сейчас его снарядов меньше его максимума.


насчёт дискретности времени - тут надо кое-что уточнить и ещё многое обдумать.
Прежде всего:
грубо говоря, игровая система является неким конечным автоматом. В каждый момент времени она принимает одно из состояний, число которых конечно, и может перейти в другое состояние; считаем, что для перехода в новое состояние все объекты что-то делают (могут и не делать). в идеале одновременно, но в реальности будет некая очерёдность. переход из одного состояния в другое - это такт. Такт для этой системы - это атомарный проежуток времени, единица времени. В этом смысле "логическое" время дискретно.

Но для пользователя (значит и для графичиского движка) этот такт не является атомарным - он длится некоторое время (допустим, несколько секунд), за это время проигрываются нужные анимации и тд.
Например, танк перемещается на один слой ячеек вверх. Он не может зависнуть между ячейками, для него существуют только варианты "до перемещения" и "после перемещения". Времени между ними для него тоже не существует.
Но графический движок изображает это как непрерывный процесс, плавно перемещает картинку на одну ячейку вверх.

Плавно подходим к "времени выстрела"
выстрел, с точки зрения игровой логики, - это элементарное (атомарное) действие. В начальном состоянии есть танк, в конечном - танк и снаряд где-то в соседней ячейке. Для пользователя/визуализации - это процесс. у него есть своя анимация, и, скорее всего, время выстрела это и будет продолжительность анимации.
иными словами - да, это будет в игре, но нет, это не является частью ядра.

так что cooldown можно добавлять в свойство оружия, но это величина не в секундах, а в тактах, единицах "логического времени"

-----

ещё один важный аспект, по которму ещё нет единого решения - динамика.
нужно определить, как именно осуществляется движение в этом клетчном мире, как реализовать движение с разными скоростями, и как это соотносится с логическим временем и реальным временем.



Тут можно отталкиваться от двух идей.
Первая - считаем движение непрерывным. хм.. абстракция: все traverser'ы на самом деле движутся где-то в ином измерении и имеют вещественные координаты, а мы отсчитываем такты и в каждый такт определяем, какие ячейки матрицы они занимают - т.е. какие у них целочисленные координаты; округляем, в общем). Сюда хорошо вписывается вещественная скорость, и веществвенные же модификаторы скорости у объектов. Однако при таком подходе скорости могут быть (и будут) такими, что объекты - танки и снаряды - могут перемещаться за один такт на несколько ячеек, т.е. перескакивать через ячейки. Поэтому обрабатывать столкновения снаряда, двигающегося со скоростью, например, 3, будет сложнее (потребуется обрабатывать не только столкновения, но и пробегать по "предшествующим" ячейкам)

Вторая идея - за каждый такт любой объект может переместиться не более чем на одну ячейку. Для представления разных скоростей используются задержки; объект с нулевой задержкой - самый быстрый, он перемещается на одну ячейку за такт. Остальные ждут несколько тактов перед (или после) каждым перемещением. Тут проще обрабатывать столкновения и взаимодействия с другими объектами, но возникает риск: самое быстрое возможное движение - это движение объектов с нулевой задержкой. если игра будет тормозить, то это может оказаться слишком медленно.


Кроме того (это относится к движению вообще, независимо от выбранного варианта), Танки (MatrixTraverser'ы) занимают ячейки в матрице, поэтому нужно не допустить таких ситуаций, когда на первом такте танк решает переместиться куда-то в свободное место, и за то время, пока он ждёт, это место кто-то занимает (а графический движок уже начал анимацию, передвинул картинку на половину ячейки!) Это можно сделать двумя способами - перемещать танк сразу и потом ждать, или же "зарезервировать" целевые ячейки, подождать, потом переместится (в этом случае танк стоит на месте и снаряды его там могут повредить, но на его новое место никто заехать не сможет, а снаряды там спокойно пролетают).

pokibor 21.01.2008 23:42

Ловите первую версию недо-движка с демонстрационным приложением. Сразу говорю, что в демонстрации затронуты далеко не все возможности даже из уже имеющихся в наличии (так, например, нет буферизации ввода DirectInput). В общем, смотрите и разбирайтесь. Программеры... :D
Да, там вроде как все объекты я сделал нетрансформируемыми, следовательно, проблем ни у кого быть не должно. Сглаживание, кстати, надо бы сделать... займусь этим позже :)
К движку относятся следующие файлы:
global.h
i_keyboard.h; i_keyboard.cpp
r_window.h; r_window.cpp
renderer.h; renderer.cpp
resource.h; resources.rc;
Короче, все h-cpp кроме main'а и пустых пока t_core, плюс ресурсный файл rc.
Ссылки: http://ifolder.ru/5048137 либо http://webfile.ru/1698709

Проект сделан в VS 2005 с использованием DirectX SDK от ноября 2007'ого года, но загрузить все файлы и скомпилить, думаю, можно и при более ранних версиях. Повторяю, не открыть проект (VS может выдавать ошибку!), а создать новый и загрузить в него все h, cpp и rc-файлы! Только новый создавайте в той же папке либо модифицируйте в коде путь к текстурам (в main.cpp, найдёте сами).

P.S. Бывает же такое... Дико стормозил и вместо нормальных enum'ов пихнул какое-то Java-подобное извращение с уймой констант в классе... Ну да ничего, я уже исправился, заодно нашёл баг в оптимизаторе VS 2005 (он просто не понимает то ли членов enum'а в качестве default-значений, то ли ещё чего-то, с enum'ами связанного) и перешёл под бету VS 2008, попутно качая релизную версию. О чём и оповещаю участников проекта. Отныне под 2005 мои файлы вполне могут не компилиться из-за традиционных M$'ных БАГОВ.

Fey 22.01.2008 11:10

А демо-игры ещё нету?? или хотяб какую-нить версию игры.:)

ХаН 22.01.2008 11:27

Fey
Цитата:

Сообщение от andNsX (Сообщение 3165761)
DEAD_Angel
Это архив спрайтов с Сайта о Гамаке. Сейчас экзешник танков кину...
Вот ссылка http://ifolder.ru/4986017

Будь внимательнее :wnk: Это конечно далеко не демо........просто версия одного из наших участников

DEAD_Angel 22.01.2008 12:51

pokibor
У меня работает нормально. :)

HaNproKilleR
Ну как там с уровнями ? Придумываешь ?

pokibor 22.01.2008 13:31

DEAD_Angel
Да что работает нормально, ясно. Я жду, пока программист(ы) наши распробуют текущую версию движка. Для кого я его пишу, в конце концов?

DEAD_Angel 22.01.2008 13:49

Цитата:

Сообщение от pokibor (Сообщение 3207698)
Я жду, пока программист(ы) наши распробуют текущую версию движка. Для кого я его пишу, в конце концов?

Если ты про программеров на С++, то их у нас (помоему) ещё не завелось, вроде...
P.S. Придётся тебе программером "записываться" :))

P.P.S. Простите за флуд.

Добавлено через 7 часов 15 минут
pokibor
Как движок назовёшь ?
Это только движок на С++ написаный, такую структуру имеет, да? А на каких языках програмирования другие движки пишут ?
(Извините, понимаю немного не по теме)

^i_Swep 22.01.2008 21:13

Цитата:

Сообщение от DEAD_Angel (Сообщение 3207820)
(Извините, понимаю немного не по теме)

извините, отвечу, хоть и оффтоп
Цитата:

Сообщение от DEAD_Angel (Сообщение 3207820)
Это только движок на С++ написаный, такую структуру имеет, да? А на каких языках програмирования другие движки пишут ?

на с++ и пишут

От pokibor'а, чтобы оффтоп не разводить
От языка структура движка не сильно зависит. Движок никак не назову, ибо не слишком он достоин отдельного названия. Элементарщина ж.

DEAD_Angel 22.01.2008 23:16

Подскажите (просто не знаю особенностей движка):
1. Анимацию, допустим дымок, вспышку от высрела, можно отдельно сделать, а не с непосредственно танком ?
2. Спецэффекты (типа motion blur) только для 3d или в 2d тоже организовать можно ?

pokibor 22.01.2008 23:29

Итак, новая версия. В ней добавлена загрузка посланных параметров в диалоге выбора разрешения как выбор по умолчанию (читай есть возможность сохранять/загружать параметры), добавлено построение шрифтов и вывод текста на экран, а также настройка вертикальной синхронизации, плюс в демострационном приложении сделан счётчик FPS. Просьба не забывать, что при включённом VSync'е он не может быть больше, чем RefreshRate, так что для получения данных по производительности VSync лучше отключать.
Ссылки:
http://ifolder.ru/5063044
http://webfile.ru/1700631
Так. Народ. Мне нужен хоть какой-то ответ. Я вообще для кого стараюсь? ^i_Swep, вроде, C++ знает, и вообще - кто будет писать игру? Я, конечно, рад, что тут есть художники и левелдизайнеры, но, вообще-то, без программирования игры не будет. А насчёт вашей идеи кодить под сотовые... Нехочу никого обижать, но если тут под PC никто не пишет при наличии простого движка, то что уж про сотовые говорить?

Цитата:

Сообщение от DEAD_Angel (Сообщение 3214013)
1. Анимацию, допустим дымок, вспышку от высрела, можно отдельно сделать, а не с непосредственно танком ?

Да, можете спокойно делать отдельно. Пока, правда, движок анимацию не поддерживает, но будет поддерживать (это сравнительно легко дописывается). Правда, ясное дело, не gif, а покадровую - т.е. в одном файле должны идти друг за другом все кадры анимации.
Цитата:

Сообщение от DEAD_Angel (Сообщение 3214013)
2. Спецэффекты (типа motion blur) только для 3d или в 2d тоже организовать можно ?

Движок основан на Direct3D, если кто-то забыл, а потому всё, что можно сделать в Direct3D, можно сделать и в нём. Тем не менее, если ситуация с программистами сохранится на текущем уровне, могу однозначно заявить - не будет вам никаких спецэффектов. :mad:

DEAD_Angel 22.01.2008 23:41

pokibor
У меня новая версия (движка) не запускается. Запускаю Tanks.exe - пишет "Приложение не было запущено, поскольку оно некорректно настроено. Повторная установка приложения может решить данную проблемму" В чем трабла?

pokibor 22.01.2008 23:48

DEAD_Angel
Не знаю. Но вообще-то не запускается у вас всё-таки версия демонстрационного приложения, движок запустить нельзя. У меня всё нормально вроде... И что, даже до диалога выбора разрешения не доходит? Тогда возможно у вас с библиотеками какие-то проблемы, я ж эту версию в VS 2008 компилил... Вот докачаю финальную версию и выложу её редистрибутивы - наверняка проблема решится. Но для того, чтобы создать проект, включить в него файлы и попробовать откомпилить, большого ума не надо. Это я программистам говорю!!!

DEAD_Angel 22.01.2008 23:55

Цитата:

Сообщение от pokibor (Сообщение 3214203)
И что, даже до диалога выбора разрешения не доходит?

Да, даже до диалога...
Цитата:

Сообщение от pokibor (Сообщение 3214203)
Тогда возможно у вас с библиотеками какие-то проблемы

Библиотеки вроде должны были быть (как ты говорил кто в игры играет у того наверняка есть), ранняя версия запускалась нормально...

pokibor 23.01.2008 07:22

DEAD_Angel
В том-то и дело, что новая версия откомпилена бета-версией VS 2008 (я же написал!), а этот зверь вполне может вставлять в код нечто новенькое и, соответсвенно, требующее новых библиотек. Но VS 2008, как я сказал, скоро у меня будет, и тогда я выложу её редистрибутивы.

ХаН 23.01.2008 10:47

Цитата:

Сообщение от DEAD_Angel (Сообщение 3207468)
HaNproKilleR
Ну как там с уровнями ? Придумываешь ?

Да уровни я давно уже придумал ))) вы мне скажите как их делать из мелких картинок или как я делал?????:lamo:

andNsX 23.01.2008 11:17

HaNproKilleR
Делай из таилов (то есть мелких картинок) так лучше и весить игра будет намного меньше.

ХаН 23.01.2008 11:45

andNsX
Хорошо )) Буду делать так........постараюсь до завтра выложить уже какиенить наброски ))

pokibor 23.01.2008 13:57

Путём сложнейших вычислений и умозаключений (короче, путём использования поиска Windows и теста на другом компьютере) я выявил файлы, которые нужны для запуска скомпиленой версии демки.
Распаковать в дирректорию с программой (т.е. экзешником):
http://ifolder.ru/5069620 или http://webfile.ru/1701408
Кроме них вроде как нужен только DirectX, но, наверное, уж он-то в последней версии у всех есть...

DEAD_Angel 23.01.2008 13:57

HaNproKilleR
Ну для фона ты естественно какой-то арт сделать можешь.

pokibor 23.01.2008 14:00

Усп! Поправка: в архиве-то папка содержится :) Нужно взять из неё файлы, конечно, и к программе поместить. Т.е. рядом с exe'шником должны лежать 3 dll'ки и один manifest.

DEAD_Angel 23.01.2008 14:10

pokibor
А у меня такой глупый вопросик: А раньше v-sync был включен (а то раньше 75 фпс выдавала, сейчас: без v-sync 850, с v-sync 75) ?

pokibor 23.01.2008 14:16

DEAD_Angel
Раньше VSync не задавалась, а структуре параметров делалось ZeroMemory. Как результат VSync включался, ибо соответствующая константа, похоже, равна нулю. Кстати, с FPS вообще всё странно и оригинально. У меня на основном компе в полноэкранном режиме 1280x1024 2500 (!!!), причём это значение почти не меняется от смены разрешения, в соответствующем оконном - 1200.
А у вас на вроде бы не слишком слабом компе 850... А на ноуте тестил - вообще в 10 раз меньше FPS, 250 где-то в полноэкранном и примерно 170 в оконном (не самом высоком, 800x600, кажется)... В общем, странные дела DirectX творит...
добавлено вечером...
Добавил полноэкранное сглаживание в движок. Особого визуального эффекта, честно говоря, не заметно, но по падению FPS на 20% видно, что сглаживание работает :D

razor21 23.01.2008 22:11

Люди, так как темка по выработке концепции для учебного проекта сдохла, решил забежать сюда. Я могу быть программистом. У меня нормальное знание С++. С движком pokibor'a ознакомился. Все просто и понятно. Для 2D-проекта, такого как танчики, он идеально подходит. Правда при компиляции мой MSVS 2003 выдает кучу ошибок... Очень странно.

pokibor 23.01.2008 22:16

razor21
Ну, насчёт ошибок-то не удивительно. Я уже под VS 2008 сижу (сейчас как раз ставлю финальную версию). В VS 2003 ошибок/неподдерживаемых конструкций уйма, даже в 2005 глюк с enum'ами обнаружился. Так что настоятельно тебе советую обзавестись Visual Studio 2008 и DirectX SDK от ноября 2007 года. Полюс ещё Platform SDK поставить, хотя в 2008 он наверняка включён в приемлемой комплектации. Кстати, если у тебя нет DirectX SDK вообще, то чего удивляться. ;)
Спасибо за оценку движочка. :) Но всё-таки замечу, что с кучей ошибок при его компиляции тебе кодить трудновато будет, разве что перепишешь его под VS 2003...
Все необходимые ссылки для скачивания могу дать. VS, правда, я брал из Bit Torent'а.

razor21 23.01.2008 22:23

pokibor
Ага... DirectX SDK у меня есть (Апрель 2007). ОК, надо будет скачать новый VS... Дай ссылку, пожалуйста.

pokibor 23.01.2008 22:50

razor21
Ссылки - личка.
Название для движка всё-таки придумал. Метался между двумя вариантами, но решил быть самокритичным и назвал его VISE (в американском английском - допустимый аналог vice). Расшифровывается рекурсивно, вполне в традиции программных продуктов: VISE = VISE Is Simple Engine. :P

razor21 23.01.2008 22:54

pokibor
Ага, точно рекурсивно :). pokibor, а ты будешь для него GUI писать?

pokibor 23.01.2008 23:02

Цитата:

Сообщение от razor21 (Сообщение 3222305)
pokibor
Ага, точно рекурсивно :). pokibor, а ты будешь для него GUI писать?

Ясное дело, буду. Куда ж я денусь? Только нам пока никаких GUI не нужно. Вот когда проект разовьётся (в чём сейчас у меня большие сомнения) - тогда и напишу. Сейчас в моих планах добавить туда мышь и всё.
Вообще, я подумал, и решил, что могу, скажем так, глубже принять участие в проекте. Но - только при условии, что сюжет игры будет моим. Точнее, по моему произведению (сейчас оно, правда, написано только наполовину, но всё же...) Простор там большой, ибо в произведении затронуты самые разные времена... По его адаптации под игру могу выслушать предложения, сам сейчас теряюсь в планах. Для начала можно и кривенько.

razor21 23.01.2008 23:07

pokibor
Крайне не хотелось бы чтобы и этот проект заглох... ;)
Я, например, согласен, если сюжет будет твоим. Для меня главное поднабраться еще больше опыта, поработать в команде... А ты сюжет придумал специально для "Танчиков" или по твоему произведению?

pokibor 23.01.2008 23:17

razor21
По-моему, выше я ясно дал понять, что по произведению ;) Не просто ж так мне захотелось его воплотить :lol: И я специально для игры его ещё не придумал. Простор для выбора большой... От Последней Войны Валориана до Реформации Ордена Тени и, собственно, сюжета произведения... Но это уже детали, извиняюсь.

razor21 23.01.2008 23:19

pokibor
Что ж, нет проблем. Я за.

pokibor 23.01.2008 23:35

1. Сим подтверждаю, что движок спокойно компилится на Visual Studio 2008 с DirectX SDK от ноября 2007 года и не требует никаких Platform SDK.
2. Что-то остальных участников проекта не слышно. У меня возникает сильное подозрение, что сейчас полностью обновится состав. Мы с razor21 придём, а все остальные уйдут. Чего скисли, народ? Энтузиазм пропал? Вы же вообще-то вроде основной состав проекта, не забывайте!

DEAD_Angel 24.01.2008 12:50

Цитата:

Сообщение от pokibor (Сообщение 3222373)
Но - только при условии, что сюжет игры будет моим. Точнее, по моему произведению (сейчас оно, правда, написано только наполовину, но всё же...) Простор там большой, ибо в произведении затронуты самые разные времена... По его адаптации под игру могу выслушать предложения, сам сейчас теряюсь в планах.

Молодец, всё таки назвал движок! Надеюсь, сюжет, это не "бред Тома Клэнси" (это коплимент :) ). Вопрос а игру под сюжет "передизайневать" не надо будет ?

Цитата:

Сообщение от pokibor (Сообщение 3222636)
2. Что-то остальных участников проекта не слышно. У меня возникает сильное подозрение, что сейчас полностью обновится состав. Мы с razor21 придём, а все остальные уйдут. Чего скисли, народ? Энтузиазм пропал? Вы же вообще-то вроде основной состав проекта, не забывайте!

У меня энтузиазм не пропал :), просто жду пока "пригожусь" (т.е. жду пока движок достаточно разовьётся). А остальные... чего-то да, неслышно их...

pokibor А у меня ещё вопросик по движку: он пожет програмно (может не точно выражаюсь, но думаю поймёшь) поворачивать спрайты? А то я смотрю у тебя спаит танка в четырёх "позициях" нарисован.

P.S. Как я рад, что ещё один программер на С++ появился ! Наконец-то проект, надеюсь, начнёт развиваться быстрее. :)

pokibor 24.01.2008 12:59

Цитата:

Сообщение от DEAD_Angel (Сообщение 3224497)
Молодец, всё таки назвал движок! Надеюсь, сюжет, это не "бред Тома Клэнси" (это коплимент :) ). Вопрос а игру под сюжет "передизайневать" не надо будет?

1) А есть, что передизайневать? :Grin:
2) Я пока что смотрел на проблему с обратной стороны - передизайневать сюжет под игру (как я уже говорил, там просторы большие). Но этим вообще-то должен не программист заниматься :sot:

Цитата:

Сообщение от DEAD_Angel (Сообщение 3224497)
pokibor А у меня ещё вопросик по движку: он пожет програмно (может не точно выражаюсь, но думаю поймёшь) поворачивать спрайты? А то я смотрю у тебя спаит танка в четырёх "позициях" нарисован.

Теоретически может. То есть я могу это добавить, но ради этого предётся перепахивать код квада и добавлять матричные преобразования в полном объёме. Для трансформируемых спрайтов нечего делать (какая разница, в шейдер вектор или матрицу посылать, разве что работать будет чуть медленнее), а вот нетрансформируемым придётся всё вручную прописывать. Но для танчиков такой возможности не нужно вроде, потому я её и не стал добавлять. Однако, возможно, всё-таки добавлю...

DEAD_Angel 24.01.2008 13:19

pokibor
Сюжет (ни или произведение) даш почитать...

И ещё: (понимаю рановато про это спрашивать) AI будем делать ?

pokibor 24.01.2008 13:32

Цитата:

Сообщение от DEAD_Angel (Сообщение 3224623)
Сюжет (ни или произведение) даш почитать...

Произведение - ссылки в личке. Ибо на форуме (наверное) запрещено. Вообще оно, конечно, кое с чем связано... Но все моменты до Ордена Тени почти никак не коррелируют с оригиналом (разве что некоторые творения Исполнителя). А уж Валориан и вовсе целиком и полностью мой.
В первой части, кстати, связи с оригиналом вообще мало, зато вторая (которая сейчас пишется) даёт больше представлений о предыстории сюжета (история Валориана, Исполнителя, Ордена Тени), которой также можно касаться.
Цитата:

Сообщение от DEAD_Angel (Сообщение 3224623)
И ещё: (понимаю рановато про это спрашивать) AI будем делать ?

Мне бы очень хотелось, но это зависит от игрового процесса.

razor21 24.01.2008 18:19

Цитата:

Сообщение от DEAD_Angel (Сообщение 3224623)
И ещё: (понимаю рановато про это спрашивать) AI будем делать ?

Да, мне б тоже очень хотелось. Скорее всего будем. Сейчас главное, чтобы проект не провалился.
pokibor
Ты пока не собираешься добавлять звуковую оболочку? Если что, я могу попробовать добавить, пока ты будешь заниматься событиями мыши. Правда DirectSound я не юзал, но могу почитать.

P.S.
Поставил я себе MS Visual Studio 2008... :)

pokibor 24.01.2008 18:22

razor21
Ну, можешь попробовать. В DirectSound всё очень просто. Сейчас я, правда, не мышью, а полной транформацией квада занимаюсь (т.е. чтобы его можно было крутить и т.п.). Затем буду анимацию заканчивать и только потом с мышью разберусь.

razor21 24.01.2008 18:30

pokibor
Думаю, только wav-ки хватит? Т.е. только wave-формат.

pokibor 24.01.2008 18:38

razor21
Вообще-то формат wav крайне громоздок и неудобен, но стандартный DirectSound, кажется, без доп. функций только его понимает... Я бы посоветовал обратить внимание на XACT3, если в твоей версии DirectXSDK он есть. Я не слишком с ним разбирался, но это, похоже, новая идея от M$, и она понимает несколько иные файлы. Возможно, он окажется более полезен. Хотя если лень - делай wav'ки на DirectSound, только всё-таки предусмотри возможность написания самостоятельного загрузчика файлов.

DEAD_Angel 24.01.2008 18:49

Эээ... люди насчёт звука: надо-бы формат такой что-бы не много весил, и звучал приемлемо... а то если финальную версию игры через инет качать, с моей скоростью (конечно незнаю, может у нас и "флешка" выйдет) - 56кб\с %)...

razor21 24.01.2008 18:56

pokibor
XACT есть. Сейчас начну разбираться. Если честно, он мне кажется еще проще, чем DSound ;). Только вот форматы у него какие-то... Хм, я о таких никогда не слышал: *.XGS, *.XSB, *.XWB... Люди-то смогут в них звуки писать? Хотя, может, утилитки есть...
Цитата:

Сообщение от DEAD_Angel (Сообщение 3227662)
надо-бы формат такой что-бы не много весил, и звучал приемлемо...

Ага, все будет норм. ;)

pokibor 24.01.2008 18:57

DEAD_Angel
Это не проблема, потому что каким бы плохим не был формат - он по определению будет сжат архиватором до такой же величины, как если бы он сам включал в себя соответствующие алгоритмы. Иными словами, без потери качества файл можно сжать строго до определённой величины, и меньше никакими ухищрениями ты его не сожмёшь - только с потерей информации. Теория-с.
razor21
Википедия и утилиты мелкомягких тебе в помощь. В интеренете наверняка найдёшь всё, что касается этих форматов и прочего.

DEAD_Angel 24.01.2008 19:01

А у нас есть человек работающий со звуком, имею ввиду который их записать может ? Помоему нет...

razor21 24.01.2008 19:08

DEAD_Angel
Утилитки найдем нужные... А звуков-то и в Сети полно.

Добавлено:

pokibor
Хорошие новости! Я только что написал приложение, которое работает с DirectMusic. Все работает нормально. Теперь осталось оформить все это дело по классам. Ну и еще надо бы с настройками поиграться, чтобы можно было менять разные параметры, короче, подробней ознакомиться. Собственно, сейчас могу сказать точно: звуковая часть движка будет.

pokibor 24.01.2008 21:15

У меня тоже хорошие новости. Я добавил-таки все возможные трансформации. В классе, правда, пока доступна только функция изменения всего и разом, но конкретизация уже - дело техники. Итак, вот новая версия (я уже начал даже хелп к ней писать, но пока меня только на D3DDevice хватило).
Движок + очередная демонстрашка. Танчик теперь поворачивается влево/вправо и едет вперёд.
http://ifolder.ru/5089712
http://dump.ru/files/o/o292846602/
А вот redist'ы от финальной VS 2008. Не знаю, как будет себя приложение вести на старых и, в общем-то, рекомендую скачать эти. Пользуйтесь!
http://ifolder.ru/5089671
http://dump.ru/files/o/o9541259/
Кстати, также в D3DWindow добавлены функции для работы со временем (получение кол-ва миллисекунд, прошедших с момента старта систему, получение кол-ва миллисекунд с момента предыдущего вызова фукнции и то же, но float и в виде секунд (т.е. с дробной частью - прямо сразу для физики). Ну, в демонстрашке увидите, там они используются...

DEAD_Angel 24.01.2008 22:47

pokibor
Даёшь стрельбу ! Вот: http://dump.ru/files/o/o72111080/ - "пулька" (её немного отмасштабировать надо) и танчик, надеюсь ты это в следующюю демонстрашку "засунешь"...
P.S. Завтра ещё спрайты выложу...

ХаН 25.01.2008 10:30

Цитата:

Сообщение от pokibor (Сообщение 3222636)
2. Что-то остальных участников проекта не слышно. У меня возникает сильное подозрение, что сейчас полностью обновится состав. Мы с razor21 придём, а все остальные уйдут. Чего скисли, народ? Энтузиазм пропал? Вы же вообще-то вроде основной состав проекта, не забывайте!

Энтузиазм на месте )))) Я сейчас занят создание уровней ( ну те маленькие картинки :sml: ) Да и наверно я сейчас в инете буду редко появляться ((( Учеба и родители.......



Все жмем сюда и смотрим первые наброски для уровней и для оформления меню .

pokibor 25.01.2008 15:06

Итак, подоспела очередная версия. Я сделал анимацию, устранил пару ошибок, ну и исполнил просьбу DEAD_Angel. Теперь в демке едет танчик и стреляет снарядами. Танчик, правда, теперь управляется клавишами WASD, а стреляет пробелом. Это сделано потому, что у меня на клавиатуре одновременное зажатие влево+вперёд блокировало все остальные клавиши. Уж не знаю, где баг, но он точно аппаратный и к движку отношения не имеющий. Вроде бы. ;)
Да, стрельба сделана по событию "кнопка нажата". Знаю, это не удобно, но надо ж было продемонстрировать поддержку событий! Только не думайте, что он по каждому нажатию будет стрелять. В демку забито понятие скорострельности :Grin:. В общем, смотрите код и постигайте движок. Теперь в плане мышь, устранение ошибок (если таковые будут найдены), ну а дальше видно будет.
Ссылки:
http://ifolder.ru/5099239
http://dump.ru/files/o/o48126306/

Кстати, теперь отлично видно, что шейдеры быстрее Lock'а памяти... Надо будет всё-таки проблему с GeForce 6xxx решать, а то трансформируемые снаряды работают на 5% быстрее нетрансформируемых...

HaNproKilleR
У Ваших текстур даже не совпадают края, которые должны были бы совпадать. То есть, если рядом поместить тайл снега и идущей сквозь снег дороги, то они не сольются в одну картинку, а их граница будет отлично видна. Делайте выводы.

DEAD_Angel 25.01.2008 17:56

HaNproKilleR
А я там стен, ограждений не видел, или ошибаюсь ?
______________________________________________
Вот ракета:

Анимацию огня, дыма потом сделаю... pokibor, а кстати систему частиц трудновато реализовать будет ?

pokibor 25.01.2008 18:02

Уважаемый DEAD_Angel, Вы уже палку перегибаете, по моему :wnk:
Реализовать можно всё что угодно, но в таком движке система частиц будет смотреться как пятое колесо у телеги. Поверх движка, возможно, реализую - это дело будущего. Если Вам лень огонь делать, то для этого дела вообще можно шейдер пиксельный набросать или шумовыми функциями воспользоваться. Но в движке пока системы частиц не планируется. У меня и без неё с мышью проблемы. Вроде как надо по логике реализовывать через DirectInput, но он же выдаёт только смещение... Вот и думаю, как грамотнее будет мышь реализовать

DEAD_Angel 25.01.2008 18:15

pokibor
Ладно, это я просто так спросил, потому-что анимацию огня делать не умею... сейчас полезу искать статейку на эту тему.
Желаю удачи "с мышкой". :)

pokibor 25.01.2008 22:42

Вот, в кои-то веки добавил поддержку курсора мыши. Долго с ней возился, глючило мощно... Плюс ко всему добавлена она в D3DDevice, потому что абсолютное положение курсора к DirectInput отношения не имеет и иметь не может. Кроме того, чуток подправил логику создания окна рендеринга (теперь оно не будет сжиматься в оконном режиме). В общем, крайне рекомендую всем брать и использовать. ;)
Ну и в демке добавился мышиный курсор в виде ракеты от DEAD_Angel. Правда, пользы от него никакой, но на то она и демка.
http://ifolder.ru/5105182
http://dump.ru/files/o/o71219353/

ХаН 26.01.2008 07:49

Цитата:

Сообщение от pokibor (Сообщение 3233367)
HaNproKilleR
У Ваших текстур даже не совпадают края, которые должны были бы совпадать. То есть, если рядом поместить тайл снега и идущей сквозь снег дороги, то они не сольются в одну картинку, а их граница будет отлично видна. Делайте выводы.

Делаю выводы.............вообще я просто хотел проверить толи я сделал или нет )) Буду работать дальше.......

pokibor 26.01.2008 12:17

Это свершилось. Я закончил с мышью. Вот итог:
http://ifolder.ru/5110009
http://dump.ru/files/o/o2468937935/
Штука в том, что абсолютное положение курсора на экране можно получить через D3DDevice. А через DirectInput возвращается (и, соответственно, посылается в его события) относительные координаты, т.е. координаты, на которые переместилась мышь с момента последней передачи своих координат. Размерность этих координат никак не привязаны к пикселям, экрану и прочему - ведь DirectInput работает напрямую с драйвером мыши, минуя Windows. Следовательно, под них как раз нужно подстраиваться настройками чувствительности и прочем. Кстати, у колёсика мыши вообще оригинальные координаты. Скажем, у меня оно за одно движение перемещается на 120 своих внутренних пунктов.

andNsX 26.01.2008 15:17

Я вот тут спрайтик взрыва неплохой раздобыл! Есть и ГИФ анимированый и покадровые JPEG'и.
http://ifolder.ru/5111986

DEAD_Angel 26.01.2008 15:54

pokibor
А обязательно что-бы спрайт был степенью двойки ? А то я в анимации тайл делаю... И что-бы была степень двойки, надо пропорции изменять... некрасиво получиается...

pokibor 26.01.2008 16:06

DEAD_Angel
Вы не поняли. Само изображение может быть любых размеров. Степенью двойки должна быть текстура в целом. Если гляните в код, при реализации снаряда я натягиваю на его квад только область картинки с собственно снарядом, а не всю картинку. Так что делайте тайл в любых пропорциях, а потом скопируйте в файл со степенью двойки по ширине/высоте. Можете в один файл несколко рисунков друг рядом с другом поместить, чтобы память зря не тратить - это вполне допустимо, и даже правильнее будет.

L'ombre 28.01.2008 15:41

вот опять тема затихла. где все? мне нужна минута внимания

итак, я сделал ядро игры. реализовал ту ранее описанную концепцию.
(при этом концепция подверглась некоторой "эволюции", но основные идеи - те же)
сейчас тестирую эту реализацию,
основные баги отловлены, ядро ведёт себя так, как должно.
насколько мне известно..

кое-что еще не реализовано в ядре
(например, изменение скорости танка в зависимости от местности),
но будет добавлено в ближайшее время
(или не в ближайшее.. посмотрим)

подробную документацию я ещё не делал
(есть только коментарии в коде - правда их относительно много)
краткое описание - как им пользоваться, не вдаваясь в детали - приведу сейчас
Скрытый текст:

Итак, нужно создать уровень; т.е. экземпляр класса Level.
чтобы это сделать, нужно создать основные составляющие компоненты уровня.
это:
- матрица
- фабрика ячеек
- фабрика танков
- фабрика орудий
- менеджер (диспетчер, так сказать) респауна

всё остальное уровень будет создавать и удалять сам

возможно, кому-то покажется, что компонентов для уровня много.
но это следствие того, что ядро я хотел сделать как можно более общим,
независимым от конкретных, скажем так, правил игры.

по порядку про эти сущности. с матрицей, думаю, всё ясно.

понятие "фабрика" - довольно распространённый приём в дизайне.
поясню на примере ячеек матрицы.

вот ячейка. у неё есть несколько свойств: проходимость, броня, хитпойнты.
мы берём один набор этих свойств - скажем, со значениями (1, 0, 0)
и говорим, что это "пустая ячейка".
Когда в дальнейшем нам понадобится пустая ячейка,
нужно будет просто вспомнить эти три значения. Вместо слов "пустая ячейка"
можно использовать числовой идентификатор.

Фабрика ячеек как раз занимается созданием ячеек заданных типов.
т.е. ей передаётся ID ячейки, и она отвечает,
какие должны быть остальные свойства.

В ядре это используется, например, так:
ячейка взрывается, на её место нужно поместить другую. какую? -
ту, что указана в матрице как default ID.
Уровень обращается к фабрике ячеек и говорит:
"трансформируй эту ячеку в ячейку с DefaultID"; и фабрика трансформирует.

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

уровню всё равно _как_ фабрики создают свои объекты
(параметры конструктора - абстракные классы)
для нормальной работы нужно разработать фабрики самостоятельно,
они должны быть потомками этих абстрактных классов и
уметь создавать объекты по их идентификатором.

Соответственно, сами эти объекты тоже надо придумать и
назначить им соответствующие идентификаторы
(скажем,
кирпич - это id=1, passability=0, armor=1, hp=1
камень - id=2, passability=0, armor=2, hp=1
и тд. или как-то иначе.)
это, вообще говоря, задача гейм-дизайнера.
я предлагаю такой подход: каждый уровень может иметь свою таблицу объектов,
она хранится в каком-либо файле вместе с уровнем.
Но это я забегаю вперёд, сейчас об этом говорить ещё рано.

RespawnManager есть уже в готовом виде.
(но весьма вероятно, я его интерфейс переделаю.
там есть одна неоднозначность;
кстати, "упражнение" - найдите её!)
но его тоже, при желении, можно переопределить..
в него надо добавить несколько точек,
и тогда уровень будет создавать там танки

итак, перед созданием уровня, нужно:
- написать классы для фабрик
(пример - очень простой и маленький - tiny_implementation.cpp/.h)
- самостоятельно создать сущности всех нужных классов

(ну а при завершении программы удалить всё это, в правильном порядке)

после создания уровня им можно пользоваться.
под "пользоваться" имеются в виду три основные вещи:
- давать танкам различные команды
- осуществлять переход между состояниями уровня
(во время перехода эти команды выполняются)
- рисовать уровень на экране

переход между состояниями выполняет метод Сlock();
его надо вызывать в цикле, примерно так:
Код:

while (игрок не хочет выйти)
{
    передать танкам команды, от игрока и искуственного интеллекта;
    level->Clock();
    отобразить все объекты уровня на экране.
}

объекты уровня - пока четырёх типов:
- танки, доступ через level->Tanks()
танками (и только ими) можно управлять, например:
level->Tanks()->at(0)->OrderMove(); // говорит танку: нужно сдвинуться вперёд
- снаряды, доступ через level->Missiles()
- взрывы, доступ через level->Explosions()
ячейки матрицы, доступ через level->Matrix->Item(x, y)

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


ядро можно взять тут:
Скрытый текст:

http://ifolder.ru/5136618
пароль у архива t@nk$c0re

core.cpp и core.h - собственно всё, что относится к ядру.
tiny_implementation.h/.cpp - простейший пример вышеописанных фабрик
test.cpp - программа, которая это использует.
она создаёт всё что нужно для уровня, потом сам уровень, выполняет один такт (в котором ничего не происходит) и освобождает память в правильном порядке. Т.е. запускать её нет особого смысла. (если же захочется, то при желании каждый сможет сделать из этих файлов проект в visual studio)

DEAD_Angel 29.01.2008 16:05

Вот анимация огня (сопла ракеты):

"Читается" слева на право.
Альфа отдельно, потому что DDS'ка не сохранялась.

Цитата:

вот опять тема затихла. где все?
Есть два варианта ответа:
1.Все в работе.
2.Энтузиазм пропал.

Лично я к 1-ому варианту себя отношу

pokibor 29.01.2008 16:51

Народ, вам уже и ядро, и движок сделали! Осталось только их объединить и начать наращивать - и то что-то никто не чешется. Игроделы, да...
Ну что, всю игру что ли мы с L'ombre (ну ещё + рисунки DEAD_Angel) делать должны?
Давате, подтягивайтесь. Лично я сейчас занят английским в аспирантуре, произведенице дописываю, а также разрабатываю алгоритм поиска пути для большого поля гексагональной стратегии.
P.S. DEAD_Angel, небольшой вопрос. Вы способны нарисовать или взять откуда-нибудь анимации для человека?

andNsX 29.01.2008 17:09

pokibor
Выше по теме я спрайт взрыва сделал, сейчас над тайлами поработаю. Сразу вопрос, в один их файл кидать то есть "кирпичной кладкой" или по отдельности и какой размер ( я вот думаю или 32х32 или 64х64, это уж pokibor на твой выбор по движку)

DEAD_Angel 29.01.2008 17:13

Цитата:

Сообщение от pokibor (Сообщение 3266897)
Вы способны нарисовать или взять откуда-нибудь анимации для человека?

Нарисовать к сожалению (пока, авось научюсь как-нибудь) не могу :( , а взять - можно погуглить (как-нибудь попытаюсь). И если можно поточнее, какие анимации (всмысле лицо, или сам человек, с какого ракурса) ?

Кстати, andNsX, ты знаешь где её мона взять, ты же спрайты откуда-то качаешь ?

Цитата:

Сообщение от andNsX (Сообщение 3267012)
Выше по теме я спрайт взрыва сделал, сейчас над тайлами поработаю. Сразу вопрос, в один их файл кидать то есть "кирпичной кладкой" или по отдельности и какой размер ( я вот думаю или 32х32 или 64х64, это уж pokibor на твой выбор по движку)

Видел как я делал ? А разрешение это какое хочешь...

andNsX 29.01.2008 17:22

DEAD_Angel
Я их не качаю, а выдираю и фильтрую. Скажем спрайт взрыва из Mortal Kombat 3 !!!

Видел,ничё , кинь плиз не в виде альфы и RGB, а в виде *.psd.

Вот трава (не то что вы подумали)

pokibor 29.01.2008 17:25

andNsX
Движок поддержит всё, что угодно. Кадры одной анимации лучше кидать в один файл - мне меньше работы будет. Размер - до лампочки. В крайнем случае, я и до степени двойки дополнить смогу... Хотя почему "я"? Вроде как руководитель проекта не я :) Вот пусть razor21 отпшется по теме - он вроде предлагал себя, так что пусть он компонует всё в игру ;) А мы с L'ombre будем за свои части отвечать.

DEAD_Angel
Ну, если подразумевается стратегия... хотя всё-таки хотелось бы нечто ближе к RPG... Но, в общем, это ещё в раздумиях... Эх... Понимаю, в принципе, что Вам такое не осилить... Ладно, допустим, я как-то это обойду. А потреты людей хотя бы нарисовать сможете?

DEAD_Angel 29.01.2008 17:58

andNsX
Вот:
Скрытый текст:
http://dump.ru/files/o/o8842140909/


Цитата:

Сообщение от pokibor (Сообщение 3267150)
А потреты людей хотя бы нарисовать сможете?

К сожалению, наверно нет (мастерства нет, в художку не ходил), хотя это "с чистого листа" делать или срисовать есть откуда? pokibor, надо бы, как-нибудь, кого-нибудь из Art Masters попробовать позвать...

razor21 29.01.2008 18:17

Цитата:

Сообщение от pokibor (Сообщение 3267150)
Вот пусть razor21 отпишется по теме - он вроде предлагал себя, так что пусть он компонует всё в игру

Кхм... Я, мягко говоря, удивлен... :) По-моему, я нигде себя не предлагал сделать руководителем.


Часовой пояс GMT +4, время: 12:06.

Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.