Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Аналог Blitz3D   Найти похожие ветки 

 
Xerx ©   (2004-08-22 05:08) [0]

Привет всем! Как давно я не заходил на форум! А всё из-за гадкой такой программы Blitz3D. Кто-нибудь знает? Если знает, то не знает ли ещё и аналога для Pascal-ориентированного языка. Что б делать игрушку не на бейсике и не на C/C++ (EzBlitz), а на родном языке ;)


 
Zer0 ©   (2004-08-22 06:26) [1]

imho писать игры на интрепретаторах - не самый лучший ход. =)
ближе всего к паскалю будет "питон" - http://www.pygame.org/


 
Sanek_metaller ©   (2004-08-23 09:10) [2]

На сколько я помню,там написано,что вообще на бейсике,но я могу и ошибаться.Фиг поймешь,так что лучше делфи нету.


 
П7   (2004-08-23 09:34) [3]


> Xerx ©   (22.08.04 05:08)

Дык возьми какую-нибудь графическую оболочку, типа DelphiX, и пиши прямо в Delphi. (:


> Zer0 ©   (22.08.04 06:26) [1]

А разве этот язык для игр предназначен? (:


 
Xerx ©   (2004-08-24 05:08) [4]

Zer0> С питоном я что-то не разобрался, но понял одно - лучше уж на B3D.

Sanek_metaller> Ты имеещь в виду использовать только graphics API в Delphi, или надстройки над ними для Delphi?

П7> Предложи оболочку. Касательно DelphiX - слегонца медленно работает и, кстати, только для 2D графики. А Blitz3D может работать и с 2D и с 3D, причём одновременно: отрисовал 3D часть и уже командами 2D-рисования вывел изображения в плоскости камеры. Нет, безусловно, есть разные оболочки, но я пока не встретил(поэтому и ищу) 3D движков, где программы пишутся ТАК ЛЕГКО:

Global info1$="Teapot demo"
Global info2$="Features spherical reflection mapping"

Graphics3D 1280, 1024, 32, 0

teapot=LoadMesh( "teapot.x" )
tex=LoadTexture( "spheremap.bmp",64+1 )
EntityTexture teapot,tex
EntityFX teapot,1

camera=CreateCamera()
PositionEntity camera, 0, 0, -3

While Not KeyHit(1)
TurnEntity teapot, 0.5, 0.7, 1.1
UpdateWorld
RenderWorld
Flip
Wend
End


В примере вращается чайник, загруженый из DirectX файла(можно ещё из 3DS и D3D-свой формат), покрытый сферической текстурой(BMP, JPEG, PNG и что-то ещё).

Я работал с OpenGL и DirectX. Чисто на этих API программа была бы куда больше и сложней. А так B3D - надстройка над openGL, в виде готового движка с компилирующейся скриптовой частью. На мой взгляд, он очень удобен для написания всяких аркад и не слишком гениальных 3D игр. Для начала он самое то, но для профессионального программирования игр - ПОТОМ нужно будет менять на что-то посерьёзней.

Итак, дочитавший до этого места, может считать себя героем. Однако вопрос остаётся: есть ли реальные конкуренты по этим позициям для Blitz3D с языком, близким к Pascal(вроде как ADA и Modula похожи, но я лично не сталкивался с программами на этих языках).

P.S. Вру! Встречал на Modula: "Си_Модула_Паскаль" - вроде так называется. Компилятор для этих языкрв. 6 в одном: там есть поддержка русского синтаксиса, типа такого:
цикл для колво от 1 до 100 делать инкремент(овлок) концикл. Ну, типа того.


 
Xerx ©   (2004-08-24 05:18) [5]

P.P.S.
1) Собственный формат B3D, а не D3D - может же опечататься человек в 5 утра.
2) Тут могут напомнить про GLScene, но я не соглашусь, т.к. GLScene многократно сложнее по написанию, хоть и побыстрей и возможностей побольше, да и нет РУССКИХ хелпов с НАИПОДРОБНЕЙШИМ описанием ВСЕХ средств. У Blitz есть! Вывод, GLScene отпадает.

Ну и P.3[S]: Готов ответить на любую оправданную критику, т.к. моё мнение по природе субъективно.


 
Zer0 ©   (2004-08-24 09:57) [6]

WinAPI + OpenGL/D3D + сконвертированные обьектники от C-библеотек, немного фантазии + оч. много доков по алгоритмам отрисовки сцены (включая различные LOD и clpping оптимизации)  + классы как в Blitz3D = достойная замена

