Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1] 2 3  Все   Вниз
  Печать  
Автор Тема: Игра Batty  (Прочитано 179225 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« : 21-03-2008 08:03 » 

Собранный бинарный файл последней версии игры Batty прикреплен к топику.

Скриншоты первых трех стадий игры Batty.




################### 16-03-2009 1:04 ########################
Теперь игра запускается в оконном режиме. Оптимизировал реализацию фиксированного FPS.
Ревизия в CVS равна '19', ветка 'http://svn.shelek.su/public/batty/batty_window'.

P.S. Для запуска программы требуется DirectX 8.0 или выше.
-------------------------
<ESC> - выход из программы
<P> - пауза
Управление "мышью" и "клавиатурой":
<K>  - влево ( <-- )
<L>  - вправо ( --> )
<SPACE> - стрелять
-------------------------

################### 03-02-2009 1:04 ########################
Игровой движок (logic.c) и модуль рисования игровых стадий (draw.c)  реализованы полностью.
Ревизия в CVS отражающая текущее состояние равна '11', ветка 'http://svn.shelek.su/public/batty'.

Осталось реализовать меню и добавить музыкальное сопровождение.

P.S. Для запуска программы требуется DirectX 8.0 или выше. Для отображения FPS передайте бинарнику в качестве параметра строку -debyg.
-------------------------
<ESC> - выход из программы
<p> - пауза
-------------------------

################### 16-11-2008 14:50 ########################
Реализованы все падающие бонусы и переход между стадиями.

Теперь все исходники размешены на SVN-сервере: http://svn.shelek.su/public/batty/, ревизия '1'.

P.S. Для запуска программы требуется DirectX 8.0 или выше.
<ESC> - выход из программы
<q> - перегрузить уровень
<e> - пауза

################### 06-08-2008 11:11 ########################
Изменил модуль draw.c, теперь все работает стабильно на разных видеокартачках (хочется в это верить Улыбаюсь ).

Доработан модуль logic.c, в принципе логика вся написана и протестирована. Осталось реализовать в полной мере все падающие бонусы.

Еще большая тема, это озвучка и фоновая музыка, sound.c. Предстоит искать midi для фоновой музыки и wav для озвучки событий.

Но самая большая проблема, которая очень тяжело решается, это отсутствие свободного времени. Улыбаюсь Но я думаю этот проект довести до конца.

P.S. Для запуска программы требуется DirectX 8.0 или выше.
<ESC> - выход из программы.
1, 2, 3 – разные ракетки.

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

################### 21-03-2008 11:03 ########################
В старые добрые времена был такой компьютер ZX Spectrum и была на нем очень хорошая игра 'Batty'. И вот я решил ее переписать под ПК. Улыбаюсь

После того как большая часть движка была написана я обнаружил интересный глюк, игра на моем старенком Pentium 3 бегает только шум стоит. А на современном железе с современной видеокарточкой игра стала тормозить. Пришлось переделывать функции привязки к FPS и приводить весь код к разрешению 640х480.

Архив содержит:
Цитата
batty_sync.exe - построена на основе 'timeGetTime()'
batty_alt.exe - альтернативное использование 'timeGetTime()'
batty_NoSync.exe - построена без использования привязки FPS (т.е. мотает на всю катушку)
./src - содержит исходники данного проекта

У меня такая просьба, запустити данные программы у себя и скажите у кого какой FPS показывает и на каком железе, должно быть 50 FPS. Значение FPS отображается в верхней части экрана.

P.S. Для запуска программы требуется DirectX 8.0 или выше.
-------------------------
<ESC> - выход из программы
<P> - пауза
Управление "мышью" и "клавиатурой":
<K>  - влево ( <-- )
<L>  - вправо ( --> )
<SPACE> - стрелять
-------------------------

* batty4.zip (52.06 Кб - загружено 2647 раз.)
* img1.png (10.47 Кб - загружено 10016 раз.)
* img2.png (11.85 Кб - загружено 7866 раз.)
* img3.png (11.56 Кб - загружено 7400 раз.)
* batty_15l.zip (54.71 Кб - загружено 1516 раз.)
« Последнее редактирование: 06-03-2012 09:22 от Serg79 » Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #1 : 21-03-2008 08:18 » 

на моей RIVA TNT 2 Model 64 Улыбаюсь + P4 2,4 во всех модификациях примерно 45-50 FPS во всех же моргает жутко. в batty_alt.exe и сама игра жутко тормозить начала в какой-то момент.
Записан

Удачного всем кодинга! -=x[PooH]x=-
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 21-03-2008 08:29 » 

У меня на домашнем: P3(1400 MHz), видео встроенное SiS630 64Mb, RAM 448:
Код:
batty_sync.exe -- FPS: 50, Delay: 20
batty_alt.exe -- FPS: 50, Delay: 20
batty_noSync.exe -- FPS: 72 - 80, Delay: 12 - 13

На работе: P4 (2.5 GHz), видео Radeon 9550 128M, RAM 512M:
Код:
batty_sync.exe -- FPS: 50, Delay: 20
batty_alt.exe -- FPS: 50, Delay: 20
batty_noSync.exe -- FPS: 72 - 80, Delay: 12 - 13

Вроде проблем нет, но до этого действительно были проблемы.

А тех кто немного рубит в этих делах, хочу попросить посмотреть реализацию задержки FPS, может я в чем то заблуждаюсь:
Цитата
Реализация задержки для обеспечения FPS: file 'game.c', func 'MainGame'
Инициализация DirectDraw7: file 'draw.c', func 'InitDraw'
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 21-03-2008 08:36 » 

долго играть возможности не имею, краткие пробы таковы

batty_noSync.exe - fps==38 , играется нормально (только на мышь реакция чуточку "резиновая" - пожёстче позиционирование бы, без инерции)

batty_sync.exe - абсолютно всё так же

batty_alt.exe - разницу не почувствовал точно, но как бы шарик чуточку быстрее летает (может и показалось). Остальное всё так же

NVIDIA GF6600 + P4 3,2

Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 21-03-2008 08:37 » 

Serg79, а зачем реализовывать задержку ? Тактируй как нужно и всё Улыбаюсь
Записан

RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 22-03-2008 10:39 » 

P4 2.8@3.2
ATI 1950Pro

batty_sync.exe -- FPS: 50
batty_alt.exe -- FPS: 50
batty_noSync.exe -- FPS: 52 - 90

В nosync летает, в остальных - ползает. Во всех режимах есть моргание.
Нужно использовать второй буфер и менять буфера по синхросигналу от карты.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
lightmaker
Участник

ru
Offline Offline

« Ответ #6 : 15-04-2008 21:46 » 

P4 3.0
GeForce 7600GS

Все варианты идут на ура.

batty_alt.exe FPS: 30
batty_noSync.exe FPS: 30
batty_sync.exe FPS: 30
Записан
v2
Помогающий

ua
Offline Offline

« Ответ #7 : 16-04-2008 07:24 » 

T7250

GeForce 8400GS

batty_sync.exe -- FPS: 20
batty_alt.exe -- FPS: 20
batty_noSync.exe -- FPS: 20
 Не понял

Intel 965

batty_sync.exe -- FPS: 50
batty_alt.exe -- FPS: 50
batty_noSync.exe -- FPS: 62
 Улыбаюсь






Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 06-08-2008 08:13 » 

Изменил модуль draw.c, теперь все работает стабильно на разных видеокартачках (хочется в это верить Улыбаюсь ).

Доработан модуль logic.c, в принципе логика вся написана и протестирована. Осталось реализовать в полной мере все падающие бонусы.

Еще большая тема, это озвучка и фоновая музыка, sound.c. Предстоит искать midi для фоновой музыки и wav для озвучки событий.

Но самая большая проблема, которая очень тяжело решается, это отсутствие свободного времени. Улыбаюсь Но я думаю этот проект довести до конца.

Исходники и скомпилированная программа: batty.zip 62.2Кб

P.S. Для запуска программы требуется DirectX 8.0 или выше.
<ESC> - выход из программы.
1, 2, 3 – разные ракетки.

Пишите свои отзывы по программе, будет интересно их услышать. Ну и конечно об обнаруженных багах. Улыбаюсь
Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #9 : 06-08-2008 08:32 » 

Serg79, для Linux будет?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 06-08-2008 08:52 » 

Да, когда проект закончу, думаю заняться проблемой переноса проекта под Linux.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 06-08-2008 10:08 » 

Serg79, а не хочешь проект у нас разместить? Есть свой svn-сервер.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 06-08-2008 10:32 » 

Serg79, а не хочешь проект у нас разместить? Есть свой svn-сервер.
Я с удовольствием воспользуюсь Вашим SVN-сервером. Контроль версий будет, это очень удобно. Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 06-08-2008 11:09 » 

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

В рамках одного репозитория можно разместить несколько проектов: каждый проект в отдельной папке. Напр.:
/project/batty/
/project/game2/
/project/game3/
« Последнее редактирование: 06-08-2008 11:11 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 06-08-2008 11:43 » 

Проект будет здесь: http://svn.shelek.su/public/batty/
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 16-11-2008 11:14 » 

Выложил проект на SVN-сервере: http://svn.shelek.su/public/batty/
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 16-11-2008 11:16 » 

Serg79, там бинарные ресурсы (картинки) не используются?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 16-11-2008 11:18 » 

Нет, только музыка 'wav' и все.
Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 02-02-2009 22:06 » 

Игровой движок (logic.c) и модуль рисования игровых стадий (draw.c)  реализованы полностью. Ревизия в CVS отражающая текущее состояние равна 11.
Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 16-03-2009 19:06 » 

Переделал на работу в оконном режиме. Теперь картинка рисуется на внеэкранной поверхности с последующим переносом на экран. Модернизировал функцию реализации задержки для равномерного обеспечения FPS.

Ревизия в CVS равна '19', ветка 'http://svn.shelek.su/public/batty/batty_window'. Собранный бинарник в первом посте.

Просьба, если есть возможность, сообщите у кого какой FPS показывает, должно быть 50. У меня показывает следующее:
'fps 50; frame 10; draw 04;'
где: 50 - fps; 10 - время для построение одного кадра 'ms'; 04 - время формирования изображения 'ms'.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #20 : 16-03-2009 19:43 » 

Попробывал с вином. Вроде работает. Кстати такой вопрос, есть ли управление клавишами, а не мышью? Мышью управлять в окне не удобно.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 16-03-2009 19:45 » new

Кстати такой вопрос, есть ли управление клавишами, а не мышью? Мышью управлять в окне не удобно.
Да, конечно:
Цитата
<ESC> - выход из программы
<P> - пауза
Управление "мышью" и "клавиатурой":
<K>  - влево ( <-- )
<L>  - вправо ( --> )
<SPACE> - стрелять
Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 29-03-2009 12:32 » 

Полностью отказался от 'DirectDraw' для рисования картинки, теперь картинка рисуется средствами 'GDI'. За счет этого удалось уменьшить время построения одного кадра еще на 2 ms. Так же использование 'GDI' позволило не учитывать глубину цвета используемого видеоадаптером и переложить все манипуляции с глубиной цвета, если это необходимо, на Windows.

Ревизия в CVS равна '24', ветка 'http://svn.shelek.su/public/batty/batty_window'.
Собраный бинарник 'batty.zip 52.0Кб'.

P.S. Управление и требования для запуска игры не изменились.
Записан
BobCat
Интересующийся

ru
Offline Offline
Пол: Мужской

« Ответ #23 : 19-04-2009 23:59 » 

 Уже туплю
вот уж не думал, что когда нибудь увижу эту игру!!!!
меня просто переполняют эмоции, а вспомните ту чудо-музыку что лилась из магнитофона во время загрузки программы...
Огромное спасибо автору за возрождение этой игры!
З.Ы. сори за офтоп, но примерно в то же время, хотя нет, чуть позже уже на i-186 была такая игра толи Тетколор, толи 7колор называлась, там экран поделен на цветные ромбики, и надо каждым ходом присоединять к себе ромбики какогото цвета и захватить больше половины экрана. Гдето месяц назад посещала меня мысля восстановить ту игру, но ничего в инете ненашел... а может просто с названием путаю...
Записан

Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить.     Брайан Керниган
sergchi
Интересующийся

ru
Offline Offline

« Ответ #24 : 08-02-2010 16:14 » 

Batty4 хороша, но уважаемый Serg79, imho есть 2 недостатка: 1. Не регулируется размер окна игры 2. Всего 3 жизни на 12 уровней.
Можно ли скомплировать бинарник, где число жизней определяет сам игрок до игры, т.е. вынести эту константу как внешний параметр процедуры? Имно было бы лучше..
Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #25 : 08-02-2010 17:13 » 

Batty4 хороша, но уважаемый Serg79, imho есть 2 недостатка: 1. Не регулируется размер окна игры 2. Всего 3 жизни на 12 уровней.
Можно ли скомплировать бинарник, где число жизней определяет сам игрок до игры, т.е. вынести эту константу как внешний параметр процедуры? Имно было бы лучше..
Жизней в начале дается столько же сколько и в оригинальной версии для Спектрума. Да, с тремя жизнями не каждому удается осилить третью стадию. Хорошо sergchi, добавлю функцию что бы можно было начинать игру с 6 жизнями. Улыбаюсь
У меня после первого круга стадий, нижняя полоска на половину жизнями заполнена. Улыбаюсь

Кстати sergchi, если есть желание можешь меню игры дописать, у меня жутко времени не хватает. Инфраструктура там вся написана, осталось только рисунки прикрутить и добавить реакцию на разные пункты.
Записан
sergchi
Интересующийся

ru
Offline Offline

« Ответ #26 : 09-02-2010 16:56 » 

В оригинальной, правда крякнутой кем-то версии на ZX, параметр количества жизней  был ещё до начала игры, т.е. до меню игры.
У меня сейчас даже нет компилятора C, всё это в прошлом, а ностальгия осталась. Имхо 6 жизней тоже маловато для 3,4 и 6-го уровней.
Записан
Serg79
Модератор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #27 : 09-02-2010 18:12 » 

sergchi, крякнутая мне не попадалась. sergchi, в 6 там главное шарик правильно запустить, тогда он сам все разбивает. Очень много времени потратил что бы полностью с имитировать физику оригинального batty, удалось это сделать на 95%. Но те комбинации которые позволяют загонять шарик в 3 стадии (да и в других то же) по углам, работают так же как и в оригинальной версии. Эта игра в свое время зацепила именно своей сложностью. Улыбаюсь

sergchi сейчас сижу в Windows 7, студию еще не ставил. В ближайшие день два поставлю и пересоберу с бессмертием, после чего скину тебе на мыло.
Записан
sergchi
Интересующийся

ru
Offline Offline

« Ответ #28 : 09-02-2010 20:36 » 

Спасибо, очень хотелось бы.
Записан
sergchi
Интересующийся

ru
Offline Offline

« Ответ #29 : 21-02-2010 09:16 » 

Serg79, спасибо за Batty4 с 15 жизнями. У меня на загрузочной (восстановительной) флешке установлены мелкие игры для снятия стресса. Batty2 и 3  WinPE видит как DOS игры, а Batty4 пытается запустить, требуя доп. DLL-ки, но так и не запускает даже с ними. Почему? Можно ли адаптировать Batty4 к WinPE?
Записан
Страниц: [1] 2 3  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines