forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Blitz3D (http://forum.boolean.name/forumdisplay.php?f=14)
-   -   Bomberman_Standard_Edition (http://forum.boolean.name/showthread.php?t=79)

tormoz 04.04.2006 19:27

Ячейки карты, в которые ты ставишь кубики

Fant 05.04.2006 01:08

Я в этом разделе на какое-то время не смогу новое выкладывать

1) Я еще не решил проблему с багом
2) Не сделал текстуры средставами блиц
3) Когда я сделал игрока таким же размером, как и размер кубика, то обнаружил некоторые погрешности в точности расстановки кубиков и ограждений на поле (то есть пока все не будет точно успокаиваться рано)

Вот когда эти 3 вопроса освещу выложу код!

:unsure: мне жаль, что я сразу не подумал все сделать средствами блиц, обидно, что Вам (всем кто качал) пришлось качать больше, чем "можно было бы сделать" ... короче моя тупость! И в будущем буду умнее!

Еще раз спасибо всем, кто мне помогал!

p.s. если кто-нибудь решит помочь мне кодом с багом, то я буду очень благодарен, а погрешность и "переделку ресурсов" я конечно на себя беру!
* И если кому-нибудь интересен мой проект, милости прошу! Потому, что одному тянуть сложно и как-то скучно! (но все-же слава богу мне хоть всегда и регулярно отвечают, что поддерживает меня морально)

Вот такие дела тут...с бомбером этим...

Fant 07.04.2006 22:13

из всех проблем остался баг, но над ним работают...

А у меня новая трудность. Вот решил все делать с математической точностью...

Объяснение:

Я сделал так, что бы при нажатии кнопки игрок перемещался на 10 единиц. Переделала всю систему управления. И если ничего не касаться, а сразу войти внутрь кубиков, то игрок успешно путешествует внутри!

Проблема:

Если пойти игроком и "коллидется" с пробиваемым(синим) кубиком, то появятся погрешность в .001 и игрок уже не пройдет через кубики...не знаю что с этим делатЬ!!!!
(кстати, коллии со стенкой тож глюк такой дают...

И еще одно! Я тестировал сейчас. Без пробиваемых кубиков путешествовал среди "непробиваемых" глюка не было. То есть 1) баг не из-за кривого расчета перемешений. 2) Непробиваемые кубики четко расставлены.

МОэтому я считаю, что проблема из-за немноо кривой расстановки пробиваемых кубиков! Но это лишь предположение!

Посмотрите как работает у вас? Можете ли вы мне что-нибудь посоветовать что бы избавиться от этого баг?

