forum.boolean.name

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

pax 05.10.2005 11:23

Игра над которой я работаю является ремейком игры Mine Bombers.
Фанклуб орикинальной игры нахомится тут:

http://www.minebombers.narod.ru/

Вот то что у меня пока вышло:

Bombers 3D

Исходники пока публиковать не буду, но если у вас появятся вопросы, то задавайте их на этом форуме или по ICQ. Постораюсь ответить на все.

Сейчас мне нужно, чтобы кто-нибудь нарисовал эскизы героев к игре (от руки меня вполне устроит), так что если есть желание помочь помогите. Зарание спасибо.

pax 08.10.2005 19:25

Чтото совсем ниодного отзыва...

Не понравилась моя игра чтоли... :unsure:

jimon 08.10.2005 21:00

потомучто на народе лежит

pax 08.10.2005 21:10

Почту народа я никогда не проверял, сейчас посмотрю.

alcosholik 08.10.2005 22:03

Джимон имел в виду, что у некоторых с народа скорость закачки ОЧЕНЬ маленькая.

CJ КАКТУС 08.10.2005 22:05

Цитата:

Джимон имел в виду, что у некоторых с народа скорость закачки ОЧЕНЬ маленькая.
Да мне кажется, у всех так...

pax 09.10.2005 16:33

У меня прсто трафик дорогой 3р мегабайт по выходным и ночю (с 12 ночи), а в будни 6р. :( Нуда ладно сегодня воскресенье, попробую закачать.

pax 09.10.2005 16:35

Да забыл сказать что еще и скорость очень медленная. 2Мб закачивались промерно 17 минут. :(

jimon 09.10.2005 21:47

скачал, посмотрел

руль ! B)
видимо неодин час парился со всем етим :super:

pax 09.10.2005 22:00

Вообще начал полтора года назад, а серьезно занялся в начале этого лета. :)

Это моя первая игра. :rolleyes:

CJ КАКТУС 09.10.2005 22:12

Ну, принимай тогда мои поздравления! :beer:

alcosholik 09.10.2005 22:18

Смотрится неплохо, только я не понял цели игры и зачем нужен столь богатый арсенал, если чувачок, которым играешь, и так грызет все подряд :)
И стандартное управление неудобно. Лучше по умолчанию сделать WASD.

pax 09.10.2005 22:40

Ну это ремейк игры Mine Bombers. Вот фанклуб этой игры: Mine Bombers Fan Club

А вкратце:
- В игре будут монстры, которых можно бедет убивать этим арсеналом оружия :)
- будет компания, а может и не одна
- будет редактор уровней для игры
- между уровнями будет магазин оружия (причем некоторые виды виды оружия будут стоить дорого, так что большой арсенал игрок просто не сможет купить) :rolleyes:
- уже работает режим игры вдвоем а в будующем попробую сделать ее сетевой (арсенал оружия и здесь свою роль съиграет) :@

В кратце об оригинале (Mine Bombels):
- досовская
- на быстрых машинах "летает"
- вся карта помещается на экране 640х480
- главное использование игры: Игра одновременно вчетвером на одном компе в режиме Death Match. Когда у меня был 486dx4 120 MHz мы рубались в неё вчетвером (представте такую картину: 8 рук на одной клаве), кнопки то и дело заедали, орали друг на друга матом и т.д. :lol:

В общем рульная была игра.

А вы пробовали уровни загружать?

alcosholik 09.10.2005 23:04

Пробовал.
Там представлены все виды препятствий и бонусов?

pax 09.10.2005 23:34

В карте SupportedObjects.mne все которые подделживаются сейчас, а в остальных картах загружаются только поддерживаемые объекты (монстры и т.п. нет).

Вообще это файлы карт оригинальной игры, мой формат карт будет отличаться тем что размер уровня будет не фиксированный а впринципе любой (в разумных пределах конечно сейчас эти пределы min - 30x30, мах - 150х150 это размер пользователя меняется в config.ini)

А можете сказать какая у вас машина и какой FPS (F5 - статистика, F9 - открыть всю карту)

impersonalis 10.10.2005 00:09

fps- 142(до открытия карты)-110(после)
200% -скорость(в обоих случаях)

пень на 2.81 ГГц
512 метров ОЗУ
Джифорс FX 5700

pax 10.10.2005 00:23

странно, а какое разрешение?

impersonalis 10.10.2005 00:44

default

pax 10.10.2005 01:03

А у меня FPS 120-150
(CeleronD 2.4ГГц/GF4 MX440 64/ 512Mb Dual)

jimon 10.10.2005 19:06

лажа какаета
p4 1.7 ghz\256 mb\geforce 6600gt 128mb
ну никак неможет быть у меня 100 фпс при 5 тыс trisrendered()

чтото неоптимизировано в игре :bad:


а ну-ка выложи функции обновления игрока и функции обновления амуниции
просто чтото явно тут не то

и еще проверь стоит ли flip 0 если не стоит то поставь и выложи новый exe !

pax 10.10.2005 22:06

