|
Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п. |
07.01.2006, 16:52
|
#46
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Седня меня озарило наверное от скуки и я решил проблему определения видимости.
Стер все аттачи в топике, теперь игра лежит здесь:
ехе'шник:
http://pax83.nm.ru/bombers3d_bin.rar
ресы:
http://pax83.nm.ru/bombers3d_res.rar
|
(Offline)
|
|
07.01.2006, 16:55
|
#47
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
а вот само решение:
Type TViz
Field I%, J%, EndI%, EndJ%
Field Direction%
End Type
Function *CreateVisPoints(plrNum%)
Local plrI%=CXtoI%(plr(plrNum)\X%)
Local plrJ%=CZtoJ%(plr(plrNum)\Z%)
Local plrDir%=plr(plrNum)\Direction%
Local CI%=plrI%, CJ%=plrJ%
Local I%, J%
Local EI%
Local Dist%=VizDistanse%
Select plrDir%
Case Dir_Up
* CJ%=plrJ%-VizDistanse%
Case Dir_Right
* CI%=plrI%+VizDistanse%
Case Dir_Down *
* CJ%=plrJ%+VizDistanse%
Case Dir_Left
* CI%=plrI%-VizDistanse%
End Select
VizUpd(plrI%,plrJ%,3)
Select plrDir%
Case Dir_Up, Dir_Down
*If plrDir%=Dir_Up Then
* EI=plrJ%-VizDistanse%
*Else
* EI=plrJ%+VizDistanse%
*EndIf
*CreateVPoint(plrI%,plrJ%,CI%,CJ%,plrDir%)
*For I%=1 To VizDistanse%
* If I=A Then
* *For TVizPoint.TViz = Each TViz
* * If (TVizPoint\I=plrI%) Then If (TVizPoint\J=plrI%) Then If (TVizPoint\Direction%=plrDir%) Then Return
* *Next
* EndIf
* CreateVPoint(plrI%,plrJ%,CI+I%,EI,plrDir%)
* CreateVPoint(plrI%,plrJ%,CI-I%,EI,plrDir%)
*Next
Case Dir_Right, Dir_Left
* If plrDir%=Dir_Right Then
* *EI%=plrI%+VizDistanse%
* Else
* *EI%=plrI%-VizDistanse%
* EndIf
* CreateVPoint(plrI%,plrJ%,CI%,CJ%,plrDir%)
*For J%=1 To VizDistanse%
* If J=A Then
* *For TVizPoint.TViz = Each TViz
* * If (TVizPoint\I=plrI%) Then If (TVizPoint\J=plrI%) Then If (TVizPoint\Direction%=plrDir%) Then Return
* *Next
* EndIf
* CreateVPoint(plrI%,plrJ%,EI%,CJ+J%,plrDir%)
* CreateVPoint(plrI%,plrJ%,EI%,CJ-J%,plrDir%)
*Next
End Select
End Function
Function CreateVPoint(I%,J%,EndI%,EndJ%,Direction%)
TVizPoint.TViz = New TViz
TVizPoint\I%=I%
TVizPoint\J%=J%
TVizPoint\EndI%=EndI%
TVizPoint\EndJ%=EndJ%
TVizPoint\Direction%=Direction%
End Function
Function UpdPlrViz()
Local AngleKoef#, sg%=1
Local D%, D1%, TI%,TJ%, A%, B%
Local Index%
Index%=0
For TV.TViz=Each TViz
*Index=Index+1
*Select TV\Direction%
*Case Dir_Up
* *D%=TV\EndI%-TV\I%
* *For J%=TV\J% To TV\EndJ% Step -1
* * TI%=TV\I% + Float(D%*Abs(TV\J%-J%))/Float(VizDistanse%)
* * TJ%=J%
* * If UPVAddon(TV, TI, TJ) Then Goto n
* *Next
*Case Dir_Right
* *D%=TV\EndJ%-TV\J%
* *For I%=TV\I% To TV\EndI%
* * TJ%=TV\J% + Float(D%*Abs(I%-TV\I%))/Float(VizDistanse%)
* * TI%=I%
* * If UPVAddon(TV, TI, TJ) Then Goto n
* *Next
*Case Dir_Down
* *D%=TV\EndI%-TV\I%
* *For J%=TV\J% To TV\EndJ%
* * TI%=TV\I% + Float(D%*Abs(J%-TV\J%))/Float(VizDistanse%)
* * TJ%=J%
* * If UPVAddon(TV, TI, TJ) Then Goto n
* *Next
*Case Dir_Left
* *D%=TV\EndJ%-TV\J%
* *For I%=TV\I% To TV\EndI% Step -1
* * TJ%=TV\J% + Float(D%*Abs(TV\I%-I%))/Float(VizDistanse%)
* * TI%=I%
* * If UPVAddon(TV, TI, TJ) Then Goto n
* *Next
*End Select
* *If Not (TV=Null) Then
* * Delete TV
* *EndIf
*.n
*If index>VizD2% Then Return
Next
End Function
Function UPVAddon%(TV.TViz,TI%,TJ%)
Local I%=0
If TI<0 Then I%=1
If TJ<0 Then I%=1
If TI>CornerW Then I%=1
If TJ>cornerH Then I%=1
If I Then
*Delete TV
*Return 1
EndIf
If Not Sceneobject(TI%,TJ%)\Visibaly Then VizUpd(TI,TJ,2)
Select Sceneobject(TI%,TJ%)\GeometryType%
*Case GTNothing,GTWeapon%,GTTool%,GTTreasure%,GTStoneBall%;,GTPlayer%,GTMonster%,GTBlood%
* Return 0
*Default
* Delete TV
* Return 1
End Select
End Function
скопировал прям из кода игры, так что неволнуйтесь, если чего-то не поймете
|
(Offline)
|
|
10.01.2006, 00:01
|
#48
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Закачал новую версию Bombers3d (ссылки теже, которые на пару постов выше)
В новой версии:
- Обновил немного движок, так что игра стала немного быстрее работать
- "Туман войны" теперь имеет анимированную текстуру (Texture Maker рулит )
- вывод статистики теперь выполняется графически а не текстом (Paint рулит)
Потестите пожалуйста на кол-во FPS... у меня он вырос...
Короче Blitz я не брошу... а C++&OpenGL буду изучать параллельно...
|
(Offline)
|
|
10.01.2006, 00:32
|
#49
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
А вот тут дополнительно около 80 карт для игры (из Mine Bombers - игра ремейк которой я делаю)
(70Кб)
|
(Offline)
|
|
10.01.2006, 22:36
|
#50
|
|
Не могу сказать увеличился или нет, но на краю карты ФПС почти 400, в середине - 160.
1024х768, полноэкранный режим.
P4 2.4 GHz
512 MB RAM
GeForce FX 5200 64 MB
|
|
|
10.01.2006, 23:15
|
#51
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Originally posted by alcoSHoLiK@Jan 10 2006, 10:36 PM
Не могу сказать увеличился или нет, но на краю карты ФПС почти 400, в середине - 160.
1024х768, полноэкранный режим.
P4 2.4 GHz
512 MB RAM
GeForce FX 5200 64 MB
|
Пасиб за информацию... буду дальше работать над ускорением... но зато я рад, что смог сделать анимированный туман войны без снижения производительности...
кстати у меня на краю карты тоже где-то 400 FPS, а в середине около 200
моя система: Celeron D 2.4GHz/512/64GF4 MX440
странно, у меня вроде система тормознее, а игра быстрее немного работает... ааа Я ж на 800х600 тестил
скоро добавлю новый вид оружия - биомассу (тоже будет с анимированной текстурой), точнее текстура уже анимируется но добавить биомассу еще не успел
|
(Offline)
|
|
19.01.2006, 11:23
|
#52
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
А вот так выглядит оригинальная игра, ремейк которой я делаю
|
(Offline)
|
|
03.03.2006, 16:03
|
#53
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Вот исходники игры...
Я наверное долго за нее не сяду...
может книть найдет для себя интересные фрагменты кода...
Если кто захочет доделать игру, то стукните мне в асю, или сюда сообщение кинте, объясню где в коде что...
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:42.
|