Навигация
Поддержать материально
Steam Greenlight

Логотипы
Медальки
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Темы форума
Привет выжившие
14.05.2024
 Kaps
WoL
1.05.2024
 VoroneTZ
185 - RPG
9.02.2024
 Vaskrol
В каком банке открыт…
24.01.2024
 Darthman
185 - ?
30.12.2023
 Mefistofel
TESTAMENT - Тактичес…
15.11.2023
 KregHek
RES - Движок для пик…
27.09.2023
 rimush
177 - One Button Str…
20.09.2023
 VoroneTZ
JS 13k contest
13.09.2023
 Mefistofel
184 - Arcade II
14.08.2023
 tiger1025
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 1,790
новичок: Nikitos9
Обсуждение «Shady Caverns (ASCII CAVERNS)»
Страница 3 из 6 < 1 2 3 4 5 6 >
Shirson
Avatar пользователя

Опубликовано 12.09.2012 16:38 (12 лет назад)    #
На радеонах и на не радионах. И там и там одинаковое окно получается?
Видимо разное. У тебя контекст устройства сдвинут вверх где-то на 22 пикселя. Кстати... а сколько у тебя в виндовсе размер заголовка окна? :) Не в этих районах?
Я подумываю под VCL перекинуть код. Размер подпрыгнет, но это более управляемо и более проще в отладке. Может и твою траблу решит.

Там XP вполне себе живет, и GTA Vice City отлично бегает (; Хотя машинке уже 7 лет.
Да я понимаяюю Просто у меня под опенГЛ из текстурного атласа до 4000 тайтлов рисуется, минимум 60 раз в секунду. Это, походу, и не тянет твоя карточка. Я тут подумываю. заменить атлас на кучу текстур, может будет выигрышь в скорости. Попробую, вобшем.
Shirson
Avatar пользователя

Опубликовано 12.09.2012 16:59 (12 лет назад)    #
ASCII CAVERNS 0.1.1b (Да, версии теперь более верные)

Запись идёт в APPLICATION DATA, добавлен перехват ошибок. Если будет сообщение - то хоть станет понятно из-за чего проблема.
bsivko
Avatar пользователя

Опубликовано 12.09.2012 18:23 (12 лет назад)    #
Shirson написал:
На радеонах и на не радионах. И там и там одинаковое окно получается?
Видимо разное. У тебя контекст устройства сдвинут вверх где-то на 22 пикселя. Кстати... а сколько у тебя в виндовсе размер заголовка окна? :) Не в этих районах?

~30. На скринах можно линейкой померять (;

Я подумываю под VCL перекинуть код. Размер подпрыгнет, но это более управляемо и более проще в отладке. Может и твою траблу решит.

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

Опубликовано 12.09.2012 18:33 (12 лет назад)    #
bsivko написал:
~30. На скринах можно линейкой померять (;
Возможно, именно на эту величинц и съезжает контекст.

Игра кстати мышь жестко захватывает. Переключаться на другие окна затруднительно становится. Хотелось бы чтобы по Alt+TAB можно было, без лишних переключений.
Это особенность эксДжина. Там окно так создаётся и мышка каптурится.
Вообще, VCL меня привлекает по многим параметрам, наверное, сделаю спидтест и если не будет тормозить, то перееду на нормальные дельфовые формы. Там и отлаживать легче будет и переключаться можно куда угодно без проблем.
RichDad
Avatar пользователя

Опубликовано 13.09.2012 09:36 (12 лет назад)    #
Shirson написал:
Запись идёт в APPLICATION DATA

0_о нафига?)) Писать в папку с игрой рядом с экзешником - это как раз и есть "хардкорно". :) оставь путь как был ;)
Shirson
Avatar пользователя

Опубликовано 13.09.2012 14:01 (12 лет назад)    #
RichDad написал:
Shirson написал:
Запись идёт в APPLICATION DATA

0_о нафига?

Это попытка залечить твою проблему с записью.
RichDad
Avatar пользователя

Опубликовано 13.09.2012 14:52 (12 лет назад)    #
Shirson написал:
Это попытка залечить твою проблему с записью.