Нашел баг благодаря alc'o'SHoLiK'у:

Вся проблема в том что я выводил статистику обычным шрифтом. Короче скоро перекомпилирую игру и выложу обнавление :)

jimon 10.10.2005 22:16

хм... невижу глюка

pax 10.10.2005 22:54

Вот выложил обновление...
Короче после оптимизации вывода на экран статистики ФПС будет еще больше, а у меня теперь показывает не меньше 170 в режиме на одного игрока ("лишнюю" статистику убрал) :)

AnRee 11.10.2005 11:08

Memory access violation! :dontknow:

Diplomat 11.10.2005 12:34

2Анри: Сверху на первую версию ставил, или так запускать пытался, как некоторые дипломаты? ;)

2РАХ: что-то упустил я твой проект из виду, теперь вот только в Проекты зашел... :dontknow:
В общем, бегал я минут 20 по самой большой карте, собирал как нормальный шахтер сокровища, пока не подорвался на собственном ядерном заряде... Хто ж знал, что такая маааленькая коробочка так шваркнет?! :lol:
Удобно управлять, хорошо видно. Музычка классная. Единственное, графику надо бы поярче и деталей побольше, ну и главгеру модельку посолиднее.

Насчет производительности, то есть только один вопрос: КАК?!!
На карте скажем 20 000 обьектов, и всё это не тормозит! Как? Ну, обьединить в один меш их можно. Или по квадратам в несколько мешей, чтоб от простого рендеринга меша из 16000 кубиков не загнулась карточка... Но ведь чтоб изменять их цвет с черного при приближении или их разбивания, нужно обращаться к ним на уровне подобьектов... И это не тормозит!!
Респект адназначна!!! :bravo:

jimon 11.10.2005 22:11

250-280 фпс 800*600
230-240 фпс 1280*1024

вот руль

2diplomat : нажми f10 и увидиш как ето все чудо роботает

pax 11.10.2005 22:26

2Diplomat

Цитата:

Насчет производительности, то есть только один вопрос: КАК?!!
На карте скажем 20 000 обьектов, и всё это не тормозит! Как? Ну, обьединить в один меш их можно. Или по квадратам в несколько мешей, чтоб от простого рендеринга меша из 16000 кубиков не загнулась карточка... Но ведь чтоб изменять их цвет с черного при приближении или их разбивания, нужно обращаться к ним на уровне подобьектов... И это не тормозит!!
Респект адназначна!!! :bravo:

Вот как:
- я разделил все поле на вертикальные лини
- при каждом изменении на карте, линия стирается и строится заново т.е. перестраивается повертексно с одновременным применением UV координат (жаль нет комманды DeleteTriangle()... cделал бы еще быстрее :@ )
- ну что касается сокровищ, оружия и т.п. то это отдельные объекты... еще не придумал как их объединить :unsure: да и незнаю стоит ли это делать :)

Цитата:

Музычка классная.

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


Цитата:

Единственное, графику надо бы поярче и деталей побольше, ну и главгеру модельку посолиднее.

Ну такая проблема не у меня одного, просто трудно найти хорошего художника :dontknow: , а насчет модельки, я бы смог сделать хорошую модель по эскизу, только вот никто нарисовать мне героев не хочет :unsure:

И вот еще, посмотри пожалуйста какой у тебя FPS и напиши какая у тебя машина (F5 - статистика, F9 - открыть всю карту), заранее спасибо.

PS: если очень интересно как работает движок нажми F10 (режим каркаса).

pax 11.10.2005 22:28

2jimon

А все тормоза были из-за стандартных шрифтов :)

Цитата:

2diplomat : нажми f10 и увидиш как ето все чудо роботает
:glag:

pax 02.12.2005 21:20

Я долго думал и пришел к такому выводу:

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

Может в будующем я ее портирую на С++&OpenGL... не знаю...

Вот так вот...

alcosholik 02.12.2005 21:54

Вот так вот оно и случается: программил на Блице, вдруг бац - и ты уже на С++ пишешь :)

pax 02.12.2005 21:57

Цитата:

Originally posted by alcoSHoLiK@Dec 2 2005, 09:54 PM
Вот так вот оно и случается: программил на Блице, вдруг бац - и ты уже на С++ пишешь :)
Так вот :) решил заняться чемнить серьезным, вот и сел за С++ :)

jimon 02.12.2005 22:01

и я уже перешол на C++
вообще блиц помойму устарел для чего нибудь...
разве что blitzmax поднимит планку

но его как такового нету
потому переходим на C++

НУБ 03.12.2005 06:14

Цитата:

Originally posted by PAX@Oct 11 2005, 08:26 PM
жаль нет комманды DeleteTriangle()... cделал бы еще быстрее
На самом деле такую команду реализовать довольно просто как и DeleteVertex ;)

pax 04.12.2005 01:17

Цитата:

Originally posted by Ньюб+Dec 3 2005, 06:14 AM--><div class='quotetop'>ЦИТАТА(Ньюб @ Dec 3 2005, 06:14 AM)</div><div class='quotemain'> <!--QuoteBegin-PAX@Oct 11 2005, 08:26 PM
жаль нет комманды DeleteTriangle()... cделал бы еще быстрее
На самом деле такую команду реализовать довольно просто как и DeleteVertex ;) [/b][/quote]
Может поделишься мыслями по этому поводу?

PS: Толоко не надо предлагать заново перестраивать меш без этих треугольников и вертексов, все и так в "реальном" времени перестраивается.

НУБ 04.12.2005 01:59

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

pax 04.12.2005 02:51

Цитата:

Originally posted by Ньюб@Dec 4 2005, 01:59 AM
Не надо ничего перестраивать, просто удаляешь последний тр-к в индекс-буффере, и копируешь его значения в тр-к, который надо было удалить, с вершинами также.
Вообщес сделаю ка я небольшую либку для таких дел, скоро выложу...

Вообще-то игра написана на Blitz3D а не на C++ :)

НУБ 04.12.2005 03:02

Ну а блиц в свою очередь написан на С++ :)
Так что это меняет? я предлагаю сделать длл-ку с ф-цией удаления тр-ка.

pax 04.12.2005 03:14

Цитата:

Originally posted by Ньюб@Dec 4 2005, 03:02 AM
Ну а блиц в свою очередь написан на С++ :)
Так что это меняет? я предлагаю сделать длл-ку с ф-цией удаления тр-ка.

И как же ты собираешься удалить треугольник из модели блитца с помощью DLL? :dontknow:

НУБ 04.12.2005 03:27

Алгоритм я уже написал.

НУБ 04.12.2005 05:46

Ну вотс, готово, либа здесь:
http://andreyman.nm.ru/Aops.zip
Юзается это так:
Код:

Function ADeleteTris (surf, tris)
I_BufStart=IndexBufStart(surf)
I_BufEnd=IndexBufEnd(surf)
DeleteTris *surf, I_BufStart, I_BufEnd , tris
End Function

Function SetTriangleVertex (surf, tris,TrangleVertex, NewValue)
SetTrisVertex ( IndexBufStart(surf), tris,TrangleVertex,NewValue)
End Function

Только не советую применять эту ком-ду слишком часто.

pax 04.12.2005 12:22

Тоесть получается так, что ты знаешь структуру модели блитца в памяти? :blink:

jimon 04.12.2005 14:30

ее все давно знают :lol:

pax 04.12.2005 20:13

Цитата:

Originally posted by jimon@Dec 4 2005, 02:30 PM
ее все давно знают :lol:
Ага, кроме меня... а где об этом почитать можно?

НУБ 04.12.2005 22:39

Извиняйте, я там ошибку допустил в удалении тр-ка, теперь всё поправил, либа на том же месте.
ЗЫ
И не забывайте, что на место тр-ка(который надо удалить) копируется последний тр-к, который впоследствии и удаляется.

pax 05.12.2005 22:19

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

Все равно, спасибо за старания :super:

pax 07.01.2006 16:52

Седня меня озарило!!! наверное от скуки :lol: и я решил проблему определения видимости.

Стер все аттачи в топике, теперь игра лежит здесь:

ехе'шник:
http://pax83.nm.ru/bombers3d_bin.rar

ресы:
http://pax83.nm.ru/bombers3d_res.rar

8)

pax 07.01.2006 16:55

а вот само решение:
Код:

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

скопировал прям из кода игры, так что неволнуйтесь, если чего-то не поймете ;)

pax 10.01.2006 00:01

Закачал новую версию Bombers3d (ссылки теже, которые на пару постов выше)

В новой версии:
- Обновил немного движок, так что игра стала немного быстрее работать
- "Туман войны" теперь имеет анимированную текстуру (Texture Maker рулит :super: )
- вывод статистики теперь выполняется графически а не текстом (Paint рулит)

Потестите пожалуйста на кол-во FPS... у меня он вырос...

Короче Blitz я не брошу... а C++&OpenGL буду изучать параллельно...

8)

pax 10.01.2006 00:32

А вот тут дополнительно около 80 карт для игры (из Mine Bombers - игра ремейк которой я делаю)
:)

(70Кб)

alcosholik 10.01.2006 22:36

Не могу сказать увеличился или нет, но на краю карты ФПС почти 400, в середине - 160.

1024х768, полноэкранный режим.

P4 2.4 GHz
512 MB RAM
GeForce FX 5200 64 MB

pax 10.01.2006 23:15

Цитата:

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 тестил :lol:

скоро добавлю новый вид оружия - биомассу (тоже будет с анимированной текстурой), точнее текстура уже анимируется но добавить биомассу еще не успел :)

pax 19.01.2006 11:23

А вот так выглядит оригинальная игра, ремейк которой я делаю :)

pax 03.03.2006 16:03

Вот исходники игры...

Я наверное долго за нее не сяду...

может книть найдет для себя интересные фрагменты кода...

Если кто захочет доделать игру, то стукните мне в асю, или сюда сообщение кинте, объясню где в коде что...


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

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