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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2010, 00:55   #31
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
но основана она на QueryPerformanceFrequency и QueryPerformanceCounter из windows.pas (я пишу на Delphi, не знаю можно ли на ассемблере использовать).
Можно - это Win API (kernel32.dll).
Я их юзал как то. Замечено было, что на старых компьютерах (типа Pentium 2) какие то значения странные из них получаются.

Цитата:
Может ограничить частоту вывода кадров сразу? ...не в курсе как у вас, а у меня четко 24 кадра в секунду, более не требуется
А как ограничить? Тоже по таймеру? Причём получается, что я должен ограничить этот таймер значением меньше 60 Гц. И логику тогда надо от графики отвязывать?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 21.03.2010, 11:09   #32
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Я их юзал как то. Замечено было, что на старых компьютерах (типа Pentium 2) какие то значения странные из них получаются.
Может это малый процент старого железа себя так ведет? Уш лучше будет так чем с проблемами на всех компах. Также знаю что в некоторых движках для различных сфер обработки (графика, таймер, AI итд) используются собственные потоки.
Но мне кажется все равно необходим коэффициент скорости. Без этого скорость игры будет разная, а ограничивать скорость приложения 60 (опять же VSync ограничивает FPS до частоты экрана, у кого-то она может быть равной например 100) или 24 не выход.
Цитата:
С выключенным Касперским запускается нормально...
У меня с AVG все хорошо.

Последний раз редактировалось Вадим Буренков; 21.03.2010 в 12:53.
Вадим Буренков вне форума Ответить с цитированием
Старый 21.03.2010, 12:02   #33
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

С выключенным Касперским запускается нормально. С включенным получается так:
Запускаю, появляетя серое окошко, KIS спрашивает, разрешить ли проге поставить права отладчика - разрешить, потом подозрение на кейлоггер - разрешить, после этого прога валится на обработке WM_ACTIVATE по адресу 4087A7 - чтение по нулевому адресу.
Somebody вне форума Ответить с цитированием
Старый 21.03.2010, 17:10   #34
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Ulex Посмотреть сообщение
А как ограничить? Тоже по таймеру? Причём получается, что я должен ограничить этот таймер значением меньше 60 Гц. И логику тогда надо от графики отвязывать?
Смотря как организована структура построения изображения, если "на лету", то придется переделать, если послойно, задний фон, объекты, индексирование, все в скрытом буфере, а потом он выводится на экран, то никаких проблем с ограничением по таймеру быть не должно. Кадр на экране будет висеть пока не будет выведен следующий, т.е. пока в скрытом буфере не будет готово новое изображение, которое пойдет на экране самой последней строкой в таймере. И никакие прерывания монитора тут не помеха.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 21.03.2010, 23:23   #35
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Доработки:
1. отвязал логику. Теперь примерно всё одинаково работает на разных машинах. Специально сейчас на пентиум 200 поставил Win 2000. Проверил. Проезжаю поле сверху вниз за ~8 сек. Графика правда при этом тормозит, дёргается всё. Впринципе, теперь скорость меня устраивает.
2. Совсем убрал бонус лодка (чёт неинтересный он совсем). Поэтому теперь ландшафт вода и ПТ ежи по свойствам практически одно и то же. Правда ПТ ежи по форме посложнее будут.
3. Сделал бонусы "Бомба", "Заморозка", "Бронебойность"
4. Карту ещё одну добавил.

Цитата:
С выключенным Касперским запускается нормально. С включенным получается так:
Запускаю, появляетя серое окошко, KIS спрашивает, разрешить ли проге поставить права отладчика - разрешить, потом подозрение на кейлоггер - разрешить, после этого прога валится на обработке WM_ACTIVATE по адресу 4087A7 - чтение по нулевому адресу.
Ну вот совершенно ничего не могу сказать. Абсолютно не имею представления как работают антивирусники. По сообщению WM_ACTIVATE моё приложение шлёт само себе сообщение с кодом WM_USER + 1000, по которому у меня грузятся все поверхности, звуки, инициализируется DirectDraw, DirectSound, DirectInput. Поэтому если ему помешать то соответственно и будет серый экран, ну и дальше все прелести. Хотя до инициализации дело похоже даже и не доходит. Там ошибки впринципе ловятся, он бы хоть чего нибудь попытался человеческое написать.
Вложения
Тип файла: rar tank.rar (95.1 Кб, 12 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 22.03.2010, 00:06   #36
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Еще в прошлой версии это заметил, в новой осталось: если игрока убивают и он респаунится, а при этом где-то в той точке есть вражеский танк, то они пересекаются и не могут оба ни двигаться, ни поворачиваться, только стрелять в одном направлении.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 22.03.2010, 00:26   #37
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

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

P.S.
Сейчас ещё заметил, что бонус "заморозка" неправильно работает. Он все анимации абсолютно стопарит, бяка какая.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 22.03.2010, 01:27   #38
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию Вопрос, как лучше?

Я в затруднении в небольшом. Пишу бонус "защита штаба". Ну это когда на время штаб обносится бронированной стеной.
А что делать вот в такой ситуации как на рисунке, если я в это время поднимаю бонус "защита штаба". У меня руки чешутся врагу голову оторвать. Никто не помнит, как это в Battle City было сделано? Или там такой ситуации вообще быть не могло?
Изображения
Тип файла: bmp forHelp.bmp (4.6 Кб, 148 просмотров)
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 22.03.2010, 10:11   #39
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Может, считать, что на врага обрушились бетонные блоки, он вмуровался в стену и погиб от разрыва гусеницы?) То бишь уничтожить его к свиньям собачьим?)
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 22.03.2010, 14:49   #40
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

У меня 8-битка лежит в шкафу, раритет так сказать )) ...на сколько помню, танк одинарную стенку прошибает за 2 выстрела, если будет ситуация как на рисунке, то при взятии защиты штаба вражеский танк взрывается.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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