Дак он пишет в папку. Записывает и повисает.

То есть проблема не в сохранении как таковом, а в повисании после сохранения.
Shirson
Avatar пользователя

Опубликовано 13.09.2012 16:20 (12 лет назад)    #
Какте-нибудь сообщения выскакивают? Что видно на экране? С новой папкой всё тоже самое?
RichDad
Avatar пользователя

Опубликовано 13.09.2012 16:39 (12 лет назад)    #
Shirson написал:
Какте-нибудь сообщения выскакивают? Что видно на экране? С новой папкой всё тоже самое?

Сообщений никаких. Просто "приложение не отвечает" и через несколько секунд виндоза его убивает.

А с новой папкой проверю дома и скажу.
RichDad
Avatar пользователя

Опубликовано 13.09.2012 20:47 (12 лет назад)    #
Shirson написал:
Какте-нибудь сообщения выскакивают? Что видно на экране? С новой папкой всё тоже самое?

Скрин: http://pix.am/dT4z.png
Это я нажал F5. Управление повисло сразу. А через неск. секунд виндовз определил как повисшее.

редакция от RichDad, 13.09.2012 20:47

Shirson
Avatar пользователя

Опубликовано 15.09.2012 04:19 (12 лет назад)    #
RichDad, специальный фикс. Пробуй ASCII CAVERNS 0.1.1bf
Кажется я пофиксил твою проблему с зависанием при записи.
Только там еще кучка дополнений, поэтому старые сэйвы не подойдутЬ.

Изменена система меню.
Из меню теперь можно сразу загружать игру.

редакция от Shirson, 15.09.2012 04:20

RichDad
Avatar пользователя

Опубликовано 15.09.2012 10:35 (12 лет назад)    #
Shirson написал:
RichDad, специальный фикс. Пробуй
Кажется я пофиксил твою проблему с зависанием при записи.

Зависает (((

Мне даже удивительно что у вас не зависает.
http://pix.am/zbQH.png это начало зависания
потом появляются песочные часы, затем все становится серым и далее как на предыдущем скрине

Кстати, играть снова становится сложно. fps 10-30, в среднем 20. В предыдущем фиксе хотя бы 40-60 давал.
Shirson
Avatar пользователя

Опубликовано 15.09.2012 16:52 (12 лет назад)    #
У меня вчера начало зависать, поэтому и выяснил, из-за чего.
попробуй это
https://dl.dropbox.com/u/103424101/ASCII%20CAVERNS%20012.zip

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

редакция от Shirson, 15.09.2012 23:57

RichDad
Avatar пользователя

Опубликовано 15.09.2012 18:47 (12 лет назад)    #
Shirson написал:
У меня вчера начало зависать, поэтому и выяснил, из-за чего.
попробуй это
https://dl.dropbox.com/u/103424101/ASCII%20CAVERNS%20012.zip

Зависает. После зависания снимаю задачу, захожу, загружаюсь и дальше иду. Все как и раньше. :( Сейв завешивает намертво (по моим наблюдениям завешивает не игру, а ее управление, но может я туплю тут).

Ну и немного печалит, что ты спрятал сейв с игрой. Не олдскульно. ;) (а так как игра не имеет инсталлятора, то при удалении игры останется мусор, то это не есть гуд. как разработчик коммерческого ПО тебе говорю)
RichDad
Avatar пользователя

Опубликовано 15.09.2012 18:49 (12 лет назад)    #
Ты ж на дельфи пишешь? Покажи код сохранения, может найду глюк. Или сырцы с момента релиза на IGDC спрятал в темный чулан?))

редакция от RichDad, 15.09.2012 18:50

Shirson
Avatar пользователя

Опубликовано 15.09.2012 23:52 (12 лет назад)    #
RichDad написал:
Ты ж на дельфи пишешь? Покажи код сохранения, может найду глюк.


MemoryStream.SaveToFile();

Нашёл? :)
Висло из-за того, что обработчик клавиатуры напрямую вызывал процедуру записи. Без тормозов. 60 раз в секунду :)
Я воткнул задержку в 100*1/60=1.6с (более чем достаточно). У меня виснуть перестало (у меня виснуть и при задержке 10*1/60 перестало).