И еще! Прошу проверить мою игру! Походите там на поле (или просто запустите, пару секунд пройдитесь, бомбочку (левой кнопкой мыши) поставьте и минут на 10 продержите игру включеной. У вас нет падения ФПС?
А то я не увернен, компьютер у меня тормозит или игра.

Жека 09.04.2006 15:06

Отрывок из книги Стюарта Мак Роберта "Руки титана"

"...многие культуристы оправдывают свои
действия неизменным - и необоснованным! - принципом: "чем больше, тем
лучше." "Я безумно хочу нарастить мускулы! Если я буду целый день, до
упора торчать в спортзале, в конце концов своего добьюсь! К тому же, я
не такой, как все! Я - особенный! И если не расслаблюсь, не оступлюсь,
обязательно получу свое!" Боже, как высокопарно! А главное - глубоко
ошибочно.
Культуристы, будьте реалистами! Ни горячее желание, ни запредельный
фанатизм не способны привести к росту мышц. Ни вера в успех, ни обост-
ренная интуиция, ни настойчивость - ничто не заменит правильной методики
тренинга
!
В предыдущей главе я рассказал вам, что первопричиной роста мышц яв-
ляется стресс высокоинтенсивного тренинга. Но это еще не все. Одна из
особенностей физиологии человека заключается в лимитированной способнос-
ти к восстановлению - ваши силы не бесконечны. Поэтому стрессовые наг-
рузки, точнее, объем тренировок, необходимо тщательно дозировать
. Всему,
как говорится, есть предел - в том числе и биохимическим ресурсам орга-
низма.
Понимание принципа интенсивности - только первый шаг на пути постиже-
ния правильной теории тренинга. А второй шаг, повторю, - ясное осознание
того, что восстановительные способности организма весьма ограничены.
Лишь уяснив это, начинаешь понимать, почему необходимо строго контроли-
ровать объем и частоту тренировок. В самом деле, мера нагрузки - такой
же по значению фактор мышечного роста, как и интенсивность. Вы одинаково
блокируете свой прогресс, если недобираете или перебираете с нагрузкой
.
Этому вопросу в бодибилдинге никогда не уделяли должного внимания. И
все потому, что когда-то Уайдер сказал: "Чем больше, тем лучше". Руко-
водствуясь этим "советом", миллионы культуристов по всему миру доводят
себя до крайне опасных степеней перетренированности, не получая взамен
почти никакого роста мышц.
Вопрос связи восстановительных возможностей организма с объемом и
частотой тренировок в современном бодибилдинге почти не обсуждается. А
почему? Дело в том, что такое обсуждение неизбежно приведет к выводу:
принятые сегодня нагрузки с точки зрения их объема и количества сетов
(до 20 на мышцу) являются полным бредом, ибо каждое новое повторение в
сете и каждый новый сет сокращают последующую восстановительную способ-
ность организма.
С каждым последующим сетом растрачивается все больше и больше ограни-
ченных биохимических ресурсов. А это значит, что для сверхкомпенсации,
т.е. для наращивания мускулатуры, практически ничего не остается. Вот
вам простое объяснение тому, почему культурист, истово следующий много-
сетовой системе, после краткого периода начального прогресса обязательно
впадает в пожизненный застой.
Итак, тренируясь, вы расходуете свои биохимические ресурсы, и чем
больше вы их расходуете, тем больше приходиться возмещать. Отсюда еще
один логический вывод: оптимальный результат достигается минимальным, в
рамках необходимого, числом упражнений
. Сообразили? Чем больше упражне-
ний вы делаете, тем ниже потенциал послетренировочного мышечного роста!

О частоте тренировок

Многие культуристы даже не задумываются, что процесс роста "массы"
состоит из двух равнозначных элементов: действия и бездействия, трениро-
вок и отдыха. Сама по себе тренировка лишь приводит механизм в действие,
а растет мускулатура именно на отдыхе. Если, конечно, этого отдыха хва-
тает."

Fant 09.04.2006 20:15

А зачем все это?

Fant 10.04.2006 22:39

Баги решились до одурения просто! вот вопрос!!!

Я знаю, что он 100000 обсуждался, но я не помню где! Но спрашиваю еще раз

:@

Как сделать так, что бы ФПС был меньше или равен ну...а сколько вы посоветуете!? Я думаю 80 самое то!

как так сделать!7


Уод без багов пока не выкладываю, а то пока что ничего нового!

impersonalis 10.04.2006 22:46

Потсавить ограничитель ФПС:
как только ФПС превыило допустимую отметку - искусственный простой.
Имхо, лучше скорость выполнения расчитывать по ФПС, а не обрубать их - ноэто - имхо.

Fant 11.04.2006 00:38

лучше скорость выполнения расчитывать по ФПС 8)

Расскажите как это сделать! Поподробнее пожалуйста! И если можно, то где можно достать примеры на эту тему? (если получится и у вас есть такой пример) вложите его пожалуйста что бы я посмотрел! Я-то представляю, что это что-то с главным циклом делать надо, но видимо еще "не достаточно хорошо"

Вообщем поподробнее хотелось бы!

tormoz 11.04.2006 00:56

Тут смотри

impersonalis 11.04.2006 01:13

Тормоз прав - tween# парметр удобен, но на первых парах , имхо, сложновато?

Ну и как-то привык я делать по-другому. :)

Fant 11.04.2006 14:51

Код:

Graphics3D 800,600,32,1
SetBuffer BackBuffer()
 
Cam=CreateCamera()
MoveEntity Cam,0,5,-20
 