никакая надстройка не может считаться удобной по умолчанию. почти в 96% случаев приходтся переделывать ее под себя, а в случае с Blitz3D исходники закрыты. я как то пытался на блице написать небольшую RPG, и понял что ограничения самого языка помешают доделать проэкт. 1 неделя девелопинга впустую.

imho игры писать нужно только на C++. простые получаются комактными и c красивым кодом, а большые пишутся исключительно c использованием шаблонов классов (в т.ч. STL) и пергрузкой операторов, ну и прочими радостями (чтобы создать 4 разных списка средстваим делфи придется написать 4 разных класса, или извращаться. в си++ нужно всего 4 обявления переменных)

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


 
Darthman ©   (2004-08-24 10:50) [7]

Правильно сказали:
"программы все больше и больше выполняют никому не нужной работы. Вычислительный КПД программ постоянно падает."
И все это, между прочим, из-за надстроек и интерпретаторов, .NET будет последним томозом на ближайшее время.


 
Sapersky   (2004-08-25 13:46) [8]

Приведённый пример в чём-то похож на абстрактный режим Direct3D (D3DRM). Хотя там писать, конечно, больше. И все фичи современных ускорителей не поддерживает (впрочем, это общая проблема всех оболочек, так?). И не развивается уже.
Так что лучшая оболочка, наверное - GLScene.
Ещё вот какой вопрос - позволяет ли оболочка залезть на уровень полигонов, если нужно (это тебе сейчас кажется, что не нужно... :)).
D3DRM - с трудом, но в принципе можно; GLScene - можно, к тому же исходники открыты.
Blitz3D?


 
П7   (2004-08-25 15:57) [9]


> Xerx ©   (24.08.04 05:08) [4]

Ну вот например я написал свой движок под OpenGL+Delphi. Когда классы все будут написаны до конца вот как будет выглядеть твоя дема на Delphi+P7OGLGfx:

var
 Gfx : P7Gfx;
 Model : P7Model;
begin
 Gfx := P7Gfx.Create();
 Gfx.Init( "Тестовое окно", 1024, 768, true );
 Model := P7Model.Create( @Gfx );
 Model.LoadFromFile( "model.x" );

 while not Gfx.Finish do
   if Gfx.gfxBegin() then
   begin
     Model.RotateAndDraw( 0, 0, 0, 0.2, 0.2, 0.2 );
     if Gfx.Input.bKeyDown then
       Gfx.Finish := true;
   Gfx.gfxEnd();
   end;
end;

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


 
Darthman ©   (2004-08-25 16:01) [10]

П7   (25.08.04 15:57) [9]
Класс! (:


 
Xerx ©   (2004-08-26 04:45) [11]

> Zer0
А кто ж собирается писать RPG. Я и не говорил, что на нём это хорошо получится. Нет, безусловно, у гения может и выйдет, но я ТАКИХ гениев ещё не встречал. А для создания аркад и тому подобных игрушек он подходит. Просто нравиться мне эти система связывания, блин. Если б не она ни в жисть не бросил бы OpenGL. Надеюсь с недели на неделю вернусь.

>Darthman
Думаю, .NET ещё долго ничто и никто не переплюнет.

> Sapersky
Да, до отдельных точек.

> П7
НУ крутой, крутой :) Само собой!!! А то я не понимаю. У Blitz МНОГО чего нет. Но есть у него такой шарм, мелкие такие фишки, которых я нигде не встречал, и не знаю, смогу ли сам реализовать с 5 летним стажем программирования! Я просто пока делаю игру на нём, чтобы в будущем надисать свою оболочку (да, типа P7OGLGfx) и перенести игру на неё с наименьшими изменениями в коде. Просто 280 ФПС маловато на моём компьютере.



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.043 c
1-1103097024
baleful
2004-12-15 10:50
2004.12.26
Как организовать обмен полями записи, через типизированный файл


14-1101983506
Ega23
2004-12-02 13:31
2004.12.26
Сахарный диабет


14-1102233425
Gero
2004-12-05 10:57
2004.12.26
Доступ к HKEY_CURRENT_USER другого пользователя


3-1101627994
MaxxSoft
2004-11-28 10:46
2004.12.26
Создание / изменение процедур


1-1102503744
Sirus
2004-12-08 14:02
2004.12.26
Нужно опознать путь типа c: folder folder1