Или сырцы с момента релиза на IGDC спрятал в темный чулан?))
Да.
RichDad
Avatar пользователя

Опубликовано 16.09.2012 09:26 (12 лет назад)    #
Shirson написал:
MemoryStream.SaveToFile();

Ну говорю же: сохраняет и виснет. Так что ошибка явно не в этой строке :)

Ты попробуй ставить движок на паузу. То есть ввести некоторую boolean, которая в начале каждой процедуры стоит вида:
if (isOnPause) then return; (или у дельфи exit вместо return...)

Тогда сохранение будет такое:
isOnPаuse := true;
MemoryStream.SaveToFile();
isOnPаuse := false;

Так ты точно будешь уверен, что ничего лишнего не происходит в этот момент.

редакция от RichDad, 16.09.2012 09:27

bsivko
Avatar пользователя

Опубликовано 16.09.2012 10:00 (12 лет назад)    #
Shirson написал:

Я воткнул задержку в 100*1/60=1.6с (более чем достаточно). У меня виснуть перестало (у меня виснуть и при задержке 10*1/60 перестало).

Перестало виснуть на отдельной машине в отдельных случаях.

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

RichDad написал:
Ты попробуй ставить движок на паузу. То есть ввести некоторую boolean, которая в начале каждой процедуры стоит вида:
if (isOnPause) then return; (или у дельфи exit вместо return...)

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

По-хорошему, для сохранения необходимо зафиксировать ситуацию в виде константных данных (никто не должен писать в данные, влияющие на образ сохранения во время фиксации). Далее запустить задачу в отдельном потоке с заданным для него таймаутом. И, если сохранение не удалось за заданное время (что контролируется внешним диспетчером), то тогда "Ой!" и сообщить об этом пользователю (по причинческим технинам сохранение не удалось, код ошибки Х, обращайтесь в саппорт).
RichDad
Avatar пользователя

Опубликовано 16.09.2012 12:35 (12 лет назад)    #
RichDad написал:
Ты попробуй ставить движок на паузу. То есть ввести некоторую boolean, которая в начале каждой процедуры стоит вида:
if (isOnPause) then return; (или у дельфи exit вместо return...)

Не кажется, что в этом решении что-то не так?

Согласен. Но я не видел его архитектуру и телепаты в отпуске. В порядке бреда и такой вариант прокатит.

Скажем, в большинстве движков, что я видел, такой блок надо поставить всего в 2-3 процедурах: Render(), Process() и, например, еще какая-то служебная. Так что, по сути, в двух местах всего блок поставить.

PS А вообще не предположу даже примерно как простой SaveToFile может подвешивать движок. Что-то Shirson с архитектурой намудрил.

редакция от RichDad, 16.09.2012 12:37

RichDad
Avatar пользователя

Опубликовано 16.09.2012 12:36 (12 лет назад)    #
хотя, нет. Рендер тоже не надо останавливать.

Только Process() получается надо ставить на паузу.

редакция от RichDad, 16.09.2012 12:50

Страница 3 из 6 < 1 2 3 4 5 6 >
Перейти на форум:
Конкурсы
Открытые конкурсы:
Активных нет
Недавние конкурсы:
 185 - RPG XII
 184 - Arcade II
 183 - Novel
 182 - RPG XI
 181 - Pixel Craft 128
 Все конкурсы
Случайная игра
Голосование

186!

GTA
0% [0 Голосов]
Стратегия
50% [3 Голосов]
Гонки
17% [1 Голос]
Мультяшная
0% [0 Голосов]
Хорор
0% [0 Голосов]
Вид сверху
33% [2 Голосов]
Свое
0% [0 Голосов]

Голосов: 6
Начало: 14.05.2024 21:08

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

Архив чата

25,433,648 уникальных посетителей

Создано на базе русской версии PHP-Fusion copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.