For q=1 To 8
 Light=CreateLight(2)
 LightColor Light,Rnd(255),Rnd(255),Rnd(255)
 LightRange Light,10
 MoveEntity Light,Rnd(40)-20,Rnd(40)-10,Rnd(40)-20
Next
 
Type Spheres
 Field Model
End Type
 
SetFont LoadFont("Arial",14)
 
For NSph=1 To 10
 Sph.Spheres=New Spheres
 Sph\Model=CreateSphere(8)
 EntityColor sph\Model,Rnd(255),Rnd(255),Rnd(255)
 TurnEntity sph\Model,0,Rnd(360),0
Next
 
 
 
 
Global RenderTime#
Global Rendered#
 
;MAIN LOOP
While Not KeyHit(1)
 RenderTime=MilliSecs()
 
 
;UPDATE UNITS ON 25hz
 If MilliSecs()-LastUpdateUnits>=40 Then 
  ;<=update units code here
 ;UPDATE SPHERES
 For Sph.Spheres=Each Spheres
 MoveEntity Sph\Model,0,0,0.4
 TurnEntity Sph\Model,-4,0,0
 For q=1 To rndf#
 Next
 Next
;----------------------------- 
 LastUpdateUnits=MilliSecs()
 UpdateWorld() 
 EndIf
 
If KeyDown(28)
 rndf#=20000
Else
 rndf=1000
EndIf
 
;UPDATE CAMERA ON 50hz
 If MilliSecs()-LastUpdateCamera>20 Then 
  ;<=update camera code here
 LastUpdateCamera=MilliSecs()
 If Rendered>0 Then Rendered=Rendered-1 
 EndIf
;RENDRING 
 If Rendered<=0 Then 
 RenderWorld() 
 RenderTime=MilliSecs()-RenderTime
 RenderTime=(RenderTime+LastRenderTime)/2
 
;FPS COUNTER- NOT NEADED, JUST FOR INFORMATION
 FPS=FPS+1
 If MilliSecs()>MS+1000 Then
 MS=MilliSecs()
 MaxFPS=FPS
 FPS=0
 EndIf
 
 Text 10,10,"speed: "+100000/rndf +"%"
 Text 10,50,"FPS: "+MaxFPS
 
 Flip 0 
 Rendered=RenderTime/10
 LastRenderTime=RenderTime
 EndIf 
 
Wend
End

Тогда этот код буду "прикручивать" к игре.

То есть этим методом ФПС контролировать!

Спасибо за ответ!!!

Fant 12.04.2006 00:32

Я вроде бы как бы и использовал этот код, но меня кое-что смутило...
;UPDATE UNITS ON 25hz
;UPDATE CAMERA ON 50hz

А разница?

Я не совсем понял весь код! Прошу хоть немного побольше комментариев, а так в принципе я его интегировал...

Но не могу успокоиться, пока вот не пойму деталей ЭТОГО кода!

Разъясните пожалуйста: что происходит в цикле? Какие основные моменты играют роль при "торможении процесса" ?

Просто добавьте больше комментариев в код, иначе я просто опасаюсь, что сделал неправильно...

tormoz 12.04.2006 02:06

А ты не опасайся - ты делай ;)
Экспериментируй :)
Некогда писать такую кучу комментов...

Fant 12.04.2006 13:45

Я и сделал, и у меня стабильно было 46 ФПС....но я не мог себе объянить как это работает...
Да исделал я просто...
Просто код "скопировал" и вставил"...ну разумеется убрал у себя лишние update world и renderworld...ну и чуток подправил) :))

Ну хоть примерно то можно знать что там за что отвечает?

tormoz 12.04.2006 16:11

Елки палки, там всего то пяток переменных - обычные примитивные счетчики.
Что там комментировать ?

надеюсь ты вместо
;UPDATE SPHERES
For Sph.Spheres=Each Spheres
MoveEntity Sph\Model,0,0,0.4
TurnEntity Sph\Model,-4,0,0
For q=1 To rndf#
Next
Next

вставил свой код ? :)


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot