Форум Игромании
 
Регистрация
Справка
Пользователи Календарь Сообщения за день

 
 
Опции темы
Старый 08.02.2008, 14:31   #221
Юзер
 
Регистрация: 27.10.2007
Адрес: г. Омск
Сообщений: 442
Репутация: 91 [+/-]
ORTODOX
Ну, руководитель! Чё мне то делать? Может спрайт какой достать, или тайлы для уровней? Эффекты, что же мне делать то?
andNsX вне форума  
Старый 10.02.2008, 23:10   #222
Юзер
 
Аватар для DEAD_Angel
 
Регистрация: 30.12.2007
Адрес: г.Краснодар; Мой комп.
Сообщений: 227
Репутация: 51 [+/-]
ORTODOX
Исправляй мой статус в проекте, я уже не заблокирован !

ЗЫ Завтра чё-нить нарисую.
__________________
Я не ленивый, просто мне лень не лениться...
________

........__|__
___ / **** \=======#
;|HH*T-34*HH:\
'(@=@=@=@=@)

Это русский танк, скопируй его себе в подпись, чтобы потом наша интернет-армия вынесла США! Права на танк прнадлежат FenX`y!!! ВСЕМ ПО ТАНКУ В ПОДПИСЬ!!!!
DEAD_Angel вне форума  
Отправить сообщение для DEAD_Angel с помощью ICQ
Старый 13.02.2008, 00:08   #223
Новичок
 
Аватар для L'ombre
 
Регистрация: 07.03.2006
Адрес: !here();
Сообщений: 38
Репутация: 26 [+/-]
новая версия ядра
взять можно там же, где была старая
Скрытый текст:

http://www.shadow.dynalias.com/tanks/core.rar
пароль у архива t@nk$c0re


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

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

основная причина изменений - довольно простая и всем знакомая концепция командной игры. В прошлой версии при столкновении снарядов с танками использовался принцип free for all, или каждый сам за себя: снаряд повреждал всё подряд.
В новой версии этим можно управлять. предполагается, что есть несколько команд. Каждый танк (а значит и все выпущенные им снаряды) принадлежит какой-то одной из них. Т.е. теперь у снарядов и танков есть свойство "номер команды", соответственно изменились их конструкторы, а также вызывающие их фабрики. Если снаряд "сталкивается" с другим танком своей же команды - то он необязательно повреждает его; он может пролететь сквозь него, как в оригинале на NES (или над ним, чтобы реалистично это объяснить), но может как и раньше взорваться и нанести поврежление; этим управляет свойство снаряда Friendly Fire. Можно, например, представить, что снаряды с Friendly Fire == false просто пролетают над своими танками, а снаряды с Friendly Fire == true - это такие катящиеся бомбы (как в Serious Sam), которые сносят всё без разбора.

Но это ещё не всё.. Я ещё прошлый раз обещал подумать над Respawn Manager'ом, и появление команд стало хорошей причиной его основательно переработать. В старой версии Respawn Manager содержал информацию о количестве танков на игровом поле и об их общем количестве - общую для всех танков. Это несколько нелогично: ведь в классических танках Tank 1990 было своё количество для компьютерных танков и своё количество танков у игрока (три жизни). Т.е. эти данные нужны не общие, а для каждой команды.
Теперь это именно так. после создания Respawn Manager'а
Код:
RespawnManager* respawn_manager = new RespawnManager();
ему нужно сообщить, какие в нём будут команды:
Код:
// добавляем команду 0 из одного танка на поле, всего три танка
respawn_manager->AddTeamLimiter(0, 1, 3);

// добавляем команду 1 из трёх танков на поле, всего пять танков
respawn_manager->AddTeamLimiter(1, 3, 5);
теперь, как и раньше, нужно добавить точки, на коорых будут респауниться танки. но раньше количество точек должно было быть равным количеству танков на игровом поле (если их было больше, то лишние не использовались, если меньше - могли возникнуть слабо предсказуемые вещи), а теперь это не так. Теперь точек у каждой команды может быть меньше, чем танков этой команды на игровом поле, и это обрабатывается корректно: просто оставшиеся танки появятся позже. Конечно, не всё так просто: точки могут быть заняты; в таком случае танк, который должен респуниться, ждёт некоторое время, пока они освободятся. Однако ждать вечно он не может, и через некоторое время он всё равно респаунится, а те кто ему мешал.. сами виноваты; телефраг.


вот как теперь выглядит создание respawn manager'а

Код:
//                                        point         id  team
// добавляем точку (4, 4) на которой будут респауниться танки команды 0
respawn_manager->AddPoint(tanks_game_core::Point( 4, 4), 0,   0);

добавляем две точки, на которых будут респауниться танки команды 1
respawn_manager->AddPoint(tanks_game_core::Point(10, 4), 0,   0);
respawn_manager->AddPoint(tanks_game_core::Point(16, 4), 1,   1);
как было сказано выше, количество танков любой команды на игровом поле может быть больше количества точек респауна этой команды. Поэтому при создании уровня создаётся сразу нужное количество танков, но на игровое поле помещаются только часть из них, равная количеству точек. Для создания танков используются id танка, переданные вторым параметром метода AddPoint (см выше). Для оставшихся танков id определяется циклически.

вот пожалуй всё на сегодня. нынешняя версия протестирована в искусственных условиях и рекомендуется к использованию, но неотловленные баги в ней могут быть, и лучший способ их отловить - начать компоновать ядро и движок.
__________________
Use the Darkness that you have inside
L'ombre вне форума  
Старый 16.02.2008, 16:26   #224
Юзер
 
Аватар для De-Luxis
 
Регистрация: 09.08.2005
Сообщений: 144
Репутация: 90 [+/-]
Где эту игру достать? Или она еще не готова?
П.С. Былобы здорово, если бы был мультиплеер в игре. Друг против друга бы рубились.
__________________
”*°•. `”*°••°*”` .•°*”`”*°•. `”*°••°*”` •°*”`
.•°*”`.•°*”`*ЛОВИ ПОЗИТИФФ*`”*°•.`”*°•.
.•°*”` .•°*”` .•°*”` `”*°•. `”*°•. `”*°•
De-Luxis вне форума  
Отправить сообщение для De-Luxis с помощью ICQ
Старый 16.02.2008, 16:40   #225
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,356
Репутация скрыта [+/-]
Цитата:
Сообщение от De-Luxis Посмотреть сообщение
Где эту игру достать? Или она еще не готова?
Перечитайте первый пост. Конечно, мы бы с L'ombre могли бы сами довести проект до чего-то более-менее целого, но у нас не так много времени и кроме того это не наш проект.
Если возьмётесь помогать - наверное, Вас с радостью примут. Только опять же читаем первый пост, кто нужен проекту.
Скрытый текст:
А я плюс ко всему параллельно свой проектик потихоничку двигаю, но представлю его публики только когда будет цельный каркас.

Цитата:
Сообщение от De-Luxis Посмотреть сообщение
П.С. Былобы здорово, если бы был мультиплеер в игре. Друг против друга бы рубились.
Это без проблем, в т.ч. и по сети. Кое-какие классы у меня остались. Но раз никто даже в движке разобраться не может...
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 16.02.2008, 16:50   #226
Юзер
 
Регистрация: 27.10.2007
Адрес: г. Омск
Сообщений: 442
Репутация: 91 [+/-]
pokibor
Наш хороший ORTODOX забанен опять))) Может возьмёшь проект под контроль? Сколько он был разбанен, начиная с недели назад ни поста не написал! А без него я и не знаю что рисовать??
andNsX вне форума  
Старый 16.02.2008, 17:13   #227
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,356
Репутация скрыта [+/-]
andNsX
Я уже писал выше, что у меня немного другие интересы. Вот если бы L'ombre взялся за это - было бы отлично, тем более, что ядро - его. Кстати, я в движке пару багов исправил, но пока выкладывать не буду, ибо бесполезно. Как проект сдвинется с мёртвой точки - выложу.
А пока - ждите, может, я свой проект скоро запущу... как только напишу более-менее толковый каркас для него.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 16.02.2008, 18:23   #228
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
Завтра у меня конференция по программированию, так что я к ней готовлюсь, а вот после нее я уже смогу плотнее заняться проектом, тем более, что с движком я ознакомился.
Так что, думаю, скоро начнем...
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 18.02.2008, 22:10   #229
Юзер
 
Аватар для DEAD_Angel
 
Регистрация: 30.12.2007
Адрес: г.Краснодар; Мой комп.
Сообщений: 227
Репутация: 51 [+/-]
Я тоже занят малень - школа напрягает, так что как-нить через недельку смогу активно рисовать срайты.
__________________
Я не ленивый, просто мне лень не лениться...
________

........__|__
___ / **** \=======#
;|HH*T-34*HH:\
'(@=@=@=@=@)

Это русский танк, скопируй его себе в подпись, чтобы потом наша интернет-армия вынесла США! Права на танк прнадлежат FenX`y!!! ВСЕМ ПО ТАНКУ В ПОДПИСЬ!!!!
DEAD_Angel вне форума  
Отправить сообщение для DEAD_Angel с помощью ICQ
Старый 08.03.2008, 23:06   #230
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
L'ombre
У меня вопрос по ядру. Каким образом в матрицу, состоящую из CellItem'ов, будет занесена карта? Ведь такая матрица - это и есть игровой уровень. Как должен представляться сам уровень? Просто текстура? Тогда как ее занести в данную матрицу? Тогда в отдельном файле для каждого уровня придется хранить информацию о проходимости CellItem'ов и т.п.
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 08.03.2008, 23:57   #231
Новичок
 
