Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

Аналог 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.036 c
1-1103080989
Bobby Digital
2004-12-15 06:23
2004.12.26
MouseMove


1-1102688247
Frozzen
2004-12-10 17:17
2004.12.26
dfm файлы...


1-1102694816
Gear
2004-12-10 19:06
2004.12.26
Как перетащить форму мышью кликая на любой её области?


1-1102714908
Larisa
2004-12-11 00:41
2004.12.26
По умолчанию, в Делфи используется MS San Serif,


1-1103005195
Ailk
2004-12-14 09:19
2004.12.26
Помогите с PopupMenu!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский