Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2010, 21:01   #61
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Танки стали существенно лучше. Теперь по поводу уничтожаемых стен:
1. Как было замечено, остаются одиночные кирпичики, которые потом уничтожить уже нельзя (не попадёшь по ним). Можно было бы такие кирпичики удалять с поля.
2. Блоки разрушаются как-то не естественно (как и кирпичи). Может сделать, что бы при попадании в блок он трескался, ещё попали, сильнее треснул, после 3-4 попаданий исчезал целиком блок сразу.
Arigato вне форума Ответить с цитированием
Старый 26.03.2010, 21:17   #62
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
Чтобы быстро из-за угла стрелять, нужно так же быстро улепетывать уметь, ...а он ползет как черепаха, и застревает на ровном месте ))) ...
Ну так это опять о том же (об этой самой "сетке"). Уже на такой скорости, вы в двери попасть не можете, а что будет, если скорость ещё увеличить. Я сейчас ради эксперимента поставил таймеру время 5 мс. Т.е. в два раза скорость движения увеличил, т.к. она на таймер опирается. Ну и... лично я вообще ни в один проём попасть не могу. Поэтому считаю, что скорость движения нормальная. Меня вполне устраивает. Я только понять не могу. Она у нас разная, или нет?

Цитата:
добавь счетчик: если патрон быстро нашел цель, то ждет полсекунды и можно стрелять вторым, ...если долго летит, то следующий полетит сразу после кончины первого.
Это можно, правда я тут уже целую систему выстроил. Теперь придётся её ломать. Ещё универсальные процедуры полетят. Например придётся разделять функцию Zatvor, делать вариант под мой танк и под врагов.

Цитата:
Если у тебя есть предварительный сборщик текстур, то тем более не следует держать столько графических данных.
Сборщика нет. Есть просто линковщик. Он расставляет в пустой объект линки (адреса поверхностей, анимаций и т.п.) и всё. Он сам ничего не собирает.

Насчёт графики, я тоже сначала думал так делать. Когда танчики были плоские и без всяких теней - этот вариант как бы сам собой напрашивался. Но, выигрыш в видеопамяти будет только в том случае, если я каждый танк буду собирать заново именно в цикле Draw. Я посчитал, что это будет медленно очень. Вобщем, картинки были шестнадцатицветными и их было немного. Ну и я порешил, что на таком приложении пусть лучше забирает больше памяти, но работает быстрее. К слову, я запускал эти танчики, правда ещё плоский вариант, на 200-м пентиуме с 2Мбайтами видеопамяти, встроенный видеоадаптер. Работало. Т.е. не вижу особого смысла в такой программе память экономить - тут графики всего на 289 Кб, если не считать несколько внеэкранных поверхностей, которые я создаю для ускорения графики (они скорее всего даже больше памяти съедают).

Цитата:
Теперь по поводу уничтожаемых стен:
1. Как было замечено, остаются одиночные кирпичики, которые потом уничтожить уже нельзя (не попадёшь по ним). Можно было бы такие кирпичики удалять с поля.
2. Блоки разрушаются как-то не естественно (как и кирпичи). Может сделать, что бы при попадании в блок он трескался, ещё попали, сильнее треснул, после 3-4 попаданий исчезал целиком блок сразу.
Самому не нравится, как разрушения работают. Но я придумать ничего не могу.

по второму пункту - вот это очень хорошая идея, вполне возможно, что тогда получится отвязаться от координат пули. К примеру разбить всё поле на квадраты 20*20 и контролировать попадание снаряда в эти большие блоки (сейчас блоки 5*5) .Надо над этим помозговать. Правда тогда эта игрушка будет совсем на Battle city не похожа, ну да и чёрт с ним. И если я буду стрелять и попадать исключительно в один блок, тогда по логике разрушать надо именно этот один блок. Получится, что танк пробьёт в стене дырку, ч.з. которую проехать не сможет.
Но это уже всё равно лучше, потому что тогда этих недокирпичей на поле оставаться просто не будет.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 27.03.2010 в 00:02.
Ulex вне форума Ответить с цитированием
Старый 27.03.2010, 00:22   #63
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Я чего про сборщик текстур-то влез? ...в исполнительном файле не так много места, а в оперативной памяти навалом, ...посему простой конструктор анимации до игры может с легкостью собрать отдельные кадры, которые в игре будут использоваться как всегда, но проект за 500К не перелезет уже, и использовать можно будет 256-цветовой режим и как-то "оживить" игру графически, Бог с ней с похожестью, графически можно сделать лучше.

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

Ни к чему не обязываю, просто у меня такое мнение, которое может с легкостью отсеиваться.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 27.03.2010, 00:35   #64
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Открыл ради интереса 50-ю карту. Карта поделена на 2 части бетонными блоками, что делать - не ясно, т.к. противник по одну сторону блоков, игрок - по другую.

Ещё бы добавить музыку, хотя бы при старте игры. Можно было бы даже ту, что была в дендевской версии. Это бы придало некоторый дополнительный окрас.
Arigato вне форума Ответить с цитированием
Старый 27.03.2010, 00:44   #65
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Да я как раз сетку то и не хотел. Зачем тогда нужна была вся эта морока с контролем столкновений по битовым маскам. Можно тогда просто контролировать по прямоугольникам (квадратам).

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

P.S.
Кстати, уровень, с которого начинается игра можно менять стрелочками вправо влево если встать на пункт "уровень". Их всего 50, но заполнено только 30 с копейками, остальные либо пустые, либо тестовые.
На 50-м я тестил лёд и песок. Поэтому запустил по ту сторону врагов, чтобы посмотреть как они будут по песку кататься. И стеной отгородился, чтобы они мне не мешали.

P.S.S.
Кто-нибудь прокачал хоть раз свой танк до третьего уровня - машина для убийства.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 27.03.2010 в 00:47.
Ulex вне форума Ответить с цитированием
Старый 27.03.2010, 14:33   #66
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Можно сделать чтобы кирпичики маленького размера танк пробивал корпусом. А выстрел лучше сделать как в оригинале чтоб втрорй патрон вылетал после попадания первого. Тогда хоть можно будет стены пробивать нормально.
Вадим Буренков вне форума Ответить с цитированием
Старый 27.03.2010, 15:04   #67
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Понятно, что потрачено время на столкновения, на битовые маски, ...но когда ты едешь, и видишь, вроде все нормально, пролезаю, а танк одним пикселом гусеницы цепляется за стену, это не совсем правильно, особенно, если спешишь спасти штаб с противоположной стороны. Может как то сделать, чтобы такие мизерные 1-2 пиксела как-то не тормозили особо, ...может ввести поправку, выравнивание до стены? ...я не заметил, у танка есть ускорение? ...а то можно было бы при таком попадании в стену краем гусеницы просто чуть сбрасывать скорость. Да и со снарядами нужно что-то делать, ...сбивание снарядов противника тоже приветствуется, если попадешь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 28.03.2010, 07:36   #68
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию Next release

Новая версия:

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

Итак:
1. Вынес часть ресурсов (звуки, картинки, битовые маски) в отдельную библиотеку tankRES.dll, теперь можно будет даже иметь несколько вариантов "шкурок". Это позволило разделить ресуры и алгоритмы.
2. Кажется, поборол бромлему с инициализацией. По крайней мере, до этого моё приложение никогда ещё не работало так стабильно (имеется ввиду именно запуск, Alt+Tab и т.п.). Может даже Касперский перестанет на него ругаться.
3. Поменял часть поверхностей на 24-х разрядные. По-моему получается пока симпатичненько. Только может темновато немного.
4. Упорядочил обработку ошибок. Их вобщем ловится немного, но те которые ловятся, теперь более осмысленные.

По поводу разрушений и стрельбы:
Цитата:
может ввести поправку, выравнивание до стены?
Наверное стоит попробовать, только это может выглядеть странно.
Цитата:
..я не заметил, у танка есть ускорение?
Нет, ускорения нет (именно в понятии ускорения). Есть скорость = 1000/(период таймера * К) в точках. (где К=1, 2, 3, 4.....). Т.е. я могу ступенчато скорость менять. Причём та скорость, с которой сейчас танк ездит, соответствует коэффициенту К==2. Бонус "скорость*2" устанавливает K=1. Поверхность "песок" устанавливает K=K-1

P.S.
Поигрался на эмуляторе - нет, мне категорически не нравится как "сетка" работает. Чё попало. Например, если танк выстрелил в стену и проломил там половину одного уровня кирпичей, то заехать в это отверстие он не может. Так и стоит в воздухе буксует. При поворотах иногда его не только поворачивает, но ещё и передвигает чуть ли не на пол корпуса.
Вложения
Тип файла: rar tank.rar (185.6 Кб, 17 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 28.03.2010, 17:38   #69
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Ulex
Цитата:
Сообщение от Beermonza
может ввести поправку, выравнивание до стены?
Наверное стоит попробовать, только это может выглядеть странно.
Ничего странного, идет глухой звук удара о стену, танк сам поворачивается доезжает до края этот 1 или 2 пиксела и шпарит уже впритык к стене. Может кто-то и без этого попадает, но у меня на экране все размазанное, и где кончаются контуры танка не совсем понятно.

И про ускорение, ...можно ввести плавный старт танков с некоторым ускорением, ...будет более реалистичнее, и эта самая поправка, если маленько не вписался в стену просто будет отнимать время, ведь танк сменит 2 раза направление, и когда поправится, то начнет с нулевой скорости опять, но не застрянет. Это нечто среднее между тем, что есть и системой "сетка".
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 28.03.2010, 22:00   #70
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

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

Это ужасно нелогичный параметр. Именно нелогичный. Получается такая тема, что если пуля попадает в цель быстро, то следующая заряжается быстрее. Боевой дух "экипажа" что-ли. "Ура, мы попали, давай, заряжай быстрее".

Цитата:
Ничего странного, идет глухой звук удара о стену, танк сам поворачивается доезжает до края этот 1 или 2 пиксела и шпарит уже впритык к стене. Может кто-то и без этого попадает, но у меня на экране все размазанное, и где кончаются контуры танка не совсем понятно.
Это как раз странно и, может быть, даже чревато. Игрок едет по карте, целит какого то врага, стреляет. И тут его вдруг разворачивает, потому что он за стену зацепился. Пуля летит куда попало. Ситуация конечно редкая, но тем не менее она возникнет обязательно.
Может правда, сделать как Вадим предложил, пусть танк мелкие кирпичи топчет, причём скорость у него пусть сбрасывается до K=5...6 или даже больше (всмысле скорость меньше)?

P.S.
Кстати, подскажите пожалуйста, как можно PrintScreen с полноэкранного режима dDraw сделать?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 28.03.2010 в 22:06.
Ulex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах mihali4 Свободное общение 1 17.01.2009 01:43
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49