Аватар для L'ombre
 
Регистрация: 07.03.2006
Адрес: !here();
Сообщений: 38
Репутация: 26 [+/-]
Цитата:
Сообщение от razor21 Посмотреть сообщение
Тогда в отдельном файле для каждого уровня придется хранить информацию о проходимости CellItem'ов
да.
кстати, именно над этим я пару страниц назад - http://forum.igromania.ru/showthread...24#post3333724 - просил подумать ORTODOX'а (но он ничего не понял..)
предполагается, что при загрузке уровня с диска будет считываться матрица, хранящаяся в некотором виде - не важно каком, лишь бы было понятно, что в точке (x, y) находится ячейка типа z; этот самый z передаётся в фабрику ячеек, которая создаёт по нему нужный CellItem.
(про фабрики я говорил тут: http://forum.igromania.ru/showthread...10#post3258610)
как именно создаёт - зависит от реализации фабрики. мне как раз нравится вариант с файлом описания типов ячеек, лежащим где-нибудь в директории с игрой, или даже в директории (архиве) с уровнем, чтобы для каждого уровня можно было определить свой набор CellItem'ов. Фабрика грузит в себя этот файл и вперёд (аналогично, кстати, с танками, снарядами и орудиями)
насчёт текстуры. каждой ячейке присваивается своя текстура (модель, ещё что-нибудь, нужное для отображения - но движок у нас 2D, так что текстуры достаточно), какая именно - тоже указано в этом файле описания. можно, конечно, и матрицу текстурой представить, один пиксель - одна ячейка (только это должен быть формат без потерь, естественно).

p.s. CellItem::passability в ядре сейчас не используется. т.е. используется в упрощённом виде, я про это уже говорил - его значение не влияет на задержки при движении, только определяет, возможно ли движение или нет. я это исправлю - если проект будет разиваться дальше.
__________________
Use the Darkness that you have inside
L'ombre вне форума  
Старый 09.03.2008, 10:29   #232
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
Наверное, так поступать надо:
Есть текстура карты полностью. Есть файл, в котором информация о карте содержится. И в этом же файле есть информация о каждом из блоков матрицы. К примеру, элемент (0;0) в него надо загрузить участок из текстуры с координатами (dx;dy). Таким образом?
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 09.03.2008, 16:29   #233
Новичок
 
Аватар для L'ombre
 
Регистрация: 07.03.2006
Адрес: !here();
Сообщений: 38
Репутация: 26 [+/-]
Цитата:
Сообщение от razor21 Посмотреть сообщение
Есть текстура карты полностью
а что это такое? одна большая текстура, "вид на уровень своерху"? Тогда как будут обрабатываться разрушения ячеек? Скажем, был кирпич, потом он разрушился, на его месте теперь "пустая ячейка"; в этом месте нужно отобразить другую текстуру, текстуру земли - где её взять?

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

в любом случае, необходим способ получить текстуру ячейки, зная тип этой ячейки. в связи с этим применение одной большой текстуры для всего уровня мне кажется избыточным
__________________
Use the Darkness that you have inside
L'ombre вне форума  
Старый 09.03.2008, 17:32   #234
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
L'ombre
Все-таки разумнее будет иметь текстуру, на которой будут находится все объекты, которые могут быть в игре. А уже для каждого уровня матрица уровня заполняться будет по-своему. Например, в ячейку (0,0) загрузить то-то, в ячейку (0,1) то-то, и т.д. Таким образом можно будет и саму текстуру получать по id, и заменять ее.
Согласны?
__________________
www.rodionovstepan.ru
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 09.03.2008, 18:55   #235
Новичок
 
Аватар для L'ombre
 
Регистрация: 07.03.2006
Адрес: !here();
Сообщений: 38
Репутация: 26 [+/-]
Цитата:
Сообщение от razor21 Посмотреть сообщение
Все-таки разумнее будет иметь текстуру, на которой будут находится все объекты, которые могут быть в игре. А уже для каждого уровня матрица уровня заполняться будет по-своему
да, согласен, пусть будет так. но и тут есть два варианта. эта текстура - набор всех возможных объектов - может быть общей для всей игры или только для одного уровня (т.е. у каждого уровня свой набор объектов). можно пойти дальше - один набор объектов - общий, а в каждом уровне может быть дополнительный, добавляющий новые объекты.
__________________
Use the Darkness that you have inside
L'ombre вне форума  
Старый 09.03.2008, 19:04   #236
Юзер
 
Регистрация: 07.06.2006
Адрес: this
Сообщений: 162
Репутация: 112 [+/-]
L'ombre
Надо бы сначала определить стандартный набор объектов, которые могут быть в любом уровне. И начать компоновать ядро с движком.
Моделерам и художникам
Люди, нарисуйте основные объекты, которые были в "Танчиках", - асфальт, кирпич, бетон, трава, вода. Ну и откликнитесь те, кто может это сделать!

//------------------------------------------------

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

P.S.
Придется самому нарисовать в Paint'e некоторые объекты. И начать компоновать движок с ядром.
__________________
www.rodionovstepan.ru

Последний раз редактировалось razor21; 10.03.2008 в 21:31.
razor21 вне форума  
Отправить сообщение для razor21 с помощью ICQ
Старый 10.03.2008, 21:40   #237
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,356
Репутация скрыта [+/-]
razor21
Напиши им в личку, и попозорь там
Если нужно в движке что-то дописывать будет - говори мне. Я вот чувствую, что придётся делать копирование области с одной текстуры в другую, потому что не для каждой же клетки квад создавать! Как ты считаешь?
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 10.03.2008, 22:35   #238
Новичок
 
Аватар для _†DAMIAN†_
 
Регистрация: 22.12.2007
Сообщений: 11
Репутация: 18 [+/-]
Цитата:
Сообщение от ORTODOX Посмотреть сообщение
Движок скачать можно отсюда
Там ссылки повидемому уже "мертвы" возможно ли перезалить?
_†DAMIAN†_ вне форума  
Отправить сообщение для _†DAMIAN†_ с помощью ICQ Отправить сообщение для _†DAMIAN†_ с помощью Skype™
Старый 10.03.2008, 23:07   #239
Кандидат наук
 
Аватар для pokibor
 
Регистрация: 13.06.2005
Адрес: 0x00000000
Сообщений: 8,356
Репутация скрыта [+/-]
_†DAMIAN†_
Пожалуйста: http://ifolder.ru/5683024
Вроде более-менее свежая и рабочая версия. Я сейчас просто над GUI меееедленно работаю (других дел навалом), но эта, кажется, довольно вменяемая.
P.S. Упс! Если там выдастся ошибка на инструкции вроде #include "gui.h" - просто удалите эту директиву. Она не нужна.
__________________
Товарищ, верь: пройдет она -
Эпоха лживых, злых понятий.
Весь мир очнется ото сна,
И на обломках "демократий"
Напишут наши имена!

Мы были волшебницами (оригинальное фентези)
Тень Войны (фанфик по ГП)

Последний раз редактировалось pokibor; 10.03.2008 в 23:29.
pokibor вне форума  
Отправить сообщение для pokibor с помощью ICQ
Старый 11.03.2008, 14:18   #240
Юзер
 
Регистрация: 27.10.2007
Адрес: г. Омск
Сообщений: 442
Репутация: 91 [+/-]
razor21
OK Я со вчерашнего дня рисую.
pokibor
Исправь меня на художника.

Скоро выложу...

UPDATE:
Вот, тут трава, кирпичи и вода. Как я понял ещё бетон дорогу и т.п.

http://ifolder.ru/5690262
Пароль: TANK_TEXTURE

Последний раз редактировалось andNsX; 11.03.2008 в 14:35.
andNsX вне форума  
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования